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)
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)