thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
MatrixElement
MECuts.h
1
// -*- C++ -*-
2
//
3
// MECuts.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_MECuts_H
10
#define ThePEG_MECuts_H
11
// This is the declaration of the MECuts class.
12
13
#include "ThePEG/Interface/Interfaced.h"
14
#include "ThePEG/Vectors/LorentzRotation.fh"
15
#include "ThePEG/Utilities/Triplet.h"
16
#include "
ThePEG/PDT/StandardMatchers.h
"
17
18
namespace
ThePEG
{
19
44
class
MECuts
:
public
Interfaced
{
45
46
public
:
47
51
MECuts
();
52
53
public
:
54
59
void
cut
(
const
SubProcess
&)
const
;
60
61
public
:
62
67
Energy
mHatMin
()
const
{
return
theMHatMin
; }
72
Energy
mHatMax
()
const
{
73
theMHatMax
>
mHatMin
()?
theMHatMax
:
Constants::MaxEnergy
;
74
}
79
Energy
sHatMin
()
const
{
return
sqr
(
mHatMin
()); }
84
Energy
sHatMax
()
const
{
return
sqr
(
mHatMax
()); }
85
90
Energy
pTHatMin
()
const
{
return
thePTHatMin
; }
95
Energy
pTHatMax
()
const
{
96
return
thePTHatMax
>
pTHatMin
()?
thePTHatMax
:
Constants::MaxEnergy
;
97
}
98
104
Energy
pTHatSingularMin
()
const
{
return
thePTHatSingularMin
; }
110
Energy
singularMassMax
()
const
{
return
theSingularMassMax
; }
111
116
double
cTHMin
()
const
{
return
theCTHMin
; }
121
double
cTHMax
()
const
{
return
theCTHMax
; }
122
126
Energy2
tHatMin
()
const
{
return
theTHatMin
; }
130
Energy2
tHatMax
()
const
{
131
return
theTHatMax
>
tHatMin
()?
theTHatMax
:
Constants::MaxEnergy2
;
132
}
133
137
Energy2
uHatMin
()
const
{
return
theUHatMin
; }
141
Energy2
uHatMax
()
const
{
142
return
theUHatMax
>
uHatMin
()?
theUHatMax
:
Constants::MaxEnergy2
;
143
}
144
149
Energy2
scaleMin
()
const
{
return
theScaleMin
; }
154
Energy2
scaleMax
()
const
{
155
return
theScaleMax
>
scaleMin
()?
theScaleMax
:
Constants::MaxEnergy2
;
156
}
157
158
public
:
159
163
void
persistentOutput
(
PersistentOStream
&)
const
;
167
void
persistentInput
(
PersistentIStream
&,
int
);
168
172
static
void
Init
();
173
174
protected
:
175
181
virtual
void
newcut
(
const
SubProcess
&)
const
;
182
183
protected
:
184
188
virtual
void
doupdate
();
189
193
virtual
IBPtr
clone
()
const
;
194
195
private
:
196
201
Energy
theMHatMin
;
206
Energy
theMHatMax
;
207
212
Energy
thePTHatMin
;
217
Energy
thePTHatMax
;
218
224
Energy
thePTHatSingularMin
;
230
Energy
theSingularMassMax
;
231
236
double
theCTHMin
;
241
double
theCTHMax
;
242
246
Energy2
theTHatMin
;
250
Energy2
theTHatMax
;
251
255
Energy2
theUHatMin
;
259
Energy2
theUHatMax
;
260
265
Energy2
theScaleMin
;
270
Energy2
theScaleMax
;
271
272
private
:
273
277
static
ClassDescription<MECuts>
initMECuts
;
278
282
MECuts
&
operator=
(
const
MECuts
&) =
delete
;
283
284
};
285
292
template
<>
293
struct
BaseClassTrait
<
MECuts
,1>:
public
ClassTraitsType
{
295
typedef
Interfaced
NthBase
;
296
};
297
302
template
<>
303
struct
ClassTraits<MECuts>:
305
public
ClassTraitsBase<MECuts> {
306
static
string
className
() {
return
"ThePEG::MECuts"
; }
307
};
308
311
}
312
313
#endif
/* ThePEG_MECuts_H */
StandardMatchers.h
This file declare a set of standard matcher classes.
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
Definition:
ClassDescription.h:333
ThePEG::Interfaced
The Interfaced class is derived from the InterfacedBase class adding a couple of things particular to...
Definition:
Interfaced.h:38
ThePEG::MECuts
The MECuts class is (currently not at all) used to make cuts on generated phase space points for the ...
Definition:
MECuts.h:44
ThePEG::MECuts::scaleMax
Energy2 scaleMax() const
The minimum and maximum value of the scale in a hard scattering as defined by the Handlers which perf...
Definition:
MECuts.h:154
ThePEG::MECuts::thePTHatSingularMin
Energy thePTHatSingularMin
Additional cut on the transverse momenta of the hard sub-process for s-channel hard sub-processes for...
Definition:
MECuts.h:224
ThePEG::MECuts::theSingularMassMax
Energy theSingularMassMax
Additional cut on the transverse momenta of the hard sub-process for s-channel hard sub-processes for...
Definition:
MECuts.h:230
ThePEG::MECuts::theCTHMax
double theCTHMax
The minimum and maximum value of cosine of the scattering angle in the restframe of a hard 2->2 scatt...
Definition:
MECuts.h:241
ThePEG::MECuts::theScaleMax
Energy2 theScaleMax
The minimum and maximum value of the scale in a hard scattering as defined by the Handlers which perf...
Definition:
MECuts.h:270
ThePEG::MECuts::initMECuts
static ClassDescription< MECuts > initMECuts
Describe a concrete class with persistent data.
Definition:
MECuts.h:277
ThePEG::MECuts::sHatMax
Energy sHatMax() const
The minimum and maximum values of the invariant mass (squared) of the hard sub-process.
Definition:
MECuts.h:84
ThePEG::MECuts::theMHatMin
Energy theMHatMin
The minimum and maximum values of the invariant mass of the hard sub-process.
Definition:
MECuts.h:201
ThePEG::MECuts::MECuts
MECuts()
Standard ctors and dtor.
ThePEG::MECuts::thePTHatMax
Energy thePTHatMax
The minimum and maximum values of the transverse momentum of the outgoing particles in the hard sub-p...
Definition:
MECuts.h:217
ThePEG::MECuts::theUHatMin
Energy2 theUHatMin
The minimum and maximum value of uhat of a hard 2->2 scattering.
Definition:
MECuts.h:255
ThePEG::MECuts::mHatMin
Energy mHatMin() const
The minimum and maximum values of the invariant mass (squared) of the hard sub-process.
Definition:
MECuts.h:67
ThePEG::MECuts::theScaleMin
Energy2 theScaleMin
The minimum and maximum value of the scale in a hard scattering as defined by the Handlers which perf...
Definition:
MECuts.h:265
ThePEG::MECuts::clone
virtual IBPtr clone() const
Standard clone method.
ThePEG::MECuts::theMHatMax
Energy theMHatMax
The minimum and maximum values of the invariant mass of the hard sub-process.
Definition:
MECuts.h:206
ThePEG::MECuts::scaleMin
Energy2 scaleMin() const
The minimum and maximum value of the scale in a hard scattering as defined by the Handlers which perf...
Definition:
MECuts.h:149
ThePEG::MECuts::pTHatMin
Energy pTHatMin() const
The minimum and maximum values of the transverse momentum of the outgoing particles in the hard sub-p...
Definition:
MECuts.h:90
ThePEG::MECuts::theCTHMin
double theCTHMin
The minimum and maximum value of cosine of the scattering angle in the restframe of a hard 2->2 scatt...
Definition:
MECuts.h:236
ThePEG::MECuts::cTHMin
double cTHMin() const
The minimum and maximum value of cosine of the scattering angle in the restframe of a hard 2->2 scatt...
Definition:
MECuts.h:116
ThePEG::MECuts::pTHatMax
Energy pTHatMax() const
The minimum and maximum values of the transverse momentum of the outgoing particles in the hard sub-p...
Definition:
MECuts.h:95
ThePEG::MECuts::singularMassMax
Energy singularMassMax() const
Additional cut on the transverse momenta of the hard sub-process for s-channel hard sub-processes for...
Definition:
MECuts.h:110
ThePEG::MECuts::pTHatSingularMin
Energy pTHatSingularMin() const
Additional cut on the transverse momenta of the hard sub-process for s-channel hard sub-processes for...
Definition:
MECuts.h:104
ThePEG::MECuts::mHatMax
Energy mHatMax() const
The minimum and maximum values of the invariant mass (squared) of the hard sub-process.
Definition:
MECuts.h:72
ThePEG::MECuts::persistentInput
void persistentInput(PersistentIStream &, int)
Standard functions for writing and reading from persistent streams.
ThePEG::MECuts::theTHatMin
Energy2 theTHatMin
The minimum and maximum value of that of a hard 2->2 scattering.
Definition:
MECuts.h:246
ThePEG::MECuts::theTHatMax
Energy2 theTHatMax
The minimum and maximum value of that of a hard 2->2 scattering.
Definition:
MECuts.h:250
ThePEG::MECuts::persistentOutput
void persistentOutput(PersistentOStream &) const
Standard functions for writing and reading from persistent streams.
ThePEG::MECuts::thePTHatMin
Energy thePTHatMin
The minimum and maximum values of the transverse momentum of the outgoing particles in the hard sub-p...
Definition:
MECuts.h:212
ThePEG::MECuts::cut
void cut(const SubProcess &) const
This method is called by the EventHandler with the primary SubProcess provided in its cm frame.
ThePEG::MECuts::cTHMax
double cTHMax() const
The minimum and maximum value of cosine of the scattering angle in the restframe of a hard 2->2 scatt...
Definition:
MECuts.h:121
ThePEG::MECuts::uHatMax
Energy2 uHatMax() const
The minimum and maximum value of uhat of a hard 2->2 scattering.
Definition:
MECuts.h:141
ThePEG::MECuts::tHatMin
Energy2 tHatMin() const
The minimum and maximum value of that of a hard 2->2 scattering.
Definition:
MECuts.h:126
ThePEG::MECuts::operator=
MECuts & operator=(const MECuts &)=delete
Private and non-existent assignment operator.
ThePEG::MECuts::sHatMin
Energy sHatMin() const
The minimum and maximum values of the invariant mass (squared) of the hard sub-process.
Definition:
MECuts.h:79
ThePEG::MECuts::theUHatMax
Energy2 theUHatMax
The minimum and maximum value of uhat of a hard 2->2 scattering.
Definition:
MECuts.h:259
ThePEG::MECuts::tHatMax
Energy2 tHatMax() const
The minimum and maximum value of that of a hard 2->2 scattering.
Definition:
MECuts.h:130
ThePEG::MECuts::Init
static void Init()
Standard Init function used to initialize the interface.
ThePEG::MECuts::uHatMin
Energy2 uHatMin() const
The minimum and maximum value of uhat of a hard 2->2 scattering.
Definition:
MECuts.h:137
ThePEG::MECuts::newcut
virtual void newcut(const SubProcess &) const
This method is called by the corresponding cut method with the primary SubProcess provided in its cm ...
ThePEG::MECuts::doupdate
virtual void doupdate()
Standard Interfaced virtual functions.
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::Qty< 0, 1, 0 >
ThePEG::SubProcess
A SubProcess object represents a hard sub-process in a collision.
Definition:
SubProcess.h:33
ThePEG::Constants::MaxEnergy2
constexpr Energy2 MaxEnergy2
A really large squared energy.
Definition:
Constants.h:36
ThePEG::Constants::MaxEnergy
constexpr Energy MaxEnergy
A really large energy.
Definition:
Constants.h:33
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::sqr
constexpr auto sqr(const T &x) -> decltype(x *x)
The square function should really have been included in the standard C++ library.
Definition:
ThePEG.h:117
ThePEG::BaseClassTrait
BaseClassTraits describes the base classes of the templated class.
Definition:
ClassTraits.h:156
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::ClassTraitsType
ClassTraitsType is an empty, non-polymorphic, base class.
Definition:
ClassTraits.h:30
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6