thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
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
18namespace ThePEG {
19
30
31public:
32
39
43 virtual ~MultiJetRegion();
45
46public:
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
88public:
89
93 virtual void describe() const;
94
98 virtual bool matches();
99
103 virtual bool matches(int i, int j);
104
105public:
106
114
120 void persistentInput(PersistentIStream & is, int version);
122
129 static void Init();
130
131protected:
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
153private:
154
158 vector<Ptr<JetRegion>::ptr> theRegions;
159
164
169
174
179
184
189
194
200
201};
202
203}
204
205#endif /* ThePEG_MultiJetRegion_H */
HandlerBase is an abstract base class derived from the Interfaced class via the HandlerBaseT class ad...
Definition: HandlerBase.h:151
MultiJetRegion implements pairwise constraints on jets matching several jet regions.
double theDeltaYMax
The maximum jet-jet rapidity separation.
double theDeltaRMin
The minimum jet-jet lego-plot separation.
const vector< Ptr< JetRegion >::ptr > & regions() const
Return the jet regions to act on.
Energy theMassMax
The maximum jet-jet invariant mass.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
double theCutWeight
The cut weight encountered from the last call to matches()
double theDeltaRMax
The maximum jet-jet lego-plot separation.
MultiJetRegion()
The default constructor.
virtual bool matches()
Return true, if the requirements on the jet regions are fullfilled.
double deltaRMin() const
Return the minimum jet-jet lego-plot separation.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual IBPtr clone() const
Make a simple clone of this object.
static void Init()
The standard Init function used to initialize the interfaces.
double theDeltaYMin
The minimum jet-jet rapidity separation.
virtual bool matches(int i, int j)
Return true, if the requirements on two jet regions are fullfilled.
Energy theMassMin
The minimum jet-jet invariant mass.
Energy massMin() const
Return the minimum jet-jet invariant mass.
vector< Ptr< JetRegion >::ptr > theRegions
The jet regions to act on.
Energy massMax() const
Return the maximum jet-jet invariant mass.
virtual ~MultiJetRegion()
The destructor.
double deltaRMax() const
Return the maximum jet-jet lego-plot separation.
double deltaYMax() const
Return the maximum jet-jet rapidity separation.
double deltaYMin() const
Return the minimum jet-jet rapidity separation.
double cutWeight() const
Return the cut weight encountered from the last call to matches()
virtual void describe() const
Describe the currently active cuts in the log file.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
MultiJetRegion & operator=(const MultiJetRegion &)=delete
The assignment operator is private and must never be called.
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
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28