28 ATH_MSG_ERROR(
"Both, pT and Ekin cuts are given for parent particles. Unclear which one to use! ABORT!");
29 return StatusCode::FAILURE;
52 ATH_MSG_ERROR(
"Both, pT and Ekin cuts are given for child particles. Unclear which one to use! ABORT!");
53 return StatusCode::FAILURE;
75 ATH_MSG_ERROR(
"The given parameter VertexTypeRangeLow is bigger than VertexTypeRangeHigh. ABORT");
76 return StatusCode::FAILURE;
92 ATH_MSG_ERROR(
"Unknown Region (" << region <<
") specified. Please check your configuration.");
93 return StatusCode::FAILURE;
96 return StatusCode::SUCCESS;
125 }
else if (primFail) {
#define ATH_MSG_VERBOSE(x)
virtual bool pass(ITruthIncident &incident) const override final
true if the ITruthStrategy implementation applies to the given ITruthIncident
virtual StatusCode initialize() override final
virtual bool appliesToRegion(unsigned short geoID) const override final
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...
IntegerArrayProperty m_regionListProperty
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< bool > m_allowChildrenOrParentPass
pass cuts if parent did not
Gaudi::Property< PDGCodesVector > m_parentPdgCodesVector
PDG code checks.
GenericTruthStrategy(const std::string &t, const std::string &n, const IInterface *p)
Constructor with parameters.
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
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 ...