thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
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
18namespace ThePEG {
19
27class FastJetFinder: public JetFinder {
28
29public:
30
35
36public:
37
43 virtual bool cluster(tcPDVector & ptype, vector<LorentzMomentum> & p,
44 tcCutsPtr parent, tcPDPtr t1 = tcPDPtr(),
45 tcPDPtr t2 = tcPDPtr()) const;
46
50 virtual void describe() const;
51
52public:
58 virtual void doinit();
59
64 virtual void doinitrun();
66
74
80 void persistentInput(PersistentIStream & is, int version);
82
89 static void Init();
90
91protected:
92
99 virtual IBPtr clone() const;
100
105 virtual IBPtr fullclone() const;
107
108
109// If needed, insert declarations of virtual function defined in the
110// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
111
112private:
113
118
123
127 enum variants {
128 kt = 1,
129 CA = 2,
130 antiKt = 3,
131 sphericalKt = 4,
132 sphericalCA = 5,
133 sphericalAntiKt = 6
134 };
135
140
144 enum modes {
145 inclusive = 1,
146 exclusive = 2
147 };
148
153
158 recoPt = 1,
159 recoE = 2
160 };
161
166
167private:
168
174
175};
176
177}
178
179#endif /* THEPEG_FastJetFinder_H */
FastJetFinder implements the class of longitudinally invariant kt jet clustering algorithms.
Definition: FastJetFinder.h:27
virtual IBPtr clone() const
Make a simple clone of this object.
int theVariant
The variant.
static void Init()
The standard Init function used to initialize the interfaces.
FastJetFinder()
The default constructor.
recombinations
The possible recombination schemes.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
double theConeRadius
The ‘cone radius’ R.
variants
The possible variants.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual void describe() const
Describe this jet fined.
int theRecombination
The recombination scheme.
virtual void doinitrun()
Initialize this object.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual void doinit()
Initialize this object.
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.
modes
The possible modes.
FastJetFinder & operator=(const FastJetFinder &)=delete
The assignment operator is private and must never be called.
Energy2 theDCut
The resolution cut.
JetFinder defines an interface to jet finders to be used when cuts should actually be defined on the ...
Definition: JetFinder.h:30
PersistentIStream is used to read persistent objects from a stream where they were previously written...
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition: RCPtr.h:696
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Alias for a transient pointer to a const ParticleData .
Definition: Pointers.h:64
vector< tcPDPtr > tcPDVector
A vector of transient pointers to const ParticleData objects.
Definition: Containers.h:42