9#include "FemtoFsiParsed.h"
15 FemtoFsiParsed::FemtoFsiParsed() {
16 fFsiAapi = {.26, .25, .348, -.0637, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
17 -.028, -.082, .2795, -.0086, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.};
18 fFsiApin = {1.2265, 15.63, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
19 -.75, 76.88, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.};
20 fFsiAand = {-3.295, -881.9, 4537., 28645., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
21 -13.837, 11.505, 0., 10.416, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
22 -32.18, 10.14, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
23 -60.213, 13.33, 0., -70.309, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.};
24 fFsiAadd = {1061.7, .003194, 568.49, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
25 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
26 -1085., 19870., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.};
27 fFsiAakk = {.247677, .01947977, .2997015, .9604, .96511, .094, .11, .333, .222};
28 fsi_aapap__ = {-.94, -1.98, .1, -1.4, .37, .1, .3, .267, -.01, 1.66, .553, -.01};
30 17., 7.8, 23.7, 2230.1218, .225, .081, -.063, -.65, -2.73, .137, -.071, -.148,
31 .112, 1e-6, 1e-6, -.36, 1e-6, 1e-6, 1.344, 1e-6, 1e-6, 1e-6, 1e-6, 1e-6,
32 1e-6, -5.628, 2.18, 2.4, 2.81, .001, -5.4, -5.4, -5.4, 0., 0., 0.,
33 0., -6.35, -11.88, 0., 0., 0., 0., 0., 0., 0., 0., 0.,
34 0., 0., 0., 0., 0., 0., 0., 0., 1.93, 1.84, .5, .001,
35 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
36 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
37 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
38 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
39 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
40 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
41 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
42 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
43 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
44 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
45 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
46 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
47 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
48 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
49 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
50 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
51 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
52 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
53 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
54 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
55 2.7, 2.8, 2.7, 1.12139906, -44.36, 64., 784.9, 477.9, 2.27, 0., 0., 0.,
56 0., 0., 0., 0., 0., 0., -69.973, 0., 0., 0., 0., 0.,
57 0., 3.529, 3.19, 3.15, 2.95, 0., 1.7, 1.7, 1.7, 0., 0., 0.,
58 0., 2., 2.63, 0., 0., 0., 0., 0., 0., 0., 0., 0.,
59 0., 0., 0., 0., 0., 0., 0., 0., 3.35, 3.37, 2.95, 0.,
60 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
61 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
62 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
63 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
64 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
65 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
66 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
67 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
68 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
69 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
70 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
71 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
72 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
73 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
74 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
75 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
76 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
77 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
78 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
79 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
80 .1149517, .1046257, .1148757, .118601, .7947389, 2.281208, 8.7, .4, .1561219, 0., 0., 0.,
81 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
82 0., 0., .1013293, .1020966, .1080476, .001, .1847221, .1847221, .1847221, 0., 0., 0.,
83 0., .4, .1150687, 0., 0., 0., 0., 0., 0., 0., 0., 0.,
84 0., 0., 0., 0., 0., 0., 0., 0., .09736083, .0970831, .1080476, .001,
85 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
86 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
87 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
88 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
89 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
90 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
91 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
92 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
93 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
94 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
95 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
96 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
97 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
98 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
99 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
100 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
101 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
102 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
103 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
104 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
105 2.545739, 2.779789, 2.585795, 5.023544, .124673, .392518, .09, 2., 4.058058, 0., 0., 0.,
106 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
107 0., 0., 2.252623, 2.278575, 2.234089, .001, 2.003144, 2.003144, 2.003144, 0., 0., 0.,
108 0., 2., 4.132163, 0., 0., 0., 0., 0., 0., 0., 0., 0.,
109 0., 0., 0., 0., 0., 0., 0., 0., 2.272703, 2.256355, 2.234089, .001,
110 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
111 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
112 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
113 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
114 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
115 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
116 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
117 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
118 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
119 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
120 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
121 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
122 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
123 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
124 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
125 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
126 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
127 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
128 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
129 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.};
130 fsi_rhoh__ = {.25, .25, .25, 1., 1., 1., 1., .3333, .3333, 1., 1., 1., 1., 1., 1., 1., 1., .1111, 1., .25,
131 1., 1., 1., .3333, .25, 1., .25, .25, .25, .25, .75, .75, .75, 0., 0., 0., 0., .6667, .6667, 0.,
132 0., 0., 0., 0., 0., 0., 0., .3333, 0., .75, 0., 0., 0., .6667, .75, 0., .75, .75, .75, .75,
133 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., .5556, 0., 0.,
134 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
135 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
136 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
137 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
138 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
139 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
140 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
141 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
142 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
143 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
144 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.};
146 .93956563, .93827231, .93956563, 3.72737978, .13957, .13498, .13957, .93956563, .93827231, .13957,
147 .13957, .13957, .13957, .493677, .493677, .493677, .493677, 1.87561339, 1.87561339, 2.80892165,
148 2.80892165, .497672, .497672, 1.87561339, .93827231, .93827231, .93827231, .93956563, 1.115684, .93827231,
149 .93956563, .93827231, .93827231, 3.72737978, .13957, .13498, .13957, 1.87561339, 1.87561339, .493677,
150 .493677, .93827231, .93827231, .493677, .493677, .93827231, .93827231, 1.87561339, 3.72737978, 2.80892165,
151 3.72737978, .497672, .497672, 2.80892165, 2.80892165, 3.72737978, 1.115684, 1.115684, 1.115684, .93827231,
152 0., 1., 0., 2., 1., 0., 1., 0., 1., 1.,
153 1., 1., -1., 1., 1., 1., -1., 1., 1., 1.,
154 1., 0., 0., 1., 1., 1., 1., 0., 0., 1.,
155 0., 1., 1., 2., -1., 0., 1., 1., 1., -1.,
156 1., 1., 1., -1., 1., 1., 1., 1., 2., 1.,
157 2., 0., 0., 1., 1., 2., 0., 0., 0., -1.,
158 2, 2, 2, 1, 1, 1, 1, 2, 2, 1,
159 1, 1, 1, 1, 1, 1, 1, 3, 1, 2,
160 1, 1, 1, 2, 2, 1, 2, 2, 2, 2};
162 c_b5 = {(Double_t) 1., (Double_t) 0.};
173 void FemtoFsiParsed::Fsiw(
int j, Double_t& weif, Double_t& wei, Double_t& wein) {
175 c1n = fFsiPoc.c1 * fFsiPoc.cn;
176 if (c1n != 0.) { fFsiPoc.ac1 = 137.036 / (c1n * fFsiMom.e1); }
178 c2n = fFsiPoc.c2 * fFsiPoc.cn;
179 if (c2n != 0.) { fFsiPoc.ac2 = 137.036 / (c2n * fFsiMom.e2); }
192 if (fFsiNs.i3c * j != 0) {
193 fFsiFppn.ff12.r = 1., fFsiFppn.ff12.i = 0.;
194 fFsiFppn.ff21.r = 1., fFsiFppn.ff21.i = 0.;
202 void FemtoFsiParsed::Ltran(Double_t* p0, Double_t* p, Double_t* ps) {
206 static Double_t h, am0, pp0, p0s, epm;
224 p0s = d1 * d1 + d2 * d2 + d3 * d3;
227 am0 = TMath::Sqrt(d1 * d1 - p0s);
229 pp0 = p[1] * p0[1] + p[2] * p0[2] + p[3] * p0[3];
230 h = (pp0 / epm - p[4]) / am0;
231 ps[1] = p[1] + p0[1] * h;
232 ps[2] = p[2] + p0[2] * h;
233 ps[3] = p[3] + p0[3] * h;
234 ps[4] = (p0[4] * p[4] - pp0) / am0;
237 void FemtoFsiParsed::Ltranb(Double_t* p0, Double_t* ps, Double_t* p) {
238 Double_t d__1, d__2, d__3;
241 Double_t hs, am0, p0s, epm, psp0;
259 p0s = d__1 * d__1 + d__2 * d__2 + d__3 * d__3;
262 am0 = TMath::Sqrt(d__1 * d__1 - p0s);
264 psp0 = ps[1] * p0[1] + ps[2] * p0[2] + ps[3] * p0[3];
265 hs = (psp0 / epm + ps[4]) / am0;
266 p[1] = ps[1] + p0[1] * hs;
267 p[2] = ps[2] + p0[2] * hs;
268 p[3] = ps[3] + p0[3] * hs;
269 p[4] = (p0[4] * ps[4] + psp0) / am0;
272 void FemtoFsiParsed::Ltran12() {
273 Double_t d__1, d__2, d__3;
275 Double_t h1, ee, p112, p1s, p2s, p12s;
282 fFsiCoor.x1 *= fFsiCons.w;
283 fFsiCoor.y1 *= fFsiCons.w;
284 fFsiCoor.z1 *= fFsiCons.w;
285 fFsiCoor.t1 *= fFsiCons.w;
286 fFsiCoor.x2 *= fFsiCons.w;
287 fFsiCoor.y2 *= fFsiCons.w;
288 fFsiCoor.z2 *= fFsiCons.w;
289 fFsiCoor.t2 *= fFsiCons.w;
291 fFsiCoor.r1 = TMath::Sqrt(fFsiCoor.x1 * fFsiCoor.x1 + fFsiCoor.y1 * fFsiCoor.y1 + fFsiCoor.z1 * fFsiCoor.z1);
292 fFsiCoor.r2 = TMath::Sqrt(fFsiCoor.x2 * fFsiCoor.x2 + fFsiCoor.y2 * fFsiCoor.y2 + fFsiCoor.z2 * fFsiCoor.z2);
293 p1s = fFsiMom.p1x * fFsiMom.p1x + fFsiMom.p1y * fFsiMom.p1y + fFsiMom.p1z * fFsiMom.p1z;
294 p2s = fFsiMom.p2x * fFsiMom.p2x + fFsiMom.p2y * fFsiMom.p2y + fFsiMom.p2z * fFsiMom.p2z;
295 fFsiMom.p1 = TMath::Sqrt(p1s);
296 fFsiMom.p2 = TMath::Sqrt(p2s);
297 fFsiMom.e1 = TMath::Sqrt(fFsiPoc.am1 * fFsiPoc.am1 + p1s);
298 fFsiMom.e2 = TMath::Sqrt(fFsiPoc.am2 * fFsiPoc.am2 + p2s);
300 fSi_p12.e12 = fFsiMom.e1 + fFsiMom.e2;
301 fSi_p12.p12x = fFsiMom.p1x + fFsiMom.p2x;
302 fSi_p12.p12y = fFsiMom.p1y + fFsiMom.p2y;
303 fSi_p12.p12z = fFsiMom.p1z + fFsiMom.p2z;
310 p12s = d__1 * d__1 + d__2 * d__2 + d__3 * d__3;
313 fSi_p12.am12 = TMath::Sqrt(d__1 * d__1 - p12s);
314 fSi_p12.epm = fSi_p12.e12 + fSi_p12.am12;
315 fSi_p12.p12 = TMath::Sqrt(p12s);
316 p112 = fFsiMom.p1x * fSi_p12.p12x + fFsiMom.p1y * fSi_p12.p12y + fFsiMom.p1z * fSi_p12.p12z;
317 h1 = (p112 / fSi_p12.epm - fFsiMom.e1) / fSi_p12.am12;
318 fFsiPrf.ppx = fFsiMom.p1x + fSi_p12.p12x * h1;
319 fFsiPrf.ppy = fFsiMom.p1y + fSi_p12.p12y * h1;
320 fFsiPrf.ppz = fFsiMom.p1z + fSi_p12.p12z * h1;
321 ee = (fSi_p12.e12 * fFsiMom.e1 - p112) / fSi_p12.am12;
326 fFsiPrf.aks = d__1 * d__1 - d__2 * d__2;
327 fFsiPrf.ak = TMath::Sqrt(fFsiPrf.aks);
332 void FemtoFsiParsed::Fsipn(Double_t& weif) {
343 fFsiFppn.ff12.r = 1., fFsiFppn.ff12.i = 0.;
344 fFsiFppn.ff21.r = 1., fFsiFppn.ff21.i = 0.;
347 if (fFsiNs.i3c == 0) {
return; }
348 fIch = (int) fFsiPoc.c1;
349 if (fIch == 0) {
goto L11; }
350 xh = fFsiPoc.ac1 * fFsiMom.p1;
351 fFsiAch._1.ach = Acp(xh);
352 fFsiAch._1.achr = TMath::Sqrt(fFsiAch._1.ach);
354 if (xh != 0.) { fEta = 1 / xh; }
355 rhos = fFsiMom.p1 * fFsiCoor.r1;
356 hs = fFsiCoor.x1 * fFsiMom.p1x + fFsiCoor.y1 * fFsiMom.p1y + fFsiCoor.z1 * fFsiMom.p1z;
358 z__1.r = fFsiFppn.ff12.r * z__2.r - fFsiFppn.ff12.i * z__2.i, z__1.i = fFsiFppn.ff12.r * z__2.i + fFsiFppn.ff12.i * z__2.r;
359 fFsiFppn.ff12.r = z__1.r, fFsiFppn.ff12.i = z__1.i;
360 if (fFsiNs.iqs == 0) {
goto L11; }
361 rhos = fFsiMom.p1 * fFsiCoor.r2;
362 hs = fFsiCoor.x2 * fFsiMom.p1x + fFsiCoor.y2 * fFsiMom.p1y + fFsiCoor.z2 * fFsiMom.p1z;
364 z__1.r = fFsiFppn.ff21.r * z__2.r - fFsiFppn.ff21.i * z__2.i, z__1.i = fFsiFppn.ff21.r * z__2.i + fFsiFppn.ff21.i * z__2.r;
365 fFsiFppn.ff21.r = z__1.r, fFsiFppn.ff21.i = z__1.i;
367 fIch = (int) fFsiPoc.c2;
368 if (fIch == 0) {
goto L10; }
369 xh = fFsiPoc.ac2 * fFsiMom.p2;
370 fFsiAch._1.ach = Acp(xh);
371 fFsiAch._1.achr = TMath::Sqrt(fFsiAch._1.ach);
373 if (xh != 0.) { fEta = 1 / xh; }
374 rhos = fFsiMom.p2 * fFsiCoor.r2;
375 hs = fFsiCoor.x2 * fFsiMom.p2x + fFsiCoor.y2 * fFsiMom.p2y + fFsiCoor.z2 * fFsiMom.p2z;
377 z__1.r = fFsiFppn.ff12.r * z__2.r - fFsiFppn.ff12.i * z__2.i, z__1.i = fFsiFppn.ff12.r * z__2.i + fFsiFppn.ff12.i * z__2.r;
378 fFsiFppn.ff12.r = z__1.r, fFsiFppn.ff12.i = z__1.i;
382 if (fFsiNs.iqs == 0) {
goto L10; }
383 rhos = fFsiMom.p2 * fFsiCoor.r1;
384 hs = fFsiCoor.x1 * fFsiMom.p2x + fFsiCoor.y1 * fFsiMom.p2y + fFsiCoor.z1 * fFsiMom.p2z;
386 z__1.r = fFsiFppn.ff21.r * z__2.r - fFsiFppn.ff21.i * z__2.i, z__1.i = fFsiFppn.ff21.r * z__2.i + fFsiFppn.ff21.i * z__2.r;
387 fFsiFppn.ff21.r = z__1.r, fFsiFppn.ff21.i = z__1.i;
394 d__1 = fFsiFppn.ff12.r;
396 d__2 = d_imag(&fFsiFppn.ff12);
397 weif = d__1 * d__1 + d__2 * d__2;
398 if (fFsiNs.iqs == 1) {
400 d__1 = fFsiFppn.ff21.r;
402 d__2 = d_imag(&fFsiFppn.ff21);
403 weif = (weif + d__1 * d__1 + d__2 * d__2) * .5;
407 FemtoFsiParsed::~FemtoFsiParsed() {
411 Double_t FemtoFsiParsed::Gpipi(Double_t x,
int j) {
413 Double_t ret_val, d__1;
420 om = TMath::Sqrt(x + fsi_c__._1.ams);
421 xx = x / fsi_c__._1.ams;
422 ret_val = om / fFsiAapi.e_1[j * 20 - 20];
424 d__1 = fFsiAapi.e_1[j * 20 - 20];
425 ret_val *= (fFsiAapi.e_1[j * 20 - 18] - d__1 * d__1) * xx + 1 + fFsiAapi.e_1[j * 20 - 17] * xx * xx;
426 ret_val /= (fFsiAapi.e_1[j * 20 - 18] + fFsiAapi.e_1[j * 20 - 19] / fFsiAapi.e_1[j * 20 - 20]) * xx + 1;
430 Double_t FemtoFsiParsed::Gpin(Double_t x,
int j) {
436 ret_val = 1 / fFsiApin.e_1[j * 20 - 20] + fFsiApin.e_1[j * 20 - 19] * .5 * x;
440 Double_t FemtoFsiParsed::Gnd(Double_t x,
int j) {
452 ret_val = 1 / fFsiAand.e_1[j * 20 - 20] + fFsiAand.e_1[j * 20 - 19] * .5 * x;
453 for (i__ = 4; i__ <= 4; ++i__) {
456 ret_val += fFsiAand.e_1[i__ + j * 20 - 21] * xx;
458 ret_val /= fFsiAand.e_1[j * 20 - 18] * x + 1;
462 Double_t FemtoFsiParsed::Gdd(Double_t x,
int j) {
466 Double_t e, er, tand;
470 e = x / 2 / fsi_c__._2.am;
473 ret_val = er * (fFsiAadd.e_1[0] * exp(-e / fFsiAadd.e_1[1]) - fFsiAadd.e_1[2]);
474 ret_val /= fFsiCons.dr;
476 tand = TMath::Tan(ret_val);
477 if (tand == 0.) { tand = 1e-10; }
478 ret_val = TMath::Sqrt(x) / tand;
480 if (j == 2) { ret_val = 1e10; }
482 ret_val = er * (fFsiAadd.e_1[40] + fFsiAadd.e_1[41] * e);
483 ret_val /= fFsiCons.dr;
485 tand = TMath::Tan(ret_val);
486 if (tand == 0.) { tand = 1e-10; }
487 ret_val = TMath::Sqrt(x) / tand;
492 Double_t FemtoFsiParsed::DfrSin(Double_t x) {
495 Double_t c0 = 1.2533141373155003;
499 Double_t b[16] = {.630414043145705392,
500 -.423445114057053335,
502 -.162494891545095674,
504 -.005645634771321909,
515 Double_t c1[26] = {.990560479373497549,
516 -.012183509831478997,
541 Double_t c2[29] = {.0465577987375164561,
543 -.0017542871396514532,
544 -1.465340025810678e-4,
572 Double_t ret_val, d__1;
577 Double_t r__, s, v, y, b0, b1, b2, alfa;
584 h__ = d__1 * d__1 * 2 - 1;
588 for (i__ = nb; i__ >= 0; --i__) {
589 b0 = b[i__] + alfa * b1 - b2;
594 h__ = TMath::Sqrt(v) * y * (b0 - b2);
601 for (i__ = nc1; i__ >= 0; --i__) {
602 b0 = c1[i__] + alfa * b1 - b2;
610 for (i__ = nc2; i__ >= 0; --i__) {
611 b0 = c2[i__] + alfa * b1 - b2;
616 h__ = c0 - TMath::Sqrt(r__) * (s * TMath::Cos(v) + (b0 - h__ * b2) * TMath::Sin(v));
618 if (x < 0.) { h__ = -h__; }
623 Double_t FemtoFsiParsed::DfrCos(Double_t x) {
626 Double_t c0 = 1.2533141373155003;
630 Double_t a[17] = {.764351386641860002,
631 -.431355475476601793,
637 -1.62649776188875e-4,
647 Double_t c1[26] = {.990560479373497549,
648 -.012183509831478997,
673 Double_t c2[29] = {.0465577987375164561,
675 -.0017542871396514532,
676 -1.465340025810678e-4,
704 Double_t ret_val, d__1;
709 Double_t r__, s, v, b0, b1, b2, alfa;
715 h__ = d__1 * d__1 * .03125 - 1;
719 for (i__ = na; i__ >= 0; --i__) {
720 b0 = a[i__] + alfa * b1 - b2;
725 h__ = TMath::Sqrt(v) * (b0 - h__ * b2);
732 for (i__ = nc1; i__ >= 0; --i__) {
733 b0 = c1[i__] + alfa * b1 - b2;
741 for (i__ = nc2; i__ >= 0; --i__) {
742 b0 = c2[i__] + alfa * b1 - b2;
747 h__ = c0 - TMath::Sqrt(r__) * ((b0 - h__ * b2) * TMath::Cos(v) - s * TMath::Sin(v));
749 if (x < 0.) { h__ = -h__; }
754 void FemtoFsiParsed::Cgamma(complex& ret_val, complex& z__) {
757 Double_t pi = (Double_t) 3.14159265358979324;
758 Double_t c1 = (Double_t) 2.5066282746310005;
759 Double_t c__[16] = {(Double_t) 41.624436916439068,
760 (Double_t) -51.224241022374774,
761 (Double_t) 11.338755813488977,
762 (Double_t) -.747732687772388,
763 (Double_t) .008782877493061,
764 (Double_t) -1.899030264e-6,
765 (Double_t) 1.946335e-9,
766 (Double_t) -1.99345e-10,
767 (Double_t) 8.433e-12,
768 (Double_t) 1.486e-12,
769 (Double_t) -8.06e-13,
771 (Double_t) -1.02e-13,
781 complex q__1, q__2, q__3, q__4, q__5, q__6, q__7;
792 u.r = z__.r, u.i = z__.i;
794 if (r_imag(&u) == (Double_t) 0. && -TMath::Abs(x) == (Double_t)((
int) x)) {
795 f.r = (Double_t) 0., f.i = (Double_t) 0.;
796 h__.r = (Double_t) 0., h__.i = (Double_t) 0.;
800 if (x >= (Double_t) 1.) {
801 f.r = (Double_t) 1., f.i = (Double_t) 0.;
802 v.r = u.r, v.i = u.i;
803 }
else if (x >= (Double_t) 0.) {
804 c_div(&q__1, &c_b5, &u);
805 f.r = q__1.r, f.i = q__1.i;
806 q__1.r = u.r + 1, q__1.i = u.i;
807 v.r = q__1.r, v.i = q__1.i;
809 f.r = (Double_t) 1., f.i = (Double_t) 0.;
810 q__1.r = 1 - u.r, q__1.i = -u.i;
811 v.r = q__1.r, v.i = q__1.i;
813 h__.r = (Double_t) 1., h__.i = (Double_t) 0.;
814 s.r = c__[0], s.i = (Double_t) 0.;
815 for (k = 1; k <= 15; ++k) {
816 q__3.r = v.r - k, q__3.i = v.i;
818 q__4.r = v.r + i__1, q__4.i = v.i;
819 c_div(&q__2, &q__3, &q__4);
820 q__1.r = q__2.r * h__.r - q__2.i * h__.i, q__1.i = q__2.r * h__.i + q__2.i * h__.r;
821 h__.r = q__1.r, h__.i = q__1.i;
825 q__2.r = c__[i__1] * h__.r, q__2.i = c__[i__1] * h__.i;
826 q__1.r = s.r + q__2.r, q__1.i = s.i + q__2.i;
827 s.r = q__1.r, s.i = q__1.i;
829 q__1.r = v.r + (Double_t) 4.5, q__1.i = v.i;
830 h__.r = q__1.r, h__.i = q__1.i;
831 q__6.r = v.r - (Double_t) .5, q__6.i = v.i;
833 q__5.r = q__6.r * q__7.r - q__6.i * q__7.i, q__5.i = q__6.r * q__7.i + q__6.i * q__7.r;
834 q__4.r = q__5.r - h__.r, q__4.i = q__5.i - h__.i;
836 q__2.r = c1 * q__3.r, q__2.i = c1 * q__3.i;
837 q__1.r = q__2.r * s.r - q__2.i * s.i, q__1.i = q__2.r * s.i + q__2.i * s.r;
838 h__.r = q__1.r, h__.i = q__1.i;
839 if (x < (Double_t) 0.) {
840 q__2.r = pi, q__2.i = (Double_t) 0.;
841 q__5.r = pi * u.r, q__5.i = pi * u.i;
843 q__3.r = q__4.r * h__.r - q__4.i * h__.i, q__3.i = q__4.r * h__.i + q__4.i * h__.r;
844 c_div(&q__1, &q__2, &q__3);
845 h__.r = q__1.r, h__.i = q__1.i;
849 q__1.r = f.r * h__.r - f.i * h__.i, q__1.i = f.r * h__.i + f.i * h__.r;
850 ret_val.r = q__1.r, ret_val.i = q__1.i;
856 void FemtoFsiParsed::Ckkb() {
869 Double_t d__1, d__2, d__3;
870 complex z__1, z__2, z__3, z__4;
873 Double_t s, s4, eeta2, akpipi, akpieta;
877 s4 = fFsiPrf.aks + fFsiAakk.e_1[0];
879 akpipi = TMath::Sqrt(s4 - fFsiAakk.e_1[1]);
881 d__1 = s + fFsiAakk.e_1[2] - fFsiAakk.e_1[1];
882 eeta2 = d__1 * d__1 / 4 / s;
883 akpieta = TMath::Sqrt(eeta2 - fFsiAakk.e_1[2]);
884 d__1 = fFsiAakk.e_1[5] / 2;
885 z__2.r = d__1, z__2.i = 0.;
886 d__2 = fFsiAakk.e_1[3] - s;
887 d__3 = -fFsiPrf.ak * fFsiAakk.e_1[5] - akpipi * fFsiAakk.e_1[6];
888 z__3.r = d__2, z__3.i = d__3;
889 z_div(&z__1, &z__2, &z__3);
890 fsi_c__._2.c__[0].r = z__1.r, fsi_c__._2.c__[0].i = z__1.i;
891 d__1 = fFsiAakk.e_1[7] / 2;
892 z__3.r = d__1, z__3.i = 0.;
893 d__2 = fFsiAakk.e_1[4] - s;
894 d__3 = -fFsiPrf.ak * fFsiAakk.e_1[7] - akpieta * fFsiAakk.e_1[8];
895 z__4.r = d__2, z__4.i = d__3;
896 z_div(&z__2, &z__3, &z__4);
897 z__1.r = fsi_c__._2.c__[0].r + z__2.r, z__1.i = fsi_c__._2.c__[0].i + z__2.i;
898 fsi_c__._2.c__[0].r = z__1.r, fsi_c__._2.c__[0].i = z__1.i;
902 void FemtoFsiParsed::Cpap() {
903 Double_t AM2 = .93956563;
905 Double_t AM = fsi_c__._2.am;
906 Double_t AMU2_AMU1 = AM2 / AM;
907 Double_t AKS = fFsiPrf.aks;
908 Double_t AK2S0 = AMU2_AMU1 * AKS;
909 Double_t AK2S = fsi_2cha__.ak2s;
910 AK2S = AK2S0 - 2 * AM2 * (AM2 - AM);
914 fsi_2cha__.ak2 = TMath::Sqrt(AK2S);
916 fsi_2cha__.ak2 = TMath::Sqrt(-AK2S);
919 Int_t ISPIN = fFsiAch._1.ispin;
920 Double_t a_re = fsi_aapap__1.aapapr[fFsiAch._1.ispin * 3 - 1] * fFsiPrf.aks / 2 - .016 - fsi_2cha__.hcp2;
921 Double_t a_im = fsi_aapap__1.aapapi[fFsiAch._1.ispin * 3 - 1] * fFsiPrf.aks / 2 - fsi_2cha__.aak;
922 TComplex C10 = GetC(6 + (ISPIN - 1) * 2) + TComplex(a_re, a_im);
923 a_re = fsi_aapap__1.aapapr[fFsiAch._1.ispin * 3 - 1] * AK2S0 / 2;
924 a_im = fsi_aapap__1.aapapi[fFsiAch._1.ispin * 3 - 1] * AK2S0 / 2;
925 TComplex C5 = GetC(6 + (ISPIN - 1) * 2 - 1) + TComplex(a_re, a_im);
927 C5 = C5 - TComplex(0, fsi_2cha__.ak2);
929 C5 = C5 + TComplex(fsi_2cha__.ak2, 0);
931 C10 = C10 * C5 - GetC(7 + (ISPIN - 1) * 2 - 1) * GetC(7 + (ISPIN - 1) * 2 - 1);
932 SetC(C5 / C10, ISPIN - 1);
933 SetC(-GetC(7 + (ISPIN - 1) * 2 - 1) / C10, ISPIN + 2 - 1);
938 void FemtoFsiParsed::Fsiin(
int i_itest__,
int i_ich__,
int i_iqs__,
int i_isi__,
int i_i3c__) {
946 fFsiCons.w = 5.0684237202230102;
949 fFsiCons.spi = TMath::Sqrt(TMath::Pi());
950 fFsiCons.dr = 180. / TMath::Pi();
966 fFsiNs.ich = i_ich__;
967 fFsiNs.iqs = i_iqs__;
968 fFsiNs.isi = i_isi__;
969 fFsiNs.i3c = i_i3c__;
973 for (j1 = 1; j1 <= 30; ++j1) {
974 for (j2 = 1; j2 <= 10; ++j2) {
975 fsi_fdh__1.fdh[j1 + j2 * 30 - 31] *= fFsiCons.w;
976 fsi_fdh__1.rdh[j1 + j2 * 30 - 31] *= fFsiCons.w;
978 fsi_fdh__1.rbh[j1 + j2 * 30 - 31] *= fFsiCons.w;
987 void FemtoFsiParsed::Llini(
int lll,
int i_ns__,
int i_itest__) {
992 int i__1, i__2, i__3, i__4, i__5, i__6;
994 complex z__1, z__2, z__3, z__4, z__5;
1003 Double_t daks, aksh;
1004 Double_t gpi1h, gpi2h;
1014 fFsiPoc.am1 = fsi_amch__1.am1h[fFsiNs.ll - 1];
1015 fFsiPoc.am2 = fsi_amch__1.am2h[fFsiNs.ll - 1];
1016 fFsiPoc.c1 = fsi_amch__1.c1h[fFsiNs.ll - 1];
1017 fFsiPoc.c2 = fsi_amch__1.c2h[fFsiNs.ll - 1];
1031 if (i_itest__ != 1) {
1033 if (fFsiPoc.c1 * fFsiPoc.c2 != 0.) { fFsiNs.ich = 1; }
1035 if (fFsiPoc.c1 + fFsiPoc.am1 == fFsiPoc.c2 + fFsiPoc.am2) { fFsiNs.iqs = 1; }
1043 fsi_c__._2.am = fFsiPoc.am1 * 2 * fFsiPoc.am2 / (fFsiPoc.am1 + fFsiPoc.am2);
1044 fsi_c__._2.ams = fsi_c__._2.am * fsi_c__._2.am;
1045 fsi_c__._2.dm = (fFsiPoc.am1 - fFsiPoc.am2) / (fFsiPoc.am1 + fFsiPoc.am2);
1046 fFsiAch._1.ac = 1e10;
1047 c12 = fFsiPoc.c1 * fFsiPoc.c2;
1048 if (c12 != 0.) { fFsiAch._1.ac = 274.072 / (c12 * fsi_c__._2.am); }
1050 fFsiAch._1.mspin = fsi_amch__1.mspinh[fFsiNs.ll - 1];
1052 msp = fFsiAch._1.mspin;
1053 for (fFsiAch._1.ispin = 1; fFsiAch._1.ispin <= 10; ++fFsiAch._1.ispin) {
1055 fsi_spin__.rho[fFsiAch._1.ispin - 1] = fsi_rhoh__1.rhoh[fFsiNs.ll + fFsiAch._1.ispin * 30 - 31];
1061 if (fFsiNs.ns == 2 || fFsiNs.ns == 4) { fsi_aa__.aa = 6.; }
1066 for (jj = 1; jj <= i__1; ++jj) {
1067 fFsiAch._1.ispin = jj;
1068 fsi_fd__.fd[jj - 1] = fsi_fdh__1.fdh[fFsiNs.ll + jj * 30 - 31];
1069 fsi_fd__.rd[jj - 1] = fsi_fdh__1.rdh[fFsiNs.ll + jj * 30 - 31];
1070 fsi_sw__.eb[jj - 1] = fsi_fdh__1.ebh[fFsiNs.ll + jj * 30 - 31];
1071 fsi_sw__.rb[jj - 1] = fsi_fdh__1.rbh[fFsiNs.ll + jj * 30 - 31];
1074 if (fFsiNs.ll == 8 || fFsiNs.ll == 9) {
1075 jh = fFsiNs.ll - 7 + (jj << 1) - 2;
1076 fsi_fd__.fd[jj - 1] = fFsiAand.e_1[jh * 20 - 20];
1077 fsi_fd__.rd[jj - 1] = fFsiAand.e_1[jh * 20 - 19] - fFsiAand.e_1[jh * 20 - 18] * 2 / fFsiAand.e_1[jh * 20 - 20];
1080 if (fFsiNs.ll == 5 || fFsiNs.ll == 6 || fFsiNs.ll == 7) {
1081 if (fFsiNs.ll == 7) { fsi_fd__.fd[jj - 1] = fFsiAapi.e_1[20] / fsi_c__._2.am; }
1082 if (fFsiNs.ll == 5) { fsi_fd__.fd[jj - 1] = (fFsiAapi.e_1[0] * .6667 + fFsiAapi.e_1[20] * .3333) / fsi_c__._2.am; }
1083 if (fFsiNs.ll == 6) { fsi_fd__.fd[jj - 1] = (fFsiAapi.e_1[0] * .3333 + fFsiAapi.e_1[20] * .6667) / fsi_c__._2.am; }
1086 aksh = fFsiPrf.aks + daks;
1087 akh = TMath::Sqrt(aksh);
1088 gpi1h = Gpipi(aksh, c__1);
1089 gpi2h = Gpipi(aksh, c__2);
1090 h__ = 1 / fsi_fd__.fd[jj - 1];
1091 if (fFsiNs.ll == 7) {
1094 z__2.r = gpi2h, z__2.i = d__1;
1095 z_div(&z__1, &c_b2, &z__2);
1096 fsi_c__._2.c__[i__2].r = z__1.r, fsi_c__._2.c__[i__2].i = z__1.i;
1098 if (fFsiNs.ll == 5) {
1101 z__3.r = gpi1h, z__3.i = d__1;
1102 z_div(&z__2, &c_b33, &z__3);
1104 z__5.r = gpi2h, z__5.i = d__2;
1105 z_div(&z__4, &c_b34, &z__5);
1106 z__1.r = z__2.r + z__4.r, z__1.i = z__2.i + z__4.i;
1107 fsi_c__._2.c__[i__2].r = z__1.r, fsi_c__._2.c__[i__2].i = z__1.i;
1109 if (fFsiNs.ll == 6) {
1112 z__3.r = gpi1h, z__3.i = d__1;
1113 z_div(&z__2, &c_b34, &z__3);
1115 z__5.r = gpi2h, z__5.i = d__2;
1116 z_div(&z__4, &c_b33, &z__5);
1117 z__1.r = z__2.r + z__4.r, z__1.i = z__2.i + z__4.i;
1118 fsi_c__._2.c__[i__2].r = z__1.r, fsi_c__._2.c__[i__2].i = z__1.i;
1120 z_div(&z__1, &c_b2, &fsi_c__._2.c__[jj - 1]);
1122 fsi_fd__.rd[jj - 1] = (hh - h__) * 2 / daks;
1125 if (fFsiNs.ll == 12 || fFsiNs.ll == 13) {
1126 if (fFsiNs.ll == 12) { fsi_fd__.fd[jj - 1] = fFsiApin.e_1[20]; }
1127 if (fFsiNs.ll == 13) { fsi_fd__.fd[jj - 1] = fFsiApin.e_1[0] * .6667 + fFsiApin.e_1[20] * .3333; }
1130 aksh = fFsiPrf.aks + daks;
1131 akh = TMath::Sqrt(aksh);
1132 gpi1h = Gpin(aksh, c__1);
1133 gpi2h = Gpin(aksh, c__2);
1134 h__ = 1 / fsi_fd__.fd[jj - 1];
1135 if (fFsiNs.ll == 12) {
1138 z__2.r = gpi2h, z__2.i = d__1;
1139 z_div(&z__1, &c_b2, &z__2);
1140 fsi_c__._2.c__[i__2].r = z__1.r, fsi_c__._2.c__[i__2].i = z__1.i;
1142 if (fFsiNs.ll == 13) {
1145 z__3.r = gpi1h, z__3.i = d__1;
1146 z_div(&z__2, &c_b33, &z__3);
1148 z__5.r = gpi2h, z__5.i = d__2;
1149 z_div(&z__4, &c_b34, &z__5);
1150 z__1.r = z__2.r + z__4.r, z__1.i = z__2.i + z__4.i;
1151 fsi_c__._2.c__[i__2].r = z__1.r, fsi_c__._2.c__[i__2].i = z__1.i;
1153 z_div(&z__1, &c_b2, &fsi_c__._2.c__[jj - 1]);
1155 fsi_fd__.rd[jj - 1] = (hh - h__) * 2 / daks;
1158 if (fFsiNs.ll == 30) {
1160 for (i3 = 1; i3 <= 3; ++i3) {
1161 fsi_aapap__1.aapapr[i3 + jj * 3 - 4] *= fFsiCons.w;
1163 fsi_aapap__1.aapapi[i3 + jj * 3 - 4] *= fFsiCons.w;
1169 i__2 = ((jj - 1) << 1) + 6;
1172 z__3.r = fsi_aapap__1.aapapr[i__3], z__3.i = fsi_aapap__1.aapapi[i__4];
1174 z__2.r = d__1 * z__3.r, z__2.i = d__1 * z__3.i;
1177 z__4.r = fsi_aapap__1.aapapr[i__5], z__4.i = fsi_aapap__1.aapapi[i__6];
1178 z__1.r = z__2.r * z__4.r - z__2.i * z__4.i, z__1.i = z__2.r * z__4.i + z__2.i * z__4.r;
1179 fsi_c__._2.c__[i__2].r = z__1.r, fsi_c__._2.c__[i__2].i = z__1.i;
1181 i__2 = ((jj - 1) << 1) + 5;
1182 d__1 = fsi_aapap__1.aapapr[jj * 3 - 3] + fsi_aapap__1.aapapr[jj * 3 - 2];
1183 d__2 = fsi_aapap__1.aapapi[jj * 3 - 3] + fsi_aapap__1.aapapi[jj * 3 - 2];
1184 z__2.r = d__1, z__2.i = d__2;
1186 &fsi_c__._2.c__[((jj - 1) << 1) + 6]);
1187 fsi_c__._2.c__[i__2].r = z__1.r, fsi_c__._2.c__[i__2].i = z__1.i;
1189 i__2 = ((jj - 1) << 1) + 6;
1190 d__1 = fsi_aapap__1.aapapr[jj * 3 - 3] - fsi_aapap__1.aapapr[jj * 3 - 2];
1191 d__2 = fsi_aapap__1.aapapi[jj * 3 - 3] - fsi_aapap__1.aapapi[jj * 3 - 2];
1192 z__3.r = d__1, z__3.i = d__2;
1193 z__2.r = -z__3.r, z__2.i = -z__3.i;
1195 &fsi_c__._2.c__[((jj - 1) << 1) + 6]);
1196 fsi_c__._2.c__[i__2].r = z__1.r, fsi_c__._2.c__[i__2].i = z__1.i;
1208 void FemtoFsiParsed::Fsinucl(Double_t r_amn__, Double_t r_cn__) {
1209 fFsiPoc.amn = r_amn__;
1210 fFsiPoc.cn = r_cn__;
1215 void FemtoFsiParsed::SetMomentum(Double_t* pp1, Double_t* pp2) {
1223 fFsiMom.p1x = pp1[1];
1224 fFsiMom.p1y = pp1[2];
1225 fFsiMom.p1z = pp1[3];
1226 fFsiMom.p2x = pp2[1];
1227 fFsiMom.p2y = pp2[2];
1228 fFsiMom.p2z = pp2[3];
1233 void FemtoFsiParsed::SetPosition(Double_t* xt1, Double_t* xt2) {
1241 fFsiCoor.x1 = xt1[1];
1242 fFsiCoor.y1 = xt1[2];
1243 fFsiCoor.z1 = xt1[3];
1244 fFsiCoor.t1 = xt1[4];
1245 fFsiCoor.x2 = xt2[1];
1246 fFsiCoor.y2 = xt2[2];
1247 fFsiCoor.z2 = xt2[3];
1248 fFsiCoor.t2 = xt2[4];
1254 void FemtoFsiParsed::Boosttoprf() {
1256 Double_t h1, ts, xs, ys, zs, rs12;
1260 xs = fFsiCoor.x1 - fFsiCoor.x2;
1261 ys = fFsiCoor.y1 - fFsiCoor.y2;
1262 zs = fFsiCoor.z1 - fFsiCoor.z2;
1263 ts = fFsiCoor.t1 - fFsiCoor.t2;
1264 rs12 = xs * fSi_p12.p12x + ys * fSi_p12.p12y + zs * fSi_p12.p12z;
1265 h1 = (rs12 / fSi_p12.epm - ts) / fSi_p12.am12;
1266 fFsiPrf.x = xs + fSi_p12.p12x * h1;
1267 fFsiPrf.y = ys + fSi_p12.p12y * h1;
1268 fFsiPrf.z__ = zs + fSi_p12.p12z * h1;
1269 fFsiPrf.t = (fSi_p12.e12 * ts - rs12) / fSi_p12.am12;
1270 fFsiPrf.rps = fFsiPrf.x * fFsiPrf.x + fFsiPrf.y * fFsiPrf.y + fFsiPrf.z__ * fFsiPrf.z__;
1271 fFsiPrf.rp = TMath::Sqrt(fFsiPrf.rps);
1275 (fSi_p12.p12x * fFsiPrf.ppx + fSi_p12.p12y * fFsiPrf.ppy + fSi_p12.p12z * fFsiPrf.ppz) / (fSi_p12.p12 * fFsiPrf.ak);
1276 fsi_cvk__.v = fSi_p12.p12 / fSi_p12.e12;
1280 void FemtoFsiParsed::Fsiwf(Double_t& wei) {
1282 int i__1, i__2, i__3;
1284 complex z__1, z__2, z__3, z__4, z__5;
1287 Double_t a1, a2, h1;
1289 Double_t xh, ts, xs, ys, zs;
1291 Double_t hcp, hra, rs12, xra;
1293 Double_t gpi2, gpi1;
1303 xs = fFsiCoor.x1 - fFsiCoor.x2;
1304 ys = fFsiCoor.y1 - fFsiCoor.y2;
1305 zs = fFsiCoor.z1 - fFsiCoor.z2;
1306 ts = fFsiCoor.t1 - fFsiCoor.t2;
1307 rs12 = xs * fSi_p12.p12x + ys * fSi_p12.p12y + zs * fSi_p12.p12z;
1308 h1 = (rs12 / fSi_p12.epm - ts) / fSi_p12.am12;
1309 fFsiPrf.x = xs + fSi_p12.p12x * h1;
1310 fFsiPrf.y = ys + fSi_p12.p12y * h1;
1311 fFsiPrf.z__ = zs + fSi_p12.p12z * h1;
1312 fFsiPrf.t = (fSi_p12.e12 * ts - rs12) / fSi_p12.am12;
1313 fFsiPrf.rps = fFsiPrf.x * fFsiPrf.x + fFsiPrf.y * fFsiPrf.y + fFsiPrf.z__ * fFsiPrf.z__;
1314 fFsiPrf.rp = TMath::Sqrt(fFsiPrf.rps);
1318 (fSi_p12.p12x * fFsiPrf.ppx + fSi_p12.p12y * fFsiPrf.ppy + fSi_p12.p12z * fFsiPrf.ppz) / (fSi_p12.p12 * fFsiPrf.ak);
1319 fsi_cvk__.v = fSi_p12.p12 / fSi_p12.e12;
1321 if (fFsiNs.ich == 0) {
goto L21; }
1322 xh = fFsiAch._1.ac * fFsiPrf.ak;
1323 fFsiAch._1.ach = Acp(xh);
1324 fFsiAch._1.achr = TMath::Sqrt(fFsiAch._1.ach);
1326 if (xh != 0.) { fEta = 1 / xh; }
1329 fFsiAch._1.hpr = hcp + .1544313298;
1333 msp = fFsiAch._1.mspin;
1335 for (jj = 1; jj <= i__1; ++jj) {
1336 fFsiAch._1.ispin = jj;
1337 if (fFsiNs.ns != 1) {
goto L22; }
1340 if (fFsiNs.ll == 4) {
goto L22; }
1342 d__1 = fsi_sw__.eb[jj - 1];
1343 fsi_sw__.bk[jj - 1] = TMath::Sqrt(d__1 * d__1 + fFsiPrf.aks);
1344 xra = fsi_sw__.rb[jj - 1] * 2 / fFsiAch._1.ac;
1345 hra = fsi_sw__.bk[jj - 1] * fsi_sw__.rb[jj - 1];
1347 fsi_sw__.sbkrb[jj - 1] = hra * fsi_bp__.b;
1348 hra = fFsiPrf.ak * fsi_sw__.rb[jj - 1];
1350 fsi_sw__.sdk[jj - 1] = fsi_shh__.sh;
1351 fsi_sw__.cdk[jj - 1] = fsi_shh__.chh;
1352 fsi_sw__.sdkk[jj - 1] = fsi_sw__.rb[jj - 1];
1353 if (fFsiPrf.ak != 0.) { fsi_sw__.sdkk[jj - 1] = fsi_shh__.sh / fFsiPrf.ak; }
1354 if (fFsiNs.ich == 1) { fsi_sw__.sdk[jj - 1] = fFsiAch._1.ach * fsi_sw__.sdk[jj - 1]; }
1360 if (fFsiNs.ns != 1) {
goto L230; }
1361 if (fFsiNs.ll != 4) {
goto L230; }
1363 gak = G(fFsiPrf.ak);
1365 if (fFsiNs.ich == 1) { akach = fFsiPrf.ak * fFsiAch._1.ach; }
1368 z__2.r = gak, z__2.i = d__1;
1369 z_div(&z__1, &c_b2, &z__2);
1370 fsi_c__._2.c__[i__2].r = z__1.r, fsi_c__._2.c__[i__2].i = z__1.i;
1374 if (fFsiNs.ll == 5 || fFsiNs.ll == 6 || fFsiNs.ll == 7) {
goto L20; }
1376 if (fFsiNs.ll == 12 || fFsiNs.ll == 13) {
goto L20; }
1378 if (fFsiNs.ll == 8 || fFsiNs.ll == 9 || fFsiNs.ll == 18) {
goto L20; }
1380 if (fFsiNs.ll == 14 || fFsiNs.ll == 17 || fFsiNs.ll == 23) {
goto L27; }
1382 if (fFsiNs.ll == 30) {
goto L28; }
1384 a1 = fsi_fd__.rd[jj - 1] * fsi_fd__.fd[jj - 1] * fFsiPrf.aks;
1386 if (fFsiNs.ich == 1) { a2 -= hcp * 2 * fsi_fd__.fd[jj - 1] / fFsiAch._1.ac; }
1387 akf = fFsiPrf.ak * fsi_fd__.fd[jj - 1];
1388 if (fFsiNs.ich == 1) { akf *= fFsiAch._1.ach; }
1391 z__2.r = fsi_fd__.fd[i__3], z__2.i = 0.;
1393 z__3.r = a2, z__3.i = d__1;
1394 z_div(&z__1, &z__2, &z__3);
1395 fsi_c__._2.c__[i__2].r = z__1.r, fsi_c__._2.c__[i__2].i = z__1.i;
1399 jh = fFsiNs.ll - 7 + (jj << 1) - 2;
1400 if (fFsiNs.ll == 8 || fFsiNs.ll == 9) { gpi2 = Gnd(fFsiPrf.aks, jh); }
1401 if (fFsiNs.ll == 18) { gpi2 = Gdd(fFsiPrf.aks, jj); }
1402 if (fFsiNs.ll == 5 || fFsiNs.ll == 6 || fFsiNs.ll == 7) { gpi2 = Gpipi(fFsiPrf.aks, c__2); }
1403 if (fFsiNs.ll == 12 || fFsiNs.ll == 13) { gpi2 = Gpin(fFsiPrf.aks, c__2); }
1406 z__2.r = gpi2, z__2.i = d__1;
1407 z_div(&z__1, &c_b2, &z__2);
1409 fsi_c__._2.c__[i__2].r = z__1.r,
1410 fsi_c__._2.c__[i__2].i = z__1.i;
1412 if (fFsiNs.ll != 5 && fFsiNs.ll != 6 && fFsiNs.ll != 13) {
goto L27; }
1413 if (fFsiNs.ll == 5 || fFsiNs.ll == 6) { gpi1 = Gpipi(fFsiPrf.aks, c__1); }
1414 if (fFsiNs.ll == 13) { gpi1 = Gpin(fFsiPrf.aks, c__1); }
1415 if (fFsiNs.ll == 5 || fFsiNs.ll == 13) {
1418 z__3.r = gpi1, z__3.i = d__1;
1419 z_div(&z__2, &c_b33, &z__3);
1421 z__4.r = fsi_c__._2.c__[i__3].r * .3333, z__4.i = fsi_c__._2.c__[i__3].i * .3333;
1422 z__1.r = z__2.r + z__4.r, z__1.i = z__2.i + z__4.i;
1423 fsi_c__._2.c__[i__2].r = z__1.r, fsi_c__._2.c__[i__2].i = z__1.i;
1426 if (fFsiNs.ll == 6) {
1429 z__3.r = gpi1, z__3.i = d__1;
1430 z_div(&z__2, &c_b34, &z__3);
1432 z__4.r = fsi_c__._2.c__[i__3].r * .6667, z__4.i = fsi_c__._2.c__[i__3].i * .6667;
1433 z__1.r = z__2.r + z__4.r, z__1.i = z__2.i + z__4.i;
1434 fsi_c__._2.c__[i__2].r = z__1.r, fsi_c__._2.c__[i__2].i = z__1.i;
1439 if (fFsiNs.ll == 14 || fFsiNs.ll == 23) { Ckkb(); }
1443 if (fFsiNs.ll == 17) {
1445 fsi_c__._2.c__[i__2].r = -2.585, fsi_c__._2.c__[i__2].i = 4.156;
1452 if (fFsiNs.ich == 0) {
goto L30; }
1453 fsi_2cha__.aak = fFsiAch._1.ach * fFsiPrf.ak;
1455 fsi_2cha__.hcp2 = hcp * 2 / fFsiAch._1.ac;
1459 z_div(&z__4, &c_b2, &fsi_c__._2.c__[jj - 1]);
1461 z__3.r = z__4.r - fsi_2cha__.hcp2, z__3.i = z__4.i;
1462 d__1 = fFsiPrf.ak - fsi_2cha__.aak;
1463 z__5.r = 0., z__5.i = d__1;
1464 z__2.r = z__3.r + z__5.r, z__2.i = z__3.i + z__5.i;
1465 z_div(&z__1, &c_b2, &z__2);
1466 fsi_c__._2.c__[i__2].r = z__1.r,
1467 fsi_c__._2.c__[i__2].i = z__1.i;
1479 void FemtoFsiParsed::Vz(Double_t& wei)
1482 int i__1, i__2, i__3;
1484 Double_t d__1, d__2;
1495 complex psi12, psi21;
1502 if (fJrat == 1) {
goto L11; }
1503 rhos = fFsiPrf.ak * fFsiPrf.rp;
1504 hs = fFsiPrf.x * fFsiPrf.ppx + fFsiPrf.y * fFsiPrf.ppy + fFsiPrf.z__ * fFsiPrf.ppz;
1505 if (rhos < 15. && rhos + TMath::Abs(hs) < 20.) {
goto L2; }
1509 r__1 = (Double_t) fEta;
1510 q__1.r = (Double_t) 1., q__1.i = r__1;
1511 z8.r = q__1.r, z8.i = q__1.i;
1514 z8.r = q__1.r, z8.i = q__1.i;
1517 q__1.r = z8.r / r__1, q__1.i = z8.i / r__1;
1520 fsi_coulph__.eidc.r = q__1.r, fsi_coulph__.eidc.i = q__1.i;
1524 msp = fFsiAch._1.mspin;
1525 if (fFsiNs.isi == 0) {
goto L4; }
1527 if (fFsiPrf.rp < fsi_aa__.aa) {
goto L4; }
1528 if (fJrat != 1) { Firt(); }
1529 if (fFsiNs.iqs == 0) {
goto L5; }
1533 for (jj = 1; jj <= i__1; ++jj) {
1537 z__1.r = fsi_rr__.f[i__2].r * fsi_c__._2.c__[i__3].r - fsi_rr__.f[i__2].i * fsi_c__._2.c__[i__3].i,
1538 z__1.i = fsi_rr__.f[i__2].r * fsi_c__._2.c__[i__3].i + fsi_rr__.f[i__2].i * fsi_c__._2.c__[i__3].r;
1539 g.r = z__1.r, g.i = z__1.i;
1540 if (fFsiNs.ich == 1) {
1541 z__1.r = fFsiAch._1.achr * g.r, z__1.i = fFsiAch._1.achr * g.i;
1542 g.r = z__1.r, g.i = z__1.i;
1544 z__2.r = fsi_fff__.f12.r + g.r, z__2.i = fsi_fff__.f12.i + g.i;
1545 z__1.r = fFsiFppn.ff12.r * z__2.r - fFsiFppn.ff12.i * z__2.i, z__1.i = fFsiFppn.ff12.r * z__2.i + fFsiFppn.ff12.i * z__2.r;
1546 psi12.r = z__1.r, psi12.i = z__1.i;
1547 z__2.r = fsi_fff__.f21.r + g.r, z__2.i = fsi_fff__.f21.i + g.i;
1548 z__1.r = fFsiFppn.ff21.r * z__2.r - fFsiFppn.ff21.i * z__2.i, z__1.i = fFsiFppn.ff21.r * z__2.i + fFsiFppn.ff21.i * z__2.r;
1549 psi21.r = z__1.r, psi21.i = z__1.i;
1550 d__1 = (Double_t) jsign;
1551 z__2.r = d__1 * psi21.r, z__2.i = d__1 * psi21.i;
1552 z__1.r = psi12.r + z__2.r, z__1.i = psi12.i + z__2.i;
1553 g.r = z__1.r, g.i = z__1.i;
1559 wei += fsi_spin__.rho[jj - 1] * (d__1 * d__1 + d__2 * d__2);
1564 for (jj = 1; jj <= i__1; ++jj) {
1567 z__1.r = fsi_rr__.f[i__2].r * fsi_c__._2.c__[i__3].r - fsi_rr__.f[i__2].i * fsi_c__._2.c__[i__3].i,
1568 z__1.i = fsi_rr__.f[i__2].r * fsi_c__._2.c__[i__3].i + fsi_rr__.f[i__2].i * fsi_c__._2.c__[i__3].r;
1569 g.r = z__1.r, g.i = z__1.i;
1570 if (fFsiNs.ich == 1) {
1571 z__1.r = fFsiAch._1.achr * g.r, z__1.i = fFsiAch._1.achr * g.i;
1572 g.r = z__1.r, g.i = z__1.i;
1580 z__2.r = fsi_fff__.f12.r + g.r, z__2.i = fsi_fff__.f12.i + g.i;
1581 z__1.r = fFsiFppn.ff12.r * z__2.r - fFsiFppn.ff12.i * z__2.i, z__1.i = fFsiFppn.ff12.r * z__2.i + fFsiFppn.ff12.i * z__2.r;
1582 psi12.r = z__1.r, psi12.i = z__1.i;
1587 d__2 = d_imag(&psi12);
1588 wei += fsi_spin__.rho[jj - 1] * (d__1 * d__1 + d__2 * d__2);
1591 if (fFsiNs.ll == 30) {
1593 for (jj = 1; jj <= i__1; ++jj) {
1596 d__1 = fsi_c__._2.c__[i__2].r;
1598 d__2 = d_imag(&fsi_c__._2.c__[jj + 1]);
1599 hh = fsi_spin__.rho[jj - 1] * (d__1 * d__1 + d__2 * d__2) * fsi_2cha__.amu2_amu1__ * fFsiAch._1.ach / fFsiPrf.rps;
1600 if (fsi_2cha__.ak2s < 0.) { hh *= exp(fFsiPrf.rp * -2 * fsi_2cha__.ak2); }
1608 z__1.r = fFsiFppn.ff12.r * fsi_fff__.f12.r - fFsiFppn.ff12.i * fsi_fff__.f12.i,
1609 z__1.i = fFsiFppn.ff12.r * fsi_fff__.f12.i + fFsiFppn.ff12.i * fsi_fff__.f12.r;
1610 psi12.r = z__1.r, psi12.i = z__1.i;
1612 if (fFsiNs.iqs == 0) {
goto L50; }
1614 z__1.r = fFsiFppn.ff21.r * fsi_fff__.f21.r - fFsiFppn.ff21.i * fsi_fff__.f21.i,
1615 z__1.i = fFsiFppn.ff21.r * fsi_fff__.f21.i + fFsiFppn.ff21.i * fsi_fff__.f21.r;
1616 psi21.r = z__1.r, psi21.i = z__1.i;
1619 for (jj = 1; jj <= i__1; ++jj) {
1621 d__1 = (Double_t) jsign;
1622 z__2.r = d__1 * psi21.r, z__2.i = d__1 * psi21.i;
1623 z__1.r = psi12.r + z__2.r, z__1.i = psi12.i + z__2.i;
1624 g.r = z__1.r, g.i = z__1.i;
1630 wei += fsi_spin__.rho[jj - 1] * (d__1 * d__1 + d__2 * d__2);
1637 d__2 = d_imag(&psi12);
1639 wei = d__1 * d__1 + d__2 * d__2;
1648 void FemtoFsiParsed::Firt() {
1650 int i__1, i__2, i__3, i__4;
1657 Double_t a1, a2, h1, a12, c12, a21;
1659 Double_t hm, s12, hp, fc1, fc2;
1661 Double_t fs1, fs2, shh, shk, xra;
1664#define rss ((Double_t*) &fFsiPrf + 9)
1665#define tss ((Double_t*) &fFsiPrf + 8)
1666 Double_t tssa, tssh;
1669 msp = fFsiAch._1.mspin;
1671 for (jj = 1; jj <= i__1; ++jj) {
1672 if (jj > 1) {
goto L3; }
1673 xra = *rss * 2 / fFsiAch._1.ac;
1674 if (fFsiPrf.ak != 0.) {
goto L2; }
1678 fsi_shh__.chh = 1 / *rss;
1681 h__ = fFsiPrf.ak * *rss;
1683 fsi_shh__.sh /= *rss;
1684 fsi_shh__.chh /= *rss;
1686 if (fFsiNs.ich == 1) { shh = fFsiAch._1.ach * fsi_shh__.sh; }
1688 if (fFsiNs.ns == 2) {
goto L1; }
1692 z__1.r = fsi_shh__.chh, z__1.i = shh;
1693 fsi_rr__.f[i__2].r = z__1.r, fsi_rr__.f[i__2].i = z__1.i;
1694 if (fFsiNs.ns != 1) {
goto L10; }
1696 if (*rss >= fsi_sw__.rb[jj - 1]) {
goto L10; }
1697 if (fFsiPrf.ak != 0. && jj == 1) { shk = fsi_shh__.sh / fFsiPrf.ak; }
1698 h__ = fsi_sw__.bk[jj - 1] * *rss;
1700 skr = fsi_bp__.b * fsi_sw__.bk[jj - 1];
1704 z__2.r = fsi_sw__.cdk[i__3], z__2.i = fsi_sw__.sdk[i__4];
1705 z__1.r = skr * z__2.r, z__1.i = skr * z__2.i;
1706 fsi_rr__.f[i__2].r = z__1.r, fsi_rr__.f[i__2].i = z__1.i;
1707 d__1 = fsi_sw__.sdkk[jj - 1] * skr - shk * fsi_sw__.sbkrb[jj - 1];
1708 z__2.r = d__1, z__2.i = 0.;
1710 z_div(&z__1, &z__2, &fsi_c__._2.c__[jj - 1]);
1712 ch1.r = z__1.r, ch1.i = z__1.i;
1715 z__2.r = fsi_rr__.f[i__3].r + ch1.r, z__2.i = fsi_rr__.f[i__3].i + ch1.i;
1717 z__1.r = z__2.r / fsi_sw__.sbkrb[i__4], z__1.i = z__2.i / fsi_sw__.sbkrb[i__4];
1718 fsi_rr__.f[i__2].r = z__1.r, fsi_rr__.f[i__2].i = z__1.i;
1722 if (jj > 1) {
goto L8; }
1723 if (*tss == 0.) {
goto L6; }
1724 tssa = TMath::Abs(*tss);
1725 if (fsi_c__._2.dm != 0.) {
goto L11; }
1726 h__ = fsi_c__._2.am * .5 / tssa;
1727 if (fFsiPrf.ak != 0.) {
goto L4; }
1728 hm = h__ * fFsiPrf.rps;
1729 if (hm >= 3e15) {
goto L6; }
1736 h1 = fFsiPrf.ak * tssa / fsi_c__._2.am;
1739 hm = h__ * (d__1 * d__1);
1742 hp = h__ * (d__1 * d__1);
1743 if (hp >= 3e15) {
goto L6; }
1754 for (i__ = 1; i__ <= 2; ++i__) {
1755 if (i__ == 1) { tssh = tssa * (fsi_c__._2.dm + 1); }
1756 if (i__ == 2) { tssh = tssa * (1 - fsi_c__._2.dm); }
1757 h__ = fsi_c__._2.am * .5 / tssh;
1758 if (fFsiPrf.ak != 0.) {
goto L12; }
1759 hm = h__ * fFsiPrf.rps;
1760 if (hm >= 3e15) {
goto L6; }
1761 fs1 += DfrSin(hm) / 2;
1762 fc1 += DfrCos(hm) / 2;
1763 if (i__ == 1) {
goto L13; }
1768 h1 = fFsiPrf.ak * tssh / fsi_c__._2.am;
1771 hm = h__ * (d__1 * d__1);
1774 hp = h__ * (d__1 * d__1);
1775 if (hp >= 3e15) {
goto L6; }
1776 fs1 += DfrSin(hm) / 2;
1777 fc1 += DfrCos(hm) / 2;
1778 fs2 += DfrSin(hp) / 2;
1779 fc2 += DfrCos(hp) / 2;
1787 a2 = (fsi_shh__.chh * (a12 + a21) + fsi_shh__.sh * (a12 - a21)) * .5 + shh;
1788 a1 = (fsi_shh__.chh * (c12 + s12) + fsi_shh__.sh * (c12 - s12)) * .5;
1790 z__2.r = a1, z__2.i = a2;
1791 z__1.r = z__2.r * .3989422, z__1.i = z__2.i * .3989422;
1792 fsi_rr__.f[i__2].r = z__1.r, fsi_rr__.f[i__2].i = z__1.i;
1796 fsi_rr__.f[i__2].r = fsi_rr__.f[0].r, fsi_rr__.f[i__2].i = fsi_rr__.f[0].i;
1801 Double_t FemtoFsiParsed::Exf(Double_t x) {
1802 if (x < -15.) {
return 0; }
1803 return TMath::Exp(x);
1806 void FemtoFsiParsed::Seq(Double_t x, Double_t h__) {
1808 Double_t BH[3] = {1, x * 0.5, 0};
1809 Double_t PH[3] = {1, 0, 0};
1810 Double_t B = fsi_bp__.b;
1812 Double_t P = fsi_bp__.p;
1814 Double_t HS = h__ * h__;
1816 Bool_t calc = kTRUE;
1821 BH[2] = (x * BH[1] - HS * BH[0]) / ((J + 1) * (J + 2));
1822 PH[2] = (x * PH[1] - HS * PH[0] - (2 * J + 1) * x * BH[1]) / (J * (J + 1));
1825 Z = TMath::Abs(BH[1]) + TMath::Abs(BH[2]) + TMath::Abs(PH[1]) + TMath::Abs(PH[2]);
1876 void FemtoFsiParsed::Seqa(Double_t h__) {
1877 Double_t ARG = h__ - fEta * TMath::Log(2.0 * h__);
1878 TComplex GST(TMath::Cos(ARG), TMath::Sin(ARG));
1879 TComplex EIDC(fsi_coulph__.eidc.r, fsi_coulph__.eidc.i);
1880 Double_t ACH = fFsiAch._1.ach;
1881 Double_t ACHR = fFsiAch._1.achr;
1882 GST = ACHR * EIDC * GST;
1883 Double_t CHH = GST.Re();
1884 Double_t SH = GST.Im() / ACH;
1885 Double_t B = SH / h__;
1886 fsi_shh__.chh = CHH;
1891 Double_t d__1, d__2;
1900 arg = h__ - fEta * TMath::Log(h__ * 2);
1901 d__1 = TMath::Cos(arg);
1902 d__2 = TMath::Sin(arg);
1903 z__1.r = d__1, z__1.i = d__2;
1904 gst.r = z__1.r, gst.i = z__1.i;
1905 z__2.r = fFsiAch._1.achr * fsi_coulph__.eidc.r, z__2.i = fFsiAch._1.achr * fsi_coulph__.eidc.i;
1906 z__1.r = z__2.r * gst.r - z__2.i * gst.i, z__1.i = z__2.r * gst.i + z__2.i * gst.r;
1907 gst.r = z__1.r, gst.i = z__1.i;
1908 fsi_shh__.chh = gst.r;
1909 fsi_shh__.sh = d_imag(&gst) / fFsiAch._1.ach;
1910 fsi_bp__.b = fsi_shh__.sh / h__;
1916 void FemtoFsiParsed::Ff(Double_t rho, Double_t h__) {
1929 c__ = TMath::Cos(h__);
1930 s = TMath::Sin(h__);
1932 z__1.r = c__, z__1.i = d__1;
1933 fsi_fff__.f12.r = z__1.r, fsi_fff__.f12.i = z__1.i;
1934 z__1.r = c__, z__1.i = s;
1935 fsi_fff__.f21.r = z__1.r, fsi_fff__.f21.i = z__1.i;
1938 if (fFsiNs.ich == 0) {
return; }
1941 z__2.r = fsi_fff__.f12.r, z__2.i = fsi_fff__.f12.i;
1944 Ff0(z__2, rho, h__);
1946 z__1.r = z__2.r * fsi_fff__.f12.r - z__2.i * fsi_fff__.f12.i, z__1.i = z__2.r * fsi_fff__.f12.i + z__2.i * fsi_fff__.f12.r;
1947 fsi_fff__.f12.r = z__1.r, fsi_fff__.f12.i = z__1.i;
1949 z__2.r = fsi_fff__.f21.r, z__2.i = fsi_fff__.f21.i;
1953 Ff0(z__2, rho, d__1);
1955 z__1.r = z__2.r * fsi_fff__.f21.r - z__2.i * fsi_fff__.f21.i, z__1.i = z__2.r * fsi_fff__.f21.i + z__2.i * fsi_fff__.f21.r;
1957 fsi_fff__.f21.r = z__1.r, fsi_fff__.f21.i = z__1.i;
1958 fsi_fff__.f21.r = z__1.r, fsi_fff__.f21.i = z__1.i;
1965 void FemtoFsiParsed::Fas(complex& ret_val, Double_t rks) {
1968 D1 = TMath::Log(rks) * fEta;
1969 D2 = fEta * fEta / rks;
1970 TComplex ZZ1(TMath::Cos(D1), TMath::Sin(D1));
1971 TComplex EIDC(fsi_coulph__.eidc.r, fsi_coulph__.eidc.i);
1973 FAS = (TComplex(1, -D2)) * ZZ1;
1974 FAS = FAS - TComplex(TMath::Cos(rks), TMath::Sin(rks)) * fEta / rks / ZZ1;
1975 ret_val.r = FAS.Re();
1976 ret_val.i = FAS.Im();
1979 void FemtoFsiParsed::Ff0(complex& ret_val, Double_t rho, Double_t h__) {
1983 Double_t err = 1e-5;
2004 ret_val.r = s.r, ret_val.i = s.i;
2007 if (rhop < 20.) {
goto L5; }
2009 ret_val.r = z__1.r, ret_val.i = z__1.i;
2014 z__1.r = 0., z__1.i = d__1;
2015 alf.r = z__1.r, alf.i = z__1.i;
2016 z__1.r = alf.r - 1, z__1.i = alf.i;
2017 alf1.r = z__1.r, alf1.i = z__1.i;
2018 z__1.r = 0., z__1.i = rhop;
2019 z__.r = z__1.r, z__.i = z__1.i;
2023 z__2.r = alf1.r + j, z__2.i = alf1.i;
2025 d__1 = (Double_t) i__1;
2026 z__1.r = z__2.r / d__1, z__1.i = z__2.i / d__1;
2027 a.r = z__1.r, a.i = z__1.i;
2028 z__2.r = s.r * a.r - s.i * a.i, z__2.i = s.r * a.i + s.i * a.r;
2029 z__1.r = z__2.r * z__.r - z__2.i * z__.i, z__1.i = z__2.r * z__.i + z__2.i * z__.r;
2030 s.r = z__1.r, s.i = z__1.i;
2031 z__1.r = ret_val.r + s.r, z__1.i = ret_val.i + s.i;
2032 ret_val.r = z__1.r, ret_val.i = z__1.i;
2033 zr = (d__1 = s.r, TMath::Abs(d__1));
2034 zi = (d__1 = d_imag(&s), TMath::Abs(d__1));
2035 if (zr + zi > err) {
goto L3; }
2036 z__1.r = fFsiAch._1.achr * ret_val.r, z__1.i = fFsiAch._1.achr * ret_val.i;
2037 ret_val.r = z__1.r, ret_val.i = z__1.i;
2042 Double_t FemtoFsiParsed::Hc(Double_t xa) {
2045 Double_t bn[15] = {.08333333333,
2063 Double_t ret_val, d__1;
2067 Double_t s, x, x2, ds, xp;
2079 if (x < .1) { ima = 3; }
2081 for (i__ = 1; i__ <= i__1; ++i__) {
2082 ret_val += xp * bn[i__ - 1];
2096 ds = 1. / n / (d__1 * d__1 + 1);
2098 }
while (ds > 1e-13);
2099 ret_val = s - .5772156649 + TMath::Log(x);
2104 Double_t FemtoFsiParsed::Acp(Double_t x) {
2106 if (x < .05 && x >= 0.) {
return 1e-6; }
2107 Double_t y = 6.2831853 / x;
2108 return y / (Exf(y) - 1);
2111 void FemtoFsiParsed::Gst(Double_t x, Double_t h__) {
2112 if (fFsiNs.ich == 1) {
2118 fsi_shh__.sh = h__ * fsi_bp__.b;
2119 fsi_shh__.chh = fsi_bp__.p + fsi_bp__.b * x * (TMath::Log((TMath::Abs(x))) + fFsiAch._1.hpr);
2122 fsi_shh__.sh = TMath::Sin(h__);
2123 fsi_shh__.chh = TMath::Cos(h__);
2125 if (h__ != 0.) { fsi_bp__.b = fsi_shh__.sh / h__; }
2126 fsi_bp__.p = fsi_shh__.chh;
2160 void FemtoFsiParsed::Ff1(complex& ret_val, Double_t rho, Double_t h__) {
2174 ret_val.r = 1., ret_val.i = 0.;
2175 if (fIch == 0) {
goto L2; }
2176 if (rho < 15. && rho + h__ < 20.) {
goto L2; }
2179 r__1 = (Double_t) fEta;
2180 q__1.r = (Double_t) 1., q__1.i = r__1;
2181 z8.r = q__1.r, z8.i = q__1.i;
2185 z8.r = q__1.r, z8.i = q__1.i;
2187 q__1.r = z8.r / r__1, q__1.i = z8.i / r__1;
2188 fsi_coulph__.eidc.r = q__1.r, fsi_coulph__.eidc.i = q__1.i;
2190 Ff0(z__1, rho, h__);
2191 ret_val.r = z__1.r, ret_val.i = z__1.i;
2195 Double_t FemtoFsiParsed::G(Double_t ak) {
2197 Double_t ret_val, d__1;
2201 Double_t gg, xh, zz;
2204 Double_t brhop, brhos, prhos;
2210 fFsiAch._2.ach = 1.;
2211 if (fFsiNs.ich != 0) {
2212 xh = fFsiAch._2.ac * ak;
2214 fFsiAch._2.hpr = hcp + .1544313298;
2215 fFsiAch._2.ach = Acp(xh);
2216 fsi_dak__.hac = hcp * 2 / fFsiAch._2.ac;
2222 d__1 = fsi_sw__.eb[fFsiAch._2.jj - 1];
2223 fsi_sw__.bk[fFsiAch._2.jj - 1] = TMath::Sqrt(aks + d__1 * d__1);
2225 x = fsi_sw__.rb[fFsiAch._2.jj - 1] * 2 / fFsiAch._2.ac;
2226 h__ = fsi_sw__.bk[fFsiAch._2.jj - 1] * fsi_sw__.rb[fFsiAch._2.jj - 1];
2231 fsi_sw__.sbkrb[fFsiAch._2.jj - 1] = fsi_shh__.sh;
2234 brhop = fsi_deriv__.bpr;
2236 h__ = ak * fsi_sw__.rb[fFsiAch._2.jj - 1];
2238 fsi_sw__.cdk[fFsiAch._2.jj - 1] = fsi_shh__.chh;
2244 fsi_sw__.sdk[fFsiAch._2.jj - 1] = fsi_shh__.sh;
2245 if (fFsiNs.ich != 0) {
2246 fsi_sw__.sdk[fFsiAch._2.jj - 1] = fFsiAch._2.ach * fsi_shh__.sh;
2248 if (ak == 0. && fFsiAch._2.ac < 0.) { fsi_sw__.sdk[fFsiAch._2.jj - 1] = x * (Double_t) 3.14159 * fsi_bp__.b; }
2250 fsi_sw__.sdkk[fFsiAch._2.jj - 1] = fsi_sw__.rb[fFsiAch._2.jj - 1];
2251 if (ak != 0.) { fsi_sw__.sdkk[fFsiAch._2.jj - 1] = fsi_shh__.sh / ak; }
2255 zz = fsi_deriv__.ppr - prhos;
2256 if (fFsiNs.ich == 1) { zz += x * (brhos + fsi_deriv__.bpr * (TMath::Log((TMath::Abs(x))) + fFsiAch._2.hpr)); }
2258 gg = (brhop * fsi_sw__.cdk[fFsiAch._2.jj - 1] - brho * zz) / fsi_sw__.rb[fFsiAch._2.jj - 1];
2260 ret_val = gg / (brho * fsi_deriv__.bpr - brhop * brhos);
2265 void FemtoFsiParsed::Deriw(Double_t x, Double_t h__) {
2270 Double_t b1, q1, hh, hhh;
2281 fsi_deriv__.bpr = h__ * (fsi_bp__.b - b1) / hhh;
2282 fsi_deriv__.ppr = h__ * (fsi_bp__.p - q1) / hhh;
2283 if (fFsiNs.ich == 0)
return;
2290 fsi_deriv__.bpr += x * (fsi_bp__.b - b1) / hhh;
2291 fsi_deriv__.ppr += x * (fsi_bp__.p - q1) / hhh;
2362 TComplex FemtoFsiParsed::GetC(Int_t i)
const {
return TComplex(fsi_c__._2.c__[i].r, fsi_c__._2.c__[i].i); }
2364 void FemtoFsiParsed::SetC(TComplex Z, Int_t i) {
2365 fsi_c__._2.c__[i].r = Z.Re();
2366 fsi_c__._2.c__[i].i = Z.Im();