thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.2.1
Cuts
V2LeptonsCut.h
1
// -*- C++ -*-
2
//
3
// V2LeptonsCut.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_V2LeptonsCut_H
10
#define THEPEG_V2LeptonsCut_H
11
//
12
// This is the declaration of the V2LeptonsCut class.
13
//
14
15
#include "ThePEG/Cuts/MultiCutBase.h"
16
17
namespace
ThePEG
{
18
28
class
V2LeptonsCut
:
public
MultiCutBase
{
29
33
enum
Family
{
34
electron
= 1,
35
muon
= 2,
36
tau
= 4
37
};
38
42
enum
CComb
{
43
posneg
= 1,
44
negneu
= 2,
45
posneu
= 4,
46
neuneu
= 8
47
};
48
49
public
:
50
56
V2LeptonsCut
() :
theMinM
(70.0*GeV),
theMaxM
(90.0*GeV),
theFamilies
(
electron
|
muon
),
57
theCComb
(
negneu
|
posneu
) {}
58
62
virtual
~V2LeptonsCut
();
64
65
public
:
66
74
virtual
Energy2
minS
(
const
tcPDVector
& pv)
const
;
75
81
virtual
Energy2
maxS
(
const
tcPDVector
& pv)
const
;
82
87
virtual
bool
passCuts
(tcCutsPtr parent,
const
tcPDVector
& ptype,
88
const
vector<LorentzMomentum> & p)
const
;
90
94
virtual
void
describe
()
const
;
95
96
protected
:
97
101
bool
checkTypes
(
long
id1,
long
id2)
const
;
102
106
int
family
(
long
id
)
const
;
107
108
public
:
109
116
void
persistentOutput
(
PersistentOStream
& os)
const
;
117
123
void
persistentInput
(
PersistentIStream
& is,
int
version);
125
132
static
void
Init
();
133
134
protected
:
135
142
virtual
IBPtr
clone
()
const
;
143
148
virtual
IBPtr
fullclone
()
const
;
150
151
private
:
152
156
Energy
maxMinM
()
const
;
157
161
Energy
minMaxM
()
const
;
162
163
private
:
164
168
Energy
theMinM
;
169
173
Energy
theMaxM
;
174
178
int
theFamilies
;
179
183
int
theCComb
;
184
185
private
:
186
191
static
ClassDescription<V2LeptonsCut>
initV2LeptonsCut
;
192
197
V2LeptonsCut
&
operator=
(
const
V2LeptonsCut
&) =
delete
;
198
199
};
200
201
}
202
203
#include "ThePEG/Utilities/ClassTraits.h"
204
205
namespace
ThePEG
{
206
211
template
<>
212
struct
BaseClassTrait
<V2LeptonsCut,1> {
214
typedef
MultiCutBase
NthBase;
215
};
216
219
template
<>
220
struct
ClassTraits
<V2LeptonsCut>
221
:
public
ClassTraitsBase
<V2LeptonsCut> {
223
static
string
className() {
return
"ThePEG::V2LeptonsCut"
; }
227
static
string
library() {
return
"V2LeptonsCut.so"
; }
228
};
229
232
}
233
234
#endif
/* THEPEG_V2LeptonsCut_H */
ThePEG::PersistentIStream
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Definition:
PersistentIStream.h:48
ThePEG::V2LeptonsCut::clone
virtual IBPtr clone() const
Make a simple clone of this object.
ThePEG::V2LeptonsCut::V2LeptonsCut
V2LeptonsCut()
The default constructor.
Definition:
V2LeptonsCut.h:56
ThePEG::V2LeptonsCut::muon
Muon Family.
Definition:
V2LeptonsCut.h:35
ThePEG::V2LeptonsCut::Init
static void Init()
The standard Init function used to initialize the interfaces.
ThePEG::V2LeptonsCut::negneu
negative lepton anti-neutrino pair.
Definition:
V2LeptonsCut.h:44
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
Definition:
ClassDescription.h:339
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::tcPDVector
vector< tcPDPtr > tcPDVector
A vector of transient pointers to const ParticleData objects.
Definition:
Containers.h:42
ThePEG::V2LeptonsCut::maxS
virtual Energy2 maxS(const tcPDVector &pv) const
Return the maximum allowed value of the squared invariant mass of a set of outgoing partons of the gi...
ThePEG::V2LeptonsCut::theFamilies
int theFamilies
Integer corresponding to the lepton families to match.
Definition:
V2LeptonsCut.h:178
ThePEG::V2LeptonsCut::~V2LeptonsCut
virtual ~V2LeptonsCut()
The destructor.
ThePEG::V2LeptonsCut::maxMinM
Energy maxMinM() const
Helper function used by the interface.
ThePEG::V2LeptonsCut::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::V2LeptonsCut::theMaxM
Energy theMaxM
The maximum invariant mass.
Definition:
V2LeptonsCut.h:173
ThePEG::V2LeptonsCut::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::V2LeptonsCut::posneu
positive lepton anti-neutrino pair.
Definition:
V2LeptonsCut.h:45
ThePEG::V2LeptonsCut::checkTypes
bool checkTypes(long id1, long id2) const
Check if the PDG id numbers matches this cut.
ThePEG::V2LeptonsCut::initV2LeptonsCut
static ClassDescription< V2LeptonsCut > initV2LeptonsCut
The static object used to initialize the description of this class.
Definition:
V2LeptonsCut.h:191
ThePEG::V2LeptonsCut::CComb
CComb
Enumeration of charge combinations.
Definition:
V2LeptonsCut.h:42
ThePEG::V2LeptonsCut
This class inherits from MultiCutBase and describes cuts on the invariant mass of two final state lep...
Definition:
V2LeptonsCut.h:28
ThePEG::V2LeptonsCut::minMaxM
Energy minMaxM() const
Helper function used by the interface.
ThePEG::V2LeptonsCut::theMinM
Energy theMinM
The minimum invariant mass.
Definition:
V2LeptonsCut.h:168
ThePEG::V2LeptonsCut::posneg
charged lepton anti-lepton pair.
Definition:
V2LeptonsCut.h:43
ThePEG::V2LeptonsCut::neuneu
neutrino anti-neutrino pair.
Definition:
V2LeptonsCut.h:46
ThePEG::Pointer::RCPtr
RCPtr is a reference counted (smart) pointer.
Definition:
RCPtr.h:60
ThePEG::V2LeptonsCut::tau
Tau Family.
Definition:
V2LeptonsCut.h:36
ThePEG::MultiCutBase
This class corresponds to a kinematical cut to be made on a set of outgoing particles from a hard sub...
Definition:
MultiCutBase.h:34
ThePEG::V2LeptonsCut::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEG::V2LeptonsCut::minS
virtual Energy2 minS(const tcPDVector &pv) const
Return the minimum allowed value of the squared invariant mass of a set of outgoing partons of the gi...
ThePEG::V2LeptonsCut::family
int family(long id) const
Check the family of the given PDG id number.
ThePEG::ClassTraits
The default concrete implementation of ClassTraitsBase.
Definition:
ClassTraits.h:134
ThePEG::Qty< 0, 2, 0 >
ThePEG::V2LeptonsCut::passCuts
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...
ThePEG::V2LeptonsCut::operator=
V2LeptonsCut & operator=(const V2LeptonsCut &)=delete
The assignment operator is private and must never be called.
ThePEG::BaseClassTrait
BaseClassTraits describes the base classes of the templated class.
Definition:
ClassTraits.h:156
ThePEG::V2LeptonsCut::theCComb
int theCComb
Integer corresponding to the charge combination to match.
Definition:
V2LeptonsCut.h:183
ThePEG::ClassTraitsBase
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition:
ClassTraits.h:52
ThePEG::V2LeptonsCut::electron
Lepton Family.
Definition:
V2LeptonsCut.h:34
ThePEG::V2LeptonsCut::Family
Family
Enumeration of the different families.
Definition:
V2LeptonsCut.h:33
ThePEG::V2LeptonsCut::describe
virtual void describe() const
Describe the currently active cuts in the log file.
Generated on Sat Apr 11 2020 14:31:18 for ThePEG by
1.8.13