thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
Cuts
DeltaMeasureCuts.h
1
// -*- C++ -*-
2
//
3
// DeltaMeasureCuts.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_DeltaMeasureCuts_H
10
#define THEPEG_DeltaMeasureCuts_H
11
//
12
// This is the declaration of the DeltaMeasureCuts class.
13
//
14
15
#include "ThePEG/Cuts/TwoCutBase.h"
16
#include "ThePEG/PDT/MatcherBase.h"
17
18
namespace
ThePEG
{
19
26
class
DeltaMeasureCuts
:
public
TwoCutBase
{
27
28
public
:
29
35
DeltaMeasureCuts
() :
theMinDeltaR
(0.0),
theMinDeltaEta
(0.0) {}
37
38
public
:
39
52
virtual
Energy
minDeltaMeasureCuts
(
tcPDPtr
pi,
tcPDPtr
pj)
const
;
53
58
virtual
Energy
minKTClus
(
tcPDPtr
pi,
tcPDPtr
pj)
const
;
59
60
65
virtual
Energy2
minSij
(
tcPDPtr
pi,
tcPDPtr
pj)
const
;
66
72
virtual
Energy2
minTij
(
tcPDPtr
pi,
tcPDPtr
po)
const
;
73
79
virtual
double
minDeltaR
(
tcPDPtr
pi,
tcPDPtr
pj)
const
;
80
87
virtual
double
minDurham
(
tcPDPtr
pi,
tcPDPtr
pj)
const
;
88
95
virtual
bool
passCuts
(tcCutsPtr parent,
tcPDPtr
pitype,
tcPDPtr
pjtype,
96
LorentzMomentum
pi,
LorentzMomentum
pj,
97
bool
inci =
false
,
bool
incj =
false
)
const
;
99
103
virtual
void
describe
()
const
;
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
private
:
149
153
double
theMinDeltaR
;
154
158
double
theMinDeltaEta
;
159
164
PMPtr
theMatcher
;
165
166
private
:
167
172
static
ClassDescription<DeltaMeasureCuts>
initDeltaMeasureCuts
;
173
178
DeltaMeasureCuts
&
operator=
(
const
DeltaMeasureCuts
&) =
delete
;
179
180
};
181
182
}
183
184
#include "ThePEG/Utilities/ClassTraits.h"
185
186
namespace
ThePEG
{
187
192
template
<>
193
struct
BaseClassTrait<DeltaMeasureCuts,1> {
195
typedef
TwoCutBase
NthBase
;
196
};
197
200
template
<>
201
struct
ClassTraits<DeltaMeasureCuts>
202
:
public
ClassTraitsBase<DeltaMeasureCuts> {
204
static
string
className
() {
return
"ThePEG::DeltaMeasureCuts"
; }
208
static
string
library
() {
return
"DeltaMeasureCuts.so"
; }
209
};
210
213
}
214
215
#endif
/* THEPEG_DeltaMeasureCuts_H */
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
Definition:
ClassDescription.h:333
ThePEG::DeltaMeasureCuts
This class implements a cuts on legoplot and rapidity separation.
Definition:
DeltaMeasureCuts.h:26
ThePEG::DeltaMeasureCuts::describe
virtual void describe() const
Describe the currently active cuts in the log file.
ThePEG::DeltaMeasureCuts::initDeltaMeasureCuts
static ClassDescription< DeltaMeasureCuts > initDeltaMeasureCuts
The static object used to initialize the description of this class.
Definition:
DeltaMeasureCuts.h:172
ThePEG::DeltaMeasureCuts::passCuts
virtual bool passCuts(tcCutsPtr parent, tcPDPtr pitype, tcPDPtr pjtype, LorentzMomentum pi, LorentzMomentum pj, bool inci=false, bool incj=false) const
Return true if a pair of particles with type pitype and pjtype and momenta pi and pj respectively pas...
ThePEG::DeltaMeasureCuts::theMatcher
PMPtr theMatcher
If non-null only particles matching this object will be affected by this cut.
Definition:
DeltaMeasureCuts.h:164
ThePEG::DeltaMeasureCuts::clone
virtual IBPtr clone() const
Make a simple clone of this object.
ThePEG::DeltaMeasureCuts::theMinDeltaR
double theMinDeltaR
The minimum allowed legoplot separation.
Definition:
DeltaMeasureCuts.h:153
ThePEG::DeltaMeasureCuts::minTij
virtual Energy2 minTij(tcPDPtr pi, tcPDPtr po) const
Return the minimum allowed value of the negative of the squared invariant mass of an incoming parton ...
ThePEG::DeltaMeasureCuts::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::DeltaMeasureCuts::minDeltaMeasureCuts
virtual Energy minDeltaMeasureCuts(tcPDPtr pi, tcPDPtr pj) const
Return the minimum allowed value of the longitudinally invariant -algorithms distance measure.
ThePEG::DeltaMeasureCuts::theMinDeltaEta
double theMinDeltaEta
The minimum allowed rapidity separation.
Definition:
DeltaMeasureCuts.h:158
ThePEG::DeltaMeasureCuts::minDeltaR
virtual double minDeltaR(tcPDPtr pi, tcPDPtr pj) const
Return the minimum allowed value of of two outgoing partons of type pi and pj.
ThePEG::DeltaMeasureCuts::minKTClus
virtual Energy minKTClus(tcPDPtr pi, tcPDPtr pj) const
Return the minimum allowed value of the longitudinally invariant -algorithms distance measure.
ThePEG::DeltaMeasureCuts::DeltaMeasureCuts
DeltaMeasureCuts()
The default constructor.
Definition:
DeltaMeasureCuts.h:35
ThePEG::DeltaMeasureCuts::minSij
virtual Energy2 minSij(tcPDPtr pi, tcPDPtr pj) const
Return the minimum allowed squared invariant mass of two outgoing partons of type pi and pj.
ThePEG::DeltaMeasureCuts::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::DeltaMeasureCuts::minDurham
virtual double minDurham(tcPDPtr pi, tcPDPtr pj) const
Return the minimum allowed value of the Durham -algorithms distance measure.
ThePEG::DeltaMeasureCuts::operator=
DeltaMeasureCuts & operator=(const DeltaMeasureCuts &)=delete
The assignment operator is private and must never be called.
ThePEG::DeltaMeasureCuts::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEG::DeltaMeasureCuts::Init
static void Init()
The standard Init function used to initialize the interfaces.
ThePEG::LorentzVector< Energy >
ThePEG::PersistentIStream
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Definition:
PersistentIStream.h:48
ThePEG::PersistentOStream
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
Definition:
PersistentOStream.h:51
ThePEG::Pointer::RCPtr
RCPtr is a reference counted (smart) pointer.
Definition:
RCPtr.h:60
ThePEG::Pointer::TransientConstRCPtr
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition:
RCPtr.h:696
ThePEG::Qty< 0, 1, 0 >
ThePEG::TwoCutBase
This class corresponds to a kinematical cut to be made on a pair of particles in a hard sub-process.
Definition:
TwoCutBase.h:35
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::BaseClassTrait::NthBase
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition:
ClassTraits.h:161
ThePEG::ClassTraitsBase::className
static string className()
Return the name of class T.
Definition:
ClassTraits.h:66
ThePEG::ClassTraitsBase::library
static string library()
The name of a file containing the dynamic library where the class T is implemented.
Definition:
ClassTraits.h:85
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6