thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
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
54
V2LeptonsCut
() :
theMinM
(70.0*GeV),
theMaxM
(90.0*GeV),
theFamilies
(
electron
|
muon
),
55
theCComb
(
negneu
|
posneu
) {}
56
57
public
:
58
66
virtual
Energy2
minS
(
const
tcPDVector
& pv)
const
;
67
73
virtual
Energy2
maxS
(
const
tcPDVector
& pv)
const
;
74
79
virtual
bool
passCuts
(tcCutsPtr parent,
const
tcPDVector
& ptype,
80
const
vector<LorentzMomentum> & p)
const
;
82
86
virtual
void
describe
()
const
;
87
88
protected
:
89
93
bool
checkTypes
(
long
id1,
long
id2)
const
;
94
98
int
family
(
long
id
)
const
;
99
100
public
:
101
108
void
persistentOutput
(
PersistentOStream
& os)
const
;
109
115
void
persistentInput
(
PersistentIStream
& is,
int
version);
117
124
static
void
Init
();
125
126
protected
:
127
134
virtual
IBPtr
clone
()
const
;
135
140
virtual
IBPtr
fullclone
()
const
;
142
143
private
:
144
148
Energy
maxMinM
()
const
;
149
153
Energy
minMaxM
()
const
;
154
155
private
:
156
160
Energy
theMinM
;
161
165
Energy
theMaxM
;
166
170
int
theFamilies
;
171
175
int
theCComb
;
176
177
private
:
178
183
static
ClassDescription<V2LeptonsCut>
initV2LeptonsCut
;
184
189
V2LeptonsCut
&
operator=
(
const
V2LeptonsCut
&) =
delete
;
190
191
};
192
193
}
194
195
#include "ThePEG/Utilities/ClassTraits.h"
196
197
namespace
ThePEG
{
198
203
template
<>
204
struct
BaseClassTrait<V2LeptonsCut,1> {
206
typedef
MultiCutBase
NthBase
;
207
};
208
211
template
<>
212
struct
ClassTraits<V2LeptonsCut>
213
:
public
ClassTraitsBase<V2LeptonsCut> {
215
static
string
className
() {
return
"ThePEG::V2LeptonsCut"
; }
219
static
string
library
() {
return
"V2LeptonsCut.so"
; }
220
};
221
224
}
225
226
#endif
/* THEPEG_V2LeptonsCut_H */
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
Definition:
ClassDescription.h:333
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::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::Qty< 0, 2, 0 >
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::theFamilies
int theFamilies
Integer corresponding to the lepton families to match.
Definition:
V2LeptonsCut.h:170
ThePEG::V2LeptonsCut::operator=
V2LeptonsCut & operator=(const V2LeptonsCut &)=delete
The assignment operator is private and must never be called.
ThePEG::V2LeptonsCut::V2LeptonsCut
V2LeptonsCut()
The default constructor.
Definition:
V2LeptonsCut.h:54
ThePEG::V2LeptonsCut::minMaxM
Energy minMaxM() const
Helper function used by the interface.
ThePEG::V2LeptonsCut::Init
static void Init()
The standard Init function used to initialize the interfaces.
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::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
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::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::Family
Family
Enumeration of the different families.
Definition:
V2LeptonsCut.h:33
ThePEG::V2LeptonsCut::tau
@ tau
Tau Family.
Definition:
V2LeptonsCut.h:36
ThePEG::V2LeptonsCut::muon
@ muon
Muon Family.
Definition:
V2LeptonsCut.h:35
ThePEG::V2LeptonsCut::electron
@ electron
Lepton Family.
Definition:
V2LeptonsCut.h:34
ThePEG::V2LeptonsCut::CComb
CComb
Enumeration of charge combinations.
Definition:
V2LeptonsCut.h:42
ThePEG::V2LeptonsCut::posneu
@ posneu
positive lepton anti-neutrino pair.
Definition:
V2LeptonsCut.h:45
ThePEG::V2LeptonsCut::neuneu
@ neuneu
neutrino anti-neutrino pair.
Definition:
V2LeptonsCut.h:46
ThePEG::V2LeptonsCut::negneu
@ negneu
negative lepton anti-neutrino pair.
Definition:
V2LeptonsCut.h:44
ThePEG::V2LeptonsCut::posneg
@ posneg
charged lepton anti-lepton pair.
Definition:
V2LeptonsCut.h:43
ThePEG::V2LeptonsCut::describe
virtual void describe() const
Describe the currently active cuts in the log file.
ThePEG::V2LeptonsCut::initV2LeptonsCut
static ClassDescription< V2LeptonsCut > initV2LeptonsCut
The static object used to initialize the description of this class.
Definition:
V2LeptonsCut.h:183
ThePEG::V2LeptonsCut::theMinM
Energy theMinM
The minimum invariant mass.
Definition:
V2LeptonsCut.h:160
ThePEG::V2LeptonsCut::theCComb
int theCComb
Integer corresponding to the charge combination to match.
Definition:
V2LeptonsCut.h:175
ThePEG::V2LeptonsCut::theMaxM
Energy theMaxM
The maximum invariant mass.
Definition:
V2LeptonsCut.h:165
ThePEG::V2LeptonsCut::clone
virtual IBPtr clone() const
Make a simple clone of this object.
ThePEG::V2LeptonsCut::checkTypes
bool checkTypes(long id1, long id2) const
Check if the PDG id numbers matches this cut.
ThePEG::V2LeptonsCut::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEG::V2LeptonsCut::maxMinM
Energy maxMinM() const
Helper function used by the interface.
ThePEG::V2LeptonsCut::family
int family(long id) const
Check the family of the given PDG id number.
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::tcPDVector
vector< tcPDPtr > tcPDVector
A vector of transient pointers to const ParticleData objects.
Definition:
Containers.h:42
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