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 */
PersistentIStream is used to read persistent objects from a stream where they were previously written...
virtual IBPtr clone() const
Make a simple clone of this object.
measures
The possible measures.
int theRecombination
The recombination scheme.
modes
The possible modes.
int theMeasure
The measure.
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
Energy2 theDCut
The resolution cut.
vector< tcPDPtr > tcPDVector
A vector of transient pointers to const ParticleData objects.
Definition: Containers.h:42
static void Init()
The standard Init function used to initialize the interfaces.
bool theRemoveOutOfRange
Choose to not consider partons as jets which are out of in terms or rapidity or transverse momentum...
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition: RCPtr.h:681
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
NLOKTJetFinder & operator=(const NLOKTJetFinder &)
The assignment operator is private and must never be called.
int theVariant
The variant.
virtual bool cluster(tcPDVector &ptype, vector< LorentzMomentum > &p, tcCutsPtr parent, tcPDPtr t1=tcPDPtr(), tcPDPtr t2=tcPDPtr()) const
Perform jet clustering on the given outgoing particles.
NLOKTJetFinder()
The default constructor.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Alias for a transient pointer to a const ParticleData .
Definition: Pointers.h:64
virtual ~NLOKTJetFinder()
The destructor.
JetFinder defines an interface to jet finders to be used when cuts should actually be defined on the ...
Definition: JetFinder.h:30
variants
The possible variants.
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
double theConeRadius
The `cone radius&#39; R.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
LorentzMomentum recombine(const LorentzMomentum &pi, const LorentzMomentum &pj) const
Perform pt scheme recombination.
recombinations
The possible recombination schemes.
NLOKTJetFinder implements the class of longitudinally invariant kt jet clustering algorithms...