33 return StatusCode::SUCCESS;
40 return StatusCode::SUCCESS;
51 if (!truthParticles.
isValid()) {
53 return StatusCode::FAILURE;
56 unsigned int nParticles = truthParticles->size();
65 for (
unsigned int i=0; i<nParticles; ++i) {
67 auto classification =
m_classifier->particleTruthClassifier((*truthParticles)[i], &info);
68 unsigned int particleOutCome = info.particleOutCome;
71 unsigned int particleOrigin = classification.second;
73 originDecorator(*((*truthParticles)[i])) = particleOrigin;
74 outcomeDecorator(*((*truthParticles)[i])) = particleOutCome;
76 classificationDecorator(*((*truthParticles)[i])) =
result;
79 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
Handle class for reading from StoreGate.
Handle class for adding a decoration to an object.
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_originDecoratorKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_outcomeDecoratorKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_typeDecoratorKey
PublicToolHandle< IMCTruthClassifier > m_classifier
virtual StatusCode finalize() override final
virtual StatusCode addBranches(const EventContext &ctx) const override final
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_classificationDecoratorKey
std::atomic< unsigned int > m_ntotpart
virtual StatusCode initialize() override final
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_particlesKey
virtual bool isValid() override final
Can the handle be successfully dereferenced?
Handle class for adding a decoration to an object.
std::tuple< unsigned int, T > defOrigOfParticle(T thePart)