16#ifndef DERIVATIONFRAMEWORK_CALOCELLDECORATOR_H
17#define DERIVATIONFRAMEWORK_CALOCELLDECORATOR_H
24#include "GaudiKernel/EventContext.h"
48 using base_class::base_class;
51 virtual StatusCode
initialize() override final;
61 "SG Key of LArOnOffIdMapping object"
66 {
this,
"SGKey_photons",
"",
"SG key of photon container" };
70 {
this,
"SGKey_electrons",
"",
"SG key of electron container" };
74 {
this,
"SGKey_CaloCells",
"AllCalo",
"SG key of calo cell container" };
79 "CaloDetDescrManager",
80 "CaloDetDescrManager",
81 "SG Key for CaloDetDescrManager in the Condition Store"
88 "SGKey_photons_decorations",
90 "cells_x",
"cells_y",
"cells_z",
"cells_gain",
91 "cells_layer",
"cells_quality",
"cells_onlId",
"cells_clusterOriginInfo" } ,
92 "SG keys for photon decorations"
99 "SGKey_electrons_decorations",
101 "cells_x",
"cells_y",
"cells_z",
"cells_gain",
102 "cells_layer",
"cells_quality",
"cells_onlId",
"cells_clusterOriginInfo" } ,
103 "SG keys for electrons decorations"
109 "egammaCellRecoveryTool",
110 "egammaCellRecoveryTool/egammaCellRecoveryTool",
111 "Optional tool that adds cells in L2 or L3 "
112 "that could have been rejected by timing cut"
118 "egammaLargeClusterCellRecoveryTool",
120 "Optional tool that collects cells in a 7x11 cluster around the hottest cell"
163 const EventContext& ctx)
const;
170 const EventContext& ctx)
const;
176 if (s == CaloCell_ID::PreSamplerB || s == CaloCell_ID::PreSamplerE)
return 0;
177 if (s == CaloCell_ID::EMB1 || s == CaloCell_ID::EME1)
return 1;
178 if (s == CaloCell_ID::EMB2 || s == CaloCell_ID::EME2)
return 2;
179 if (s == CaloCell_ID::EMB3 || s == CaloCell_ID::EME3)
return 3;
Definition of CaloDetDescrManager.
Property holding a SG store/key/clid from which a ReadHandle is made.
Container class for CaloCell.
This class provides the client interface for accessing the detector description information common to...
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
SG::ReadHandleKey< xAOD::EgammaContainer > m_SGKey_photons
SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer > m_SGKey_photons_decorations
SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer > m_SGKey_electrons_decorations
SG::ReadHandleKey< xAOD::EgammaContainer > m_SGKey_electrons
ToolHandle< IegammaLargeClusterCellRecoveryTool > m_egammaLargeClusterCellRecoveryTool
Pointer to egammaLargeClusterCellRecoveryTool.
ToolHandle< IegammaCellRecoveryTool > m_egammaCellRecoveryTool
Pointer to the egammaCellRecoveryTool.
StatusCode decorateCells(const SG::ReadHandleKey< xAOD::EgammaContainer > &contKey, const SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer > &decorKeys, const EventContext &ctx) const
Decorates e/gamma objects with vector cell features E, t, eta, phi, layer, x, y, z,...
CellDecorationData getDecorations(const xAOD::CaloCluster *cluster, const CaloCellContainer *caloCells, const CaloDetDescrManager *cmgr, const EventContext &ctx) const
Loops through cells and adds to decoration struct.
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloDetDescrMgrKey
virtual StatusCode addBranches(const EventContext &ctx) const override final
int layerFromSampling(int s) const
Inline to get calorimeter sampling.
virtual StatusCode initialize() override final
SG::ReadHandleKey< CaloCellContainer > m_SGKey_CaloCells
Property holding a SG store/key/clid from which a ReadHandle is made.
DecorHandleKeyArray< WriteDecorHandle< T, S >, WriteDecorHandleKey< T >, Gaudi::DataHandle::Writer > WriteDecorHandleKeyArray
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
Struct to keep track of where cell came from e.g.
Struct to hold cell decoration data.
std::vector< uint64_t > cells_onlId
std::vector< float > cells_phi
std::vector< float > cells_y
std::vector< int > cells_gain
std::vector< int > cells_quality
std::vector< int > cells_layer
std::vector< float > cells_E
std::vector< float > cells_z
std::vector< float > cells_x
std::vector< float > cells_eta
std::vector< float > cells_time
std::vector< uint8_t > cells_clusterOriginInfo