24#include "CLHEP/Units/SystemOfUnits.h"
50 {{0.44e-2, 0.158}, {0.691e-3, 0.121},
51 {0.166e-1, 0.226}, {0.347e-1, 0.753},
52 {0.869e-2, 0.269}, {0.422e-1, 0.3598}};
54 {{-0.16e-2/
GeV, -0.159e-1/
GeV}, {+0.379e-2/
GeV, -0.100e-1/
GeV},
55 {-0.105e-2/
GeV, -0.1559e-2/
GeV}, {-0.605e-2/
GeV, -0.452e-2/
GeV},
56 {+0.248e-2/
GeV, -0.252e-2/
GeV}, {-0.690e-2/
GeV, -0.881e-2/
GeV}};
75 const IInterface* parent)
93 return StatusCode::SUCCESS;
104 const EventContext& )
const
106 float eta = theCell->
eta();
111 double energy = theCell->
energy();
113 if(
m_emID->is_lar_em(
id) &&
114 m_emID->is_em_barrel(
id) )
117 int sampling =
m_emID->sampling(
id);
118 if (sampling >0 && sampling < 4)
125 int index =ielec + 2*(sampling-1);
129 <<
" sampling " << sampling
131 <<
" index " <<
index );
146 +
m_p3[
index][irange] *energy*energy*energy;
152 +
m_p3[
index][irange] *energy*energy*energy;
Scalar eta() const
pseudorapidity method
#define ATH_CHECK
Evaluate an expression and check for errors.
const ServiceHandle< StoreGateSvc > & detStore() const
static void setenergy(CaloCell *lar_cell, float energy)
Data object for each calorimeter readout cell.
double energy() const
get energy (data member)
virtual double eta() const override final
get eta (through CaloDetDescrElement)
Identifier ID() const
get ID (from cached data member) non-virtual and inline for fast access
static const double m_emax[6]
static const double m_etrans[6]
static const double m_p3[6][2]
virtual StatusCode initialize() override
LArNonLinearity(const std::string &type, const std::string &name, const IInterface *parent)
virtual ~LArNonLinearity()
static const double m_etatrans
static const double m_p2[6][2]
static const double m_p0[6][2]
virtual void MakeCorrection(CaloCell *theCell, const EventContext &ctx) const override
static const double m_p1[6][2]
const LArFCAL_ID * m_fcalID
const LArHEC_ID * m_hecID