ATLAS Offline Software
TruthClassificationDecorator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef DERIVATIONFRAMEWORK_TRUTHCLASSIFICATIONDECORATOR_H
6 #define DERIVATIONFRAMEWORK_TRUTHCLASSIFICATIONDECORATOR_H
7 
8 #include <string>
9 
15 #include "GaudiKernel/ToolHandle.h"
16 
17 class IMCTruthClassifier;
18 
19 namespace DerivationFramework {
20 
21  class TruthClassificationDecorator : public extends<AthAlgTool, IAugmentationTool> {
22  public:
23 
24  using base_class::base_class;
25 
26  virtual StatusCode initialize() override final;
27  virtual StatusCode finalize() override final;
28  virtual StatusCode addBranches(const EventContext& ctx) const override final;
29 
30  private:
31  mutable std::atomic<unsigned int> m_ntotpart{};
33  {this, "ParticlesKey", "TruthParticles", "ReadHandleKey for input TruthParticleContainer"};
34  // Decorator keys
36  {this, "classifierParticleOrigin", m_particlesKey, "classifierParticleOrigin", "Particle origin decoration"};
38  {this, "classifierParticleType", m_particlesKey, "classifierParticleType", "Particle type decoration"};
40  {this, "classifierParticleOutCome", m_particlesKey, "classifierParticleOutCome", "Particle outcome decoration"};
42  {this, "Classification", m_particlesKey, "Classification", "Classification code decorator"};
43  PublicToolHandle<IMCTruthClassifier> m_classifier{this, "MCTruthClassifier", "MCTruthClassifier/MCTruthClassifier"};
44  };
45 }
46 
47 #endif // DERIVATIONFRAMEWORK_TRUTHCLASSIFICATIONDECORATOR_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer >
DerivationFramework::TruthClassificationDecorator::m_classifier
PublicToolHandle< IMCTruthClassifier > m_classifier
Definition: TruthClassificationDecorator.h:43
DerivationFramework::TruthClassificationDecorator::m_classificationDecoratorKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_classificationDecoratorKey
Definition: TruthClassificationDecorator.h:42
IAugmentationTool.h
TruthParticleContainer.h
DerivationFramework::TruthClassificationDecorator::m_outcomeDecoratorKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_outcomeDecoratorKey
Definition: TruthClassificationDecorator.h:40
DerivationFramework::TruthClassificationDecorator::finalize
virtual StatusCode finalize() override final
Definition: TruthClassificationDecorator.cxx:36
DerivationFramework::TruthClassificationDecorator::m_originDecoratorKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_originDecoratorKey
Definition: TruthClassificationDecorator.h:36
SG::ReadHandleKey< xAOD::TruthParticleContainer >
DerivationFramework::TruthClassificationDecorator::addBranches
virtual StatusCode addBranches(const EventContext &ctx) const override final
Definition: TruthClassificationDecorator.cxx:44
WriteDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
DerivationFramework::TruthClassificationDecorator::m_particlesKey
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_particlesKey
Definition: TruthClassificationDecorator.h:33
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::TruthClassificationDecorator
Definition: TruthClassificationDecorator.h:21
DerivationFramework::TruthClassificationDecorator::initialize
virtual StatusCode initialize() override final
Definition: TruthClassificationDecorator.cxx:19
DerivationFramework::TruthClassificationDecorator::m_typeDecoratorKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_typeDecoratorKey
Definition: TruthClassificationDecorator.h:38
IMCTruthClassifier
Definition: IMCTruthClassifier.h:92
DerivationFramework::TruthClassificationDecorator::m_ntotpart
std::atomic< unsigned int > m_ntotpart
Definition: TruthClassificationDecorator.h:31