5#ifndef EGAMMAALGS_EGAMMAFORWARDBUILDER_H
6#define EGAMMAALGS_EGAMMAFORWARDBUILDER_H
24#include <Gaudi/Accumulators.h>
27#include "GaudiKernel/EventContext.h"
28#include "GaudiKernel/ServiceHandle.h"
29#include "GaudiKernel/ToolHandle.h"
69 virtual StatusCode
initialize() override final;
72 virtual StatusCode
finalize() override final;
85 const std::array<
xAOD::EgammaParameters::TrackCaloMatchType, 4> &match_parameters,
86 const std::array<
double, 4> &match_values
95 "Name of the object quality tool (empty tool name ignored)"
101 "TrackMatchBuilderTool",
102 "EMTrackMatchBuilder",
103 "Tool that matches tracks to egammaRecs (Fwd)"
111 "Boolean to do energy calibration"
117 "PrimaryVerticesContainerKey",
119 "Name of the primary vertex container" };
126 "Name of the EventInfo object" };
133 "calibration service" };
140 "Name of the input cluster collection"
146 "CaloDetDescrManager",
147 "CaloDetDescrManager",
148 "SG Key for CaloDetDescrManager in the Condition Store"
154 "ElectronOutputName",
156 "Name of Electron Container to be created"
162 "ClusterContainerName",
164 "Name of the output EM cluster container"
170 "ClusterContainerLinks",
"",
171 "Key of the output cluster container cell links; Taken from associated container"};
178 "Boolean to do track matching"
186 "Boolean to do cookie cutting"
192 "MaxWindowDelEtaCells",
194 "Size of maximum search window in eta"
200 "MaxWindowDelPhiCells",
202 "Size of maximum search window in phi"
210 "Cone size to collect cells around hottest-cell FCAL"
222 "forwardelectronIsEMselectors",
224 "The selectors that we need to apply to the FwdElectron object"
229 "forwardelectronIsEMselectorResultNames",
231 "The selector result names"
Definition of CaloDetDescrManager.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
ToolHandleArray< IAsgForwardElectronIsEMSelector > m_forwardElectronIsEMSelectors
Handle to the selectors.
std::pair< unsigned int, float > getnPVmu(const EventContext &ctx) const
Gaudi::Property< bool > m_doCookieCutting
Private member flag to do cookie cutting.
virtual StatusCode execute(const EventContext &ctx) const override final
Execute method.
Gaudi::Property< float > m_maxDelR
Size of cone to cookie cut on FCal.
Gaudi::Accumulators::Counter m_AllClusters
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_topoClusterKey
Input topo cluster type.
ServiceHandle< IegammaMVASvc > m_MVACalibSvc
Handle to the MVA calibration service.
Gaudi::Property< int > m_maxDelEtaCells
Size of maximum search window in eta.
SG::ReadHandleKey< xAOD::EventInfo > m_eiKey
Input EventInfo for fwd energy calibration.
Gaudi::Property< bool > m_doEnergyCal
Private member flag to do energy calibration.
egammaClusterCookieCut::CookieCutPars m_CookieCutPars
SG::ReadHandleKey< xAOD::VertexContainer > m_pVtxKey
Input primary vertices for fwd energy calibration.
StatusCode ExecObjectQualityTool(const EventContext &ctx, xAOD::Egamma *eg) const
ToolHandle< IegammaOQFlagsBuilder > m_objectQualityTool
Tool to perform object quality.
StatusCode RetrieveEMTrackMatchBuilder()
virtual StatusCode finalize() override final
Finalize method.
virtual StatusCode initialize() override final
Initialize method.
void setAllTrackCaloMatchValues(xAOD::Electron *el, const std::array< xAOD::EgammaParameters::TrackCaloMatchType, 4 > &match_parameters, const std::array< double, 4 > &match_values) const
Convinience wrapper to set track match values in all samplings.
SG::WriteHandleKey< xAOD::ElectronContainer > m_electronOutputKey
Output electron container.
SG::WriteHandleKey< xAOD::CaloClusterContainer > m_outClusterContainerKey
Output cluster container.
ToolHandle< IEMTrackMatchBuilder > m_trackMatchBuilder
Tool to perform track-cluster matching.
Gaudi::Property< bool > m_doTrackMatching
Private member flag to do the track matching.
egammaForwardBuilder(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
~egammaForwardBuilder()=default
Destructor.
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloDetDescrMgrKey
Calorimeter description.
Gaudi::Accumulators::Counter m_MatchedClusters
SG::WriteHandleKey< CaloClusterCellLinkContainer > m_outClusterContainerCellLinkKey
Output cluster container cell links: name taken from containter name.
Gaudi::Property< std::vector< std::string > > m_forwardElectronIsEMSelectorResultNames
Gaudi::Property< int > m_maxDelPhiCells
Size of maximum search window in phi.
Class describing an electron.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.