thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
OneJetCut.h
1 // -*- C++ -*-
2 //
3 // OneJetCut.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_OneJetCut_H
11 #define THEPEG_OneJetCut_H
12 //
13 // This is the declaration of the OneJetCut class.
14 //
15 
16 #include "ThePEG/Cuts/MultiCutBase.h"
17 #include "ThePEG/PDT/MatcherBase.h"
18 
19 namespace ThePEG {
20 
28 class OneJetCut: public MultiCutBase {
29 
30 public:
31 
37  OneJetCut();
38 
42  virtual ~OneJetCut();
44 
45 public:
46 
53  virtual bool passCuts(tcCutsPtr parent, const tcPDVector & ptype,
54  const vector<LorentzMomentum> & p) const;
56 
60  virtual void describe() const;
61 
62 public:
63 
70  void persistentOutput(PersistentOStream & os) const;
71 
77  void persistentInput(PersistentIStream & is, int version);
79 
86  static void Init();
87 
88 protected:
89 
96  virtual IBPtr clone() const;
97 
102  virtual IBPtr fullclone() const;
104 
105 private:
106 
111 
116 
120  double yMin;
121 
125  double yMax;
126 
127 private:
128 
134 
139  OneJetCut & operator=(const OneJetCut &) = delete;
140 
141 };
142 
143 }
144 
145 #include "ThePEG/Utilities/ClassTraits.h"
146 
147 namespace ThePEG {
148 
153 template <>
154 struct BaseClassTrait<OneJetCut,1> {
156  typedef MultiCutBase NthBase;
157 };
158 
161 template <>
162 struct ClassTraits<OneJetCut>
163  : public ClassTraitsBase<OneJetCut> {
165  static string className() { return "ThePEG::OneJetCut"; }
169  static string library() { return "JetCuts.so"; }
170 };
171 
174 }
175 
176 #endif /* THEPEG_OneJetCut_H */
PersistentIStream is used to read persistent objects from a stream where they were previously written...
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
double yMin
The minimum rapidity.
Definition: OneJetCut.h:120
OneJetCut & operator=(const OneJetCut &)=delete
The assignment operator is private and must never be called.
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
vector< tcPDPtr > tcPDVector
A vector of transient pointers to const ParticleData objects.
Definition: Containers.h:42
virtual ~OneJetCut()
The destructor.
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
Energy ptMin
The minimum pt.
Definition: OneJetCut.h:115
static void Init()
The standard Init function used to initialize the interfaces.
static ClassDescription< OneJetCut > initOneJetCut
The static object used to initialize the description of this class.
Definition: OneJetCut.h:133
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual void describe() const
Describe the currently active cuts in the log file.
OneJetCut()
The default constructor.
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
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...
Ptr< MatcherBase >::ptr unresolvedMatcher
A matcher for unresolved partons.
Definition: OneJetCut.h:110
This class corresponds to a kinematical cut to be made on a set of outgoing particles from a hard sub...
Definition: MultiCutBase.h:34
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Ptr is a templated class to provide typedefs for pointers types ThePEG should use for a given type...
Definition: Ptr.h:35
virtual IBPtr clone() const
Make a simple clone of this object.
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
double yMax
The maximum rapidity.
Definition: OneJetCut.h:125
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
OneJetsCut is a simple one-jet inclusive cut, requiring at least one jet above a certain pt in a give...
Definition: OneJetCut.h:28
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition: ClassTraits.h:52