thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.2.1
Cuts
JetCuts.h
1
// -*- C++ -*-
2
//
3
// JetCuts.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_JetCuts_H
11
#define THEPEG_JetCuts_H
12
//
13
// This is the declaration of the JetCuts class.
14
//
15
16
#include "ThePEG/Cuts/MultiCutBase.h"
17
#include "ThePEG/PDT/MatcherBase.h"
18
#include "ThePEG/Cuts/JetRegion.h"
19
#include "ThePEG/Cuts/JetPairRegion.h"
20
#include "ThePEG/Cuts/MultiJetRegion.h"
21
22
namespace
ThePEG
{
23
34
class
JetCuts
:
public
MultiCutBase
{
35
36
public
:
37
43
JetCuts
();
44
48
virtual
~JetCuts
();
50
51
public
:
52
59
virtual
bool
passCuts
(tcCutsPtr parent,
const
tcPDVector
& ptype,
60
const
vector<LorentzMomentum> & p)
const
;
62
66
virtual
void
describe
()
const
;
67
68
public
:
69
73
Ptr<MatcherBase>::tptr
unresolvedMatcher
()
const
{
return
theUnresolvedMatcher
; }
74
78
const
vector<Ptr<JetRegion>::ptr>&
jetRegions
()
const
{
return
theJetRegions
; }
79
83
const
vector<Ptr<JetRegion>::ptr>&
jetVetoRegions
()
const
{
return
theJetVetoRegions
; }
84
88
const
vector<Ptr<JetPairRegion>::ptr>&
jetPairRegions
()
const
{
return
theJetPairRegions
; }
89
93
const
vector<Ptr<MultiJetRegion>::ptr>&
multiJetRegions
()
const
{
return
theMultiJetRegions
; }
94
98
enum
Orderings
{
99
orderPt = 1,
100
orderY = 2
101
};
102
106
int
ordering
()
const
{
return
theOrdering
; }
107
108
public
:
109
116
void
persistentOutput
(
PersistentOStream
& os)
const
;
117
123
void
persistentInput
(
PersistentIStream
& is,
int
version);
125
132
static
void
Init
();
133
134
protected
:
135
142
virtual
IBPtr
clone
()
const
;
143
148
virtual
IBPtr
fullclone
()
const
;
150
151
private
:
152
156
Ptr<MatcherBase>::ptr
theUnresolvedMatcher
;
157
161
vector<Ptr<JetRegion>::ptr>
theJetRegions
;
162
166
vector<Ptr<JetRegion>::ptr>
theJetVetoRegions
;
167
171
vector<Ptr<JetPairRegion>::ptr>
theJetPairRegions
;
172
176
vector<Ptr<MultiJetRegion>::ptr>
theMultiJetRegions
;
177
181
int
theOrdering
;
182
183
private
:
184
189
static
ClassDescription<JetCuts>
initJetCuts
;
190
195
JetCuts
&
operator=
(
const
JetCuts
&) =
delete
;
196
197
};
198
199
}
200
201
#include "ThePEG/Utilities/ClassTraits.h"
202
203
namespace
ThePEG
{
204
209
template
<>
210
struct
BaseClassTrait
<JetCuts,1> {
212
typedef
MultiCutBase
NthBase;
213
};
214
217
template
<>
218
struct
ClassTraits
<JetCuts>
219
:
public
ClassTraitsBase
<JetCuts> {
221
static
string
className() {
return
"ThePEG::JetCuts"
; }
225
static
string
library() {
return
"JetCuts.so"
; }
226
};
227
230
}
231
232
#endif
/* THEPEG_JetCuts_H */
ThePEG::PersistentIStream
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Definition:
PersistentIStream.h:48
ThePEG::JetCuts::describe
virtual void describe() const
Describe the currently active cuts in the log file.
ThePEG::JetCuts::jetVetoRegions
const vector< Ptr< JetRegion >::ptr > & jetVetoRegions() const
Return the jet veto regions to check.
Definition:
JetCuts.h:83
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
Definition:
ClassDescription.h:339
ThePEG::JetCuts::~JetCuts
virtual ~JetCuts()
The destructor.
ThePEG::JetCuts::Init
static void Init()
The standard Init function used to initialize the interfaces.
ThePEG::JetCuts::jetPairRegions
const vector< Ptr< JetPairRegion >::ptr > & jetPairRegions() const
Return the jet pair regions to match.
Definition:
JetCuts.h:88
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::JetCuts::unresolvedMatcher
Ptr< MatcherBase >::tptr unresolvedMatcher() const
Return the matcher for unresolved partons.
Definition:
JetCuts.h:73
ThePEG::JetCuts::initJetCuts
static ClassDescription< JetCuts > initJetCuts
The static object used to initialize the description of this class.
Definition:
JetCuts.h:189
ThePEG::JetCuts::Orderings
Orderings
Enumerate the ordering to apply on jets.
Definition:
JetCuts.h:98
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::JetCuts
JetCuts combines various JetRegion and JetPairRegion objects into a cut object.
Definition:
JetCuts.h:34
ThePEG::JetCuts::ordering
int ordering() const
Return the ordering.
Definition:
JetCuts.h:106
ThePEG::JetCuts::clone
virtual IBPtr clone() const
Make a simple clone of this object.
ThePEG::JetCuts::theUnresolvedMatcher
Ptr< MatcherBase >::ptr theUnresolvedMatcher
A matcher for unresolved partons.
Definition:
JetCuts.h:156
ThePEG::JetCuts::theOrdering
int theOrdering
Types of the ordering to apply on jets.
Definition:
JetCuts.h:181
ThePEG::JetCuts::theJetPairRegions
vector< Ptr< JetPairRegion >::ptr > theJetPairRegions
The jet pair regions to match.
Definition:
JetCuts.h:171
ThePEG::JetCuts::theMultiJetRegions
vector< Ptr< MultiJetRegion >::ptr > theMultiJetRegions
The multi jet regions to match.
Definition:
JetCuts.h:176
ThePEG::JetCuts::theJetRegions
vector< Ptr< JetRegion >::ptr > theJetRegions
The jet regions to match.
Definition:
JetCuts.h:161
ThePEG::JetCuts::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::JetCuts::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEG::Pointer::RCPtr
RCPtr is a reference counted (smart) pointer.
Definition:
RCPtr.h:60
ThePEG::JetCuts::JetCuts
JetCuts()
The default constructor.
ThePEG::MultiCutBase
This class corresponds to a kinematical cut to be made on a set of outgoing particles from a hard sub...
Definition:
MultiCutBase.h:34
ThePEG::JetCuts::jetRegions
const vector< Ptr< JetRegion >::ptr > & jetRegions() const
Return the jet regions to match.
Definition:
JetCuts.h:78
ThePEG::JetCuts::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::JetCuts::passCuts
virtual bool passCuts(tcCutsPtr parent, const tcPDVector &ptype, const vector< LorentzMomentum > &p) const
Return true if a set of outgoing particles with typea ptype and corresponding momenta p passes the cu...
ThePEG::JetCuts::theJetVetoRegions
vector< Ptr< JetRegion >::ptr > theJetVetoRegions
The jet veto regions to check.
Definition:
JetCuts.h:166
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::ClassTraits
The default concrete implementation of ClassTraitsBase.
Definition:
ClassTraits.h:134
ThePEG::JetCuts::operator=
JetCuts & operator=(const JetCuts &)=delete
The assignment operator is private and must never be called.
ThePEG::JetCuts::multiJetRegions
const vector< Ptr< MultiJetRegion >::ptr > & multiJetRegions() const
Return the multi jet regions to match.
Definition:
JetCuts.h:93
ThePEG::BaseClassTrait
BaseClassTraits describes the base classes of the templated class.
Definition:
ClassTraits.h:156
ThePEG::ClassTraitsBase
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition:
ClassTraits.h:52
Generated on Sat Apr 11 2020 14:31:17 for ThePEG by
1.8.13