11#ifndef CALOCLUSTERCORRECTIONCOMMON_H
12#define CALOCLUSTERCORRECTIONCOMMON_H
17#include "GaudiKernel/EventContext.h"
47 const std::string& name,
48 const IInterface* parent);
133 virtual float calculate (
int energy_ndx,
bool& good)
const = 0;
162 {
this,
"region",
"Calorimeter region" };
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
Cached unique_ptr with atomic update.
Helper, used to calculate the values of the energy interpolation table.
virtual float calculate(int energy_ndx, bool &good) const =0
Calculate the correction for tabulated energy energy_ndx.
static float energy_interpolation(float energy, const TableBuilder &builder, const CaloRec::Array< 1 > &energies, int energy_degree)
Many of the corrections use the same method for doing the final interpolation in energy.
virtual ~CaloClusterCorrectionCommon()
Destructor.
CaloClusterCorrectionCommon(const std::string &type, const std::string &name, const IInterface *parent)
Inherit constructor.
CxxUtils::CachedUniquePtr< const CaloClusterCorr::DDHelper > m_ddhelper
Helper for detector description lookup.
const CaloClusterCorr::DDHelper & ddhelper(const CaloDetDescrManager *dd_man) const
Retrieve the detector description helper, creating it if needed.
virtual void makeCorrection(const Context &myctx, xAOD::CaloCluster *cluster) const override
Perform the correction.
virtual void makeTheCorrection(const Context &myctx, xAOD::CaloCluster *cluster, const CaloDetDescrElement *elt, float eta, float adj_eta, float phi, float adj_phi, CaloSampling::CaloSample samp) const =0
Virtual function for the correction-specific code.
Constant< int > m_region
Calibration constant: The calorimeter region for which this correction is intended.
This class groups all DetDescr information related to a CaloCell.
This class provides the client interface for accessing the detector description information common to...
Read-only multidimensional array.
CachedUniquePtrT< const T > CachedUniquePtr
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.