12 double e0 = 6.91563e-02;
13 double e1 = 1.64406e+00;
14 double e2 = 6.42509e-01;
15 double E = e0 / (1 +
exp(e1 * (log10(mu) - e2)));
17 double d0 = 3.85334e-01;
18 double d1 = -1.04647e-02;
19 double D = d0 *
exp(d1 * mu);
21 double c0 = 3.77629e-01;
22 double c1 = -3.23755e-01;
23 double c2 = 1.50247e+00;
24 double c3 = 3.03278e-01;
25 double C = -1 + c0 *
exp(c1 * mu) * (1 + c2 *
exp(c3 * mu));
27 double b0 = -3.33575e-01;
28 double b1 = 4.44856e-01;
29 double b2 = 1.91766e+00;
30 double b3 = 2.69423e+00;
31 double b4 = 1.06905e+00;
33 (1 /
mu) * (b0 + b1 * log10(mu) + b2 *
pow(log10(mu), 2) + b3 *
pow(log10(mu), 3) + b4 *
pow(log10(mu), 4));
35 double a0 = 7.18248e-02;
36 double a1 = 1.89016e+00;
37 double a2 = 2.15651e-02;
38 double a3 = 2.30786e-02;
39 double A =
exp(B * mu * 0.015) * (a0 / (
exp(a1 * (log10(mu) + a2)) + 1) + a3);
41 double R = 0.01 * D * (4 / (0.222 + E) / (0.222 + E) - 1 / ((0.22 -
z) * (z + E)));
42 f = A *
exp(-B * mu * (0.22 - z)) * (1 + C *
exp(R));
122 double mu = mu_ind + 0.7;
123 double lmu = log10(mu);
125 double e0 = 6.91563e-02;
126 double e1 = 1.64406e+00;
127 double e2 = 6.42509e-01;
128 double E = e0 / (1 +
exp(e1 * (lmu - e2)));
130 double d0 = 3.85334e-01;
131 double d1 = -1.04647e-02;
132 double D = d0 *
exp(d1 * mu);
134 double c0 = 3.77629e-01;
135 double c1 = -3.23755e-01;
136 double c2 = 1.50247e+00;
137 double c3 = 3.03278e-01;
138 double C = -1 + c0 *
exp(c1 * mu) * (1 + c2 *
exp(c3 * mu));
140 double b0 = -3.33575e-01;
141 double b1 = 4.44856e-01;
142 double b2 = 1.91766e+00;
143 double b3 = 2.69423e+00;
144 double b4 = 1.06905e+00;
145 double B = (1 /
mu) * (b0 + b1 * lmu + b2 *
pow(lmu, 2) + b3 *
pow(lmu, 3) + b4 *
pow(lmu, 4));
147 double a0 = 7.18248e-02;
148 double a1 = 1.89016e+00;
149 double a2 = 2.15651e-02;
150 double a3 = 2.30786e-02;
151 double A =
exp(B * mu * 0.015) * (a0 / (
exp(a1 * (lmu + a2)) + 1) + a3);
153 double R = 0.01 * D * (4 / (0.222 + E) / (0.222 + E) - 1 / ((0.22 * 0.22) * (1. -
z) * (z + E / 0.22)));
156 double A0 = 0.0631452;
157 double B0 = -0.52267;
158 double C0 = -0.139646;
159 double D0 = 0.382522;
160 double E0 = 0.054473;
161 double R0 = 0.01 * D0 * (4 / (0.222 + E0) / (0.222 + E0) - 1 / ((0.22 * 0.22) * (1. -
z) * (z + E0 / 0.22)));
163 double f = A / A0 *
exp(-(B * mu - B0 * 0.7) * 0.22 * (1. - z)) * (1 + C *
exp(R)) / (1 + C0 *
exp(R0));
170 double x = fabs(eta);
172 return exp(-4.11065 + 0.258478 * x);
174 return exp(-13.5112 + 7.913860 * x - 0.998649 * x * x);
180 double x = fabs(eta);
182 double et = x / 1.48 * 34.0;
183 double etaprof = (9.54827 + et * 0.0379222 + et * et * (-0.00257047) + et * et * et * 0.00073546 +
184 et * et * et * et * (-1.49683e-05)) /
195 double mu = 2.08E-13 *
pow(fluence, 1.0049);
201 double alpha = 4.72877e+00;
202 double beta = 5.91296e-01;
203 double amp1 = 6.24495e+02;
204 double amp2 = 1.84367e-01;
205 double offset = 2.00705e+01;
206 if (z >= 0.0 && z <= 22.0) {
207 double term1 = (amp1 / TMath::Gamma(alpha)) *
pow((beta * z), (alpha - 1)) *
exp(-beta * z);
208 double term2 = amp2 * (z - 11.0) * (z - 11.0) +
offset;
209 return (term1 + term2) / 150.44;
217 double instantLumi = par[0];
222 double alpha = par[2];
223 return rate / (alpha +
rate);
229 double alpha1 = 3.41488e+00;
231 std::unique_ptr<TF1> ftmp1 = std::make_unique<TF1>(
"ftmp1",
238 "EquilibriumFractionColorCentersEM");
239 ftmp1->SetParameters(lumi, eta, alpha1);
240 double muEM = mu_max * ftmp1->Integral(0.0, 22.0) / 22.0;
254 double par[11] = {1.00000e+01,
266 double alpha = par[0];
268 double f1 = par[1] * x + par[2] * x *
x;
271 for (
int i = 9;
i >= 3;
i--)
272 f2 = par[
i] + f2 * u;
274 retval = f1 / (1.0 +
exp(alpha * u)) + f2 / (1.0 +
exp(-alpha * u));
275 retval =
exp(retval);
290 double par[9] = {5.17712e-03,
301 double slope = par[8];
302 for (
int i = 7;
i >= 0;
i--)
303 slope = par[
i] + slope * u;
305 double retval = 1.0 + slope * log10(ene / 50.0);
319 double par[10] = {-6.21503e+00,
332 for (
int i = 8;
i >= 0;
i--)
340 double tmpLumi = 0.0;
341 double stepLumi = 1.0;
343 while (tmpLumi < integralLumi) {
354 if (fabs(eta) < 1.497)
357 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));
363 double x = fabs(eta);
static std::vector< std::string > checklist log
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)
Exp< T >::type exp(const T &t)
double ResolutionConstantTermEM50GeV(double mu)
double DegradationMeanEM50GeV(double mu)
double DoseLongitudinalProfile(double z)
uint16_t const *__restrict__ x
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)
static constexpr float d0
DecomposeProduct< arg, typename Div::arg > D
static constexpr float a0
double DegradationNonLinearityEM50GeV(double mu, double ene)
double DamageProfileEta(double eta)
static constexpr float b2
static constexpr float b0
static constexpr float d1
double DamageProfileEtaAPD(double eta)
Power< A, B >::type pow(const A &a, const B &b)
static constexpr float b1
double LightCollectionEfficiency(double z, double mu)
double AgingVPT(double instLumi, double integralLumi, double eta)