5#ifndef EGAMMATOOLS_EMSHOWERBUILDER_H
6#define EGAMMATOOLS_EMSHOWERBUILDER_H
35#include "GaudiKernel/AlgTool.h"
36#include "GaudiKernel/Algorithm.h"
37#include "GaudiKernel/ToolHandle.h"
58 const std::string& name,
59 const IInterface* parent);
65 virtual StatusCode
initialize() override final;
75 virtual StatusCode
finalize() override;
79 template <typename T> StatusCode
RetrieveTool(ToolHandle<T> &tool,
bool tool_requested);
98 "Names of containers which contain cells"
105 "list of calo to treat" };
111 "egammaShowerShape/egammashowershape",
112 "Handle of instance of egammaShowerShape Tool to be run"
118 "HadronicLeakageTool",
120 "Handle of the EMCaloIsolationTool for Hadronic leakage"
127 "in case of extra prints" };
133 "UseShowerShapeTool",
135 "Boolean to call shower shape calculation and filling"
144 "Boolean to call hadronic leakage calculation and filling"
151 "Boolean for use of cosmics" };
Property holding a SG store/key/clid from which a ReadHandle is made.
Container class for CaloCell.
Principal data class for CaloCell clusters.
This class provides the client interface for accessing the detector description information common to...
virtual StatusCode executeWithCells(const CaloCellContainer *cellcoll, const CaloDetDescrManager &cmgr, xAOD::Egamma *) const override final
@Execute passing the cells explicitly
StatusCode CalcShowerShape(xAOD::Egamma *eg, const CaloDetDescrManager &cmgr, const CaloCellContainer *cellcoll) const
calculate shower shapes
virtual StatusCode initialize() override final
initialize method
Gaudi::Property< bool > m_Print
boolean to print results
Gaudi::Property< std::vector< int > > m_caloNums
Obsolete enum on the layers to use for the HadLeakage variables.
StatusCode CalcHadronicLeakage(xAOD::Egamma *eg, const CaloDetDescrManager &cmgr, const xAOD::CaloCluster *clus, const CaloCellContainer *cellcoll) const
calculate Hadronic leakage
virtual StatusCode execute(const EventContext &ctx, const CaloDetDescrManager &cmgr, xAOD::Egamma *) const override final
standard execute method
StatusCode RetrieveTool(ToolHandle< T > &tool, bool tool_requested)
Wraps tool retrieval to ensure it is has a name.
Gaudi::Property< bool > m_UseShowerShapeTool
Boolean to call shower shape calculation and filling (NB: this could be important when redoing calcul...
ToolHandle< IegammaIso > m_HadronicLeakageTool
Tool for hadronic leakage calculation.
Gaudi::Property< bool > m_isCosmics
boolean to know if we are looking at cosmic data
virtual StatusCode finalize() override
finalize method
~EMShowerBuilder()=default
Destructor.
ToolHandle< IegammaShowerShape > m_ShowerShapeTool
Tool for shower shape calculation.
StatusCode FillEMShowerShape(xAOD::Egamma *eg, const IegammaShowerShape::Info &info) const
fill shower detail from shower shape calculation
SG::ReadHandleKey< CaloCellContainer > m_cellsKey
Cell container.
Gaudi::Property< bool > m_UseCaloIsoTool
Boolean to call calo isolation variables calculation and filling (NB: this could be important when re...
EMShowerBuilder(const std::string &type, const std::string &name, const IInterface *parent)
Default constructor.
Interface for the Reconstruction/egamma/egammaRec/EMShowerBuilder.
Interface for the Reconstruction/egamma/egammaCaloTools/egammaShowerShape.
The Athena Transient Store API.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.