16 const double EtaBins[nBinsEta + 1] = {0.0, 0.7, 1.15, 1.44, 1.56, 2.0, 2.5};
18 const int nBinsBrem = 6;
19 const double BremBins[nBinsBrem + 1] = {0.8, 1.0, 2.0, 3.0, 4.0, 5.0, 10.0};
26 par0[0][0] = 0.0232291;
31 par0[0][1] = 0.00703187;
32 par1[0][1] = 0.646644;
34 par3[0][1] = 5.53373e-08;
36 par0[0][2] = 0.00692465;
37 par1[0][2] = 0.292698;
39 par3[0][2] = 5.61149e-06;
41 par0[0][3] = 0.00855993;
42 par1[0][3] = 0.280843;
44 par3[0][3] = 9.6404e-07;
46 par0[0][4] = 0.00795058;
47 par1[0][4] = 0.370007;
49 par3[0][4] = 4.43986e-07;
51 par0[0][5] = 0.0107494;
52 par1[0][5] = 0.276159;
54 par3[0][5] = 2.58822e-06;
56 par0[1][0] = 0.0614866;
61 par0[1][1] = 0.00894211;
62 par1[1][1] = 0.466937;
64 par3[1][1] = 0.000114835;
66 par0[1][2] = 0.0102959;
67 par1[1][2] = 0.313568;
69 par3[1][2] = 2.86726e-07;
71 par0[1][3] = 0.0128934;
72 par1[1][3] = 0.302943;
74 par3[1][3] = 0.00190694;
76 par0[1][4] = 0.0130199;
77 par1[1][4] = 0.505135;
79 par3[1][4] = 0.120204;
81 par0[1][5] = 0.0180839;
82 par1[1][5] = 0.382134;
84 par3[1][5] = 3.59921e-07;
86 par0[2][0] = 0.0291343;
91 par0[2][1] = 0.00876269;
92 par1[2][1] = 0.375159;
94 par3[2][1] = 0.0438575;
96 par0[2][2] = 0.0120863;
97 par1[2][2] = 0.397635;
99 par3[2][2] = 0.0469782;
101 par0[2][3] = 0.0112655;
102 par1[2][3] = 0.856565;
103 par2[2][3] = -5.76122;
104 par3[2][3] = 4.99993;
106 par0[2][4] = 0.0168267;
107 par1[2][4] = 0.636468;
108 par2[2][4] = -1.54548;
109 par3[2][4] = 4.99992;
111 par0[2][5] = 0.0168059;
112 par1[2][5] = 1.09268;
113 par2[2][5] = -0.547554;
114 par3[2][5] = 0.0952985;
116 par0[3][0] = 0.158403;
121 par0[3][1] = 0.0717431;
122 par1[3][1] = 1.66981;
123 par2[3][1] = 6.86275;
124 par3[3][1] = 0.00543544;
126 par0[3][2] = 0.0385666;
128 par2[3][2] = -3.76633;
129 par3[3][2] = 6.56718e-05;
131 par0[3][3] = 0.0142631;
132 par1[3][3] = 8.85991;
133 par2[3][3] = -32.6073;
134 par3[3][3] = 0.00119538;
136 par0[3][4] = 0.0421638;
138 par2[3][4] = -6.58653;
139 par3[3][4] = 1.10125e-05;
141 par0[3][5] = 0.046331;
142 par1[3][5] = 1.29951;
143 par2[3][5] = 1.76117;
144 par3[3][5] = 0.00204206;
146 par0[4][0] = 0.0483944;
151 par0[4][1] = 0.0168516;
152 par1[4][1] = 1.19617;
153 par2[4][1] = -6.78666;
154 par3[4][1] = 4.98192;
156 par0[4][2] = 0.0243039;
157 par1[4][2] = 0.994626;
158 par2[4][2] = -4.26073;
159 par3[4][2] = 4.99984;
161 par0[4][3] = 0.031795;
162 par1[4][3] = 0.875925;
163 par2[4][3] = 1.43183;
164 par3[4][3] = 0.0920944;
166 par0[4][4] = 0.0414953;
167 par1[4][4] = 0.654605;
168 par2[4][4] = 4.45367;
169 par3[4][4] = 0.030385;
171 par0[4][5] = 0.058031;
172 par1[4][5] = 0.292915;
173 par2[4][5] = 8.48307;
174 par3[4][5] = 0.0134321;
176 par0[5][0] = 0.107158;
181 par0[5][1] = 0.021685;
182 par1[5][1] = 0.574207;
183 par2[5][1] = -0.566981;
184 par3[5][1] = 0.0120609;
186 par0[5][2] = 0.0196619;
187 par1[5][2] = 0.940217;
188 par2[5][2] = -6.05845;
189 par3[5][2] = 0.000193818;
191 par0[5][3] = 0.0324734;
192 par1[5][3] = 0.574766;
193 par2[5][3] = -5.23571;
196 par0[5][4] = 0.0414953;
197 par1[5][4] = 0.654605;
198 par2[5][4] = 4.45367;
199 par3[5][4] = 0.030385;
201 par0[5][5] = 0.058031;
202 par1[5][5] = 0.292915;
203 par2[5][5] = 8.48307;
204 par3[5][5] = 0.0134321;
207 for (
int iEta = 0; iEta <
nBinsEta; ++iEta) {
214 for (
int iBrem = 0; iBrem < nBinsBrem; ++iBrem) {
215 if (BremBins[iBrem] <= brem && brem < BremBins[iBrem + 1]) {
221 iEtaSl = nBinsEta - 1;
222 if (brem < BremBins[0])
224 if (brem > BremBins[nBinsBrem - 1])
225 iBremSl = nBinsBrem - 1;
227 float uncertainty = 0;
229 uncertainty = par0[iEtaSl][iBremSl] + par1[iEtaSl][iBremSl] / (5 - par2[iEtaSl][iBremSl]) +
230 par3[iEtaSl][iBremSl] / ((5 - par2[iEtaSl][iBremSl]) * (5 - par2[iEtaSl][iBremSl]));
232 uncertainty = par0[iEtaSl][iBremSl] + par1[iEtaSl][iBremSl] / (200 - par2[iEtaSl][iBremSl]) +
233 par3[iEtaSl][iBremSl] / ((200 - par2[iEtaSl][iBremSl]) * (200 - par2[iEtaSl][iBremSl]));
235 if (et > 5 && et < 200)
236 uncertainty = par0[iEtaSl][iBremSl] + par1[iEtaSl][iBremSl] / (et - par2[iEtaSl][iBremSl]) +
237 par3[iEtaSl][iBremSl] / ((et - par2[iEtaSl][iBremSl]) * (et - par2[iEtaSl][iBremSl]));
239 return (uncertainty *
energy);