thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
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 
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 {
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; }
154  Energy2 scaleMax() const {
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 
207 
218 
231 
236  double theCTHMin;
241  double theCTHMax;
242 
251 
260 
271 
272 private:
273 
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 */
Energy theMHatMax
The minimum and maximum values of the invariant mass of the hard sub-process.
Definition: MECuts.h:206
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Energy2 tHatMin() const
The minimum and maximum value of that of a hard 2->2 scattering.
Definition: MECuts.h:126
constexpr Energy MaxEnergy
A really large energy.
Definition: Constants.h:33
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30
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
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
Energy2 theUHatMax
The minimum and maximum value of uhat of a hard 2->2 scattering.
Definition: MECuts.h:259
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
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
Energy mHatMin() const
The minimum and maximum values of the invariant mass (squared) of the hard sub-process.
Definition: MECuts.h:67
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
MECuts()
Standard ctors and dtor.
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
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
MECuts & operator=(const MECuts &)=delete
Private and non-existent assignment operator.
This file declare a set of standard matcher classes.
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
Energy theSingularMassMax
Additional cut on the transverse momenta of the hard sub-process for s-channel hard sub-processes for...
Definition: MECuts.h:230
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
virtual void newcut(const SubProcess &) const
This method is called by the corresponding cut method with the primary SubProcess provided in its cm ...
The MECuts class is (currently not at all) used to make cuts on generated phase space points for the ...
Definition: MECuts.h:44
void persistentOutput(PersistentOStream &) const
Standard functions for writing and reading from persistent streams.
Energy thePTHatMax
The minimum and maximum values of the transverse momentum of the outgoing particles in the hard sub-p...
Definition: MECuts.h:217
A SubProcess object represents a hard sub-process in a collision.
Definition: SubProcess.h:33
virtual IBPtr clone() const
Standard clone method.
Energy sHatMin() const
The minimum and maximum values of the invariant mass (squared) of the hard sub-process.
Definition: MECuts.h:79
constexpr Energy2 MaxEnergy2
A really large squared energy.
Definition: Constants.h:36
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
Energy mHatMax() const
The minimum and maximum values of the invariant mass (squared) of the hard sub-process.
Definition: MECuts.h:72
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
Energy2 uHatMax() const
The minimum and maximum value of uhat of a hard 2->2 scattering.
Definition: MECuts.h:141
Energy2 theUHatMin
The minimum and maximum value of uhat of a hard 2->2 scattering.
Definition: MECuts.h:255
Energy thePTHatSingularMin
Additional cut on the transverse momenta of the hard sub-process for s-channel hard sub-processes for...
Definition: MECuts.h:224
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
static ClassDescription< MECuts > initMECuts
Describe a concrete class with persistent data.
Definition: MECuts.h:277
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
Energy2 tHatMax() const
The minimum and maximum value of that of a hard 2->2 scattering.
Definition: MECuts.h:130
The Interfaced class is derived from the InterfacedBase class adding a couple of things particular to...
Definition: Interfaced.h:38
Energy2 uHatMin() const
The minimum and maximum value of uhat of a hard 2->2 scattering.
Definition: MECuts.h:137
void persistentInput(PersistentIStream &, int)
Standard functions for writing and reading from persistent streams.
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
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
virtual void doupdate()
Standard Interfaced virtual functions.
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
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 theMHatMin
The minimum and maximum values of the invariant mass of the hard sub-process.
Definition: MECuts.h:201
void cut(const SubProcess &) const
This method is called by the EventHandler with the primary SubProcess provided in its cm frame...
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
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
static void Init()
Standard Init function used to initialize the interface.
Energy sHatMax() const
The minimum and maximum values of the invariant mass (squared) of the hard sub-process.
Definition: MECuts.h:84
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition: ClassTraits.h:52
Energy thePTHatMin
The minimum and maximum values of the transverse momentum of the outgoing particles in the hard sub-p...
Definition: MECuts.h:212