1 #ifndef EMECALShowerParametrization_H
2 #define EMECALShowerParametrization_H
25 const std::vector<double>& coreIntervals,
26 const std::vector<double>& tailIntervals,
44 inline double meanT(
double lny)
const {
58 inline double meanTHom(
double lny)
const {
return lny - 0.858; }
107 inline double sigmaLnTHom(
double lny)
const {
return 1. / (-1.4 + 1.26 * lny); }
121 inline double sigmaLnTSam(
double lny)
const {
return 1. / (-2.5 + 1.25 * lny); }
135 inline double rC(
double tau,
double E)
const {
137 return rCHom(tau, E);
138 return rCSam(tau, E);
141 inline double rT(
double tau,
double E)
const {
143 return rTHom(tau, E);
144 return rTSam(tau, E);
147 inline double p(
double tau,
double E)
const {
161 inline double pHom(
double tau,
double E)
const {
176 inline double pSam(
double tau,
double E)
const {
177 return pHom(tau, E) +
245 double p3(
double E)
const {
return 1.313 - 0.0686 *
std::log(E); }
247 double z1(
double E)
const {
return 0.0251 + 0.00319 *
std::log(E); }
251 double k2()
const {
return 0.6450; }
252 double k3()
const {
return -2.59; }
253 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 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
Exp< T >::type exp(const T &t)
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 theZeff() const override
Effective Z: 68.36 for Standard ECAL.
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)