thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
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"
17
18namespace ThePEG {
19
44class MECuts: public Interfaced {
45
46public:
47
52
53public:
54
59 void cut(const SubProcess &) const;
60
61public:
62
67 Energy mHatMin() const { return theMHatMin; }
72 Energy mHatMax() const {
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 {
97 }
98
111
116 double cTHMin() const { return theCTHMin; }
121 double cTHMax() const { return theCTHMax; }
122
126 Energy2 tHatMin() const { return theTHatMin; }
130 Energy2 tHatMax() const {
132 }
133
137 Energy2 uHatMin() const { return theUHatMin; }
141 Energy2 uHatMax() const {
143 }
144
149 Energy2 scaleMin() const { return theScaleMin; }
156 }
157
158public:
159
168
172 static void Init();
173
174protected:
175
181 virtual void newcut(const SubProcess &) const;
182
183protected:
184
188 virtual void doupdate();
189
193 virtual IBPtr clone() const;
194
195private:
196
207
218
231
236 double theCTHMin;
241 double theCTHMax;
242
251
260
271
272private:
273
278
282 MECuts & operator=(const MECuts &) = delete;
283
284};
285
292template <>
293struct BaseClassTrait<MECuts,1>: public ClassTraitsType {
295 typedef Interfaced NthBase;
296};
297
302template <>
303struct ClassTraits<MECuts>:
305 public ClassTraitsBase<MECuts> {
306 static string className() { return "ThePEG::MECuts"; }
307};
308
311}
312
313#endif /* ThePEG_MECuts_H */
This file declare a set of standard matcher classes.
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
The Interfaced class is derived from the InterfacedBase class adding a couple of things particular to...
Definition: Interfaced.h:38
The MECuts class is (currently not at all) used to make cuts on generated phase space points for the ...
Definition: MECuts.h:44
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
Energy thePTHatSingularMin
Additional cut on the transverse momenta of the hard sub-process for s-channel hard sub-processes for...
Definition: MECuts.h:224
Energy theSingularMassMax
Additional cut on the transverse momenta of the hard sub-process for s-channel hard sub-processes for...
Definition: MECuts.h:230
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
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
static ClassDescription< MECuts > initMECuts
Describe a concrete class with persistent data.
Definition: MECuts.h:277
Energy sHatMax() const
The minimum and maximum values of the invariant mass (squared) of the hard sub-process.
Definition: MECuts.h:84
Energy theMHatMin
The minimum and maximum values of the invariant mass of the hard sub-process.
Definition: MECuts.h:201
MECuts()
Standard ctors and dtor.
Energy thePTHatMax
The minimum and maximum values of the transverse momentum of the outgoing particles in the hard sub-p...
Definition: MECuts.h:217
Energy2 theUHatMin
The minimum and maximum value of uhat of a hard 2->2 scattering.
Definition: MECuts.h:255
Energy mHatMin() const
The minimum and maximum values of the invariant mass (squared) of the hard sub-process.
Definition: MECuts.h:67
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
virtual IBPtr clone() const
Standard clone method.
Energy theMHatMax
The minimum and maximum values of the invariant mass of the hard sub-process.
Definition: MECuts.h:206
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
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
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
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
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
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
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
Energy mHatMax() const
The minimum and maximum values of the invariant mass (squared) of the hard sub-process.
Definition: MECuts.h:72
void persistentInput(PersistentIStream &, int)
Standard functions for writing and reading from persistent streams.
Energy2 theTHatMin
The minimum and maximum value of that of a hard 2->2 scattering.
Definition: MECuts.h:246
Energy2 theTHatMax
The minimum and maximum value of that of a hard 2->2 scattering.
Definition: MECuts.h:250
void persistentOutput(PersistentOStream &) const
Standard functions for writing and reading from persistent streams.
Energy thePTHatMin
The minimum and maximum values of the transverse momentum of the outgoing particles in the hard sub-p...
Definition: MECuts.h:212
void cut(const SubProcess &) const
This method is called by the EventHandler with the primary SubProcess provided in its cm frame.
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
Energy2 uHatMax() const
The minimum and maximum value of uhat of a hard 2->2 scattering.
Definition: MECuts.h:141
Energy2 tHatMin() const
The minimum and maximum value of that of a hard 2->2 scattering.
Definition: MECuts.h:126
MECuts & operator=(const MECuts &)=delete
Private and non-existent assignment operator.
Energy sHatMin() const
The minimum and maximum values of the invariant mass (squared) of the hard sub-process.
Definition: MECuts.h:79
Energy2 theUHatMax
The minimum and maximum value of uhat of a hard 2->2 scattering.
Definition: MECuts.h:259
Energy2 tHatMax() const
The minimum and maximum value of that of a hard 2->2 scattering.
Definition: MECuts.h:130
static void Init()
Standard Init function used to initialize the interface.
Energy2 uHatMin() const
The minimum and maximum value of uhat of a hard 2->2 scattering.
Definition: MECuts.h:137
virtual void newcut(const SubProcess &) const
This method is called by the corresponding cut method with the primary SubProcess provided in its cm ...
virtual void doupdate()
Standard Interfaced virtual functions.
PersistentIStream is used to read persistent objects from a stream where they were previously written...
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
A SubProcess object represents a hard sub-process in a collision.
Definition: SubProcess.h:33
constexpr Energy2 MaxEnergy2
A really large squared energy.
Definition: Constants.h:36
constexpr Energy MaxEnergy
A really large energy.
Definition: Constants.h:33
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
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
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition: ClassTraits.h:161
static string className()
Return the name of class T.
Definition: ClassTraits.h:66
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30