thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
FastJetFinder.h
1 // -*- C++ -*-
2 //
3 // FastJetFinder.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2019 Leif Lonnblad
5 // Copyright (C) 2009-2019 Simon Platzer
6 //
7 // ThePEG is licenced under version 3 of the GPL, see COPYING for details.
8 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
9 //
10 #ifndef THEPEG_FastJetFinder_H
11 #define THEPEG_FastJetFinder_H
12 //
13 // This is the declaration of the FastJetFinder class.
14 //
15 
16 #include "ThePEG/Cuts/JetFinder.h"
17 
18 namespace ThePEG {
19 
27 class FastJetFinder: public JetFinder {
28 
29 public:
30 
36  FastJetFinder();
37 
41  virtual ~FastJetFinder();
43 
44 public:
45 
51  virtual bool cluster(tcPDVector & ptype, vector<LorentzMomentum> & p,
52  tcCutsPtr parent, tcPDPtr t1 = tcPDPtr(),
53  tcPDPtr t2 = tcPDPtr()) const;
54 
58  virtual void describe() const;
59 
60 public:
66  virtual void doinit();
67 
72  virtual void doinitrun();
74 
81  void persistentOutput(PersistentOStream & os) const;
82 
88  void persistentInput(PersistentIStream & is, int version);
90 
97  static void Init();
98 
99 protected:
100 
107  virtual IBPtr clone() const;
108 
113  virtual IBPtr fullclone() const;
115 
116 
117 // If needed, insert declarations of virtual function defined in the
118 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
119 
120 private:
121 
126 
131 
135  enum variants {
136  kt = 1,
137  CA = 2,
138  antiKt = 3,
139  sphericalKt = 4,
140  sphericalCA = 5,
141  sphericalAntiKt = 6
142  };
143 
148 
152  enum modes {
153  inclusive = 1,
154  exclusive = 2
155  };
156 
160  int theMode;
161 
166  recoPt = 1,
167  recoE = 2
168  };
169 
174 
175 private:
176 
181  FastJetFinder & operator=(const FastJetFinder &) = delete;
182 
183 };
184 
185 }
186 
187 #endif /* THEPEG_FastJetFinder_H */
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
PersistentIStream is used to read persistent objects from a stream where they were previously written...
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
vector< tcPDPtr > tcPDVector
A vector of transient pointers to const ParticleData objects.
Definition: Containers.h:42
FastJetFinder implements the class of longitudinally invariant kt jet clustering algorithms.
Definition: FastJetFinder.h:27
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition: RCPtr.h:696
virtual IBPtr clone() const
Make a simple clone of this object.
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
virtual ~FastJetFinder()
The destructor.
virtual void doinitrun()
Initialize this object.
Energy2 theDCut
The resolution cut.
int theVariant
The variant.
recombinations
The possible recombination schemes.
virtual void describe() const
Describe this jet fined.
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Alias for a transient pointer to a const ParticleData .
Definition: Pointers.h:64
FastJetFinder & operator=(const FastJetFinder &)=delete
The assignment operator is private and must never be called.
JetFinder defines an interface to jet finders to be used when cuts should actually be defined on the ...
Definition: JetFinder.h:30
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
modes
The possible modes.
variants
The possible variants.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
FastJetFinder()
The default constructor.
double theConeRadius
The `cone radius&#39; R.
int theMode
The mode.
virtual void doinit()
Initialize this object.
int theRecombination
The recombination scheme.
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.
static void Init()
The standard Init function used to initialize the interfaces.