ATLAS Offline Software
Loading...
Searching...
No Matches
PFUnifiedLCCalibTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef PFUNIFIEDLCCALIBTOOL_H
6#define PFUNIFIEDLCCALIBTOOL_H
7
9#include "GaudiKernel/ToolHandle.h"
13#include "IPFUnifiedBaseTool.h"
15
16class eflowRecCluster;
17struct PFData;
18
22class PFUnifiedLCCalibTool : public extends<AthAlgTool, IPFUnifiedBaseTool> {
23
24 public:
25
26 PFUnifiedLCCalibTool(const std::string& type,const std::string& name,const IInterface* parent);
27
29
30 virtual StatusCode initialize() override;
31 virtual StatusCode processPFlowData(const EventContext& ctx, PFData &thePFData) const override;
32
33 private:
34
35 StatusCode apply(const EventContext& ctx, const ToolHandle<CaloClusterProcessor>& calibTool, xAOD::CaloCluster* cluster) const;
36 static void applyLocalWeight(eflowRecCluster* theEFRecCluster, const CaloDetDescrManager& calo_dd_man);
37
39 ToolHandle<IPFClusterCollectionTool> m_clusterCollectionTool{this,"eflowRecClusterCollectionTool","eflowRecClusterCollectionTool","Tool to put all clusters into a temporary container - then we use this to calculate moments, some of which depend on configuration of nearby clusters"};
40
41 /* Tool for applying local hadronc calibration weights to cells */
42 ToolHandle<CaloClusterProcessor> m_clusterLocalCalibTool{this,"CaloClusterLocalCalib","CaloClusterLocalCalib","Tool for applying local hadronc calibration weights to cells"};
43
44 /* Tool to deal with out of cluster corrections */
45 ToolHandle<CaloClusterProcessor> m_clusterLocalCalibOOCCTool{this,"CaloClusterLocalCalibOOCC","CaloClusterLocalCalib","Tool to deal with out of cluster corrections"};
46
47 /* Tool to do Pi0 corrections */
48 ToolHandle<CaloClusterProcessor> m_clusterLocalCalibOOCCPi0Tool{this,"CaloClusterLocalCalibOOCCPi0","CaloClusterLocalCalib","Tool to do Pi0 corrections"};
49
50 /* Tool for correcting clusters at cell level for dead material */
51 ToolHandle<CaloClusterProcessor> m_clusterLocalCalibDMTool{this,"CaloClusterLocalCalibDM","CaloClusterLocalCalib","Tool for correcting clusters at cell level for dead material"};
52
54 Gaudi::Property<bool> m_useLocalWeight{this,"UseLocalWeight",false,"Toggle which LC weights scheme to use - default is to recalculate weights, rather than use saved weights"};
55
58 , "CaloDetDescrManager"
59 , "CaloDetDescrManager"
60 , "SG Key for CaloDetDescrManager in the Condition Store" };
61
62};
63
64#endif
Base class for cluster processing tools called from CaloClusterMaker that operate on individual clust...
Definition of CaloDetDescrManager.
This class provides the client interface for accessing the detector description information common to...
ToolHandle< IPFClusterCollectionTool > m_clusterCollectionTool
Tool to put all clusters into a temporary container - then we use this to calculate moments,...
ToolHandle< CaloClusterProcessor > m_clusterLocalCalibOOCCTool
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
ReadCondHandleKey for CaloDetDescrManager.
StatusCode apply(const EventContext &ctx, const ToolHandle< CaloClusterProcessor > &calibTool, xAOD::CaloCluster *cluster) const
virtual StatusCode initialize() override
ToolHandle< CaloClusterProcessor > m_clusterLocalCalibDMTool
Gaudi::Property< bool > m_useLocalWeight
Toggle which LC weights scheme to use - default is to recalculate weights, rather than use saved weig...
static void applyLocalWeight(eflowRecCluster *theEFRecCluster, const CaloDetDescrManager &calo_dd_man)
virtual StatusCode processPFlowData(const EventContext &ctx, PFData &thePFData) const override
ToolHandle< CaloClusterProcessor > m_clusterLocalCalibTool
PFUnifiedLCCalibTool(const std::string &type, const std::string &name, const IInterface *parent)
ToolHandle< CaloClusterProcessor > m_clusterLocalCalibOOCCPi0Tool
This class extends the information about a xAOD::CaloCluster.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.