thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
JetFinder.h
1// -*- C++ -*-
2//
3// JetFinder.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_JetFinder_H
11#define THEPEG_JetFinder_H
12//
13// This is the declaration of the JetFinder class.
14//
15
16#include "ThePEG/Interface/Interfaced.h"
17#include "ThePEG/PDT/MatcherBase.h"
18#include "Cuts.fh"
19
20namespace ThePEG {
21
30class JetFinder: public Interfaced {
31
32public:
33
38
39public:
40
46 virtual bool cluster(tcPDVector & ptype, vector<LorentzMomentum> & p,
47 tcCutsPtr parent, tcPDPtr t1 = tcPDPtr(),
48 tcPDPtr t2 = tcPDPtr()) const = 0;
49
54
59 void minOutgoing(unsigned int n) { theMinOutgoing = n; }
60
65 unsigned int minOutgoing() const { return theMinOutgoing; }
66
72
78
83 const pair<double,double>& constituentRapidityRange() const { return theConstituentRapidityRange; }
84
89 void constituentRapidityRange(const pair<double,double>& r) { theConstituentRapidityRange = r; }
90
94 virtual void describe() const = 0;
95
96public:
97
105
111 void persistentInput(PersistentIStream & is, int version);
113
120 static void Init();
121
122
123// If needed, insert declarations of virtual function defined in the
124// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
125
126
127private:
128
132 string doYRange(string);
133
138
143 unsigned int theMinOutgoing;
144
150
155 pair<double,double> theConstituentRapidityRange;
156
161 JetFinder & operator=(const JetFinder &) = delete;
162
163};
164
165}
166
167#endif /* THEPEG_JetFinder_H */
The Interfaced class is derived from the InterfacedBase class adding a couple of things particular to...
Definition: Interfaced.h:38
JetFinder defines an interface to jet finders to be used when cuts should actually be defined on the ...
Definition: JetFinder.h:30
unsigned int theMinOutgoing
The minimum number of outgoing partons on which clustering should be performed.
Definition: JetFinder.h:143
Ptr< MatcherBase >::ptr theUnresolvedMatcher
A matcher for unresolved partons.
Definition: JetFinder.h:137
JetFinder()
The default constructor.
void restrictConsitutents(bool on)
Jets should only be constructed from matching objects inside a given rapidity interval.
Definition: JetFinder.h:77
virtual bool cluster(tcPDVector &ptype, vector< LorentzMomentum > &p, tcCutsPtr parent, tcPDPtr t1=tcPDPtr(), tcPDPtr t2=tcPDPtr()) const =0
Perform jet clustering on the given outgoing particles.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
bool restrictConsitutents() const
Return true, if jets should only be constructed from matching objects inside a given rapidity interva...
Definition: JetFinder.h:71
void constituentRapidityRange(const pair< double, double > &r)
Set the rapidity interval within objects should be considered for clustering, if appropriate.
Definition: JetFinder.h:89
const pair< double, double > & constituentRapidityRange() const
Return the rapidity interval within objects should be considered for clustering, if appropriate.
Definition: JetFinder.h:83
void minOutgoing(unsigned int n)
Set the minimum number of outgoing partons on which clustering should be performed.
Definition: JetFinder.h:59
JetFinder & operator=(const JetFinder &)=delete
The assignment operator is private and must never be called.
string doYRange(string)
Command to insert a rapidity range.
Ptr< MatcherBase >::tptr unresolvedMatcher() const
Return the matcher for unresolved partons.
Definition: JetFinder.h:53
static void Init()
The standard Init function used to initialize the interfaces.
pair< double, double > theConstituentRapidityRange
The rapidity interval within objects should be considered for clustering, if appropriate.
Definition: JetFinder.h:155
bool theRestrictConstituents
True, if jets should only be constructed from matching objects inside a given rapidity interval.
Definition: JetFinder.h:149
unsigned int minOutgoing() const
Return the minimum number of outgoing partons on which clustering should be performed.
Definition: JetFinder.h:65
virtual void describe() const =0
Describe this jet finder.
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
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
Definition: RCPtr.h:519
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