ATLAS Offline Software
Loading...
Searching...
No Matches
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
21namespace DerivationFramework {
22
26class ClusterEnergyPerLayerDecorator : public extends<AthAlgTool, IAugmentationTool>
27{
28public:
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
35private:
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",
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
Base class for cluster processing tools called from CaloClusterMaker that operate on individual clust...
Calculates the per-layer position, size, etc. of a cluster. Optionally, fills the cluster with cells ...
Property holding a SG store/key/clid from which a ReadHandle is made.
Container class for CaloCell.
Decorate egamma objects with the energy per layer for a rectangular cluster of size neta X nphi built...
Gaudi::Property< std::vector< unsigned int > > m_layers
virtual StatusCode addBranches(const EventContext &ctx) const override final
std::vector< float > decorateObject(const EventContext &ctx, const xAOD::Egamma *egamma, const CaloCellContainer *cellCont) const
SG::ReadHandleKey< xAOD::EgammaContainer > m_SGKey_photons
SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer > m_SGKey_electrons_decorations
SG::ReadHandleKey< xAOD::EgammaContainer > m_SGKey_electrons
SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer > m_SGKey_photons_decorations
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
Egamma_v1 Egamma
Definition of the current "egamma version".
Definition Egamma.h:17