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 {
116 return 1./(-1.4+1.26*lny); }
122 return 1./(-0.58+0.86*lny); }
125 return 0.705-0.023*lny; }
134 return 1./(-2.5 + 1.25*lny); }
140 return 1./(-0.82+0.79*lny); }
143 return 0.784-0.023*lny; }
155 inline double rC(
double tau,
double E)
const {
157 return rCSam(tau, E); }
159 inline double rT(
double tau,
double E)
const {
161 return rTSam(tau, E); }
163 inline double p(
double tau,
double E)
const {
165 return pSam(tau, E); }
180 inline double pHom(
double tau,
double E)
const {
196 inline double pSam(
double tau,
double E)
const {
284 double p3(
double E)
const {
return 1.313-0.0686*
std::log(E); }
286 double z1(
double E)
const {
return 0.0251+0.00319*
std::log(E); }
290 double k2()
const {
return 0.6450; }
291 double k3()
const {
return -2.59; }
292 double k4(
double E)
const {
return 0.3585+0.0421*
std::log(E); }
const ECALProperties * theECAL
static std::vector< std::string > checklist log
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)