thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
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
41
JetCuts
();
42
43
public
:
44
51
virtual
bool
passCuts
(tcCutsPtr parent,
const
tcPDVector
& ptype,
52
const
vector<LorentzMomentum> & p)
const
;
54
58
virtual
void
describe
()
const
;
59
60
public
:
61
65
Ptr<MatcherBase>::tptr
unresolvedMatcher
()
const
{
return
theUnresolvedMatcher
; }
66
70
const
vector<Ptr<JetRegion>::ptr>&
jetRegions
()
const
{
return
theJetRegions
; }
71
75
const
vector<Ptr<JetRegion>::ptr>&
jetVetoRegions
()
const
{
return
theJetVetoRegions
; }
76
80
const
vector<Ptr<JetPairRegion>::ptr>&
jetPairRegions
()
const
{
return
theJetPairRegions
; }
81
85
const
vector<Ptr<MultiJetRegion>::ptr>&
multiJetRegions
()
const
{
return
theMultiJetRegions
; }
86
90
enum
Orderings
{
91
orderPt = 1,
92
orderY = 2
93
};
94
98
int
ordering
()
const
{
return
theOrdering
; }
99
100
public
:
101
108
void
persistentOutput
(
PersistentOStream
& os)
const
;
109
115
void
persistentInput
(
PersistentIStream
& is,
int
version);
117
124
static
void
Init
();
125
126
protected
:
127
134
virtual
IBPtr
clone
()
const
;
135
140
virtual
IBPtr
fullclone
()
const
;
142
143
private
:
144
148
Ptr<MatcherBase>::ptr
theUnresolvedMatcher
;
149
153
vector<Ptr<JetRegion>::ptr>
theJetRegions
;
154
158
vector<Ptr<JetRegion>::ptr>
theJetVetoRegions
;
159
163
vector<Ptr<JetPairRegion>::ptr>
theJetPairRegions
;
164
168
vector<Ptr<MultiJetRegion>::ptr>
theMultiJetRegions
;
169
173
int
theOrdering
;
174
175
private
:
176
181
static
ClassDescription<JetCuts>
initJetCuts
;
182
187
JetCuts
&
operator=
(
const
JetCuts
&) =
delete
;
188
189
};
190
191
}
192
193
#include "ThePEG/Utilities/ClassTraits.h"
194
195
namespace
ThePEG
{
196
201
template
<>
202
struct
BaseClassTrait<JetCuts,1> {
204
typedef
MultiCutBase
NthBase
;
205
};
206
209
template
<>
210
struct
ClassTraits<JetCuts>
211
:
public
ClassTraitsBase<JetCuts> {
213
static
string
className
() {
return
"ThePEG::JetCuts"
; }
217
static
string
library
() {
return
"JetCuts.so"
; }
218
};
219
222
}
223
224
#endif
/* THEPEG_JetCuts_H */
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
Definition:
ClassDescription.h:333
ThePEG::JetCuts
JetCuts combines various JetRegion and JetPairRegion objects into a cut object.
Definition:
JetCuts.h:34
ThePEG::JetCuts::jetPairRegions
const vector< Ptr< JetPairRegion >::ptr > & jetPairRegions() const
Return the jet pair regions to match.
Definition:
JetCuts.h:80
ThePEG::JetCuts::multiJetRegions
const vector< Ptr< MultiJetRegion >::ptr > & multiJetRegions() const
Return the multi jet regions to match.
Definition:
JetCuts.h:85
ThePEG::JetCuts::theJetRegions
vector< Ptr< JetRegion >::ptr > theJetRegions
The jet regions to match.
Definition:
JetCuts.h:153
ThePEG::JetCuts::Init
static void Init()
The standard Init function used to initialize the interfaces.
ThePEG::JetCuts::jetVetoRegions
const vector< Ptr< JetRegion >::ptr > & jetVetoRegions() const
Return the jet veto regions to check.
Definition:
JetCuts.h:75
ThePEG::JetCuts::theUnresolvedMatcher
Ptr< MatcherBase >::ptr theUnresolvedMatcher
A matcher for unresolved partons.
Definition:
JetCuts.h:148
ThePEG::JetCuts::Orderings
Orderings
Enumerate the ordering to apply on jets.
Definition:
JetCuts.h:90
ThePEG::JetCuts::clone
virtual IBPtr clone() const
Make a simple clone of this object.
ThePEG::JetCuts::theJetPairRegions
vector< Ptr< JetPairRegion >::ptr > theJetPairRegions
The jet pair regions to match.
Definition:
JetCuts.h:163
ThePEG::JetCuts::theMultiJetRegions
vector< Ptr< MultiJetRegion >::ptr > theMultiJetRegions
The multi jet regions to match.
Definition:
JetCuts.h:168
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::initJetCuts
static ClassDescription< JetCuts > initJetCuts
The static object used to initialize the description of this class.
Definition:
JetCuts.h:181
ThePEG::JetCuts::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEG::JetCuts::jetRegions
const vector< Ptr< JetRegion >::ptr > & jetRegions() const
Return the jet regions to match.
Definition:
JetCuts.h:70
ThePEG::JetCuts::describe
virtual void describe() const
Describe the currently active cuts in the log file.
ThePEG::JetCuts::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::JetCuts::theOrdering
int theOrdering
Types of the ordering to apply on jets.
Definition:
JetCuts.h:173
ThePEG::JetCuts::JetCuts
JetCuts()
The default constructor.
ThePEG::JetCuts::operator=
JetCuts & operator=(const JetCuts &)=delete
The assignment operator is private and must never be called.
ThePEG::JetCuts::theJetVetoRegions
vector< Ptr< JetRegion >::ptr > theJetVetoRegions
The jet veto regions to check.
Definition:
JetCuts.h:158
ThePEG::JetCuts::unresolvedMatcher
Ptr< MatcherBase >::tptr unresolvedMatcher() const
Return the matcher for unresolved partons.
Definition:
JetCuts.h:65
ThePEG::JetCuts::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::JetCuts::ordering
int ordering() const
Return the ordering.
Definition:
JetCuts.h:98
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::PersistentIStream
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Definition:
PersistentIStream.h:48
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::Pointer::RCPtr
RCPtr is a reference counted (smart) pointer.
Definition:
RCPtr.h:60
ThePEG::Pointer::TransientRCPtr
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
Definition:
RCPtr.h:519
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::tcPDVector
vector< tcPDPtr > tcPDVector
A vector of transient pointers to const ParticleData objects.
Definition:
Containers.h:42
ThePEG::BaseClassTrait::NthBase
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition:
ClassTraits.h:161
ThePEG::ClassTraitsBase::className
static string className()
Return the name of class T.
Definition:
ClassTraits.h:66
ThePEG::ClassTraitsBase::library
static string library()
The name of a file containing the dynamic library where the class T is implemented.
Definition:
ClassTraits.h:85
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6