ATLAS Offline Software
ClusterEnergyPerLayerDecorator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // ClusterEnergyPerLayerDecorator.h, (c) ATLAS Detector software
8 
9 #ifndef DERIVATIONFRAMEWORK_ClusterEnergyPerLayerDecorator_H
10 #define DERIVATIONFRAMEWORK_ClusterEnergyPerLayerDecorator_H
11 
12 #include <string>
13 
19 #include "GaudiKernel/EventContext.h"
20 #include "GaudiKernel/ToolHandle.h"
24 
25 namespace DerivationFramework {
26 
30 class ClusterEnergyPerLayerDecorator : public extends<AthAlgTool, IAugmentationTool>
31 {
32 public:
33  ClusterEnergyPerLayerDecorator(const std::string& t,
34  const std::string& n,
35  const IInterface* p);
39  virtual StatusCode addBranches() const;
40 
41 private:
42  int m_eta_size = 0;
43  int m_phi_size = 0;
44  std::vector<unsigned int> m_layers;
45 
47  m_SGKey_photons{ this, "SGKey_photons", "", "SG key of photon container" };
48 
50  this,
51  "SGKey_electrons",
52  "",
53  "SG key of electron container"
54  };
55 
57  this,
58  "SGKey_caloCells",
59  "AllCalo",
60  "SG key of the cell container"
61  };
62 
63  ToolHandle<CaloClusterProcessor> m_caloFillRectangularTool{
64  this,
65  "CaloFillRectangularClusterTool",
66  "",
67  "Handle of the CaloFillRectangularClusterTool"
68  };
69 
72  this,
73  "SGKey_photons_decorations_noConf",
74  {},
75  "SG keys for photon decorations not really configurable"
76  };
77 
80  this,
81  "SGKey_electrons_decorations_noConf",
82  {},
83  "SG keys for electrons decorations not really configurable"
84  };
85 
87 
88  std::vector<float> decorateObject(const EventContext& ctx,
89  const xAOD::Egamma* egamma,
90  const CaloCellContainer* cellCont) const;
91 };
92 }
93 
94 #endif // DERIVATIONFRAMEWORK_ClusterEnergyPerLayerDecorator_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
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:31
IAugmentationTool.h
DerivationFramework::ClusterEnergyPerLayerDecorator::m_SGKey_electrons_decorations
SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer > m_SGKey_electrons_decorations
Definition: ClusterEnergyPerLayerDecorator.h:79
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:38
xAOD::Egamma_v1
Definition: Egamma_v1.h:56
DerivationFramework::ClusterEnergyPerLayerDecorator::m_phi_size
int m_phi_size
Definition: ClusterEnergyPerLayerDecorator.h:43
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
DerivationFramework::ClusterEnergyPerLayerDecorator::m_layers
std::vector< unsigned int > m_layers
Definition: ClusterEnergyPerLayerDecorator.h:44
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:63
DerivationFramework::ClusterEnergyPerLayerDecorator::decorateObject
std::vector< float > decorateObject(const EventContext &ctx, const xAOD::Egamma *egamma, const CaloCellContainer *cellCont) const
Definition: ClusterEnergyPerLayerDecorator.cxx:161
DerivationFramework::ClusterEnergyPerLayerDecorator::initialize
StatusCode initialize()
Definition: ClusterEnergyPerLayerDecorator.cxx:37
egamma
Definition: egamma.h:58
EgammaContainer.h
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
beamspotman.n
n
Definition: beamspotman.py:729
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:71
CaloFillRectangularCluster
Definition: CaloFillRectangularCluster.h:63
DerivationFramework::ClusterEnergyPerLayerDecorator::~ClusterEnergyPerLayerDecorator
~ClusterEnergyPerLayerDecorator()
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::ClusterEnergyPerLayerDecorator::m_tool
const CaloFillRectangularCluster * m_tool
Definition: ClusterEnergyPerLayerDecorator.h:86
DerivationFramework::ClusterEnergyPerLayerDecorator::m_eta_size
int m_eta_size
Definition: ClusterEnergyPerLayerDecorator.h:42
DerivationFramework::ClusterEnergyPerLayerDecorator::addBranches
virtual StatusCode addBranches() const
Definition: ClusterEnergyPerLayerDecorator.cxx:97
DerivationFramework::ClusterEnergyPerLayerDecorator::finalize
StatusCode finalize()
Definition: ClusterEnergyPerLayerDecorator.cxx:89
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:47
WriteDecorHandleKeyArray.h
DerivationFramework::ClusterEnergyPerLayerDecorator::m_SGKey_caloCells
SG::ReadHandleKey< CaloCellContainer > m_SGKey_caloCells
Definition: ClusterEnergyPerLayerDecorator.h:56
DerivationFramework::ClusterEnergyPerLayerDecorator::ClusterEnergyPerLayerDecorator
ClusterEnergyPerLayerDecorator(const std::string &t, const std::string &n, const IInterface *p)
Definition: ClusterEnergyPerLayerDecorator.cxx:20
DerivationFramework::ClusterEnergyPerLayerDecorator::m_SGKey_electrons
SG::ReadHandleKey< xAOD::EgammaContainer > m_SGKey_electrons
Definition: ClusterEnergyPerLayerDecorator.h:49