ATLAS Offline Software
Loading...
Searching...
No Matches
EGammaClusterCoreCellRecovery.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// Decorate egamma objects with the energies in L2 and L3 that are in cells
6// not included in the original supercluser due to the timing cut in topocluster
7// building. This is an AOD fix for data (and mc, but effect is small for mc)
8// produced with rel23 (and 24 ?)
9
10#ifndef DERIVATIONFRAMEWORK_EGammaClusterCoreCellRecovery_H
11#define DERIVATIONFRAMEWORK_EGammaClusterCoreCellRecovery_H
12
15
22
23namespace DerivationFramework {
24
25 class EGammaClusterCoreCellRecovery : public extends<AthAlgTool, IAugmentationTool>
26 {
27 public:
28
29 using base_class::base_class;
30
31 virtual StatusCode initialize() override final;
32 virtual StatusCode addBranches(const EventContext& ctx) const override final;
33
34 private:
36 { this, "SGKey_photons", "Photons", "SG key of photon container" };
37
39 { this, "SGKey_electrons", "Electrons", "SG key of electron container" };
40
42 { this, "SGKey_CaloCells", "AllCalo", "SG key of calo cell container" };
43
46 this,
47 "SGKey_photons_decorations",
48 m_SGKey_photons, {"nadded_Lr2", "Eadded_Lr2", "nadded_Lr3", "Eadded_Lr3"},
49 "SG keys for photon decorations"
50 };
51
54 this,
55 "SGKey_electrons_decorations",
56 m_SGKey_electrons, {"nadded_Lr2", "Eadded_Lr2", "nadded_Lr3", "Eadded_Lr3"},
57 "SG keys for electrons"
58 };
59
60 Gaudi::Property<bool> m_UseWeightForMaxCell{
61 this,
62 "UseWeightForMaxCell",
63 false,
64 "Use the cell weights when finding the L2 max energy cell"
65 };
66
67
69 StatusCode findMaxECell(const xAOD::CaloCluster *clus,
70 double &etamax, double &phimax) const;
71
73 ToolHandle<IegammaCellRecoveryTool> m_egammaCellRecoveryTool{
74 this,
75 "egammaCellRecoveryTool",
76 "egammaCellRecoveryTool/egammaCellRecoveryTool",
77 "Optional tool that adds cells in L2 or L3 "
78 "that could have been rejected by timing cut"
79 };
80
81 };
82
83}
84
85#endif // DERIVATIONFRAMEWORK_EGammaClusterCoreCellRecovery_H
Property holding a SG store/key/clid from which a ReadHandle is made.
SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer > m_SGKey_photons_decorations
IegammaCellRecoveryTool::Info decorateObject(const xAOD::Egamma *&egamma) const
virtual StatusCode addBranches(const EventContext &ctx) const override final
SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer > m_SGKey_electrons_decorations
ToolHandle< IegammaCellRecoveryTool > m_egammaCellRecoveryTool
Pointer to the egammaCellRecoveryTool.
StatusCode findMaxECell(const xAOD::CaloCluster *clus, double &etamax, double &phimax) const
SG::ReadHandleKey< xAOD::EgammaContainer > m_SGKey_photons
SG::ReadHandleKey< xAOD::EgammaContainer > m_SGKey_electrons
Property holding a SG store/key/clid from which a ReadHandle is made.
elec/gamma data class.
Definition egamma.h:58
THE reconstruction tool.
DecorHandleKeyArray< WriteDecorHandle< T, S >, WriteDecorHandleKey< T >, Gaudi::DataHandle::Writer > WriteDecorHandleKeyArray
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
Egamma_v1 Egamma
Definition of the current "egamma version".
Definition Egamma.h:17