ATLAS Offline Software
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 
23 namespace 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 
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
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
IegammaCellRecoveryTool.h
IAugmentationTool.h
IegammaCellRecoveryTool::Info
Definition: IegammaCellRecoveryTool.h:36
DerivationFramework::EGammaClusterCoreCellRecovery::m_SGKey_electrons_decorations
SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer > m_SGKey_electrons_decorations
Definition: EGammaClusterCoreCellRecovery.h:53
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:45
xAOD::Egamma_v1
Definition: Egamma_v1.h:56
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
DerivationFramework::EGammaClusterCoreCellRecovery::decorateObject
IegammaCellRecoveryTool::Info decorateObject(const xAOD::Egamma *&egamma) const
Definition: EGammaClusterCoreCellRecovery.cxx:122
DerivationFramework::EGammaClusterCoreCellRecovery::m_SGKey_CaloCells
SG::ReadHandleKey< CaloCellContainer > m_SGKey_CaloCells
Definition: EGammaClusterCoreCellRecovery.h:42
egamma
Definition: egamma.h:58
EgammaContainer.h
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:62
DerivationFramework::EGammaClusterCoreCellRecovery::m_SGKey_photons_decorations
SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer > m_SGKey_photons_decorations
Definition: EGammaClusterCoreCellRecovery.h:45
CaloCluster.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::EGammaClusterCoreCellRecovery::m_egammaCellRecoveryTool
ToolHandle< IegammaCellRecoveryTool > m_egammaCellRecoveryTool
Pointer to the egammaCellRecoveryTool.
Definition: EGammaClusterCoreCellRecovery.h:73
DerivationFramework::EGammaClusterCoreCellRecovery::addBranches
virtual StatusCode addBranches(const EventContext &ctx) const override final
Definition: EGammaClusterCoreCellRecovery.cxx:64
CaloCellContainer.h
WriteDecorHandleKeyArray.h
DerivationFramework::EGammaClusterCoreCellRecovery::findMaxECell
StatusCode findMaxECell(const xAOD::CaloCluster *clus, double &etamax, double &phimax) const
Definition: EGammaClusterCoreCellRecovery.cxx:154
DerivationFramework::EGammaClusterCoreCellRecovery::m_SGKey_photons
SG::ReadHandleKey< xAOD::EgammaContainer > m_SGKey_photons
Definition: EGammaClusterCoreCellRecovery.h:36
DerivationFramework::EGammaClusterCoreCellRecovery::m_UseWeightForMaxCell
Gaudi::Property< bool > m_UseWeightForMaxCell
Definition: EGammaClusterCoreCellRecovery.h:60
DerivationFramework::EGammaClusterCoreCellRecovery::initialize
virtual StatusCode initialize() override final
Definition: EGammaClusterCoreCellRecovery.cxx:20
DerivationFramework::EGammaClusterCoreCellRecovery::m_SGKey_electrons
SG::ReadHandleKey< xAOD::EgammaContainer > m_SGKey_electrons
Definition: EGammaClusterCoreCellRecovery.h:39
DerivationFramework::EGammaClusterCoreCellRecovery
Definition: EGammaClusterCoreCellRecovery.h:26