1 #ifndef EMECALShowerParametrization_H
2 #define EMECALShowerParametrization_H
27 const std::vector<double>& coreIntervals,
28 const std::vector<double>& tailIntervals,
47 inline double meanT(
double lny)
const {
115 return 1./(-1.4+1.26*lny); }
121 return 1./(-0.58+0.86*lny); }
124 return 0.705-0.023*lny; }
133 return 1/(-2.5 + 1.25*lny); }
139 return 1./(-0.82+0.79*lny); }
142 return 0.784-0.023*lny; }
154 inline double rC(
double tau,
double E)
const {
156 return rCSam(tau, E); }
158 inline double rT(
double tau,
double E)
const {
160 return rTSam(tau, E); }
162 inline double p(
double tau,
double E)
const {
164 return pSam(tau, E); }
179 inline double pHom(
double tau,
double E)
const {
195 inline double pSam(
double tau,
double E)
const {
283 double p3(
double E)
const {
return 1.313-0.0686*
std::log(E); }
285 double z1(
double E)
const {
return 0.0251+0.00319*
std::log(E); }
289 double k2()
const {
return 0.6450; }
290 double k3()
const {
return -2.59; }
291 double k4(
double E)
const {
return 0.3585+0.0421*
std::log(E); }
const ECALProperties * theECAL
double sigmaLnT(double lny) const
const HCALProperties * hcalProperties() const
double meanLnT(double lny) const
double meanAlphaSpot(double alpha) const
double rTSam(double tau, double E) const
double pSam(double tau, double E) const
double meanAlphaSpotSam(double alpha) const
double correlationAlphaTSam(double lny) const
double meanT(double lny) const
double theZeff() const
Effective Z: 68.36 for Standard ECAL.
double sigmaLnTSam(double lny) 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.)
double rC(double tau, double E) const
double meanAlphaHom(double lny) const
bool isHom() const
a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)
const PreshowerLayer1Properties * theLayer1
const std::vector< double > & getTailIntervals() const
const std::vector< double > & getCoreIntervals() const
double sigmaLnAlphaSam(double lny) const
double meanTSpotHom(double T) const
const PreshowerLayer2Properties * theLayer2
const HCALProperties * theHCAL
double rCSam(double tau, double E) const
double p3(double E) const
double meanLnTSam(double lny) const
double sigmaLnAlphaHom(double lny) const
double ehat() const
ehat = e/mip of the calorimeter. 0 for homogeneous one
double meanAlphaSpotHom(double alpha) const
double meanLnAlphaSam(double lny) const
const std::vector< double > & theCore
double rT(double tau, double E) const
double nSpotsHom(double E) const
const std::vector< double > & theTail
double meanAlphaSam(double lny) const
double nSpotsSam(double E) const
double z1(double E) const
const PreshowerLayer1Properties * layer1Properties() const
double correlationAlphaT(double lny) const
double meanTHom(double lny) const
double theFs() const
Sampling fraction Fs of the calorimeter. 0 for homogeneous one.
const ECALProperties * ecalProperties() const
double meanLnTHom(double lny) const
double rTHom(double tau, double E) const
double p(double tau, double E) const
double meanLnAlphaHom(double lny) const
const PreshowerLayer2Properties * layer2Properties() const
virtual ~EMECALShowerParametrization()
double meanLnAlpha(double lny) const
double nSpots(double E) const
double meanTSam(double lny) const
double sigmaLnTHom(double lny) const
double meanTSpot(double T) const
double meanAlpha(double lny) const
double rCHom(double tau, double E) const
double sigmaLnAlpha(double lny) const
double correlationAlphaTHom(double lny) const
double meanTSpotSam(double T) const
double k4(double E) const
Power< A, B >::type pow(const A &a, const B &b)
double pHom(double tau, double E) const
double resE() const
a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)