ATLAS Offline Software
MergedElectronDetailsDecorator.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 // Tool to decorate the Electrons object with additional information for merged electron ID
6 // Authors: A.Morley
7 
8 #ifndef DerivationFrameworkHiggs_MergedElectronDetailsDecorator_H
9 #define DerivationFrameworkHiggs_MergedElectronDetailsDecorator_H
10 
11 #include <string>
12 #include <vector>
13 #include <TEnv.h>
14 #include <TString.h>
15 #include <TSystem.h>
16 
19 #include "GaudiKernel/ToolHandle.h"
24 
29 
30 namespace DerivationFramework {
31 
32  class MergedElectronDetailsDecorator : public extends<AthAlgTool, IAugmentationTool> {
33 
34  public:
35 
36  using base_class::base_class;
37 
38  virtual StatusCode initialize() override final;
39  virtual StatusCode addBranches(const EventContext& ctx) const override final;
40 
41  private:
42 
43  void fillMatchDetails( std::vector<float>& trkMatchTrk, const xAOD::TrackParticle* tp, const xAOD::CaloCluster* cluster) const;
44  static int nSiHits( const xAOD::TrackParticle * tp ) ;
45  void fillTrackDetails(const xAOD::Electron* el, bool isMC) const;
46  void fillVertexDetails(const xAOD::Electron* el) const;
47  static void fillClusterDetails(const xAOD::Electron* el) ;
48  void fillTruthDetails( std::vector<float>& trkMatchTrk, const xAOD::TrackParticle* tp, const xAOD::CaloCluster* cluster) const;
49 
50  PublicToolHandle<IEMExtrapolationTools> m_emExtrapolationTool{this, "EMExtrapolationTool", "EMExtrapolationTools"};
51  PublicToolHandle<Trk::IVertexFitter> m_VertexFitter{this, "VertexFitterTool", "Trk::TrkVkalVrtFitter"};
52  PublicToolHandle<Trk::V0Tools> m_V0Tools{this, "V0Tools", "Trk::V0Tools"};
53 
54  Gaudi::Property<float> m_minET{this, "MinET", 5000.f};
55 
57  "EventInfoKey",
58  "EventInfo",
59  "" };
61  "ElectronKey",
62  "Electrons",
63  "" };
65  this,
66  "CaloDetDescrManager",
67  "CaloDetDescrManager"
68  };
69 
70  };
71 
72 }
73 
74 #endif
V0Tools.h
DerivationFramework::MergedElectronDetailsDecorator::m_V0Tools
PublicToolHandle< Trk::V0Tools > m_V0Tools
Definition: MergedElectronDetailsDecorator.h:52
IAugmentationTool.h
DerivationFramework::MergedElectronDetailsDecorator::m_VertexFitter
PublicToolHandle< Trk::IVertexFitter > m_VertexFitter
Definition: MergedElectronDetailsDecorator.h:51
DerivationFramework::MergedElectronDetailsDecorator::m_electronKey
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronKey
Definition: MergedElectronDetailsDecorator.h:60
ParticleTest.tp
tp
Definition: ParticleTest.py:25
SG::ReadHandleKey< xAOD::EventInfo >
DerivationFramework::MergedElectronDetailsDecorator
Definition: MergedElectronDetailsDecorator.h:32
IEMExtrapolationTools.h
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
DerivationFramework::MergedElectronDetailsDecorator::initialize
virtual StatusCode initialize() override final
Definition: MergedElectronDetailsDecorator.cxx:23
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:62
ElectronContainer.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
DerivationFramework::MergedElectronDetailsDecorator::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: MergedElectronDetailsDecorator.h:56
python.getProblemFolderFromLogs.el
dictionary el
Definition: getProblemFolderFromLogs.py:48
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::MergedElectronDetailsDecorator::m_minET
Gaudi::Property< float > m_minET
Definition: MergedElectronDetailsDecorator.h:54
DerivationFramework::MergedElectronDetailsDecorator::fillTruthDetails
void fillTruthDetails(std::vector< float > &trkMatchTrk, const xAOD::TrackParticle *tp, const xAOD::CaloCluster *cluster) const
Definition: MergedElectronDetailsDecorator.cxx:76
DerivationFramework::MergedElectronDetailsDecorator::addBranches
virtual StatusCode addBranches(const EventContext &ctx) const override final
Definition: MergedElectronDetailsDecorator.cxx:53
DerivationFramework::MergedElectronDetailsDecorator::nSiHits
static int nSiHits(const xAOD::TrackParticle *tp)
Definition: MergedElectronDetailsDecorator.cxx:184
DerivationFramework::MergedElectronDetailsDecorator::fillTrackDetails
void fillTrackDetails(const xAOD::Electron *el, bool isMC) const
Definition: MergedElectronDetailsDecorator.cxx:195
DerivationFramework::MergedElectronDetailsDecorator::m_emExtrapolationTool
PublicToolHandle< IEMExtrapolationTools > m_emExtrapolationTool
Definition: MergedElectronDetailsDecorator.h:50
DerivationFramework::MergedElectronDetailsDecorator::fillVertexDetails
void fillVertexDetails(const xAOD::Electron *el) const
Definition: MergedElectronDetailsDecorator.cxx:291
xAOD::Electron_v1
Definition: Electron_v1.h:34
IVertexFitter.h
EventInfo.h
SG::ReadCondHandleKey< CaloDetDescrManager >
CaloClusterContainer.h
DerivationFramework::MergedElectronDetailsDecorator::fillClusterDetails
static void fillClusterDetails(const xAOD::Electron *el)
Definition: MergedElectronDetailsDecorator.cxx:262
EventInfoRead.isMC
isMC
Definition: EventInfoRead.py:11
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:44
DerivationFramework::MergedElectronDetailsDecorator::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: MergedElectronDetailsDecorator.h:64
TrackParticleContainer.h
DerivationFramework::MergedElectronDetailsDecorator::fillMatchDetails
void fillMatchDetails(std::vector< float > &trkMatchTrk, const xAOD::TrackParticle *tp, const xAOD::CaloCluster *cluster) const
Definition: MergedElectronDetailsDecorator.cxx:107