ATLAS Offline Software
Loading...
Searching...
No Matches
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
30namespace 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
Definition of CaloDetDescrManager.
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
void fillTrackDetails(const xAOD::Electron *el, bool isMC) const
void fillTruthDetails(std::vector< float > &trkMatchTrk, const xAOD::TrackParticle *tp, const xAOD::CaloCluster *cluster) const
PublicToolHandle< IEMExtrapolationTools > m_emExtrapolationTool
virtual StatusCode addBranches(const EventContext &ctx) const override final
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronKey
void fillMatchDetails(std::vector< float > &trkMatchTrk, const xAOD::TrackParticle *tp, const xAOD::CaloCluster *cluster) const
Property holding a SG store/key/clid from which a ReadHandle is made.
THE reconstruction tool.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Electron_v1 Electron
Definition of the current "egamma version".