18 double e0 = 6.91563e-02;
19 double e1 = 1.64406e+00;
20 double e2 = 6.42509e-01;
21 double E = e0 / (1 +
exp(e1 * (log10(mu) - e2)));
23 double d0 = 3.85334e-01;
24 double d1 = -1.04647e-02;
25 double D = d0 *
exp(d1 * mu);
27 double c0 = 3.77629e-01;
28 double c1 = -3.23755e-01;
29 double c2 = 1.50247e+00;
30 double c3 = 3.03278e-01;
31 double C = -1 + c0 *
exp(c1 * mu) * (1 + c2 *
exp(c3 * mu));
33 double b0 = -3.33575e-01;
34 double b1 = 4.44856e-01;
35 double b2 = 1.91766e+00;
36 double b3 = 2.69423e+00;
37 double b4 = 1.06905e+00;
39 (1 /
mu) * (b0 + b1 * log10(mu) + b2 *
pow(log10(mu), 2) + b3 *
pow(log10(mu), 3) + b4 *
pow(log10(mu), 4));
41 double a0 = 7.18248e-02;
42 double a1 = 1.89016e+00;
43 double a2 = 2.15651e-02;
44 double a3 = 2.30786e-02;
45 double A =
exp(B * mu * 0.015) * (a0 / (
exp(a1 * (log10(mu) + a2)) + 1) + a3);
47 double R = 0.01 * D * (4 / (0.222 + E) / (0.222 + E) - 1 / ((0.22 -
z) * (z + E)));
48 f = A *
exp(-B * mu * (0.22 - z)) * (1 + C *
exp(R));
128 double mu = mu_ind + 0.7;
129 double lmu = log10(mu);
131 double e0 = 6.91563e-02;
132 double e1 = 1.64406e+00;
133 double e2 = 6.42509e-01;
134 double E = e0 / (1 +
exp(e1 * (lmu - e2)));
136 double d0 = 3.85334e-01;
137 double d1 = -1.04647e-02;
138 double D = d0 *
exp(d1 * mu);
140 double c0 = 3.77629e-01;
141 double c1 = -3.23755e-01;
142 double c2 = 1.50247e+00;
143 double c3 = 3.03278e-01;
144 double C = -1 + c0 *
exp(c1 * mu) * (1 + c2 *
exp(c3 * mu));
146 double b0 = -3.33575e-01;
147 double b1 = 4.44856e-01;
148 double b2 = 1.91766e+00;
149 double b3 = 2.69423e+00;
150 double b4 = 1.06905e+00;
151 double B = (1 /
mu) * (b0 + b1 * lmu + b2 *
pow(lmu, 2) + b3 *
pow(lmu, 3) + b4 *
pow(lmu, 4));
153 double a0 = 7.18248e-02;
154 double a1 = 1.89016e+00;
155 double a2 = 2.15651e-02;
156 double a3 = 2.30786e-02;
157 double A =
exp(B * mu * 0.015) * (a0 / (
exp(a1 * (lmu + a2)) + 1) + a3);
159 double R = 0.01 * D * (4 / (0.222 + E) / (0.222 + E) - 1 / ((0.22 * 0.22) * (1. -
z) * (z + E / 0.22)));
162 double A0 = 0.0631452;
163 double B0 = -0.52267;
164 double C0 = -0.139646;
165 double D0 = 0.382522;
166 double E0 = 0.054473;
167 double R0 = 0.01 * D0 * (4 / (0.222 + E0) / (0.222 + E0) - 1 / ((0.22 * 0.22) * (1. -
z) * (z + E0 / 0.22)));
169 double f = A / A0 *
exp(-(B * mu - B0 * 0.7) * 0.22 * (1. - z)) * (1 + C *
exp(R)) / (1 + C0 *
exp(R0));
176 double x = fabs(eta);
178 return exp(-4.11065 + 0.258478 * x);
180 return exp(-13.5112 + 7.913860 * x - 0.998649 * x * x);
186 double x = fabs(eta);
188 double et = x / 1.48 * 34.0;
189 double etaprof = (9.54827 + et * 0.0379222 + et * et * (-0.00257047) + et * et * et * 0.00073546 +
190 et * et * et * et * (-1.49683e-05)) /
201 double mu = 2.08E-13 *
pow(fluence, 1.0049);
207 double alpha = 4.72877e+00;
208 double beta = 5.91296e-01;
209 double amp1 = 6.24495e+02;
210 double amp2 = 1.84367e-01;
211 double offset = 2.00705e+01;
212 if (z >= 0.0 && z <= 22.0) {
213 double term1 = (amp1 /
TMath::Gamma(alpha)) *
pow((beta * z), (alpha - 1)) *
exp(-beta * z);
214 double term2 = amp2 * (z - 11.0) * (z - 11.0) +
offset;
215 return (term1 + term2) / 150.44;
223 double instantLumi = par[0];
228 double alpha = par[2];
229 return rate / (alpha +
rate);
235 double alpha1 = 3.41488e+00;
237 TF1 *ftmp1 =
new TF1(
"ftmp1",
244 "EquilibriumFractionColorCentersEM");
245 ftmp1->SetParameters(lumi, eta, alpha1);
246 double muEM = mu_max * ftmp1->Integral(0.0, 22.0) / 22.0;
261 double par[11] = {1.00000e+01,
273 double alpha = par[0];
275 double f1 = par[1] * x + par[2] * x *
x;
278 for (
int i = 9;
i >= 3;
i--)
279 f2 = par[
i] + f2 * u;
281 retval = f1 / (1.0 +
exp(alpha * u)) + f2 / (1.0 +
exp(-alpha * u));
282 retval =
exp(retval);
297 double par[9] = {5.17712e-03,
308 double slope = par[8];
309 for (
int i = 7;
i >= 0;
i--)
310 slope = par[
i] + slope * u;
312 double retval = 1.0 + slope * log10(ene / 50.0);
326 double par[10] = {-6.21503e+00,
339 for (
int i = 8;
i >= 0;
i--)
347 double tmpLumi = 0.0;
348 double stepLumi = 1.0;
350 while (tmpLumi < integralLumi) {
361 if (fabs(eta) < 1.497)
364 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));
370 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)