ATLAS Offline Software
ClusterEnergyPerLayerDecorator.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_ClusterEnergyPerLayerDecorator_H
6 #define DERIVATIONFRAMEWORK_ClusterEnergyPerLayerDecorator_H
7 
8 #include <string>
9 
15 #include "GaudiKernel/EventContext.h"
16 #include "GaudiKernel/ToolHandle.h"
20 
21 namespace DerivationFramework {
22 
26 class ClusterEnergyPerLayerDecorator : public extends<AthAlgTool, IAugmentationTool>
27 {
28 public:
29 
30  using base_class::base_class;
31 
32  virtual StatusCode initialize() override final;
33  virtual StatusCode addBranches(const EventContext& ctx) const override final;
34 
35 private:
36  Gaudi::Property<std::vector<unsigned int>> m_layers{this, "layers", { 0, 1, 2, 3 } };
37 
39  m_SGKey_photons{ this, "SGKey_photons", "", "SG key of photon container" };
40 
42  this,
43  "SGKey_electrons",
44  "",
45  "SG key of electron container"
46  };
47 
49  this,
50  "SGKey_caloCells",
51  "AllCalo",
52  "SG key of the cell container"
53  };
54 
55  ToolHandle<CaloClusterProcessor> m_caloFillRectangularTool{
56  this,
57  "CaloFillRectangularClusterTool",
58  "",
59  "Handle of the CaloFillRectangularClusterTool"
60  };
61 
64  this,
65  "SGKey_photons_decorations",
66  m_SGKey_photons, {},
67  "SG keys for photon decorations"
68  };
69 
72  this,
73  "SGKey_electrons_decorations",
75  "SG keys for electrons decorations"
76  };
77 
79 
80  std::vector<float> decorateObject(const EventContext& ctx,
81  const xAOD::Egamma* egamma,
82  const CaloCellContainer* cellCont) const;
83 };
84 }
85 
86 #endif // DERIVATIONFRAMEWORK_ClusterEnergyPerLayerDecorator_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
DerivationFramework::ClusterEnergyPerLayerDecorator::m_layers
Gaudi::Property< std::vector< unsigned int > > m_layers
Definition: ClusterEnergyPerLayerDecorator.h:36
CaloClusterProcessor.h
Base class for cluster processing tools called from CaloClusterMaker that operate on individual clust...
DerivationFramework::ClusterEnergyPerLayerDecorator
Decorate egamma objects with the energy per layer for a rectangular cluster of size neta X nphi built...
Definition: ClusterEnergyPerLayerDecorator.h:27
IAugmentationTool.h
DerivationFramework::ClusterEnergyPerLayerDecorator::initialize
virtual StatusCode initialize() override final
Definition: ClusterEnergyPerLayerDecorator.cxx:17
DerivationFramework::ClusterEnergyPerLayerDecorator::m_SGKey_electrons_decorations
SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer > m_SGKey_electrons_decorations
Definition: ClusterEnergyPerLayerDecorator.h:71
CaloFillRectangularCluster.h
Calculates the per-layer position, size, etc. of a cluster. Optionally, fills the cluster with cells ...
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::ClusterEnergyPerLayerDecorator::m_caloFillRectangularTool
ToolHandle< CaloClusterProcessor > m_caloFillRectangularTool
Definition: ClusterEnergyPerLayerDecorator.h:55
DerivationFramework::ClusterEnergyPerLayerDecorator::decorateObject
std::vector< float > decorateObject(const EventContext &ctx, const xAOD::Egamma *egamma, const CaloCellContainer *cellCont) const
Definition: ClusterEnergyPerLayerDecorator.cxx:121
egamma
Definition: egamma.h:58
EgammaContainer.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
DerivationFramework::ClusterEnergyPerLayerDecorator::m_SGKey_photons_decorations
SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer > m_SGKey_photons_decorations
Definition: ClusterEnergyPerLayerDecorator.h:63
CaloFillRectangularCluster
Definition: CaloFillRectangularCluster.h:63
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::ClusterEnergyPerLayerDecorator::m_tool
const CaloFillRectangularCluster * m_tool
Definition: ClusterEnergyPerLayerDecorator.h:78
CaloCellContainer.h
CaloCellContainer
Container class for CaloCell.
Definition: CaloCellContainer.h:55
DerivationFramework::ClusterEnergyPerLayerDecorator::m_SGKey_photons
SG::ReadHandleKey< xAOD::EgammaContainer > m_SGKey_photons
Definition: ClusterEnergyPerLayerDecorator.h:39
WriteDecorHandleKeyArray.h
DerivationFramework::ClusterEnergyPerLayerDecorator::addBranches
virtual StatusCode addBranches(const EventContext &ctx) const override final
Definition: ClusterEnergyPerLayerDecorator.cxx:58
DerivationFramework::ClusterEnergyPerLayerDecorator::m_SGKey_caloCells
SG::ReadHandleKey< CaloCellContainer > m_SGKey_caloCells
Definition: ClusterEnergyPerLayerDecorator.h:48
DerivationFramework::ClusterEnergyPerLayerDecorator::m_SGKey_electrons
SG::ReadHandleKey< xAOD::EgammaContainer > m_SGKey_electrons
Definition: ClusterEnergyPerLayerDecorator.h:41