5#ifndef CALOUTILS_CALOCLUSTERCELLWEIGHTCALIB_H
6#define CALOUTILS_CALOCLUSTERCELLWEIGHTCALIB_H
8#include "GaudiKernel/ToolHandle.h"
22 const std::string& name,
23 const IInterface* pParent);
32 virtual StatusCode
execute(
const EventContext& ctx,
169 StatusCode
setupAll(MsgStream& report);
172 StatusCode
setupSpc(MsgStream& report);
175 bool setup(
const std::string& name,
const std::string& tag,
176 CALCULATOR& calc,std::string& conf,MsgStream& report);
179 static bool cmpNoCase(
const std::string&
a,
const std::string& b);
Base class for cluster processing tools called from CaloClusterMaker that operate on individual clust...
StatusCode f_dirAbs(xAOD::CaloCluster *pClus) const
Calculator implementation for direction from absolute signal.
StatusCode f_dirRaw(xAOD::CaloCluster *pClus) const
Calculator implementation for energy only update.
StatusCode f_dirPos(xAOD::CaloCluster *pClus) const
Calculator implementation for direction from positive signal.
bool m_ignoreGeoWghts
Flag to ignore geometrical cell weights in clusters.
StatusCode(CaloClusterCellWeightCalib::* CALCULATOR)(xAOD::CaloCluster *pClus) const
Processor type for cluster calibration.
StatusCode f_dirPosNW(xAOD::CaloCluster *pClus) const
Calculator implementation for direction from positive signal.
StatusCode setupAll(MsgStream &report)
Setup for calculation for all or non-noise clusters.
static const std::string m_defName
Negative signal handling: default tag.
StatusCode f_dirRawNW(xAOD::CaloCluster *pClus) const
Calculator implementation for energy only update.
virtual StatusCode initialize() override
Tool initialization.
StatusCode f_dirAbsNW(xAOD::CaloCluster *pClus) const
Calculator implementation for direction from absolute signal.
static const std::string m_posName
Negative signal handling: positive signal tag.
CaloClusterCellWeightCalib(const std::string &type, const std::string &name, const IInterface *pParent)
Algorithm tool constructor.
bool setup(const std::string &name, const std::string &tag, CALCULATOR &calc, std::string &conf, MsgStream &report)
Common setup function.
ToolHandle< ICellWeightTool > m_cellWeight
Handle for cell weight tool.
double m_eThreshold
Energy threshold for direction calculation.
bool m_calibNoiseLikeAll
Property controlling calibration of noise clusters.
StatusCode setupSpc(MsgStream &report)
Setup for different calculation for noise clusters.
CALCULATOR m_calc_noise
Pointer to direction calculation for noise clusters.
static const std::string m_rawName
Negative signal handling: raw signal tag.
static bool cmpNoCase(const std::string &a, const std::string &b)
Helper for non-case sensitive string comparison.
CALCULATOR m_calc
Pointer to direction calculation implementation.
virtual StatusCode execute(const EventContext &ctx, xAOD::CaloCluster *theCluster) const override
Execute on a single cluster.
static const std::string m_absName
Negative signal handling: absolute signal tag.
virtual ~CaloClusterCellWeightCalib() override
Base tool destructor.
std::string m_noiseDirectionCalculation
Property controlling calibration method for noise clusters.
std::string m_directionCalculation
Property controlling negative signal handling.
CaloClusterProcessor(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
virtual StatusCode execute(const EventContext &ctx, xAOD::CaloCluster *cluster) const =0
Execute on a single cluster.
Principal data class for CaloCell clusters.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.