CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
EMECALShowerParametrization Class Reference

#include <EMECALShowerParametrization.h>

Public Member Functions

double correlationAlphaT (double lny) const
 
double correlationAlphaTHom (double lny) const
 
double correlationAlphaTSam (double lny) const
 
const ECALPropertiesecalProperties () const
 
 EMECALShowerParametrization (const ECALProperties *ecal, const HCALProperties *hcal, const PreshowerLayer1Properties *layer1, const PreshowerLayer2Properties *layer2, const std::vector< double > &coreIntervals, const std::vector< double > &tailIntervals, double RCFact=1., double RTFact=1.)
 
const std::vector< double > & getCoreIntervals () const
 
const std::vector< double > & getTailIntervals () const
 
const HCALPropertieshcalProperties () const
 
const PreshowerLayer1Propertieslayer1Properties () const
 
const PreshowerLayer2Propertieslayer2Properties () const
 
double meanAlpha (double lny) const
 
double meanAlphaHom (double lny) const
 
double meanAlphaSam (double lny) const
 
double meanAlphaSpot (double alpha) const
 
double meanAlphaSpotHom (double alpha) const
 
double meanAlphaSpotSam (double alpha) const
 
double meanLnAlpha (double lny) const
 
double meanLnAlphaHom (double lny) const
 
double meanLnAlphaSam (double lny) const
 
double meanLnT (double lny) const
 
double meanLnTHom (double lny) const
 
double meanLnTSam (double lny) const
 
double meanT (double lny) const
 
double meanTHom (double lny) const
 
double meanTSam (double lny) const
 
double meanTSpot (double T) const
 
double meanTSpotHom (double T) const
 
double meanTSpotSam (double T) const
 
double nSpots (double E) const
 
double nSpotsHom (double E) const
 
double nSpotsSam (double E) const
 
double p (double tau, double E) const
 
double pHom (double tau, double E) const
 
double pSam (double tau, double E) const
 
double rC (double tau, double E) const
 
double rCHom (double tau, double E) const
 
double rCSam (double tau, double E) const
 
double rT (double tau, double E) const
 
double rTHom (double tau, double E) const
 
double rTSam (double tau, double E) const
 
double sigmaLnAlpha (double lny) const
 
double sigmaLnAlphaHom (double lny) const
 
double sigmaLnAlphaSam (double lny) const
 
double sigmaLnT (double lny) const
 
double sigmaLnTHom (double lny) const
 
double sigmaLnTSam (double lny) const
 
virtual ~EMECALShowerParametrization ()
 

Private Member Functions

double k1 () const
 
double k2 () const
 
double k3 () const
 
double k4 (double E) const
 
double p1 () const
 
double p2 () const
 
double p3 (double E) const
 
double z1 (double E) const
 
double z2 () const
 

Private Attributes

const std::vector< double > & theCore
 
const ECALPropertiestheECAL
 
const HCALPropertiestheHCAL
 
const PreshowerLayer1PropertiestheLayer1
 
const PreshowerLayer2PropertiestheLayer2
 
double theRcfactor
 
double theRtfactor
 
const std::vector< double > & theTail
 

Detailed Description

Electromagnetic Shower parametrization utilities according to G. Grindhammer and S. Peters, hep-ex/0001020, Appendix A

Author
Patrick Janot
Date
: 25-Jan-2004

Definition at line 19 of file EMECALShowerParametrization.h.

Constructor & Destructor Documentation

◆ EMECALShowerParametrization()

EMECALShowerParametrization::EMECALShowerParametrization ( const ECALProperties ecal,
const HCALProperties hcal,
const PreshowerLayer1Properties layer1,
const PreshowerLayer2Properties layer2,
const std::vector< double > &  coreIntervals,
const std::vector< double > &  tailIntervals,
double  RCFact = 1.,
double  RTFact = 1. 
)
inline

Definition at line 21 of file EMECALShowerParametrization.h.

29  : theECAL(ecal),
30  theHCAL(hcal),
31  theLayer1(layer1),
32  theLayer2(layer2),
33  theCore(coreIntervals),
34  theTail(tailIntervals),
35  theRcfactor(RCFact),
36  theRtfactor(RTFact) {}
const PreshowerLayer1Properties * theLayer1
const PreshowerLayer2Properties * theLayer2
const std::vector< double > & theCore
const std::vector< double > & theTail

◆ ~EMECALShowerParametrization()

virtual EMECALShowerParametrization::~EMECALShowerParametrization ( )
inlinevirtual

Definition at line 38 of file EMECALShowerParametrization.h.

38 {}

Member Function Documentation

◆ correlationAlphaT()

double EMECALShowerParametrization::correlationAlphaT ( double  lny) const
inline

Definition at line 97 of file EMECALShowerParametrization.h.

References correlationAlphaTHom(), correlationAlphaTSam(), ECALProperties::isHom(), and theECAL.

Referenced by EMShower::EMShower().

97  {
98  if (theECAL->isHom())
99  return correlationAlphaTHom(lny);
100  return correlationAlphaTSam(lny);
101  }
bool isHom() const
a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)
double correlationAlphaTSam(double lny) const
double correlationAlphaTHom(double lny) const

◆ correlationAlphaTHom()

double EMECALShowerParametrization::correlationAlphaTHom ( double  lny) const
inline

Definition at line 113 of file EMECALShowerParametrization.h.

Referenced by correlationAlphaT().

113 { return 0.705 - 0.023 * lny; }

◆ correlationAlphaTSam()

double EMECALShowerParametrization::correlationAlphaTSam ( double  lny) const
inline

Definition at line 129 of file EMECALShowerParametrization.h.

Referenced by correlationAlphaT().

129 { return 0.784 - 0.023 * lny; }

◆ ecalProperties()

const ECALProperties* EMECALShowerParametrization::ecalProperties ( ) const
inline

Definition at line 219 of file EMECALShowerParametrization.h.

References theECAL.

Referenced by EMShower::EMShower().

219 { return theECAL; }

◆ getCoreIntervals()

const std::vector<double>& EMECALShowerParametrization::getCoreIntervals ( ) const
inline

Definition at line 227 of file EMECALShowerParametrization.h.

References theCore.

Referenced by EMShower::setIntervals().

227 { return theCore; }
const std::vector< double > & theCore

◆ getTailIntervals()

const std::vector<double>& EMECALShowerParametrization::getTailIntervals ( ) const
inline

Definition at line 229 of file EMECALShowerParametrization.h.

References theTail.

Referenced by EMShower::setIntervals().

229 { return theTail; }
const std::vector< double > & theTail

◆ hcalProperties()

const HCALProperties* EMECALShowerParametrization::hcalProperties ( ) const
inline

Definition at line 221 of file EMECALShowerParametrization.h.

References theHCAL.

Referenced by EMShower::EMShower().

221 { return theHCAL; }

◆ k1()

double EMECALShowerParametrization::k1 ( ) const
inlineprivate

Definition at line 250 of file EMECALShowerParametrization.h.

References theECAL, and ECALProperties::theZeff().

Referenced by rTHom().

250 { return 0.6590 - 0.00309 * theECAL->theZeff(); }
double theZeff() const override
Effective Z: 68.36 for Standard ECAL.

◆ k2()

double EMECALShowerParametrization::k2 ( ) const
inlineprivate

Definition at line 251 of file EMECALShowerParametrization.h.

Referenced by rTHom().

251 { return 0.6450; }

◆ k3()

double EMECALShowerParametrization::k3 ( ) const
inlineprivate

Definition at line 252 of file EMECALShowerParametrization.h.

Referenced by rTHom().

252 { return -2.59; }

◆ k4()

double EMECALShowerParametrization::k4 ( double  E) const
inlineprivate

Definition at line 253 of file EMECALShowerParametrization.h.

References dqm-mbProfile::log.

Referenced by rTHom().

253 { return 0.3585 + 0.0421 * std::log(E); }

◆ layer1Properties()

const PreshowerLayer1Properties* EMECALShowerParametrization::layer1Properties ( ) const
inline

Definition at line 223 of file EMECALShowerParametrization.h.

References theLayer1.

Referenced by EMShower::EMShower().

223 { return theLayer1; }
const PreshowerLayer1Properties * theLayer1

◆ layer2Properties()

const PreshowerLayer2Properties* EMECALShowerParametrization::layer2Properties ( ) const
inline

Definition at line 225 of file EMECALShowerParametrization.h.

References theLayer2.

Referenced by EMShower::EMShower().

225 { return theLayer2; }
const PreshowerLayer2Properties * theLayer2

◆ meanAlpha()

double EMECALShowerParametrization::meanAlpha ( double  lny) const
inline

Definition at line 50 of file EMECALShowerParametrization.h.

References ECALProperties::isHom(), meanAlphaHom(), meanAlphaSam(), and theECAL.

Referenced by EMShower::EMShower().

50  {
51  if (theECAL->isHom())
52  return meanAlphaHom(lny);
53  return meanAlphaSam(lny);
54  }
bool isHom() const
a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)
double meanAlphaSam(double lny) const
double meanAlphaHom(double lny) const

◆ meanAlphaHom()

double EMECALShowerParametrization::meanAlphaHom ( double  lny) const
inline

Definition at line 61 of file EMECALShowerParametrization.h.

References theECAL, and ECALProperties::theZeff().

Referenced by meanAlpha(), and meanAlphaSam().

61 { return 0.21 + (0.492 + 2.38 / theECAL->theZeff()) * lny; }
double theZeff() const override
Effective Z: 68.36 for Standard ECAL.

◆ meanAlphaSam()

double EMECALShowerParametrization::meanAlphaSam ( double  lny) const
inline

Definition at line 69 of file EMECALShowerParametrization.h.

References meanAlphaHom(), theECAL, and ECALProperties::theFs().

Referenced by meanAlpha().

69 { return meanAlphaHom(lny) - 0.444 / theECAL->theFs(); }
double theFs() const
Sampling fraction Fs of the calorimeter. 0 for homogeneous one.
double meanAlphaHom(double lny) const

◆ meanAlphaSpot()

double EMECALShowerParametrization::meanAlphaSpot ( double  alpha) const
inline

Definition at line 195 of file EMECALShowerParametrization.h.

References alpha, ECALProperties::isHom(), meanAlphaSpotHom(), meanAlphaSpotSam(), and theECAL.

Referenced by EMShower::EMShower().

195  {
196  if (theECAL->isHom())
197  return meanAlphaSpotHom(alpha);
198  return meanAlphaSpotSam(alpha);
199  }
float alpha
Definition: AMPTWrapper.h:105
bool isHom() const
a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)
double meanAlphaSpotHom(double alpha) const
double meanAlphaSpotSam(double alpha) const

◆ meanAlphaSpotHom()

double EMECALShowerParametrization::meanAlphaSpotHom ( double  alpha) const
inline

Definition at line 207 of file EMECALShowerParametrization.h.

References alpha, theECAL, and ECALProperties::theZeff().

Referenced by meanAlphaSpot(), and meanAlphaSpotSam().

207 { return alpha * (0.639 + 0.00334 * theECAL->theZeff()); }
float alpha
Definition: AMPTWrapper.h:105
double theZeff() const override
Effective Z: 68.36 for Standard ECAL.

◆ meanAlphaSpotSam()

double EMECALShowerParametrization::meanAlphaSpotSam ( double  alpha) const
inline

Definition at line 215 of file EMECALShowerParametrization.h.

References alpha, meanAlphaSpotHom(), theECAL, and ECALProperties::theZeff().

Referenced by meanAlphaSpot().

215  {
216  return meanAlphaSpotHom(alpha) * (0.844 + 0.0026 * theECAL->theZeff());
217  }
float alpha
Definition: AMPTWrapper.h:105
double meanAlphaSpotHom(double alpha) const
double theZeff() const override
Effective Z: 68.36 for Standard ECAL.

◆ meanLnAlpha()

double EMECALShowerParametrization::meanLnAlpha ( double  lny) const
inline

Definition at line 85 of file EMECALShowerParametrization.h.

References ECALProperties::isHom(), meanLnAlphaHom(), meanLnAlphaSam(), and theECAL.

Referenced by EMShower::EMShower().

85  {
86  if (theECAL->isHom())
87  return meanLnAlphaHom(lny);
88  return meanLnAlphaSam(lny);
89  }
bool isHom() const
a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)
double meanLnAlphaHom(double lny) const
double meanLnAlphaSam(double lny) const

◆ meanLnAlphaHom()

double EMECALShowerParametrization::meanLnAlphaHom ( double  lny) const
inline

Definition at line 109 of file EMECALShowerParametrization.h.

References dqm-mbProfile::log, theECAL, and ECALProperties::theZeff().

Referenced by meanLnAlpha(), and meanLnAlphaSam().

109 { return std::log(0.81 + (0.458 + 2.26 / theECAL->theZeff()) * lny); }
double theZeff() const override
Effective Z: 68.36 for Standard ECAL.

◆ meanLnAlphaSam()

double EMECALShowerParametrization::meanLnAlphaSam ( double  lny) const
inline

Definition at line 123 of file EMECALShowerParametrization.h.

References JetChargeProducer_cfi::exp, dqm-mbProfile::log, meanLnAlphaHom(), theECAL, and ECALProperties::theFs().

Referenced by meanLnAlpha().

123  {
124  return log(std::exp(meanLnAlphaHom(lny)) - 0.476 / theECAL->theFs());
125  }
double meanLnAlphaHom(double lny) const
double theFs() const
Sampling fraction Fs of the calorimeter. 0 for homogeneous one.

◆ meanLnT()

double EMECALShowerParametrization::meanLnT ( double  lny) const
inline

Definition at line 73 of file EMECALShowerParametrization.h.

References ECALProperties::isHom(), meanLnTHom(), meanLnTSam(), and theECAL.

Referenced by EMShower::EMShower().

73  {
74  if (theECAL->isHom())
75  return meanLnTHom(lny);
76  return meanLnTSam(lny);
77  }
bool isHom() const
a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)

◆ meanLnTHom()

double EMECALShowerParametrization::meanLnTHom ( double  lny) const
inline

Definition at line 105 of file EMECALShowerParametrization.h.

References dqm-mbProfile::log.

Referenced by meanLnT(), and meanLnTSam().

105 { return std::log(lny - 0.812); }

◆ meanLnTSam()

double EMECALShowerParametrization::meanLnTSam ( double  lny) const
inline

Definition at line 117 of file EMECALShowerParametrization.h.

References ECALProperties::ehat(), JetChargeProducer_cfi::exp, dqm-mbProfile::log, meanLnTHom(), theECAL, and ECALProperties::theFs().

Referenced by meanLnT().

117  {
118  return log(std::exp(meanLnTHom(lny)) - 0.55 / theECAL->theFs() - 0.69 * (1 - theECAL->ehat()));
119  }
double ehat() const
ehat = e/mip of the calorimeter. 0 for homogeneous one
double theFs() const
Sampling fraction Fs of the calorimeter. 0 for homogeneous one.

◆ meanT()

double EMECALShowerParametrization::meanT ( double  lny) const
inline

Definition at line 44 of file EMECALShowerParametrization.h.

References ECALProperties::isHom(), meanTHom(), meanTSam(), and theECAL.

Referenced by EMShower::EMShower().

44  {
45  if (theECAL->isHom())
46  return meanTHom(lny);
47  return meanTSam(lny);
48  }
bool isHom() const
a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)

◆ meanTHom()

double EMECALShowerParametrization::meanTHom ( double  lny) const
inline

Definition at line 58 of file EMECALShowerParametrization.h.

Referenced by meanT(), and meanTSam().

58 { return lny - 0.858; }

◆ meanTSam()

double EMECALShowerParametrization::meanTSam ( double  lny) const
inline

Definition at line 65 of file EMECALShowerParametrization.h.

References ECALProperties::ehat(), meanTHom(), theECAL, and ECALProperties::theFs().

Referenced by meanT().

65  {
66  return meanTHom(lny) - 0.59 / theECAL->theFs() - 0.53 * (1. - theECAL->ehat());
67  }
double ehat() const
ehat = e/mip of the calorimeter. 0 for homogeneous one
double theFs() const
Sampling fraction Fs of the calorimeter. 0 for homogeneous one.

◆ meanTSpot()

double EMECALShowerParametrization::meanTSpot ( double  T) const
inline

Definition at line 189 of file EMECALShowerParametrization.h.

References ECALProperties::isHom(), meanTSpotHom(), meanTSpotSam(), and theECAL.

Referenced by EMShower::EMShower().

189  {
190  if (theECAL->isHom())
191  return meanTSpotHom(T);
192  return meanTSpotSam(T);
193  }
bool isHom() const
a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)
long double T

◆ meanTSpotHom()

double EMECALShowerParametrization::meanTSpotHom ( double  T) const
inline

Definition at line 205 of file EMECALShowerParametrization.h.

References theECAL, and ECALProperties::theZeff().

Referenced by meanTSpot(), and meanTSpotSam().

205 { return T * (0.698 + 0.00212 * theECAL->theZeff()); }
double theZeff() const override
Effective Z: 68.36 for Standard ECAL.
long double T

◆ meanTSpotSam()

double EMECALShowerParametrization::meanTSpotSam ( double  T) const
inline

Definition at line 213 of file EMECALShowerParametrization.h.

References meanTSpotHom(), theECAL, and ECALProperties::theZeff().

Referenced by meanTSpot().

213 { return meanTSpotHom(T) * (0.813 + 0.0019 * theECAL->theZeff()); }
double theZeff() const override
Effective Z: 68.36 for Standard ECAL.
long double T

◆ nSpots()

double EMECALShowerParametrization::nSpots ( double  E) const
inline

Definition at line 183 of file EMECALShowerParametrization.h.

References ECALProperties::isHom(), nSpotsHom(), nSpotsSam(), and theECAL.

Referenced by EMShower::EMShower().

183  {
184  if (theECAL->isHom())
185  return nSpotsHom(E);
186  return nSpotsSam(E);
187  }
bool isHom() const
a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)

◆ nSpotsHom()

double EMECALShowerParametrization::nSpotsHom ( double  E) const
inline

Definition at line 203 of file EMECALShowerParametrization.h.

References dqm-mbProfile::log, funct::pow(), theECAL, and ECALProperties::theZeff().

Referenced by nSpots().

203 { return 93. * std::log(theECAL->theZeff()) * std::pow(E, 0.876); }
double theZeff() const override
Effective Z: 68.36 for Standard ECAL.
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29

◆ nSpotsSam()

double EMECALShowerParametrization::nSpotsSam ( double  E) const
inline

Definition at line 211 of file EMECALShowerParametrization.h.

References funct::pow(), ECALProperties::resE(), and theECAL.

Referenced by nSpots().

211 { return 10.3 / theECAL->resE() * std::pow(E, 0.959); }
double resE() const
a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29

◆ p()

double EMECALShowerParametrization::p ( double  tau,
double  E 
) const
inline

Definition at line 147 of file EMECALShowerParametrization.h.

References ECALProperties::isHom(), pHom(), pSam(), metsig::tau, and theECAL.

Referenced by EMShower::compute(), and Electron.Electron::ptErr().

147  {
148  if (theECAL->isHom())
149  return pHom(tau, E);
150  return pSam(tau, E);
151  }
bool isHom() const
a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)
double pSam(double tau, double E) const
double pHom(double tau, double E) const

◆ p1()

double EMECALShowerParametrization::p1 ( ) const
inlineprivate

Definition at line 243 of file EMECALShowerParametrization.h.

References theECAL, and ECALProperties::theZeff().

Referenced by pHom().

243 { return 2.632 - 0.00094 * theECAL->theZeff(); }
double theZeff() const override
Effective Z: 68.36 for Standard ECAL.

◆ p2()

double EMECALShowerParametrization::p2 ( ) const
inlineprivate

Definition at line 244 of file EMECALShowerParametrization.h.

References theECAL, and ECALProperties::theZeff().

Referenced by pHom().

244 { return 0.401 + 0.00187 * theECAL->theZeff(); }
double theZeff() const override
Effective Z: 68.36 for Standard ECAL.

◆ p3()

double EMECALShowerParametrization::p3 ( double  E) const
inlineprivate

Definition at line 245 of file EMECALShowerParametrization.h.

References dqm-mbProfile::log.

Referenced by pHom().

245 { return 1.313 - 0.0686 * std::log(E); }

◆ pHom()

double EMECALShowerParametrization::pHom ( double  tau,
double  E 
) const
inline

Definition at line 161 of file EMECALShowerParametrization.h.

References JetChargeProducer_cfi::exp, p1(), p2(), p3(), and metsig::tau.

Referenced by p(), and pSam().

◆ pSam()

double EMECALShowerParametrization::pSam ( double  tau,
double  E 
) const
inline

Definition at line 176 of file EMECALShowerParametrization.h.

References ECALProperties::ehat(), JetChargeProducer_cfi::exp, pHom(), funct::pow(), metsig::tau, theECAL, and ECALProperties::theFs().

Referenced by p().

176  {
177  return pHom(tau, E) +
178  (1 - theECAL->ehat()) * (0.348 - 0.642 / theECAL->theFs() * std::exp(-1. * std::pow((tau - 1), 2)));
179  }
double ehat() const
ehat = e/mip of the calorimeter. 0 for homogeneous one
double theFs() const
Sampling fraction Fs of the calorimeter. 0 for homogeneous one.
double pHom(double tau, double E) const
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29

◆ rC()

double EMECALShowerParametrization::rC ( double  tau,
double  E 
) const
inline

Definition at line 135 of file EMECALShowerParametrization.h.

References ECALProperties::isHom(), rCHom(), rCSam(), metsig::tau, and theECAL.

Referenced by EMShower::compute().

135  {
136  if (theECAL->isHom())
137  return rCHom(tau, E);
138  return rCSam(tau, E);
139  }
bool isHom() const
a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)
double rCHom(double tau, double E) const
double rCSam(double tau, double E) const

◆ rCHom()

double EMECALShowerParametrization::rCHom ( double  tau,
double  E 
) const
inline

Definition at line 155 of file EMECALShowerParametrization.h.

References metsig::tau, theRcfactor, z1(), and z2().

Referenced by rC(), and rCSam().

◆ rCSam()

double EMECALShowerParametrization::rCSam ( double  tau,
double  E 
) const
inline

Definition at line 168 of file EMECALShowerParametrization.h.

References ECALProperties::ehat(), JetChargeProducer_cfi::exp, rCHom(), metsig::tau, theECAL, and ECALProperties::theFs().

Referenced by rC().

168  {
169  return rCHom(tau, E) - 0.0203 * (1 - theECAL->ehat()) + 0.0397 / theECAL->theFs() * std::exp(-1. * tau);
170  }
double ehat() const
ehat = e/mip of the calorimeter. 0 for homogeneous one
double rCHom(double tau, double E) const
double theFs() const
Sampling fraction Fs of the calorimeter. 0 for homogeneous one.

◆ rT()

double EMECALShowerParametrization::rT ( double  tau,
double  E 
) const
inline

Definition at line 141 of file EMECALShowerParametrization.h.

References ECALProperties::isHom(), rTHom(), rTSam(), metsig::tau, and theECAL.

Referenced by EMShower::compute().

141  {
142  if (theECAL->isHom())
143  return rTHom(tau, E);
144  return rTSam(tau, E);
145  }
double rTHom(double tau, double E) const
bool isHom() const
a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)
double rTSam(double tau, double E) const

◆ rTHom()

double EMECALShowerParametrization::rTHom ( double  tau,
double  E 
) const
inline

◆ rTSam()

double EMECALShowerParametrization::rTSam ( double  tau,
double  E 
) const
inline

Definition at line 172 of file EMECALShowerParametrization.h.

References ECALProperties::ehat(), JetChargeProducer_cfi::exp, rTHom(), metsig::tau, theECAL, and ECALProperties::theFs().

Referenced by rT().

172  {
173  return rTHom(tau, E) - 0.14 * (1 - theECAL->ehat()) - 0.495 / theECAL->theFs() * std::exp(-1. * tau);
174  }
double rTHom(double tau, double E) const
double ehat() const
ehat = e/mip of the calorimeter. 0 for homogeneous one
double theFs() const
Sampling fraction Fs of the calorimeter. 0 for homogeneous one.

◆ sigmaLnAlpha()

double EMECALShowerParametrization::sigmaLnAlpha ( double  lny) const
inline

Definition at line 91 of file EMECALShowerParametrization.h.

References ECALProperties::isHom(), sigmaLnAlphaHom(), sigmaLnAlphaSam(), and theECAL.

Referenced by EMShower::EMShower().

91  {
92  if (theECAL->isHom())
93  return sigmaLnAlphaHom(lny);
94  return sigmaLnAlphaSam(lny);
95  }
bool isHom() const
a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)
double sigmaLnAlphaSam(double lny) const
double sigmaLnAlphaHom(double lny) const

◆ sigmaLnAlphaHom()

double EMECALShowerParametrization::sigmaLnAlphaHom ( double  lny) const
inline

Definition at line 111 of file EMECALShowerParametrization.h.

Referenced by sigmaLnAlpha().

111 { return 1. / (-0.58 + 0.86 * lny); }

◆ sigmaLnAlphaSam()

double EMECALShowerParametrization::sigmaLnAlphaSam ( double  lny) const
inline

Definition at line 127 of file EMECALShowerParametrization.h.

Referenced by sigmaLnAlpha().

127 { return 1. / (-0.82 + 0.79 * lny); }

◆ sigmaLnT()

double EMECALShowerParametrization::sigmaLnT ( double  lny) const
inline

Definition at line 79 of file EMECALShowerParametrization.h.

References ECALProperties::isHom(), sigmaLnTHom(), sigmaLnTSam(), and theECAL.

Referenced by EMShower::EMShower().

79  {
80  if (theECAL->isHom())
81  return sigmaLnTHom(lny);
82  return sigmaLnTSam(lny);
83  }
bool isHom() const
a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)

◆ sigmaLnTHom()

double EMECALShowerParametrization::sigmaLnTHom ( double  lny) const
inline

Definition at line 107 of file EMECALShowerParametrization.h.

Referenced by sigmaLnT().

107 { return 1. / (-1.4 + 1.26 * lny); }

◆ sigmaLnTSam()

double EMECALShowerParametrization::sigmaLnTSam ( double  lny) const
inline

Definition at line 121 of file EMECALShowerParametrization.h.

Referenced by sigmaLnT().

121 { return 1. / (-2.5 + 1.25 * lny); }

◆ z1()

double EMECALShowerParametrization::z1 ( double  E) const
inlineprivate

Definition at line 247 of file EMECALShowerParametrization.h.

References dqm-mbProfile::log.

Referenced by rCHom().

247 { return 0.0251 + 0.00319 * std::log(E); }

◆ z2()

double EMECALShowerParametrization::z2 ( ) const
inlineprivate

Definition at line 248 of file EMECALShowerParametrization.h.

References theECAL, and ECALProperties::theZeff().

Referenced by rCHom().

248 { return 0.1162 - 0.000381 * theECAL->theZeff(); }
double theZeff() const override
Effective Z: 68.36 for Standard ECAL.

Member Data Documentation

◆ theCore

const std::vector<double>& EMECALShowerParametrization::theCore
private

Definition at line 237 of file EMECALShowerParametrization.h.

Referenced by getCoreIntervals().

◆ theECAL

const ECALProperties* EMECALShowerParametrization::theECAL
private

◆ theHCAL

const HCALProperties* EMECALShowerParametrization::theHCAL
private

Definition at line 233 of file EMECALShowerParametrization.h.

Referenced by hcalProperties().

◆ theLayer1

const PreshowerLayer1Properties* EMECALShowerParametrization::theLayer1
private

Definition at line 234 of file EMECALShowerParametrization.h.

Referenced by layer1Properties().

◆ theLayer2

const PreshowerLayer2Properties* EMECALShowerParametrization::theLayer2
private

Definition at line 235 of file EMECALShowerParametrization.h.

Referenced by layer2Properties().

◆ theRcfactor

double EMECALShowerParametrization::theRcfactor
private

Definition at line 240 of file EMECALShowerParametrization.h.

Referenced by rCHom().

◆ theRtfactor

double EMECALShowerParametrization::theRtfactor
private

Definition at line 241 of file EMECALShowerParametrization.h.

Referenced by rTHom().

◆ theTail

const std::vector<double>& EMECALShowerParametrization::theTail
private

Definition at line 238 of file EMECALShowerParametrization.h.

Referenced by getTailIntervals().