67 ATH_MSG_ERROR(
"Both, pT and Ekin cuts are given for parent particles. Unclear which one to use! ABORT!");
68 return StatusCode::FAILURE;
91 ATH_MSG_ERROR(
"Both, pT and Ekin cuts are given for child particles. Unclear which one to use! ABORT!");
92 return StatusCode::FAILURE;
114 ATH_MSG_ERROR(
"The given parameter VertexTypeRangeLow is bigger than VertexTypeRangeHigh. ABORT");
115 return StatusCode::FAILURE;
131 ATH_MSG_ERROR(
"Unknown Region (" << region <<
") specified. Please check your configuration.");
132 return StatusCode::FAILURE;
135 return StatusCode::SUCCESS;
141 return StatusCode::SUCCESS;
170 }
else if (primFail) {
#define ATH_MSG_VERBOSE(x)
bool m_useChildPt
child particle kinetic energy / transverse momentum cuts (pT is stored as pT^2 which allows for faste...
bool m_allowChildrenOrParentPass
pass cuts if parent did not
IntegerArrayProperty m_regionListProperty
double m_childPt2
pT momentum cut
bool m_useParentPt
parent kinetic energy / transverse momentum cuts (pT is stored as pT^2 which allows for faster compar...
VertexTypesSet m_vertexTypes
optimized for search
int m_vertexTypeRangeHigh
virtual StatusCode initialize() override
double m_parentPt2
parent particle
GenericTruthStrategy(const std::string &t, const std::string &n, const IInterface *p)
Constructor with parameters.
VertexTypesVector m_vertexTypesVector
vertex type (physics code) checks
virtual StatusCode finalize() override
bool m_doVertexRangeCheck
PDGCodesSet m_parentPdgCodes
optimized for search
~GenericTruthStrategy()
Destructor.
virtual bool appliesToRegion(unsigned short geoID) const override
virtual bool pass(ITruthIncident &incident) const override
true if the ITruthStrategy implementation applies to the given ITruthIncident
PDGCodesVector m_parentPdgCodesVector
PDG code checks.
double m_parentEkin
parent particle
double m_childEkin
Ekin cut.
unsigned m_vertexTypeRangeLength
ISF interface class for TruthIncidents.
virtual int physicsProcessCode() const =0
Return specific physics process code of the truth incident (eg ionisation, bremsstrahlung,...
virtual int parentPdgCode() const =0
Return the PDG Code of the parent particle.
bool childrenEkinPass(double ekincut)
Return true if at least one child particle passes the given Ekin cut (= at least one child with Ekin ...
virtual double parentEkin() const =0
Return Ekin of the parent particle.
virtual double parentPt2() const =0
Return pT^2 of the parent particle.
bool childrenPt2Pass(double pt2cut)
Return true if at least one child particle passes the given pT^2 cut (= at least one child with pT^2 ...