thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
MultiJetRegion.h
1 // -*- C++ -*-
2 //
3 // MultiJetRegion.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_MultiJetRegion_H
11 #define ThePEG_MultiJetRegion_H
12 //
13 // This is the declaration of the MultiJetRegion class.
14 //
15 
16 #include "ThePEG/Cuts/JetRegion.h"
17 
18 namespace ThePEG {
19 
29 class MultiJetRegion: public HandlerBase {
30 
31 public:
32 
39 
43  virtual ~MultiJetRegion();
45 
46 public:
47 
51  const vector<Ptr<JetRegion>::ptr>& regions() const { return theRegions; }
52 
56  Energy massMin() const { return theMassMin; }
57 
61  Energy massMax() const { return theMassMax; }
62 
66  double deltaRMin() const { return theDeltaRMin; }
67 
71  double deltaRMax() const { return theDeltaRMax; }
72 
76  double deltaYMin() const { return theDeltaYMin; }
77 
81  double deltaYMax() const { return theDeltaYMax; }
82 
86  double cutWeight() const { return theCutWeight; }
87 
88 public:
89 
93  virtual void describe() const;
94 
98  virtual bool matches();
99 
103  virtual bool matches(int i, int j);
104 
105 public:
106 
113  void persistentOutput(PersistentOStream & os) const;
114 
120  void persistentInput(PersistentIStream & is, int version);
122 
129  static void Init();
130 
131 protected:
132 
139  virtual IBPtr clone() const;
140 
145  virtual IBPtr fullclone() const;
147 
148 
149 // If needed, insert declarations of virtual function defined in the
150 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
151 
152 
153 private:
154 
158  vector<Ptr<JetRegion>::ptr> theRegions;
159 
164 
169 
173  double theDeltaRMin;
174 
178  double theDeltaRMax;
179 
183  double theDeltaYMin;
184 
188  double theDeltaYMax;
189 
193  double theCutWeight;
194 
199  MultiJetRegion & operator=(const MultiJetRegion &) = delete;
200 
201 };
202 
203 }
204 
205 #endif /* ThePEG_MultiJetRegion_H */
PersistentIStream is used to read persistent objects from a stream where they were previously written...
virtual bool matches()
Return true, if the requirements on the jet regions are fullfilled.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
static void Init()
The standard Init function used to initialize the interfaces.
Energy massMin() const
Return the minimum jet-jet invariant mass.
Energy theMassMin
The minimum jet-jet invariant mass.
double theDeltaRMin
The minimum jet-jet lego-plot separation.
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
double theDeltaYMin
The minimum jet-jet rapidity separation.
double deltaYMin() const
Return the minimum jet-jet rapidity separation.
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
Energy massMax() const
Return the maximum jet-jet invariant mass.
virtual IBPtr clone() const
Make a simple clone of this object.
virtual void describe() const
Describe the currently active cuts in the log file.
vector< Ptr< JetRegion >::ptr > theRegions
The jet regions to act on.
double deltaRMin() const
Return the minimum jet-jet lego-plot separation.
virtual ~MultiJetRegion()
The destructor.
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
double theCutWeight
The cut weight encountered from the last call to matches()
MultiJetRegion implements pairwise constraints on jets matching several jet regions.
HandlerBase is an abstract base class derived from the Interfaced class via the HandlerBaseT class ad...
Definition: HandlerBase.h:151
MultiJetRegion()
The default constructor.
double cutWeight() const
Return the cut weight encountered from the last call to matches()
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
double theDeltaYMax
The maximum jet-jet rapidity separation.
Energy theMassMax
The maximum jet-jet invariant mass.
double theDeltaRMax
The maximum jet-jet lego-plot separation.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
double deltaYMax() const
Return the maximum jet-jet rapidity separation.
MultiJetRegion & operator=(const MultiJetRegion &)=delete
The assignment operator is private and must never be called.
const vector< Ptr< JetRegion >::ptr > & regions() const
Return the jet regions to act on.
double deltaRMax() const
Return the maximum jet-jet lego-plot separation.