thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.2.1
Cuts
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
20
namespace
ThePEG
{
21
30
class
JetFinder
:
public
Interfaced
{
31
32
public
:
33
39
JetFinder
();
40
44
virtual
~JetFinder
();
46
47
public
:
48
54
virtual
bool
cluster
(
tcPDVector
& ptype, vector<LorentzMomentum> & p,
55
tcCutsPtr parent,
tcPDPtr
t1 =
tcPDPtr
(),
56
tcPDPtr
t2 =
tcPDPtr
())
const
= 0;
57
61
Ptr<MatcherBase>::tptr
unresolvedMatcher
()
const
{
return
theUnresolvedMatcher
; }
62
67
void
minOutgoing
(
unsigned
int
n) {
theMinOutgoing
= n; }
68
73
unsigned
int
minOutgoing
()
const
{
return
theMinOutgoing
; }
74
79
bool
restrictConsitutents
()
const
{
return
theRestrictConstituents
; }
80
85
void
restrictConsitutents
(
bool
on) {
theRestrictConstituents
= on; }
86
91
const
pair<double,double>&
constituentRapidityRange
()
const
{
return
theConstituentRapidityRange
; }
92
97
void
constituentRapidityRange
(
const
pair<double,double>& r) {
theConstituentRapidityRange
= r; }
98
102
virtual
void
describe
()
const
= 0;
103
104
public
:
105
112
void
persistentOutput
(
PersistentOStream
& os)
const
;
113
119
void
persistentInput
(
PersistentIStream
& is,
int
version);
121
128
static
void
Init
();
129
130
131
// If needed, insert declarations of virtual function defined in the
132
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
133
134
135
private
:
136
140
string
doYRange
(
string
);
141
145
Ptr<MatcherBase>::ptr
theUnresolvedMatcher
;
146
151
unsigned
int
theMinOutgoing
;
152
157
bool
theRestrictConstituents
;
158
163
pair<double,double>
theConstituentRapidityRange
;
164
169
JetFinder
&
operator=
(
const
JetFinder
&) =
delete
;
170
171
};
172
173
}
174
175
#endif
/* THEPEG_JetFinder_H */
ThePEG::PersistentIStream
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Definition:
PersistentIStream.h:48
ThePEG::JetFinder::~JetFinder
virtual ~JetFinder()
The destructor.
ThePEG::JetFinder::restrictConsitutents
bool restrictConsitutents() const
Return true, if jets should only be constructed from matching objects inside a given rapidity interva...
Definition:
JetFinder.h:79
ThePEG::JetFinder::minOutgoing
unsigned int minOutgoing() const
Return the minimum number of outgoing partons on which clustering should be performed.
Definition:
JetFinder.h:73
ThePEG::PersistentOStream
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
Definition:
PersistentOStream.h:51
ThePEG::tcPDVector
vector< tcPDPtr > tcPDVector
A vector of transient pointers to const ParticleData objects.
Definition:
Containers.h:42
ThePEG::Pointer::TransientConstRCPtr
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition:
RCPtr.h:696
ThePEG::JetFinder::JetFinder
JetFinder()
The default constructor.
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::JetFinder::describe
virtual void describe() const =0
Describe this jet finder.
ThePEG::JetFinder::theMinOutgoing
unsigned int theMinOutgoing
The minimum number of outgoing partons on which clustering should be performed.
Definition:
JetFinder.h:151
ThePEG::JetFinder::doYRange
string doYRange(string)
Command to insert a rapidity range.
ThePEG::JetFinder::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::JetFinder::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::JetFinder::theConstituentRapidityRange
pair< double, double > theConstituentRapidityRange
The rapidity interval within objects should be considered for clustering, if appropriate.
Definition:
JetFinder.h:163
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Alias for a transient pointer to a const ParticleData .
Definition:
Pointers.h:64
ThePEG::JetFinder::theUnresolvedMatcher
Ptr< MatcherBase >::ptr theUnresolvedMatcher
A matcher for unresolved partons.
Definition:
JetFinder.h:145
ThePEG::JetFinder
JetFinder defines an interface to jet finders to be used when cuts should actually be defined on the ...
Definition:
JetFinder.h:30
ThePEG::JetFinder::Init
static void Init()
The standard Init function used to initialize the interfaces.
ThePEG::JetFinder::operator=
JetFinder & operator=(const JetFinder &)=delete
The assignment operator is private and must never be called.
ThePEG::Interfaced
The Interfaced class is derived from the InterfacedBase class adding a couple of things particular to...
Definition:
Interfaced.h:38
ThePEG::JetFinder::theRestrictConstituents
bool theRestrictConstituents
True, if jets should only be constructed from matching objects inside a given rapidity interval...
Definition:
JetFinder.h:157
ThePEG::JetFinder::constituentRapidityRange
void constituentRapidityRange(const pair< double, double > &r)
Set the rapidity interval within objects should be considered for clustering, if appropriate.
Definition:
JetFinder.h:97
ThePEG::JetFinder::minOutgoing
void minOutgoing(unsigned int n)
Set the minimum number of outgoing partons on which clustering should be performed.
Definition:
JetFinder.h:67
ThePEG::Pointer::Ptr
Ptr is a templated class to provide typedefs for pointers types ThePEG should use for a given type...
Definition:
Ptr.h:35
ThePEG::JetFinder::unresolvedMatcher
Ptr< MatcherBase >::tptr unresolvedMatcher() const
Return the matcher for unresolved partons.
Definition:
JetFinder.h:61
ThePEG::JetFinder::cluster
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.
ThePEG::JetFinder::restrictConsitutents
void restrictConsitutents(bool on)
Jets should only be constructed from matching objects inside a given rapidity interval.
Definition:
JetFinder.h:85
ThePEG::JetFinder::constituentRapidityRange
const pair< double, double > & constituentRapidityRange() const
Return the rapidity interval within objects should be considered for clustering, if appropriate...
Definition:
JetFinder.h:91
Generated on Sat Apr 11 2020 14:31:17 for ThePEG by
1.8.13