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 {
141 inline double rT(
double tau,
double E)
const {
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 {
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); }
double rTHom(double tau, double E) const
double nSpotsSam(double E) const
const ECALProperties * theECAL
double ehat() const
ehat = e/mip of the calorimeter. 0 for homogeneous one
bool isHom() const
a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)
double meanLnAlpha(double lny) const
double meanAlphaSam(double lny) const
double rCHom(double tau, double E) const
double sigmaLnTHom(double lny) const
const HCALProperties * hcalProperties() const
double k4(double E) const
double z1(double E) const
const std::vector< double > & getCoreIntervals() const
double meanTSpotHom(double T) const
double rC(double tau, double E) const
double nSpotsHom(double E) 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 PreshowerLayer2Properties * layer2Properties() const
double rTSam(double tau, double E) const
const PreshowerLayer1Properties * theLayer1
double meanLnTHom(double lny) const
double pSam(double tau, double E) const
double meanT(double lny) const
double sigmaLnAlphaSam(double lny) const
double meanAlphaSpotHom(double alpha) const
const PreshowerLayer2Properties * theLayer2
double meanTHom(double lny) const
const HCALProperties * theHCAL
double nSpots(double E) const
double meanAlpha(double lny) const
double p(double tau, double E) const
const PreshowerLayer1Properties * layer1Properties() const
double meanLnAlphaHom(double lny) const
const std::vector< double > & theCore
double p3(double E) const
double sigmaLnAlpha(double lny) const
double rT(double tau, double E) const
const std::vector< double > & theTail
double rCSam(double tau, double E) const
const std::vector< double > & getTailIntervals() const
double theFs() const
Sampling fraction Fs of the calorimeter. 0 for homogeneous one.
double sigmaLnTSam(double lny) const
double theZeff() const override
Effective Z: 68.36 for Standard ECAL.
double meanTSpotSam(double T) const
const ECALProperties * ecalProperties() const
double sigmaLnAlphaHom(double lny) const
double resE() const
a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)
double meanTSam(double lny) const
double meanAlphaSpot(double alpha) const
virtual ~EMECALShowerParametrization()
double pHom(double tau, double E) const
double meanLnAlphaSam(double lny) const
double meanTSpot(double T) const
double meanAlphaSpotSam(double alpha) const
double correlationAlphaTSam(double lny) const
double correlationAlphaT(double lny) const
double meanAlphaHom(double lny) const
double meanLnTSam(double lny) const
double correlationAlphaTHom(double lny) const
double meanLnT(double lny) const
double sigmaLnT(double lny) const