17 return StatusCode::SUCCESS;
23 std::vector< const xAOD::TruthParticle* > selected;
26 if(
accept( truth ) ) selected.push_back( truth );
31 "\t Size after selection: " << selected.size() );
36 return StatusCode::SUCCESS;
47 if ( truth ==
nullptr )
return nullptr;
49 if (
depth > 30 )
return nullptr;
60 for(
unsigned int p=0; p<truth->
nParents(); p++) {
62 if(parent == truth ) continue ;
74 if( not
m_truthTool->accept( truth ) )
return false;
107 truthParent = truthParentB ? truthParentB : (truthParentC ? truthParentC :
nullptr);
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define ATH_CHECK
Evaluate an expression and check for errors.
ATLAS-specific HepMC functions.
Utility methods to access track/truth particles parmeters in a consitent way in this package.
StatusCode fillTruthPartVec(const std::vector< const xAOD::TruthParticle * > &vec, Stage stage=FULL)
fill truth/offline/trigger track vector (TEST or REFERENCE)
const std::vector< const xAOD::TruthParticle * > & truthPartVec(Stage stage=FULL)
get truth/offline/trigger track vector (TEST or REFERENCE)
bool isBottomHadron() const
Determine if the PID is that of a b-hadron.
const TruthParticle_v1 * parent(size_t i) const
Retrieve the i-th mother (TruthParticle) of this TruthParticle.
virtual double pt() const override final
The transverse momentum ( ) of the particle.
size_t nParents() const
Number of parents of this particle.
bool isCharmHadron() const
Determine if the PID is that of a c-hadron.
std::string depth
tag string for intendation
float qOverPT(const U &p)
float isHadron(const U &p)
TruthParticle_v1 TruthParticle
Typedef to implementation.