ATLAS Offline Software
CaloClusterCellWeightCalib.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef CALOUTILS_CALOCLUSTERCELLWEIGHTCALIB_H
6 #define CALOUTILS_CALOCLUSTERCELLWEIGHTCALIB_H
7 
8 #include "GaudiKernel/ToolHandle.h"
9 
11 
13 
14 class CaloCluster;
15 
17 {
18 public:
19 
21  CaloClusterCellWeightCalib(const std::string& type,
22  const std::string& name,
23  const IInterface* pParent);
25  virtual ~CaloClusterCellWeightCalib() override;
26 
28  virtual StatusCode initialize() override;
29 
32  virtual StatusCode execute(const EventContext& ctx,
33  xAOD::CaloCluster* theCluster) const override;
34 
35 protected:
50 
59 
70 
72  double m_eThreshold;
73 
85 
87  ToolHandle<ICellWeightTool> m_cellWeight;
88 
89 protected:
90 
92  static const std::string m_defName;
94  static const std::string m_posName;
96  static const std::string m_absName;
98  static const std::string m_rawName;
99 
100 
101 protected:
102 
103 // /*! @brief Processor type for cluster calibration */
104 // typedef StatusCode
105 // (CaloClusterCellWeightCalib::*PROCESSOR)(const xAOD::CaloCluster* pClus) const;
106 
107 // /*! @brief Processor implementation for all clusters */
108 // StatusCode p_execAll(const xAOD::CaloCluster* pClus) const;
109 // /*! @brief Processor implementation for dedicated noise cluster treatment */
110 // StatusCode p_execSpc(const xAOD::CaloCluster* pClus) const;
111 
112 // /*! @brief Pointer to cluster processor */
113 // PROCESSOR p_execute;
114 
116  typedef StatusCode
118 
124  StatusCode f_dirRaw(xAOD::CaloCluster* pClus) const;
136  StatusCode f_dirPos(xAOD::CaloCluster* pClus) const;
150  StatusCode f_dirAbs(xAOD::CaloCluster* pClus) const;
159 
162 
165 
166 protected:
167 
169  StatusCode setupAll(MsgStream& report);
170 
172  StatusCode setupSpc(MsgStream& report);
173 
175  bool setup(const std::string& name,const std::string& tag,
176  CALCULATOR& calc,std::string& conf,MsgStream& report);
177 
179  static bool cmpNoCase(const std::string& a,const std::string& b);
180 };
181 
200 #endif
CaloClusterCellWeightCalib::f_dirPosNW
StatusCode f_dirPosNW(xAOD::CaloCluster *pClus) const
Calculator implementation for direction from positive signal.
Definition: CaloClusterCellWeightCalib.cxx:329
CaloClusterProcessor.h
Base class for cluster processing tools called from CaloClusterMaker that operate on individual clust...
CaloClusterCellWeightCalib::f_dirRaw
StatusCode f_dirRaw(xAOD::CaloCluster *pClus) const
Calculator implementation for energy only update.
Definition: CaloClusterCellWeightCalib.cxx:253
CaloClusterCellWeightCalib::m_directionCalculation
std::string m_directionCalculation
Property controlling negative signal handling.
Definition: CaloClusterCellWeightCalib.h:49
ICellWeightTool.h
CaloClusterCellWeightCalib::f_dirAbs
StatusCode f_dirAbs(xAOD::CaloCluster *pClus) const
Calculator implementation for direction from absolute signal.
Definition: CaloClusterCellWeightCalib.cxx:362
CaloClusterCellWeightCalib::setupSpc
StatusCode setupSpc(MsgStream &report)
Setup for different calculation for noise clusters.
Definition: CaloClusterCellWeightCalib.cxx:165
checkTP.report
report
Definition: checkTP.py:127
CaloClusterProcessor
Definition: CaloClusterProcessor.h:33
CaloClusterCellWeightCalib::m_defName
static const std::string m_defName
Negative signal handling: default tag.
Definition: CaloClusterCellWeightCalib.h:92
CaloClusterCellWeightCalib::m_posName
static const std::string m_posName
Negative signal handling: positive signal tag.
Definition: CaloClusterCellWeightCalib.h:94
CaloClusterCellWeightCalib::m_cellWeight
ToolHandle< ICellWeightTool > m_cellWeight
Handle for cell weight tool.
Definition: CaloClusterCellWeightCalib.h:87
CaloClusterCellWeightCalib::f_dirAbsNW
StatusCode f_dirAbsNW(xAOD::CaloCluster *pClus) const
Calculator implementation for direction from absolute signal.
Definition: CaloClusterCellWeightCalib.cxx:397
CaloClusterCellWeightCalib::m_eThreshold
double m_eThreshold
Energy threshold for direction calculation.
Definition: CaloClusterCellWeightCalib.h:72
CaloClusterCellWeightCalib::m_ignoreGeoWghts
bool m_ignoreGeoWghts
Flag to ignore geometrical cell weights in clusters.
Definition: CaloClusterCellWeightCalib.h:84
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
python.ConfigurableDb.conf
def conf
Definition: ConfigurableDb.py:282
CaloClusterCellWeightCalib::m_rawName
static const std::string m_rawName
Negative signal handling: raw signal tag.
Definition: CaloClusterCellWeightCalib.h:98
CaloClusterCellWeightCalib::CALCULATOR
StatusCode(CaloClusterCellWeightCalib::* CALCULATOR)(xAOD::CaloCluster *pClus) const
Processor type for cluster calibration ‍/ typedef StatusCode (CaloClusterCellWeightCalib::*PROCESSOR)...
Definition: CaloClusterCellWeightCalib.h:117
CaloClusterCellWeightCalib::m_calibNoiseLikeAll
bool m_calibNoiseLikeAll
Property controlling calibration of noise clusters.
Definition: CaloClusterCellWeightCalib.h:58
CaloClusterCellWeightCalib::f_dirPos
StatusCode f_dirPos(xAOD::CaloCluster *pClus) const
Calculator implementation for direction from positive signal.
Definition: CaloClusterCellWeightCalib.cxx:292
CaloClusterCellWeightCalib::initialize
virtual StatusCode initialize() override
Tool initialization.
Definition: CaloClusterCellWeightCalib.cxx:60
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CaloClusterCellWeightCalib::~CaloClusterCellWeightCalib
virtual ~CaloClusterCellWeightCalib() override
Base tool destructor.
CaloClusterCellWeightCalib::setup
bool setup(const std::string &name, const std::string &tag, CALCULATOR &calc, std::string &conf, MsgStream &report)
Common setup function.
Definition: CaloClusterCellWeightCalib.cxx:176
CaloClusterCellWeightCalib::m_noiseDirectionCalculation
std::string m_noiseDirectionCalculation
Property controlling calibration method for noise clusters.
Definition: CaloClusterCellWeightCalib.h:69
CaloCluster
Principal data class for CaloCell clusters.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:79
CaloClusterCellWeightCalib::f_dirRawNW
StatusCode f_dirRawNW(xAOD::CaloCluster *pClus) const
Calculator implementation for energy only update.
Definition: CaloClusterCellWeightCalib.cxx:274
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
CaloClusterCellWeightCalib::execute
virtual StatusCode execute(const EventContext &ctx, xAOD::CaloCluster *theCluster) const override
Execute on a single cluster.
Definition: CaloClusterCellWeightCalib.cxx:95
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
CaloClusterCellWeightCalib::m_absName
static const std::string m_absName
Negative signal handling: absolute signal tag.
Definition: CaloClusterCellWeightCalib.h:96
a
TList * a
Definition: liststreamerinfos.cxx:10
CaloClusterCellWeightCalib::m_calc
CALCULATOR m_calc
Pointer to direction calculation implementation.
Definition: CaloClusterCellWeightCalib.h:161
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
CaloClusterCellWeightCalib::cmpNoCase
static bool cmpNoCase(const std::string &a, const std::string &b)
Helper for non-case sensitive string comparison.
Definition: CaloClusterCellWeightCalib.cxx:230
CaloClusterCellWeightCalib
Definition: CaloClusterCellWeightCalib.h:17
CaloCondBlobAlgs_fillNoiseFromASCII.tag
string tag
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:24
CaloClusterCellWeightCalib::CaloClusterCellWeightCalib
CaloClusterCellWeightCalib(const std::string &type, const std::string &name, const IInterface *pParent)
Algorithm tool constructor.
Definition: CaloClusterCellWeightCalib.cxx:32
beamspotnt.calc
calc
Definition: bin/beamspotnt.py:1252
CaloClusterProcessor::execute
virtual StatusCode execute(const EventContext &ctx, xAOD::CaloCluster *cluster) const =0
Execute on a single cluster.
CaloClusterCellWeightCalib::m_calc_noise
CALCULATOR m_calc_noise
Pointer to direction calculation for noise clusters.
Definition: CaloClusterCellWeightCalib.h:164
CaloClusterCellWeightCalib::setupAll
StatusCode setupAll(MsgStream &report)
Setup for calculation for all or non-noise clusters.
Definition: CaloClusterCellWeightCalib.cxx:157