ATLAS Offline Software
Loading...
Searching...
No Matches
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"
15
17class eflowRecCluster;
18
22class 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(const EventContext& ctx, 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
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,...
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
ReadCondHandleKey for CaloDetDescrManager.
ToolHandle< CaloClusterProcessor > m_clusterLocalCalibTool
virtual StatusCode initialize() override
virtual StatusCode finalize() override
ToolHandle< CaloClusterProcessor > m_clusterLocalCalibDMTool
ToolHandle< CaloClusterProcessor > m_clusterLocalCalibOOCCPi0Tool
static void applyLocalWeight(eflowRecCluster *theEFRecCluster, const CaloDetDescrManager &calo_dd_man)
StatusCode apply(const EventContext &ctx, ToolHandle< CaloClusterProcessor > &calibTool, xAOD::CaloCluster *cluster)
virtual StatusCode execute(eflowCaloObjectContainer &theEflowCaloObjectContainer) override
PFLCCalibTool(const std::string &type, const std::string &name, const IInterface *parent)
Gaudi::Property< bool > m_useLocalWeight
Toggle which LC weights scheme to use - default is to recalculate weights, rather than use saved weig...
ToolHandle< CaloClusterProcessor > m_clusterLocalCalibOOCCTool
This class extends the information about a xAOD::CaloCluster.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.