22 double e0 = 6.91563e-02;
23 double e1 = 1.64406e+00;
24 double e2 = 6.42509e-01;
25 double E = e0/(1+
exp(e1*(log10(mu)-e2)));
27 double d0 = 3.85334e-01;
28 double d1 = -1.04647e-02;
29 double D = d0*
exp(d1*mu);
31 double c0 = 3.77629e-01;
32 double c1 = -3.23755e-01;
33 double c2 = 1.50247e+00;
34 double c3 = 3.03278e-01;
35 double C = -1 + c0*
exp(c1*mu)*(1+c2*
exp(c3*mu));
37 double b0 = -3.33575e-01;
38 double b1 = 4.44856e-01;
39 double b2 = 1.91766e+00;
40 double b3 = 2.69423e+00;
41 double b4 = 1.06905e+00;
42 double B = (1/
mu)*(b0 + b1*log10(mu) + b2*
pow(log10(mu),2)
43 + b3*
pow(log10(mu),3) + b4*
pow(log10(mu),4));
45 double a0 = 7.18248e-02;
46 double a1 = 1.89016e+00;
47 double a2 = 2.15651e-02;
48 double a3 = 2.30786e-02;
49 double A =
exp(B*mu*0.015)*(a0/(
exp(a1*(log10(mu)+a2))+1)+a3);
51 double R = 0.01*D*( 4/(0.222+E)/(0.222+E) - 1/((0.22-
z)*(z+E)) );
52 f = A *
exp(-B*mu*(0.22-z)) * (1+C*
exp(R));
130 if(mu_ind<0)
return 1;
132 double mu = mu_ind + 0.7;
133 double lmu = log10(mu);
135 double e0 = 6.91563e-02;
136 double e1 = 1.64406e+00;
137 double e2 = 6.42509e-01;
138 double E = e0/(1+
exp(e1*(lmu-e2)));
140 double d0 = 3.85334e-01;
141 double d1 = -1.04647e-02;
142 double D = d0*
exp(d1*mu);
144 double c0 = 3.77629e-01;
145 double c1 = -3.23755e-01;
146 double c2 = 1.50247e+00;
147 double c3 = 3.03278e-01;
148 double C = -1 + c0*
exp(c1*mu)*(1+c2*
exp(c3*mu));
150 double b0 = -3.33575e-01;
151 double b1 = 4.44856e-01;
152 double b2 = 1.91766e+00;
153 double b3 = 2.69423e+00;
154 double b4 = 1.06905e+00;
155 double B = (1/
mu)*(b0 + b1*lmu + b2*
pow(lmu,2)
156 + b3*
pow(lmu,3) + b4*
pow(lmu,4));
158 double a0 = 7.18248e-02;
159 double a1 = 1.89016e+00;
160 double a2 = 2.15651e-02;
161 double a3 = 2.30786e-02;
162 double A =
exp(B*mu*0.015)*(a0/(
exp(a1*(lmu+a2))+1)+a3);
164 double R = 0.01*D*( 4/(0.222+E)/(0.222+E) - 1/((0.22*0.22)*(1.-
z)*(z+E/0.22)) );
167 double A0 = 0.0631452;
168 double B0 = -0.52267;
169 double C0 = -0.139646;
170 double D0 = 0.382522;
171 double E0 = 0.054473;
172 double R0 = 0.01*D0*( 4/(0.222+E0)/(0.222+E0) - 1/((0.22*0.22)*(1.-
z)*(z+E0/0.22)) );
175 double f = A/A0 *
exp(-(B*mu-B0*0.7)*0.22*(1.-z)) * (1+C*
exp(R))/(1+C0*
exp(R0));
185 double x = fabs(eta);
187 return exp( -4.11065 + 0.258478*x );
189 return exp( -13.5112 + 7.913860*x - 0.998649*x*x );
197 double x = fabs(eta);
199 double et=x/1.48*34.0;
200 double etaprof=( 9.54827 + et*0.0379222 +
201 et*et*(-0.00257047) +
202 et*et*et*0.00073546 +
203 et*et*et*et*(-1.49683e-05)
216 double mu = 2.08E-13 *
pow( fluence, 1.0049);
224 double alpha = 4.72877e+00;
225 double beta = 5.91296e-01;
226 double amp1 = 6.24495e+02;
227 double amp2 = 1.84367e-01;
228 double offset = 2.00705e+01;
229 if (z>=0.0 && z<=22.0) {
230 double term1 = (amp1 /
TMath::Gamma(alpha)) *
pow((beta*z),(alpha-1)) *
exp (-beta*z);
231 double term2 = amp2*(z-11.0)*(z-11.0) +
offset;
232 return (term1 + term2)/150.44;
243 double instantLumi = par[0];
246 if(rate<=0.0) rate=0.0;
247 double alpha = par[2];
248 return rate/(alpha +
rate);
258 double alpha1 = 3.41488e+00;
261 0.0,22.0,3,
"EvolutionECAL" ,
"EquilibriumFractionColorCentersEM");
262 ftmp1->SetParameters(lumi, eta, alpha1);
263 double muEM = mu_max*ftmp1->Integral(0.0, 22.0)/22.0;
275 if( x<1
e-4 )
return retval;
276 if( x>=200.0 ) x=200.0;
278 double par[11] = { 1.00000e+01,
279 -4.41441e-01, 7.08607e-02, -3.75572e-01, -3.60410e-01, 1.30130e-01,
280 -4.72350e-01, 3.36315e-01, -1.19872e-01, 1.99574e-02,-1.22910e-03 };
283 double alpha = par[0];
285 double f1 = par[1]*x + par[2]*x*
x;
288 for(
int i=9;
i>=3;
i--) f2 = par[
i] + f2*u;
290 retval = f1/(1.0+
exp(alpha*u)) + f2/(1.0+
exp(-alpha*u));
291 retval =
exp(retval);
303 if(ene<=1
e-3)
return 0.0;
306 if( mu<=0.06 ) x=0.06;
307 if( mu>=150.0 ) x=150.0;
309 double par[9] = { 5.17712e-03, 1.97597e-02, 3.36596e-02, 2.84505e-02, 1.38480e-02,
310 1.11498e-02, 7.73634e-03, -1.30767e-03, -2.20628e-03 };
313 double slope = par[8];
314 for(
int i=7;
i>=0;
i--) slope = par[
i] + slope*u;
316 double retval = 1.0 + slope*log10(ene/50.0);
317 if(retval<=0.0) retval = 0.0;
328 if( mu<=0.01 ) x=0.01;
329 if( mu>=200.0 ) x=200.0;
331 double par[10] = { -6.21503e+00, 1.59759e+00, -4.75221e-02, -3.90299e-02, 3.97269e-03,
332 2.29574e-03, -1.05280e-04, -9.60963e-05, -1.29594e-06, 1.70850e-06 };
336 for(
int i=8;
i>=0;
i--) f = par[
i] + f*u;
346 double tmpLumi = 0.0;
347 double stepLumi = 1.0;
349 while(tmpLumi<integralLumi)
366 if(fabs(eta)<1.497)
return 1.0;
368 double result = 0.772+0.228*(3.94304e-01*
exp(-Q/5.99232
e-04)+(1-3.94304e-01)*
exp(-Q/1.58243
e-02));
377 double x = fabs(eta);
Double_t EquilibriumFractionColorCentersEM(double *x, double *par)
double LightCollectionEfficiencyWeighted(double z, double mu_ind)
static const double slope[3]
double NoiseFactorFE(double lumi, double eta)
double ResolutionConstantTermEM50GeV(double mu)
double DegradationMeanEM50GeV(double mu)
double DoseLongitudinalProfile(double z)
double InducedAbsorptionHadronic(double lumi, double eta)
static const std::string B
double ChargeVPTCathode(double instLumi, double eta, double integralLumi)
double InducedAbsorptionEM(double lumi, double eta)
DecomposeProduct< arg, typename Div::arg > D
double DegradationNonLinearityEM50GeV(double mu, double ene)
et
define resolution functions of each parameter
double DamageProfileEta(double eta)
double DamageProfileEtaAPD(double eta)
Power< A, B >::type pow(const A &a, const B &b)
double LightCollectionEfficiency(double z, double mu)
double AgingVPT(double instLumi, double integralLumi, double eta)