ATLAS Offline Software
Loading...
Searching...
No Matches
DerivationFramework::HadronOriginDecorator Class Reference

#include <HadronOriginDecorator.h>

Inheritance diagram for DerivationFramework::HadronOriginDecorator:
Collaboration diagram for DerivationFramework::HadronOriginDecorator:

Public Member Functions

virtual StatusCode initialize () override final
virtual StatusCode addBranches (const EventContext &ctx) const override final

Private Attributes

SG::ReadHandleKey< xAOD::TruthParticleContainerm_particlesKey {this, "TruthEventName", "TruthParticles", "ReadHandleKey for input TruthParticleContainer"}
SG::WriteDecorHandleKey< xAOD::TruthParticleContainerm_originDecoratorKey {this, "classifierParticleOrigin", m_particlesKey, "TopHadronOriginFlag", "Top Hadron origin decoration"}
PublicToolHandle< DerivationFramework::HadronOriginClassifierm_Tool {this, "ToolName", ""}

Detailed Description

Definition at line 27 of file HadronOriginDecorator.h.

Member Function Documentation

◆ addBranches()

StatusCode DerivationFramework::HadronOriginDecorator::addBranches ( const EventContext & ctx) const
finaloverridevirtual

Definition at line 18 of file HadronOriginDecorator.cxx.

18 {
19 // Retrieve truth collections
20 SG::ReadHandle<xAOD::TruthParticleContainer> truthParticles(m_particlesKey,ctx);
21 if (!truthParticles.isValid()) {
22 ATH_MSG_ERROR("Couldn't retrieve TruthParticle collection with name " << m_particlesKey);
23 return StatusCode::FAILURE;
24 }
25
26 std::map<const xAOD::TruthParticle*, DerivationFramework::HadronOriginClassifier::HF_id> hadronMap=m_Tool->GetOriginMap(ctx);
27 SG::WriteDecorHandle<xAOD::TruthParticleContainer, int> originDecorator(m_originDecoratorKey, ctx);
28 for (auto* truthParticle : *truthParticles) {
29 originDecorator(*truthParticle) = (hadronMap.find(truthParticle)!=hadronMap.end()) ? static_cast<int>(hadronMap[truthParticle]) : 6;
30 }
31
32 return StatusCode::SUCCESS;
33 }
#define ATH_MSG_ERROR(x)
PublicToolHandle< DerivationFramework::HadronOriginClassifier > m_Tool
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_particlesKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_originDecoratorKey

◆ initialize()

StatusCode DerivationFramework::HadronOriginDecorator::initialize ( )
finaloverridevirtual

Definition at line 10 of file HadronOriginDecorator.cxx.

10 {
11 ATH_MSG_VERBOSE( "Initialize" );
12 ATH_CHECK( m_particlesKey.initialize() );
13 ATH_CHECK(m_originDecoratorKey.initialize());
14 ATH_CHECK(m_Tool.retrieve());
15 return StatusCode::SUCCESS;
16 }
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)

Member Data Documentation

◆ m_originDecoratorKey

SG::WriteDecorHandleKey<xAOD::TruthParticleContainer> DerivationFramework::HadronOriginDecorator::m_originDecoratorKey {this, "classifierParticleOrigin", m_particlesKey, "TopHadronOriginFlag", "Top Hadron origin decoration"}
private

Definition at line 39 of file HadronOriginDecorator.h.

40{this, "classifierParticleOrigin", m_particlesKey, "TopHadronOriginFlag", "Top Hadron origin decoration"};

◆ m_particlesKey

SG::ReadHandleKey<xAOD::TruthParticleContainer> DerivationFramework::HadronOriginDecorator::m_particlesKey {this, "TruthEventName", "TruthParticles", "ReadHandleKey for input TruthParticleContainer"}
private

Definition at line 36 of file HadronOriginDecorator.h.

37{this, "TruthEventName", "TruthParticles", "ReadHandleKey for input TruthParticleContainer"};

◆ m_Tool

PublicToolHandle<DerivationFramework::HadronOriginClassifier> DerivationFramework::HadronOriginDecorator::m_Tool {this, "ToolName", ""}
private

Definition at line 41 of file HadronOriginDecorator.h.

41{this, "ToolName", ""};

The documentation for this class was generated from the following files: