A multi-purpose implementation of an ISF TruthStrategy.
More...
#include <GenericTruthStrategy.h>
|
| bool | m_useParentPt {true} |
| | parent kinetic energy / transverse momentum cuts (pT is stored as pT^2 which allows for faster comparisons)
|
| double | m_parentPt2 {-1.} |
| Gaudi::Property< double > | m_parentPt {this, "ParentMinPt", -1.} |
| | parent particle
|
| Gaudi::Property< double > | m_parentEkin {this, "ParentMinEkin", -1.} |
| | parent particle
|
| bool | m_useChildPt {true} |
| | child particle kinetic energy / transverse momentum cuts (pT is stored as pT^2 which allows for faster comparisons)
|
| double | m_childPt2 {-1.} |
| Gaudi::Property< double > | m_childPt {this, "ChildMinPt", -1.} |
| | pT momentum cut
|
| Gaudi::Property< double > | m_childEkin {this, "ChildMinEkin", -1.} |
| | Ekin cut.
|
| Gaudi::Property< bool > | m_allowChildrenOrParentPass {this, "AllowChildrenOrParentPassKineticCuts", false} |
| | pass cuts if parent did not
|
| Gaudi::Property< VertexTypesVector > | m_vertexTypesVector {this, "VertexTypes", 0} |
| | vertex type (physics code) checks
|
| VertexTypesSet | m_vertexTypes {} |
| | optimized for search
|
| bool | m_doVertexRangeCheck {false} |
| Gaudi::Property< int > | m_vertexTypeRangeLow {this, "VertexTypeRangeLow", 0} |
| Gaudi::Property< int > | m_vertexTypeRangeHigh {this, "VertexTypeRangeHigh", 0} |
| unsigned | m_vertexTypeRangeLength {0} |
| Gaudi::Property< PDGCodesVector > | m_parentPdgCodesVector {this, "ParentPDGCodes", 0} |
| | PDG code checks.
|
| PDGCodesSet | m_parentPdgCodes {} |
| | optimized for search
|
| IntegerArrayProperty | m_regionListProperty {this, "Regions", {}} |
A multi-purpose implementation of an ISF TruthStrategy.
- Author
- Elmar.Ritsch -at- cern.ch
Definition at line 31 of file GenericTruthStrategy.h.
◆ GenericTruthStrategy()
| ISF::GenericTruthStrategy::GenericTruthStrategy |
( |
const std::string & | t, |
|
|
const std::string & | n, |
|
|
const IInterface * | p ) |
Constructor with parameters.
Constructor.
Definition at line 13 of file GenericTruthStrategy.cxx.
13 :
14 base_class(t,n,p)
15{
16}
◆ ~GenericTruthStrategy()
| ISF::GenericTruthStrategy::~GenericTruthStrategy |
( |
| ) |
|
|
default |
◆ appliesToRegion()
| bool ISF::GenericTruthStrategy::appliesToRegion |
( |
unsigned short | geoID | ) |
const |
|
finaloverridevirtual |
◆ initialize()
| StatusCode ISF::GenericTruthStrategy::initialize |
( |
| ) |
|
|
finaloverridevirtual |
Definition at line 19 of file GenericTruthStrategy.cxx.
20{
22
23
24
25
26
28 ATH_MSG_ERROR(
"Both, pT and Ekin cuts are given for parent particles. Unclear which one to use! ABORT!");
29 return StatusCode::FAILURE;
30 }
31
32
34
35
39 }
40
41 else {
42
45 }
46
47
48
49
50
52 ATH_MSG_ERROR(
"Both, pT and Ekin cuts are given for child particles. Unclear which one to use! ABORT!");
53 return StatusCode::FAILURE;
54 }
55
56
58
59
63 }
64
65 else {
66
69 }
70
71
72
73
75 ATH_MSG_ERROR(
"The given parameter VertexTypeRangeLow is bigger than VertexTypeRangeHigh. ABORT");
76 return StatusCode::FAILURE;
77 }
78
80
82
83
84
86
87
89
92 ATH_MSG_ERROR(
"Unknown Region (" << region <<
") specified. Please check your configuration.");
93 return StatusCode::FAILURE;
94 }
95 }
96 return StatusCode::SUCCESS;
97}
#define ATH_MSG_VERBOSE(x)
Gaudi::Property< VertexTypesVector > m_vertexTypesVector
vertex type (physics code) checks
bool m_useChildPt
child particle kinetic energy / transverse momentum cuts (pT is stored as pT^2 which allows for faste...
bool m_useParentPt
parent kinetic energy / transverse momentum cuts (pT is stored as pT^2 which allows for faster compar...
Gaudi::Property< double > m_childEkin
Ekin cut.
VertexTypesSet m_vertexTypes
optimized for search
Gaudi::Property< double > m_childPt
pT momentum cut
Gaudi::Property< PDGCodesVector > m_parentPdgCodesVector
PDG code checks.
bool m_doVertexRangeCheck
PDGCodesSet m_parentPdgCodes
optimized for search
Gaudi::Property< int > m_vertexTypeRangeLow
Gaudi::Property< double > m_parentPt
parent particle
Gaudi::Property< double > m_parentEkin
parent particle
unsigned m_vertexTypeRangeLength
Gaudi::Property< int > m_vertexTypeRangeHigh
◆ pass()
| bool ISF::GenericTruthStrategy::pass |
( |
ITruthIncident & | incident | ) |
const |
|
finaloverridevirtual |
true if the ITruthStrategy implementation applies to the given ITruthIncident
Definition at line 99 of file GenericTruthStrategy.cxx.
99 {
100
101
102
103
104 {
105
108
109
110
111
113 return false;
114 }
115
116
119
120
121 if (!secPass) {
123
124 return false;
125 } else if (primFail) {
126
127 return false;
128 }
129 }
130
131 }
132
133
134
135
136
139
140
141 return false;
142 }
143
144
145
146
148 int vxtype = ti.physicsProcessCode();
149
150
151
153
154
156
157 return false;
158 }
159 }
160
161
162 return true;
163}
Gaudi::Property< bool > m_allowChildrenOrParentPass
pass cuts if parent did not
◆ m_allowChildrenOrParentPass
| Gaudi::Property<bool> ISF::GenericTruthStrategy::m_allowChildrenOrParentPass {this, "AllowChildrenOrParentPassKineticCuts", false} |
|
private |
pass cuts if parent did not
Definition at line 65 of file GenericTruthStrategy.h.
65{this, "AllowChildrenOrParentPassKineticCuts", false};
◆ m_childEkin
| Gaudi::Property<double> ISF::GenericTruthStrategy::m_childEkin {this, "ChildMinEkin", -1.} |
|
private |
◆ m_childPt
| Gaudi::Property<double> ISF::GenericTruthStrategy::m_childPt {this, "ChildMinPt", -1.} |
|
private |
◆ m_childPt2
| double ISF::GenericTruthStrategy::m_childPt2 {-1.} |
|
private |
◆ m_doVertexRangeCheck
| bool ISF::GenericTruthStrategy::m_doVertexRangeCheck {false} |
|
private |
◆ m_parentEkin
| Gaudi::Property<double> ISF::GenericTruthStrategy::m_parentEkin {this, "ParentMinEkin", -1.} |
|
private |
◆ m_parentPdgCodes
| PDGCodesSet ISF::GenericTruthStrategy::m_parentPdgCodes {} |
|
private |
◆ m_parentPdgCodesVector
| Gaudi::Property<PDGCodesVector> ISF::GenericTruthStrategy::m_parentPdgCodesVector {this, "ParentPDGCodes", 0} |
|
private |
◆ m_parentPt
| Gaudi::Property<double> ISF::GenericTruthStrategy::m_parentPt {this, "ParentMinPt", -1.} |
|
private |
◆ m_parentPt2
| double ISF::GenericTruthStrategy::m_parentPt2 {-1.} |
|
private |
◆ m_regionListProperty
| IntegerArrayProperty ISF::GenericTruthStrategy::m_regionListProperty {this, "Regions", {}} |
|
private |
◆ m_useChildPt
| bool ISF::GenericTruthStrategy::m_useChildPt {true} |
|
private |
child particle kinetic energy / transverse momentum cuts (pT is stored as pT^2 which allows for faster comparisons)
use pT or Ekin cuts?
Definition at line 61 of file GenericTruthStrategy.h.
◆ m_useParentPt
| bool ISF::GenericTruthStrategy::m_useParentPt {true} |
|
private |
parent kinetic energy / transverse momentum cuts (pT is stored as pT^2 which allows for faster comparisons)
use pT or Ekin cuts?
Definition at line 54 of file GenericTruthStrategy.h.
◆ m_vertexTypeRangeHigh
| Gaudi::Property<int> ISF::GenericTruthStrategy::m_vertexTypeRangeHigh {this, "VertexTypeRangeHigh", 0} |
|
private |
◆ m_vertexTypeRangeLength
| unsigned ISF::GenericTruthStrategy::m_vertexTypeRangeLength {0} |
|
private |
◆ m_vertexTypeRangeLow
| Gaudi::Property<int> ISF::GenericTruthStrategy::m_vertexTypeRangeLow {this, "VertexTypeRangeLow", 0} |
|
private |
◆ m_vertexTypes
◆ m_vertexTypesVector
| Gaudi::Property<VertexTypesVector> ISF::GenericTruthStrategy::m_vertexTypesVector {this, "VertexTypes", 0} |
|
private |
vertex type (physics code) checks
Python property
Definition at line 70 of file GenericTruthStrategy.h.
70{this, "VertexTypes", 0};
The documentation for this class was generated from the following files: