ThePEG  1.8.0
NLOKTJetFinder.h
1 // -*- C++ -*-
2 //
3 // NLOKTJetFinder.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2007 Leif Lonnblad
5 // Copyright (C) 2009-2011 Simon Platzer
6 //
7 // ThePEG is licenced under version 2 of the GPL, see COPYING for details.
8 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
9 //
10 #ifndef THEPEG_NLOKTJetFinder_H
11 #define THEPEG_NLOKTJetFinder_H
12 //
13 // This is the declaration of the NLOKTJetFinder class.
14 //
15 
16 #include "ThePEG/Cuts/JetFinder.h"
17 
18 namespace ThePEG {
19 
29 class NLOKTJetFinder: public JetFinder {
30 
31 public:
32 
39 
43  virtual ~NLOKTJetFinder();
45 
46 public:
47 
53  virtual bool cluster(tcPDVector & ptype, vector<LorentzMomentum> & p,
54  tcCutsPtr parent, tcPDPtr t1 = tcPDPtr(),
55  tcPDPtr t2 = tcPDPtr()) const;
56 
57 public:
58 
65  void persistentOutput(PersistentOStream & os) const;
66 
72  void persistentInput(PersistentIStream & is, int version);
74 
81  static void Init();
82 
83 protected:
84 
91  virtual IBPtr clone() const;
92 
97  virtual IBPtr fullclone() const;
99 
100 
101 // If needed, insert declarations of virtual function defined in the
102 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
103 
104 private:
105 
110  const LorentzMomentum& pj) const;
111 
112 private:
113 
117  Energy2 theDCut;
118 
124 
128  enum variants {
129  kt = 1,
130  ca = 2,
131  antikt = 3
132  };
133 
138 
142  enum modes {
143  inclusive = 1,
144  exclusive = 2
145  };
146 
150  int theMode;
151 
156  enum measures {
157  pt = 1,
158  e = 2
159  };
160 
165 
170  recoDefault = 1,
171  recoPt = 2,
172  recoE = 3
173  };
174 
179 
180 
186 
187 private:
188 
194 
195 };
196 
197 }
198 
199 #endif /* THEPEG_NLOKTJetFinder_H */