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 
31  : public AthAlgTool
32  , public IAugmentationTool
33 {
34 public:
35  ClusterEnergyPerLayerDecorator(const std::string& t,
36  const std::string& n,
37  const IInterface* p);
41  virtual StatusCode addBranches() const;
42 
43 private:
44  int m_eta_size = 0;
45  int m_phi_size = 0;
46  std::vector<unsigned int> m_layers;
47 
49  m_SGKey_photons{ this, "SGKey_photons", "", "SG key of photon container" };
50 
52  this,
53  "SGKey_electrons",
54  "",
55  "SG key of electron container"
56  };
57 
59  this,
60  "SGKey_caloCells",
61  "AllCalo",
62  "SG key of the cell container"
63  };
64 
65  ToolHandle<CaloClusterProcessor> m_caloFillRectangularTool{
66  this,
67  "CaloFillRectangularClusterTool",
68  "",
69  "Handle of the CaloFillRectangularClusterTool"
70  };
71 
74  this,
75  "SGKey_photons_decorations_noConf",
76  {},
77  "SG keys for photon decorations not really configurable"
78  };
79 
82  this,
83  "SGKey_electrons_decorations_noConf",
84  {},
85  "SG keys for electrons decorations not really configurable"
86  };
87 
89 
90  std::vector<float> decorateObject(const EventContext& ctx,
91  const xAOD::Egamma* egamma,
92  const CaloCellContainer* cellCont) const;
93 };
94 }
95 
96 #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:33
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
IAugmentationTool.h
DerivationFramework::ClusterEnergyPerLayerDecorator::m_SGKey_electrons_decorations
SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer > m_SGKey_electrons_decorations
Definition: ClusterEnergyPerLayerDecorator.h:81
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:45
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
DerivationFramework::ClusterEnergyPerLayerDecorator::m_layers
std::vector< unsigned int > m_layers
Definition: ClusterEnergyPerLayerDecorator.h:46
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:65
DerivationFramework::IAugmentationTool
Definition: IAugmentationTool.h:24
DerivationFramework::ClusterEnergyPerLayerDecorator::decorateObject
std::vector< float > decorateObject(const EventContext &ctx, const xAOD::Egamma *egamma, const CaloCellContainer *cellCont) const
Definition: ClusterEnergyPerLayerDecorator.cxx:162
DerivationFramework::ClusterEnergyPerLayerDecorator::initialize
StatusCode initialize()
Definition: ClusterEnergyPerLayerDecorator.cxx:38
egamma
Definition: egamma.h:58
EgammaContainer.h
beamspotman.n
n
Definition: beamspotman.py:731
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:73
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:88
DerivationFramework::ClusterEnergyPerLayerDecorator::m_eta_size
int m_eta_size
Definition: ClusterEnergyPerLayerDecorator.h:44
DerivationFramework::ClusterEnergyPerLayerDecorator::addBranches
virtual StatusCode addBranches() const
Pass the thinning service
Definition: ClusterEnergyPerLayerDecorator.cxx:98
DerivationFramework::ClusterEnergyPerLayerDecorator::finalize
StatusCode finalize()
Definition: ClusterEnergyPerLayerDecorator.cxx:90
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:49
WriteDecorHandleKeyArray.h
DerivationFramework::ClusterEnergyPerLayerDecorator::m_SGKey_caloCells
SG::ReadHandleKey< CaloCellContainer > m_SGKey_caloCells
Definition: ClusterEnergyPerLayerDecorator.h:58
AthAlgTool
Definition: AthAlgTool.h:26
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:51