37#ifndef CALOCLUSTERCORRECTION_CALOSWPHIMOD_V2_H
38#define CALOCLUSTERCORRECTION_CALOSWPHIMOD_V2_H
131 :
public TableBuilder
141 float correction_coef,
142 float aeta,
float phi,
int nabs);
145 virtual float calculate (
int energy_ndx,
bool& good)
const;
173 {
this,
"correction",
"Tabulated arrays of function parameters." };
178 {
this,
"interp_barriers",
"Allow breaking up the interpolation into independent regions." };
182 {
this,
"degree",
"Degree of the polynomial interpolation." };
187 {
this,
"correction_coef",
"Coefficient by which to scale the entire correction." };
192 {
this,
"rfac",
"Correction factors for crude containment correction used internally for the energy interpolation." };
197 {
this,
"rfac_degree",
"Interpolation degree for crude containment correction used internally for the energy interpolation." };
202 {
this,
"energies",
"Table of energies at which the correction was tabulated." };
206 {
this,
"energy_degree",
"Degree of the polynomial interpolation in energy." };
211 {
this,
"use_raw_eta",
"If true, tabulated values are in terms of raw (local) eta." };
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
Simple multidimensional arrays.
CaloClusterCorrectionCommon(const std::string &type, const std::string &name, const IInterface *parent)
Inherit constructor.
This class groups all DetDescr information related to a CaloCell.
float m_aeta
The abs(eta) at which the correction is being evaluated (in cal-local coordinates).
Builder(const CxxUtils::Array< 3 > &correction, const CxxUtils::Array< 1 > &interp_barriers, int degree, float correction_coef, float aeta, float phi, int nabs)
Constructor.
const CxxUtils::Array< 1 > m_interp_barriers
Allow breaking up the interpolation into independent regions.
int m_nabs
Number of absorbers in .
int m_degree
Interpolation degree.
float m_correction_coef
Coefficient by which to scale the entire correction.
float m_phi
The cluster phi.
virtual float calculate(int energy_ndx, bool &good) const
Calculate the correction for tabulated energy ENERGY_NDX.
const CxxUtils::Array< 3 > m_correction
The correction table.
Constant< int > m_energy_degree
Calibration constant: degree of the polynomial interpolation in energy.
Constant< int > m_rfac_degree
Constant< CxxUtils::Array< 2 > > m_rfac
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 override
Virtual function for the correction-specific code.
Constant< CxxUtils::Array< 1 > > m_energies
Calibration constant: table of energies at which the correction was tabulated.
CaloClusterCorrectionCommon(const std::string &type, const std::string &name, const IInterface *parent)
Inherit constructor.
Constant< CxxUtils::Array< 3 > > m_correction
Calibration constant: tabulated arrays of function parameters.
Constant< int > m_degree
Calibration constant: degree of the polynomial interpolation.
Constant< bool > m_use_raw_eta
Calibration constant: If true, tabulated values are in terms of raw (local) eta.
Constant< float > m_correction_coef
Calibration constant: coefficient by which to scale the entire correction.
Constant< CxxUtils::Array< 1 > > m_interp_barriers
Calibration constant: allow breaking up the interpolation into independent regions.
Read-only multidimensional array.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.