76 float etamod =
eta - elt->
eta() + elt->
deta()/2;
78 etamod = elt->
deta() - etamod;
83 else if (etamod > elt->
deta())
86 float adj_aeta = std::abs (adj_eta);
96 if (adj_aeta >= 1.4 && adj_aeta <= 1.475)
97 etamod = fmod (adj_aeta, 0.025);
102 float energy = cluster->
e();
Scalar eta() const
pseudorapidity method
Definition of CaloDetDescrManager.
EM calorimeter modulation corrections.
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 void setenergy(xAOD::CaloCluster *cluster, float energy) const
Principal data class for CaloCell clusters.
virtual double e() const
Retrieve energy independent of signal state.
This class groups all DetDescr information related to a CaloCell.
float eta_raw() const
cell eta_raw
float eta() const
cell eta
float deta() const
cell deta
const CxxUtils::Array< 2 > m_correction
Correction parameters.
Builder(const CxxUtils::Array< 2 > &corr, float etamod)
Constructor.
virtual float calculate(int energy_ndx, bool &good) const
Calculate the correction for tabulated energy ENERGY_NDX.
float m_etamod
The eta offset within the cell.
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< int > m_energy_degree
Calibration constant: degree of the polynomial interpolation in energy.
Constant< CxxUtils::Array< 1 > > m_energies
Calibration constant: table of energies at which the correction was tabulated.
Constant< int > m_rfac_degree
Constant< CxxUtils::Array< 2 > > m_correction
Calibration constant: tabulated arrays of function parameters.
Read-only multidimensional array.
Polynomial interpolation in a table.
float interpolate(const CaloRec::Array< 2 > &a, float x, unsigned int degree, unsigned int ycol=1, const CaloRec::Array< 1 > ®ions=CaloRec::Array< 1 >(), int n_points=-1, bool fixZero=false)
Polynomial interpolation in a table.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.