thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
LesHouches
MadGraphOneCut.h
1
// -*- C++ -*-
2
//
3
// MadGraphOneCut.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 1999-2019 Leif Lonnblad
5
//
6
// ThePEG is licenced under version 3 of the GPL, see COPYING for details.
7
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8
//
9
#ifndef THEPEG_MadGraphOneCut_H
10
#define THEPEG_MadGraphOneCut_H
11
//
12
// This is the declaration of the MadGraphOneCut class.
13
//
14
15
#include "ThePEG/Cuts/OneCutBase.h"
16
17
namespace
ThePEG
{
18
28
class
MadGraphOneCut
:
public
OneCutBase
{
29
30
public
:
31
35
enum class
Cut
{
36
PT
,
37
ETA
,
38
XPT
40
};
41
45
enum class
P
{
46
JET
,
47
LEP
,
48
PHO
,
49
BOT
50
};
51
52
public
:
53
59
MadGraphOneCut
() :
cutType
(
Cut
::
PT
),
particleType
(
P
::
JET
),
theCut
(0.0) {}
60
67
MadGraphOneCut
(
Cut
t,
P
p,
double
c)
68
:
cutType
(t),
particleType
(p),
theCut
(c) {}
70
71
public
:
72
79
virtual
Energy
minKT
(
tcPDPtr
p)
const
;
80
86
virtual
double
minEta
(
tcPDPtr
p)
const
;
87
93
virtual
double
maxEta
(
tcPDPtr
p)
const
;
94
100
virtual
Energy
minMaxKT
(
tcPDPtr
p)
const
;
101
107
virtual
bool
passCuts
(tcCutsPtr parent,
108
tcPDPtr
ptype,
LorentzMomentum
p)
const
;
110
111
protected
:
112
116
bool
checkType
(
tcPDPtr
p)
const
;
117
118
public
:
119
126
void
persistentOutput
(
PersistentOStream
& os)
const
;
127
133
void
persistentInput
(
PersistentIStream
& is,
int
version);
135
142
static
void
Init
();
143
144
protected
:
145
152
virtual
IBPtr
clone
()
const
;
153
158
virtual
IBPtr
fullclone
()
const
;
160
161
private
:
162
166
Cut
cutType
;
167
171
P
particleType
;
172
176
double
theCut
;
177
178
private
:
179
184
static
ClassDescription<MadGraphOneCut>
initMadGraphOneCut
;
185
190
MadGraphOneCut
&
operator=
(
const
MadGraphOneCut
&) =
delete
;
191
192
};
193
194
}
195
196
#include "ThePEG/Utilities/ClassTraits.h"
197
198
namespace
ThePEG
{
199
204
template
<>
205
struct
BaseClassTrait<MadGraphOneCut,1> {
207
typedef
OneCutBase
NthBase
;
208
};
209
212
template
<>
213
struct
ClassTraits<MadGraphOneCut>
214
:
public
ClassTraitsBase<MadGraphOneCut> {
216
static
string
className
() {
return
"ThePEG::MadGraphOneCut"
; }
220
static
string
library
() {
return
"MadGraphReader.so"
; }
221
};
222
225
}
226
227
#endif
/* THEPEG_MadGraphOneCut_H */
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
Definition:
ClassDescription.h:333
ThePEG::LorentzVector< Energy >
ThePEG::MadGraphOneCut
Objects of the MadGraphOneCut class can be created automatically by the MadGraphReader class when sca...
Definition:
MadGraphOneCut.h:28
ThePEG::MadGraphOneCut::theCut
double theCut
The value of the cut to be applied.
Definition:
MadGraphOneCut.h:176
ThePEG::MadGraphOneCut::clone
virtual IBPtr clone() const
Make a simple clone of this object.
ThePEG::MadGraphOneCut::Cut
Cut
Enumerate the different kinds of cuts made by MadGraph.
Definition:
MadGraphOneCut.h:35
ThePEG::MadGraphOneCut::Cut::PT
@ PT
The minimum transverse momentum of a particle.
ThePEG::MadGraphOneCut::Cut::ETA
@ ETA
The maximum (absolute value of) pseudo-rapidity of a particle.
ThePEG::MadGraphOneCut::Cut::XPT
@ XPT
The minimum transverse momentum of the particle with largest transverse momentum.
ThePEG::MadGraphOneCut::passCuts
virtual bool passCuts(tcCutsPtr parent, tcPDPtr ptype, LorentzMomentum p) const
Return true if a particle with type ptype and momentum p passes the cuts.
ThePEG::MadGraphOneCut::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::MadGraphOneCut::minMaxKT
virtual Energy minMaxKT(tcPDPtr p) const
Return the minimum allowed value of the transverse momentum of the outgoing parton with the lagrest t...
ThePEG::MadGraphOneCut::maxEta
virtual double maxEta(tcPDPtr p) const
Return the maximum allowed pseudo-rapidity of an outgoing parton of the given type.
ThePEG::MadGraphOneCut::MadGraphOneCut
MadGraphOneCut()
The default constructor.
Definition:
MadGraphOneCut.h:59
ThePEG::MadGraphOneCut::operator=
MadGraphOneCut & operator=(const MadGraphOneCut &)=delete
The assignment operator is private and must never be called.
ThePEG::MadGraphOneCut::P
P
Enumerate the types of particles the cut is made on.
Definition:
MadGraphOneCut.h:45
ThePEG::MadGraphOneCut::P::LEP
@ LEP
The cut applies only to leptons.
ThePEG::MadGraphOneCut::P::PHO
@ PHO
The cut applies only to photons.
ThePEG::MadGraphOneCut::P::BOT
@ BOT
The cut applies only to bottom quarks.
ThePEG::MadGraphOneCut::P::JET
@ JET
The cut applies only to coloured particles.
ThePEG::MadGraphOneCut::MadGraphOneCut
MadGraphOneCut(Cut t, P p, double c)
The constructor used by the MadGraphReader.
Definition:
MadGraphOneCut.h:67
ThePEG::MadGraphOneCut::initMadGraphOneCut
static ClassDescription< MadGraphOneCut > initMadGraphOneCut
The static object used to initialize the description of this class.
Definition:
MadGraphOneCut.h:184
ThePEG::MadGraphOneCut::minEta
virtual double minEta(tcPDPtr p) const
Return the minimum allowed pseudo-rapidity of an outgoing parton of the given type.
ThePEG::MadGraphOneCut::checkType
bool checkType(tcPDPtr p) const
Returns true if cut should be applied to a particle of type p.
ThePEG::MadGraphOneCut::minKT
virtual Energy minKT(tcPDPtr p) const
Return the minimum allowed value of the transverse momentum of an outgoing parton.
ThePEG::MadGraphOneCut::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::MadGraphOneCut::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEG::MadGraphOneCut::particleType
P particleType
The type of particles this cut applies to.
Definition:
MadGraphOneCut.h:171
ThePEG::MadGraphOneCut::cutType
Cut cutType
The type of this cut.
Definition:
MadGraphOneCut.h:166
ThePEG::MadGraphOneCut::Init
static void Init()
The standard Init function used to initialize the interfaces.
ThePEG::OneCutBase
This class corresponds to a kinematical cut to be made on a single outgoing parton from a hard sub-pr...
Definition:
OneCutBase.h:39
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::TransientConstRCPtr
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition:
RCPtr.h:696
ThePEG::Qty< 0, 1, 0 >
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
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