ATLAS Offline Software
Loading...
Searching...
No Matches
CaloSwEtamod_v2.h
Go to the documentation of this file.
1// This file's extension implies that it's C, but it's really -*- C++ -*-.
2/*
3 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
4*/
35
36
37#ifndef CALOCLUSTERCORRECTION_CALOSWETAMOD_V2_H
38#define CALOCLUSTERCORRECTION_CALOSWETAMOD_V2_H
39
40
43
44
80{
81public:
84
85
106 virtual void makeTheCorrection (const Context& myctx,
107 xAOD::CaloCluster* cluster,
108 const CaloDetDescrElement* elt,
109 float eta,
110 float adj_eta,
111 float phi,
112 float adj_phi,
113 CaloSampling::CaloSample samp) const override;
114
115
116private:
122 : public TableBuilder
123 {
124 public:
127 Builder (const CxxUtils::Array<2>& corr, float etamod);
128
130 virtual float calculate (int energy_ndx, bool& good) const;
131
132 private:
135
137 float m_etamod;
138 };
139
142 { this, "correction", "Tabulated arrays of function parameters." };
143
144 // Calibration constant: Correction factors for crude containment
145 // correction used internally for the energy interpolation.
147 { this, "rfac", "Correction factors for crude containment correction used internally for the energy interpolation." };
148
149 // Calibration constant: Interpolation degree for crude containment
150 // correction used internally for the energy interpolation.
152 { this, "rfac_degree", "Interpolation degree for crude containment correction used internally for the energy interpolation." };
153
157 { this, "energies", "Table of energies at which the correction was tabulated." };
158
161 { this, "energy_degree", "Degree of the polynomial interpolation in energy." };
162};
163
164
165#endif // not CALOCLUSTERCORRECTION_CALOSWETAMOD_V2_H
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.
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.
CaloClusterCorrectionCommon(const std::string &type, const std::string &name, const IInterface *parent)
Inherit constructor.
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.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.