203 static constexpr std::array<double, 99> fyp
204 {0.0272,0.0326,0.0390,0.0464,0.0551,0.0651,0.0766,0.0898,0.1049,
205 0.1221,0.1416,0.1636,0.1883,0.2159,0.2466,0.2807,0.3182,0.3595,
206 0.4045,0.4535,0.5066,0.5637,0.6249,0.6901,0.7593,0.8324,0.9090,
207 0.9890,1.0720,1.1577,1.2454,1.3349,1.4254,1.5163,1.6070,1.6968,
208 1.7849,1.8705,1.9529,2.0313,2.1049,2.1731,2.2350,2.2901,2.3379,
209 2.3776,2.4090,2.4317,2.4454,2.4500,2.4454,2.4317,2.4090,2.3776,
210 2.3379,2.2901,2.2350,2.1731,2.1049,2.0313,1.9529,1.8705,1.7849,
211 1.6968,1.6070,1.5163,1.4254,1.3349,1.2454,1.1577,1.0720,0.9890,
212 0.9090,0.8324,0.7593,0.6901,0.6249,0.5637,0.5066,0.4535,0.4045,
213 0.3595,0.3182,0.2807,0.2466,0.2159,0.1883,0.1636,0.1416,0.1221,
214 0.1049,0.0898,0.0766,0.0651,0.0551,0.0464,0.0390,0.0326,0.0272};
216 static constexpr std::array<double, 99> xxp
217 {-3.000,-2.939,-2.878,-2.816,-2.755,-2.694,-2.633,-2.571,-2.510,
218 -2.449,-2.388,-2.327,-2.265,-2.204,-2.143,-2.082,-2.020,-1.959,
219 -1.898,-1.837,-1.776,-1.714,-1.653,-1.592,-1.531,-1.469,-1.408,
220 -1.347,-1.286,-1.224,-1.163,-1.102,-1.041,-0.980,-0.918,-0.857,
221 -0.796,-0.735,-0.673,-0.612,-0.551,-0.490,-0.429,-0.367,-0.306,
222 -0.245,-0.184,-0.122,-0.061, 0.000, 0.061, 0.122, 0.184, 0.245,
223 0.306, 0.367, 0.429, 0.490, 0.551, 0.612, 0.673, 0.735, 0.796,
224 0.857, 0.918, 0.980, 1.041, 1.102, 1.163, 1.224, 1.286, 1.347,
225 1.408, 1.469, 1.531, 1.592, 1.653, 1.714, 1.776, 1.837, 1.898,
226 1.959, 2.020, 2.082, 2.143, 2.204, 2.265, 2.327, 2.388, 2.449,
227 2.510, 2.571, 2.633, 2.694, 2.755, 2.816, 2.878, 2.939, 3.000};
235 double nu = (W2 - MN2 + Q2)/2./MN;
236 double qv = TMath::Sqrt(nu*nu + Q2);
238 double dW2dpF = 2.*qv;
239 double dW2dEs = 2.*(nu + MN);
245 for (
int i=0; i<99; i++)
247 double fyuse = fyp[i]/100.;
248 double W2p = W2 + xxp[i]*pF*dW2dpF - Es*dW2dEs;
252 double Wp = TMath::Sqrt(W2p);
255 double F1pp = sigmaTp*(W2p-Mp2)/8./
kPi2/
kAem;
257 double sigmaTd =
sigmaR(0, Q2, Wp,
true) +
sigmaNR(0, Q2, Wp,
true);
258 double F1dp = sigmaTd*(W2p-Mp2)/8./
kPi2/
kAem;
261 sigmaT += sigmaTp*fyuse;
262 sigmaL += sigmaLp*fyuse;
273 static constexpr std::array<double, 20> fyd
274 {0.4965, 0.4988, 0.4958, 0.5008, 0.5027, 0.5041, 0.5029, 0.5034,
275 0.4993, 0.5147, 0.5140, 0.4975, 0.5007, 0.4992, 0.4994, 0.4977,
276 0.5023, 0.4964, 0.4966, 0.4767};
278 static constexpr std::array<double, 20> avpz
279 {-0.1820,-0.0829,-0.0590,-0.0448,-0.0345,-0.0264,-0.0195, -0.0135,
280 -0.0079,-0.0025, 0.0029, 0.0083, 0.0139, 0.0199, 0.0268, 0.0349,
281 0.0453, 0.0598, 0.0844, 0.1853};
283 static constexpr std::array<double, 20> avp2
284 {0.0938, 0.0219, 0.0137, 0.0101, 0.0081, 0.0068, 0.0060, 0.0054,
285 0.0051, 0.0049, 0.0050, 0.0051, 0.0055, 0.0060, 0.0069, 0.0081,
286 0.0102, 0.0140, 0.0225, 0.0964};
289 static constexpr std::array<double, 200> fydf
290 {0.00001,0.00002,0.00003,0.00005,0.00006,0.00009,0.00010,0.00013,
291 0.00015,0.00019,0.00021,0.00026,0.00029,0.00034,0.00038,0.00044,
292 0.00049,0.00057,0.00062,0.00071,0.00078,0.00089,0.00097,0.00109,
293 0.00119,0.00134,0.00146,0.00161,0.00176,0.00195,0.00211,0.00232,
294 0.00252,0.00276,0.00299,0.00326,0.00352,0.00383,0.00412,0.00447,
295 0.00482,0.00521,0.00560,0.00603,0.00648,0.00698,0.00747,0.00803,
296 0.00859,0.00921,0.00985,0.01056,0.01126,0.01205,0.01286,0.01376,
297 0.01467,0.01569,0.01671,0.01793,0.01912,0.02049,0.02196,0.02356,
298 0.02525,0.02723,0.02939,0.03179,0.03453,0.03764,0.04116,0.04533,
299 0.05004,0.05565,0.06232,0.07015,0.07965,0.09093,0.10486,0.12185,
300 0.14268,0.16860,0.20074,0.24129,0.29201,0.35713,0.44012,0.54757,
301 0.68665,0.86965,1.11199,1.43242,1.86532,2.44703,3.22681,4.24972,
302 5.54382,7.04016,8.48123,9.40627,9.40627,8.48123,7.04016,5.54382,
303 4.24972,3.22681,2.44703,1.86532,1.43242,1.11199,0.86965,0.68665,
304 0.54757,0.44012,0.35713,0.29201,0.24129,0.20074,0.16860,0.14268,
305 0.12185,0.10486,0.09093,0.07965,0.07015,0.06232,0.05565,0.05004,
306 0.04533,0.04116,0.03764,0.03453,0.03179,0.02939,0.02723,0.02525,
307 0.02356,0.02196,0.02049,0.01912,0.01793,0.01671,0.01569,0.01467,
308 0.01376,0.01286,0.01205,0.01126,0.01056,0.00985,0.00921,0.00859,
309 0.00803,0.00747,0.00698,0.00648,0.00603,0.00560,0.00521,0.00482,
310 0.00447,0.00412,0.00383,0.00352,0.00326,0.00299,0.00276,0.00252,
311 0.00232,0.00211,0.00195,0.00176,0.00161,0.00146,0.00134,0.00119,
312 0.00109,0.00097,0.00089,0.00078,0.00071,0.00062,0.00057,0.00049,
313 0.00044,0.00038,0.00034,0.00029,0.00026,0.00021,0.00019,0.00015,
314 0.00013,0.00010,0.00009,0.00006,0.00005,0.00003,0.00002,0.00001};
316 static constexpr std::array<double, 200> avp2f
317 {1.0,0.98974,0.96975,0.96768,0.94782,0.94450,0.92494,0.92047,
318 0.90090,0.89563,0.87644,0.87018,0.85145,0.84434,0.82593,0.81841,
319 0.80021,0.79212,0.77444,0.76553,0.74866,0.73945,0.72264,0.71343,
320 0.69703,0.68740,0.67149,0.66182,0.64631,0.63630,0.62125,0.61154,
321 0.59671,0.58686,0.57241,0.56283,0.54866,0.53889,0.52528,0.51581,
322 0.50236,0.49291,0.47997,0.47063,0.45803,0.44867,0.43665,0.42744,
323 0.41554,0.40656,0.39511,0.38589,0.37488,0.36611,0.35516,0.34647,
324 0.33571,0.32704,0.31656,0.30783,0.29741,0.28870,0.27820,0.26945,
325 0.25898,0.25010,0.23945,0.23023,0.21943,0.20999,0.19891,0.18911,
326 0.17795,0.16793,0.15669,0.14667,0.13553,0.12569,0.11504,0.10550,
327 0.09557,0.08674,0.07774,0.06974,0.06184,0.05484,0.04802,0.04203,
328 0.03629,0.03129,0.02654,0.02247,0.01867,0.01545,0.01251,0.01015,
329 0.00810,0.00664,0.00541,0.00512,0.00512,0.00541,0.00664,0.00810,
330 0.01015,0.01251,0.01545,0.01867,0.02247,0.02654,0.03129,0.03629,
331 0.04203,0.04802,0.05484,0.06184,0.06974,0.07774,0.08674,0.09557,
332 0.10550,0.11504,0.12569,0.13553,0.14667,0.15669,0.16793,0.17795,
333 0.18911,0.19891,0.20999,0.21943,0.23023,0.23945,0.25010,0.25898,
334 0.26945,0.27820,0.28870,0.29741,0.30783,0.31656,0.32704,0.33571,
335 0.34647,0.35516,0.36611,0.37488,0.38589,0.39511,0.40656,0.41554,
336 0.42744,0.43665,0.44867,0.45803,0.47063,0.47997,0.49291,0.50236,
337 0.51581,0.52528,0.53889,0.54866,0.56283,0.57241,0.58686,0.59671,
338 0.61154,0.62125,0.63630,0.64631,0.66182,0.67149,0.68740,0.69703,
339 0.71343,0.72264,0.73945,0.74866,0.76553,0.77444,0.79212,0.80021,
340 0.81841,0.82593,0.84434,0.85145,0.87018,0.87644,0.89563,0.90090,
341 0.92047,0.92494,0.94450,0.94782,0.96768,0.96975,0.98974,1.0};
349 double nu = (W2 - MN2 + Q2)/2./MN;
350 double qv = TMath::Sqrt(nu*nu + Q2);
358 for (
int ism = 0; ism<20; ism++)
360 double W2p = TMath::Power(MD + nu - sqrt(MN2 + avp2[ism]),2) - qv*qv + 2.*qv*avpz[ism] - avp2[ism];
363 double Wp = TMath::Sqrt(W2p);
364 double sigtp =
sigmaR(0, Q2, Wp, isDeuterium) +
sigmaNR(0, Q2, Wp, isDeuterium);
365 double F1p = sigtp*(W2p-Mp2)/8./
kPi2/
kAem;
366 F1 += F1p*fyd[ism]/10.;
370 sigmaL += siglp*fyd[ism]/10.;
371 sigmaT += sigtp*fyd[ism]/10.;
378 for (
int ism = 0;ism<200;ism++)
380 double pz = -1. + 0.01*(ism + 0.5);
382 double W2p = TMath::Power(MD + nu - sqrt(MN2 + avp2f[ism]),2) - qv*qv + 2.*qv*pz - avp2f[ism];
385 double Wp = TMath::Sqrt(W2p);
386 double sigtp =
sigmaR(0, Q2, Wp, isDeuterium) +
sigmaNR(0, Q2, Wp, isDeuterium);
387 double F1p = sigtp*(W2p-Mp2)/8./
kPi2/
kAem;
388 F1 += F1p*fydf[ism]/100.;
392 sigmaT += sigtp*fydf[ism]/100.;
393 sigmaL += siglp*fydf[ism]/100.;
402 if(!isDeuterium && sigmaT!=0.)