ATLAS Offline Software
BkgElectronClassification.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_BKGELECTRONCLASSIFICATION_H
6 #define DERIVATIONFRAMEWORK_BKGELECTRONCLASSIFICATION_H
7 
10 //
11 #include "GaudiKernel/ToolHandle.h"
14 #include "StoreGate/ReadHandle.h"
20 
21 namespace DerivationFramework {
22 
23  class BkgElectronClassification : public extends<AthAlgTool, IAugmentationTool>
24  {
25  public:
26 
27  using base_class::base_class;
28 
29  virtual StatusCode initialize() override final;
30  virtual StatusCode addBranches(const EventContext& ctx) const override final;
31 
32  private:
34  ToolHandle<IMCTruthClassifier> m_mcTruthClassifier{
35  this,
36  "MCTruthClassifierTool",
37  "",
38  "Handle to the MCTruthClassifier"
39  };
40 
43  this,
44  "ElectronContainerName",
45  "Electrons",
46  "Input Electrons"
47  };
50  this,
51  "TruthParticleContainerName",
52  "TruthParticles",
53  "Input Truth Particles"
54  };
55 
56  // Write decoration handle keys
58  m_truthPdgId{ this, "DoNotSet_truthPdgId", m_electronContainer, "truthPdgId", "" };
60  m_firstEgMotherTruthType{ this, "firstEgMotherTruthType", m_electronContainer, "firstEgMotherTruthType", "" };
62  m_firstEgMotherTruthOrigin{ this, "firstEgMotherTruthOrigin", m_electronContainer, "firstEgMotherTruthOrigin", "" };
65  "firstEgMotherTruthParticleLink",
66  m_electronContainer, "firstEgMotherTruthParticleLink",
67  "" };
69  m_firstEgMotherPdgId{ this, "firstEgMotherPdgId", m_electronContainer, "firstEgMotherPdgId", "" };
71  m_lastEgMotherTruthType{ this, "lastEgMotherTruthType", m_electronContainer, "lastEgMotherTruthType", "" };
73  m_lastEgMotherTruthOrigin{ this, "lastEgMotherTruthOrigin", m_electronContainer, "lastEgMotherTruthOrigin", "" };
76  "lastEgMotherTruthParticleLink",
77  m_electronContainer, "lastEgMotherTruthParticleLink",
78  "" };
80  m_lastEgMotherPdgId{ this, "lastEgMotherPdgId", m_electronContainer, "lastEgMotherPdgId", "" };
81  };
82 }
83 
84 #endif // DERIVATIONFRAMEWORK_BKGELECTRONCLASSIFICATION_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
SG::WriteDecorHandleKey< xAOD::ElectronContainer >
DerivationFramework::BkgElectronClassification::m_lastEgMotherPdgId
SG::WriteDecorHandleKey< xAOD::ElectronContainer > m_lastEgMotherPdgId
Definition: BkgElectronClassification.h:80
DerivationFramework::BkgElectronClassification::m_truthContainer
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_truthContainer
Input truth particle container.
Definition: BkgElectronClassification.h:49
DerivationFramework::BkgElectronClassification::m_firstEgMotherTruthType
SG::WriteDecorHandleKey< xAOD::ElectronContainer > m_firstEgMotherTruthType
Definition: BkgElectronClassification.h:60
IAugmentationTool.h
DerivationFramework::BkgElectronClassification::m_firstEgMotherTruthOrigin
SG::WriteDecorHandleKey< xAOD::ElectronContainer > m_firstEgMotherTruthOrigin
Definition: BkgElectronClassification.h:62
DerivationFramework::BkgElectronClassification::m_lastEgMotherTruthOrigin
SG::WriteDecorHandleKey< xAOD::ElectronContainer > m_lastEgMotherTruthOrigin
Definition: BkgElectronClassification.h:73
TruthParticleContainer.h
DerivationFramework::BkgElectronClassification::m_firstEgMotherTruthParticleLink
SG::WriteDecorHandleKey< xAOD::ElectronContainer > m_firstEgMotherTruthParticleLink
Definition: BkgElectronClassification.h:64
DerivationFramework::BkgElectronClassification::m_electronContainer
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronContainer
input electron container
Definition: BkgElectronClassification.h:42
SG::ReadHandleKey< xAOD::ElectronContainer >
DerivationFramework::BkgElectronClassification::m_lastEgMotherTruthType
SG::WriteDecorHandleKey< xAOD::ElectronContainer > m_lastEgMotherTruthType
Definition: BkgElectronClassification.h:71
DerivationFramework::BkgElectronClassification
Definition: BkgElectronClassification.h:24
DerivationFramework::BkgElectronClassification::m_firstEgMotherPdgId
SG::WriteDecorHandleKey< xAOD::ElectronContainer > m_firstEgMotherPdgId
Definition: BkgElectronClassification.h:69
IMCTruthClassifier.h
ElectronContainer.h
DerivationFramework::BkgElectronClassification::m_truthPdgId
SG::WriteDecorHandleKey< xAOD::ElectronContainer > m_truthPdgId
Definition: BkgElectronClassification.h:58
DerivationFramework::BkgElectronClassification::initialize
virtual StatusCode initialize() override final
Definition: BkgElectronClassification.cxx:16
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
WriteDecorHandle.h
Handle class for adding a decoration to an object.
DerivationFramework::BkgElectronClassification::addBranches
virtual StatusCode addBranches(const EventContext &ctx) const override final
Definition: BkgElectronClassification.cxx:44
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
DerivationFramework::BkgElectronClassification::m_mcTruthClassifier
ToolHandle< IMCTruthClassifier > m_mcTruthClassifier
MCTruthClassifier.
Definition: BkgElectronClassification.h:34
DerivationFramework::BkgElectronClassification::m_lastEgMotherTruthParticleLink
SG::WriteDecorHandleKey< xAOD::ElectronContainer > m_lastEgMotherTruthParticleLink
Definition: BkgElectronClassification.h:75
ReadHandle.h
Handle class for reading from StoreGate.