ATLAS Offline Software
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 */
37 #ifndef CALOCLUSTERCORRECTION_CALOSWETAMOD_V2_H
38 #define CALOCLUSTERCORRECTION_CALOSWETAMOD_V2_H
39 
40 
42 #include "CaloConditions/Array.h"
43 
44 
80 {
81 public:
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 
116 private:
121  class Builder
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
CaloSwEtamod_v2::Builder::m_etamod
float m_etamod
The eta offset within the cell.
Definition: CaloSwEtamod_v2.h:137
CaloSwEtamod_v2
Definition: CaloSwEtamod_v2.py:1
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
CaloSwEtamod_v2::makeTheCorrection
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.
Definition: CaloSwEtamod_v2.cxx:65
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
Array.h
Simple multidimensional arrays.
CaloSwCorrections.etamod
def etamod(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:206
CaloClusterCorrectionCommon::TableBuilder
Helper, used to calculate the values of the energy interpolation table.
Definition: CaloClusterCorrectionCommon.h:127
CaloSwEtamod_v2::m_energy_degree
Constant< int > m_energy_degree
Calibration constant: degree of the polynomial interpolation in energy.
Definition: CaloSwEtamod_v2.h:161
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
CaloSampling::CaloSample
CaloSample
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:22
CaloSwEtamod_v2::m_correction
Constant< CxxUtils::Array< 2 > > m_correction
Calibration constant: tabulated arrays of function parameters.
Definition: CaloSwEtamod_v2.h:142
CaloSwEtamod_v2::Builder::calculate
virtual float calculate(int energy_ndx, bool &good) const
Calculate the correction for tabulated energy ENERGY_NDX.
Definition: CaloSwEtamod_v2.cxx:136
CaloClusterCorrectionCommon::CaloClusterCorrectionCommon
CaloClusterCorrectionCommon(const std::string &type, const std::string &name, const IInterface *parent)
Inherit constructor.
Definition: CaloClusterCorrectionCommon.cxx:408
CxxUtils::Array< 2 >
CaloClusterCorrectionCommon.h
CaloSwEtamod_v2::m_rfac_degree
Constant< int > m_rfac_degree
Definition: CaloSwEtamod_v2.h:152
CaloSwEtamod_v2::Builder::Builder
Builder(const CxxUtils::Array< 2 > &corr, float etamod)
Constructor.
Definition: CaloSwEtamod_v2.cxx:122
CaloSwEtamod_v2::Builder::m_correction
const CxxUtils::Array< 2 > m_correction
Correction parameters.
Definition: CaloSwEtamod_v2.h:134
CaloSwEtamod_v2::Builder
Helper class for calculating the energy interpolation table.
Definition: CaloSwEtamod_v2.h:123
CaloSwEtamod_v2::m_energies
Constant< CxxUtils::Array< 1 > > m_energies
Calibration constant: table of energies at which the correction was tabulated.
Definition: CaloSwEtamod_v2.h:157
CaloSwEtamod_v2::m_rfac
Constant< CxxUtils::Array< 2 > > m_rfac
Definition: CaloSwEtamod_v2.h:147
ReadBchFromCool.good
good
Definition: ReadBchFromCool.py:433
CaloUtils::ToolConstantsContext
Context object for retrieving ToolConstant values.
Definition: ToolWithConstants.h:61
CaloClusterCorrectionCommon
Code common to cluster corrections.
Definition: CaloClusterCorrectionCommon.h:42
CaloUtils::ToolConstant
Constant of a ToolWithConstants.
Definition: ToolWithConstants.h:202