ATLAS Offline Software
PFLCCalibTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef PFLCCALIBTOOL_H
6 #define PFLCCALIBTOOL_H
7 
9 #include "GaudiKernel/ToolHandle.h"
13 #include "eflowRec/IPFBaseTool.h"
15 
17 class eflowRecCluster;
18 
22 class PFLCCalibTool : public extends<AthAlgTool, IPFBaseTool> {
23 
24  public:
25 
26  PFLCCalibTool(const std::string& type,const std::string& name,const IInterface* parent);
27 
29 
30  virtual StatusCode initialize() override;
31  virtual StatusCode execute(eflowCaloObjectContainer& theEflowCaloObjectContainer) override;
32  virtual StatusCode finalize() override;
33 
34  private:
35 
36  StatusCode apply(ToolHandle<CaloClusterProcessor>& calibTool, xAOD::CaloCluster* cluster);
37  static void applyLocalWeight(eflowRecCluster* theEFRecCluster, const CaloDetDescrManager& calo_dd_man);
38 
40  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"};
41 
42  /* Tool for applying local hadronc calibration weights to cells */
43  ToolHandle<CaloClusterProcessor> m_clusterLocalCalibTool{this,"CaloClusterLocalCalib","CaloClusterLocalCalib","Tool for applying local hadronc calibration weights to cells"};
44 
45  /* Tool to deal with out of cluster corrections */
46  ToolHandle<CaloClusterProcessor> m_clusterLocalCalibOOCCTool{this,"CaloClusterLocalCalibOOCC","CaloClusterLocalCalib","Tool to deal with out of cluster corrections"};
47 
48  /* Tool to do Pi0 corrections */
49  ToolHandle<CaloClusterProcessor> m_clusterLocalCalibOOCCPi0Tool{this,"CaloClusterLocalCalibOOCCPi0","CaloClusterLocalCalib","Tool to do Pi0 corrections"};
50 
51  /* Tool for correcting clusters at cell level for dead material */
52  ToolHandle<CaloClusterProcessor> m_clusterLocalCalibDMTool{this,"CaloClusterLocalCalibDM","CaloClusterLocalCalib","Tool for correcting clusters at cell level for dead material"};
53 
55  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"};
56 
59  , "CaloDetDescrManager"
60  , "CaloDetDescrManager"
61  , "SG Key for CaloDetDescrManager in the Condition Store" };
62 
63 };
64 
65 #endif
PFLCCalibTool::applyLocalWeight
static void applyLocalWeight(eflowRecCluster *theEFRecCluster, const CaloDetDescrManager &calo_dd_man)
Definition: PFLCCalibTool.cxx:87
eflowRecCluster
This class extends the information about a xAOD::CaloCluster.
Definition: eflowRecCluster.h:40
CaloClusterProcessor.h
Base class for cluster processing tools called from CaloClusterMaker that operate on individual clust...
PFLCCalibTool::initialize
virtual StatusCode initialize() override
Definition: PFLCCalibTool.cxx:23
IPFBaseTool.h
PFLCCalibTool::m_clusterLocalCalibTool
ToolHandle< CaloClusterProcessor > m_clusterLocalCalibTool
Definition: PFLCCalibTool.h:43
PFLCCalibTool
This tool can either use a series of CaloClusterProcessor to calibrate the modified xAOD::CaloCluster...
Definition: PFLCCalibTool.h:22
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
PFLCCalibTool::execute
virtual StatusCode execute(eflowCaloObjectContainer &theEflowCaloObjectContainer) override
Definition: PFLCCalibTool.cxx:46
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
PFLCCalibTool::m_clusterLocalCalibOOCCTool
ToolHandle< CaloClusterProcessor > m_clusterLocalCalibOOCCTool
Definition: PFLCCalibTool.h:46
CaloCluster.h
PFLCCalibTool::m_clusterLocalCalibOOCCPi0Tool
ToolHandle< CaloClusterProcessor > m_clusterLocalCalibOOCCPi0Tool
Definition: PFLCCalibTool.h:49
PFLCCalibTool::m_clusterCollectionTool
ToolHandle< IPFClusterCollectionTool > m_clusterCollectionTool
Tool to put all clusters into a temporary container - then we use this to calculate moments,...
Definition: PFLCCalibTool.h:40
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
PFLCCalibTool::PFLCCalibTool
PFLCCalibTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: PFLCCalibTool.cxx:18
PFLCCalibTool::m_useLocalWeight
Gaudi::Property< bool > m_useLocalWeight
Toggle which LC weights scheme to use - default is to recalculate weights, rather than use saved weig...
Definition: PFLCCalibTool.h:55
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
SG::ReadCondHandleKey< CaloDetDescrManager >
PFLCCalibTool::apply
StatusCode apply(ToolHandle< CaloClusterProcessor > &calibTool, xAOD::CaloCluster *cluster)
Definition: PFLCCalibTool.cxx:81
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition: CaloDetDescrManager.h:473
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
PFLCCalibTool::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
ReadCondHandleKey for CaloDetDescrManager.
Definition: PFLCCalibTool.h:58
PFLCCalibTool::m_clusterLocalCalibDMTool
ToolHandle< CaloClusterProcessor > m_clusterLocalCalibDMTool
Definition: PFLCCalibTool.h:52
PFLCCalibTool::~PFLCCalibTool
~PFLCCalibTool()
Definition: PFLCCalibTool.h:28
eflowCaloObjectContainer
Definition: eflowCaloObject.h:100
IPFClusterCollectionTool.h
PFLCCalibTool::finalize
virtual StatusCode finalize() override
Definition: PFLCCalibTool.cxx:76