BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtD0ToKSpipipi0pi0.cc
Go to the documentation of this file.
1//------------------------------------------------------------------------
2//
3// Environment:
4// This software is part of the EvtGen package developed jointly
5// for the BaBar and CLEO collaborations. If you use all or part
6// of it, please give an appropriate acknowledgement.
7//
8// Copyright Information: See EvtGen/COPYRIGHT
9// Copyright (C) 1998 Caltech, UCSB
10//
11// Module: EvtD0ToKSpipipi0pi0.cc
12//
13// Description:
14// https://indico.ihep.ac.cn/event/16632/contributions/49342/attachments/23562/26699/meeting.pdf
15//
16// Modification history:
17//
18// Liaoyuan Dong Sep 27, 2023 Module created
19//
20//------------------------------------------------------------------------
31#include <fstream>
32#include <stdlib.h>
33#include <string>
34using std::endl;
35
37
38void EvtD0ToKSpipipi0pi0::getName( std::string& model_name ) {
39 model_name = "D0ToKSpipipi0pi0";
40}
41
43
45 checkNArg( 0 );
46 checkNDaug( 5 );
53
54 string name;
55 Double_t mean_v;
56
57 phi[0] = 0.0;
58 phi[1] = 1.5612285999617681043;
59 phi[2] = -1.0015624327720500375;
60 phi[3] = -0.76621511153827803753;
61 phi[4] = -1.7149726868246268907;
62 phi[5] = -0.76621511153827803753;
63 phi[6] = -1.7149726868246268907;
64 phi[7] = 1.3433768070347928969;
65 phi[8] = -0.69920457434816896125;
66 phi[9] = 0.29332928559239412891;
67 phi[10] = -0.11777754591498723613;
68 phi[11] = 0.95414772564220218243;
69 phi[12] = 1.7265019027073140734;
70 phi[13] = 0.061783461047396848187;
71 phi[14] = -1.8419695358887526737;
72 phi[15] = 5.0888716346195170814;
73 phi[16] = -2.4168727599993782285;
74 phi[17] = -0.59691363426268839731;
75 phi[18] = 2.2592819896596747498;
76 phi[19] = 1.4782518327546174675;
77
78 rho[0] = 1.0;
79 rho[1] = 0.4670656486078839098;
80 rho[2] = 1.2052085503722942406;
81 rho[3] = 2.3308692263403596456;
82 rho[4] = 3.5452858240068554352;
83 rho[5] = 2.3308692263403596456;
84 rho[6] = 3.5452858240068554352;
85 rho[7] = 3.909705435313104438;
86 rho[8] = 6.0375678543742763438;
87 rho[9] = 6.1054348075021245279;
88 rho[10] = 2.6074861273503890935;
89 rho[11] = 5.1506130168844084238;
90 rho[12] = 7.3338519702057851646;
91 rho[13] = 8.2495540430632239293;
92 rho[14] = 4.7408822820806992837;
93 rho[15] = 19.078674398257916778;
94 rho[16] = 5.8341821209677622306;
95 rho[17] = 3.370421146056012951;
96 rho[18] = 1.3283777517325123796;
97 rho[19] = 5.2468133147457907128;
98
99 modetype[0] = 1;
100 modetype[1] = 1;
101 modetype[2] = 1;
102 modetype[3] = 20;
103 modetype[4] = 20;
104 modetype[5] = 33;
105 modetype[6] = 33;
106 modetype[7] = 18;
107 modetype[8] = 18;
108 modetype[9] = 18;
109 modetype[10] = 4;
110 modetype[11] = 4;
111 modetype[12] = 23;
112 modetype[13] = 45;
113 modetype[14] = 45;
114 modetype[15] = 45;
115 modetype[16] = 46;
116 modetype[17] = 31;
117 modetype[18] = 31;
118 modetype[19] = 42;
119
120 width1[0] = 0.00868;
121 width1[1] = 0.00868;
122 width1[2] = 0.00868;
123 width1[3] = 0.420;
124 width1[4] = 0.420;
125 width1[5] = 0.420;
126 width1[6] = 0.420;
127 width1[7] = 0.420;
128 width1[8] = 0.420;
129 width1[9] = 0.420;
130 width1[10] = 0.142;
131 width1[11] = 0.142;
132 width1[12] = 0.0227;
133 width1[13] = 0.116;
134 width1[14] = 0.116;
135 width1[15] = 0.116;
136 width1[16] = 0.116;
137 width1[17] = 0.174;
138 width1[18] = 0.174;
139 width1[19] = 0.174;
140
141 width2[0] = 0.0473;
142 width2[1] = 0.0473;
143 width2[2] = 0.0473;
144 width2[3] = 0.0473;
145 width2[4] = 0.0473;
146 width2[5] = 0.0473;
147 width2[6] = 0.0473;
148 width2[7] = 0.0467;
149 width2[8] = 0.0467;
150 width2[9] = 0.0467;
151 width2[10] = 0.00868;
152 width2[11] = 0.00868;
153 width2[12] = 0.1478;
154 width2[13] = 0.1478;
155 width2[14] = 0.1478;
156 width2[15] = 0.1478;
157 width2[16] = 0.1478;
158 width2[17] = 0.1478;
159 width2[18] = 0.1478;
160 width2[19] = 0.1478;
161
162 mass1[0] = 0.78265;
163 mass1[1] = 0.78265;
164 mass1[2] = 0.78265;
165 mass1[3] = 1.230;
166 mass1[4] = 1.230;
167 mass1[5] = 1.230;
168 mass1[6] = 1.230;
169 mass1[7] = 1.230;
170 mass1[8] = 1.230;
171 mass1[9] = 1.230;
172 mass1[10] = 1.2295;
173 mass1[11] = 1.2295;
174 mass1[12] = 1.2819;
175 mass1[13] = 1.289;
176 mass1[14] = 1.289;
177 mass1[15] = 1.289;
178 mass1[16] = 1.289;
179 mass1[17] = 1.403;
180 mass1[18] = 1.403;
181 mass1[19] = 1.403;
182
183 mass2[0] = 0.89555;
184 mass2[1] = 0.89555;
185 mass2[2] = 0.89555;
186 mass2[3] = 0.89555;
187 mass2[4] = 0.89555;
188 mass2[5] = 0.89555;
189 mass2[6] = 0.89555;
190 mass2[7] = 0.89166;
191 mass2[8] = 0.89166;
192 mass2[9] = 0.89166;
193 mass2[10] = 0.78265;
194 mass2[11] = 0.78265;
195 mass2[12] = 0.77526;
196 mass2[13] = 0.77526;
197 mass2[14] = 0.77526;
198 mass2[15] = 0.77526;
199 mass2[16] = 0.77526;
200 mass2[17] = 0.77526;
201 mass2[18] = 0.77526;
202 mass2[19] = 0.77526;
203
204 mD0M = 1.86486;
205 mD = 1.86486;
206 metap = 0.95778;
207 mk0 = 0.497614;
208 mass_Kaon = 0.49368;
209 mass_Pion = 0.13957;
210 mass_Pion2 = 0.0194797849;
211 mass_2Pion = 0.27914;
212 math_2pi = 6.2831852;
213 rD2 = 25.0; // 5*5
214 rDs2 = 25.0; // 5*5
215 rRes2 = 9.0; // 3*3
216 gg1 = 0.5468;
217 gg2 = 0.23; // K*0(1430)
218 GS1 = 0.636619783;
219 GS2 = 0.01860182466;
220 GS3 = 0.1591549458; // 1/(2*math_2pi)
221 GS4 = 0.00620060822;
222
223 int GG[4][4] = { { 1, 0, 0, 0 }, { 0, -1, 0, 0 }, { 0, 0, -1, 0 }, { 0, 0, 0, -1 } };
224 for ( int i = 0; i < 4; i++ )
225 {
226 for ( int j = 0; j < 4; j++ ) { G[i][j] = GG[i][j]; }
227 }
228 double EE[4][4][4][4] = {
229 { { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } },
230 { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 1 }, { 0, 0, -1, 0 } },
231 { { 0, 0, 0, 0 }, { 0, 0, 0, -1 }, { 0, 0, 0, 0 }, { 0, 1, 0, 0 } },
232 { { 0, 0, 0, 0 }, { 0, 0, 1, 0 }, { 0, -1, 0, 0 }, { 0, 0, 0, 0 } } },
233 { { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, -1 }, { 0, 0, 1, 0 } },
234 { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } },
235 { { 0, 0, 0, 1 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { -1, 0, 0, 0 } },
236 { { 0, 0, -1, 0 }, { 0, 0, 0, 0 }, { 1, 0, 0, 0 }, { 0, 0, 0, 0 } } },
237 { { { 0, 0, 0, 0 }, { 0, 0, 0, 1 }, { 0, 0, 0, 0 }, { 0, -1, 0, 0 } },
238 { { 0, 0, 0, -1 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 1, 0, 0, 0 } },
239 { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } },
240 { { 0, 1, 0, 0 }, { -1, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } } },
241 { { { 0, 0, 0, 0 }, { 0, 0, -1, 0 }, { 0, 1, 0, 0 }, { 0, 0, 0, 0 } },
242 { { 0, 0, 1, 0 }, { 0, 0, 0, 0 }, { -1, 0, 0, 0 }, { 0, 0, 0, 0 } },
243 { { 0, -1, 0, 0 }, { 1, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } },
244 { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } } } };
245
246 for ( int i = 0; i < 4; i++ )
247 {
248 for ( int j = 0; j < 4; j++ )
249 {
250 for ( int k = 0; k < 4; k++ )
251 {
252 for ( int l = 0; l < 4; l++ ) { E[i][j][k][l] = EE[i][j][k][l]; }
253 }
254 }
255 }
256}
257
259
261 /*
262 double maxprob = 0.0;
263 for(int ir=0;ir<=60000000;ir++){
264
265 p->initializePhaseSpace(getNDaug(),getDaugs());
266 EvtVector4R D1 = p->getDaug(0)->getP4();
267 EvtVector4R D2 = p->getDaug(1)->getP4();
268 EvtVector4R D3 = p->getDaug(2)->getP4();
269 EvtVector4R D4 = p->getDaug(3)->getP4();
270 EvtVector4R D5 = p->getDaug(4)->getP4();
271
272 double P1[4], P2[4], P3[4], P4[4], P5[4];
273 P1[0] = D1.get(0); P1[1] = D1.get(1); P1[2] = D1.get(2); P1[3] = D1.get(3);
274 P2[0] = D2.get(0); P2[1] = D2.get(1); P2[2] = D2.get(2); P2[3] = D2.get(3);
275 P3[0] = D3.get(0); P3[1] = D3.get(1); P3[2] = D3.get(2); P3[3] = D3.get(3);
276 P4[0] = D4.get(0); P4[1] = D4.get(1); P4[2] = D4.get(2); P4[3] = D4.get(3);
277 P5[0] = D5.get(0); P5[1] = D5.get(1); P5[2] = D5.get(2); P5[3] = D5.get(3);
278
279 double value;
280 int g0[8]={1,1,1,0,1,1,1,1};
281 int g1[8]={1,1,1,0,1,1,1,1};
282 double r0[8]={1,1,1,0,1,1,1,1};
283 double r1[8]={1,1,1,0,1,1,1,1};
284 int spin[8]={0,1,2,0,1020,1020,0,1};
285
286 int nstates=8;
287 calEva(P1, P4, P2, P3, P5, mass1, mass2, width1, width2, rho, phi, r0, r1, g0, g1, spin,
288 modetype, nstates, value);
289
290 if (value<0) continue;
291 if(value>maxprob) {
292 maxprob=value;
293 cout << "ir= " << ir << endl;
294 cout << "double P1[4] = {" << P1[0] <<","<< P1[1] <<","<< P1[2] <<","<< P1[3]
295 <<"};"<< endl; cout << "double P2[4] = {" << P2[0] <<","<< P2[1] <<","<< P2[2] <<","<< P2[3]
296 <<"};"<< endl; cout << "double P3[4] = {" << P3[0] <<","<< P3[1] <<","<< P3[2] <<","<< P3[3]
297 <<"};"<< endl; cout << "double P4[4] = {" << P4[0] <<","<< P4[1] <<","<< P4[2] <<","<< P4[3]
298 <<"};"<< endl; cout << "double P5[4] = {" << P5[0] <<","<< P5[1] <<","<< P5[2] <<","<< P5[3]
299 <<"};"<< endl; cout << "MAX====> " << maxprob << endl;
300
301 }
302 }
303 printf("MAXprob = %.10f\n",maxprob);
304 */
305
307 EvtVector4R D1 = p->getDaug( 0 )->getP4();
308 EvtVector4R D2 = p->getDaug( 1 )->getP4();
309 EvtVector4R D3 = p->getDaug( 2 )->getP4();
310 EvtVector4R D4 = p->getDaug( 3 )->getP4();
311 EvtVector4R D5 = p->getDaug( 4 )->getP4();
312
313 double P1[4], P2[4], P3[4], P4[4], P5[4];
314 if ( getParentId() == EvtPDL::getId( "D0" ) )
315 {
316 P1[0] = D1.get( 0 );
317 P1[1] = D1.get( 1 );
318 P1[2] = D1.get( 2 );
319 P1[3] = D1.get( 3 );
320 P2[0] = D2.get( 0 );
321 P2[1] = D2.get( 1 );
322 P2[2] = D2.get( 2 );
323 P2[3] = D2.get( 3 );
324 P3[0] = D3.get( 0 );
325 P3[1] = D3.get( 1 );
326 P3[2] = D3.get( 2 );
327 P3[3] = D3.get( 3 );
328 P4[0] = D4.get( 0 );
329 P4[1] = D4.get( 1 );
330 P4[2] = D4.get( 2 );
331 P4[3] = D4.get( 3 );
332 P5[0] = D5.get( 0 );
333 P5[1] = D5.get( 1 );
334 P5[2] = D5.get( 2 );
335 P5[3] = D5.get( 3 );
336 }
337 else
338 {
339 P1[0] = D1.get( 0 );
340 P1[1] = -( D1.get( 1 ) );
341 P1[2] = -( D1.get( 2 ) );
342 P1[3] = -( D1.get( 3 ) );
343 P2[0] = D2.get( 0 );
344 P2[1] = -( D2.get( 1 ) );
345 P2[2] = -( D2.get( 2 ) );
346 P2[3] = -( D2.get( 3 ) );
347 P3[0] = D3.get( 0 );
348 P3[1] = -( D3.get( 1 ) );
349 P3[2] = -( D3.get( 2 ) );
350 P3[3] = -( D3.get( 3 ) );
351 P4[0] = D4.get( 0 );
352 P4[1] = -( D4.get( 1 ) );
353 P4[2] = -( D4.get( 2 ) );
354 P4[3] = -( D4.get( 3 ) );
355 P5[0] = D5.get( 0 );
356 P5[1] = -( D5.get( 1 ) );
357 P5[2] = -( D5.get( 2 ) );
358 P5[3] = -( D5.get( 3 ) );
359 }
360
361 double value;
362 int g0[20] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
363 int g1[20] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
364 int spin[20] = { 0, 1, 2, 1020, 1120, 1020, 1120, 1020, 1120, 1220,
365 0, 2, 1, 1020, 1120, 1220, 1, 1020, 1120, 1020 };
366
367 int nstates = 20;
368 calEva( P1, P2, P3, P4, P5, mass1, mass2, width1, width2, rho, phi, r0, r1, g0, g1, spin,
369 modetype, nstates, value );
370 setProb( value );
371
372 return;
373}
374
375void EvtD0ToKSpipipi0pi0::Com_Multi( double a1[2], double a2[2],
376 double res[2] ) //(a1+b1i)(a2+b2i)
377{
378 res[0] = a1[0] * a2[0] - a1[1] * a2[1];
379 res[1] = a1[1] * a2[0] + a1[0] * a2[1];
380}
381void EvtD0ToKSpipipi0pi0::Com_Divide( double a1[2], double a2[2], double res[2] ) {
382 double tmp = a2[0] * a2[0] + a2[1] * a2[1];
383 res[0] = ( a1[0] * a2[0] + a1[1] * a2[1] ) / tmp;
384 res[1] = ( a1[1] * a2[0] - a1[0] * a2[1] ) / tmp;
385}
386
387void EvtD0ToKSpipipi0pi0::propagatorRBW_a1( double mass2, double mass, double width, double sa,
388 double sb, double sc, double r2, int l,
389 double prop[2] ) {
390 double a[2], b[2];
391 int iii = int( sqrt( sa ) * 1000 ) - 1;
392 double a1width[3000] = {
393 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
394 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
395 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
396 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
397 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
398 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
399 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
400 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
401 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
402 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
403 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
404 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
405 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
406 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
407 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
408 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
409 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
410 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
411 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
412 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
413 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
414 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
415 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
416 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
417 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
418 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
419 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
420 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
421 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
422 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
423 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
424 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
425 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
426 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
427 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
428 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
429 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
430 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
431 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
432 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
433 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
434 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
435 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
436 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
437 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
438 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
439 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
440 0.000000, 0.000000, 0.000001, 0.000001, 0.000001, 0.000002, 0.000002, 0.000002, 0.000003,
441 0.000004, 0.000004, 0.000005, 0.000006, 0.000007, 0.000008, 0.000009, 0.000010, 0.000011,
442 0.000012, 0.000014, 0.000015, 0.000017, 0.000019, 0.000021, 0.000023, 0.000025, 0.000027,
443 0.000029, 0.000032, 0.000035, 0.000038, 0.000041, 0.000044, 0.000047, 0.000050, 0.000054,
444 0.000058, 0.000062, 0.000066, 0.000070, 0.000075, 0.000079, 0.000084, 0.000089, 0.000094,
445 0.000100, 0.000105, 0.000111, 0.000117, 0.000124, 0.000130, 0.000137, 0.000143, 0.000151,
446 0.000158, 0.000165, 0.000173, 0.000182, 0.000190, 0.000199, 0.000207, 0.000216, 0.000225,
447 0.000235, 0.000245, 0.000256, 0.000266, 0.000277, 0.000288, 0.000300, 0.000311, 0.000322,
448 0.000335, 0.000347, 0.000360, 0.000373, 0.000385, 0.000400, 0.000415, 0.000429, 0.000442,
449 0.000457, 0.000473, 0.000488, 0.000504, 0.000520, 0.000539, 0.000555, 0.000572, 0.000590,
450 0.000608, 0.000626, 0.000646, 0.000664, 0.000684, 0.000704, 0.000725, 0.000745, 0.000766,
451 0.000787, 0.000809, 0.000828, 0.000854, 0.000878, 0.000901, 0.000927, 0.000952, 0.000973,
452 0.001001, 0.001027, 0.001048, 0.001080, 0.001104, 0.001132, 0.001159, 0.001189, 0.001219,
453 0.001245, 0.001277, 0.001308, 0.001338, 0.001370, 0.001404, 0.001433, 0.001468, 0.001498,
454 0.001533, 0.001570, 0.001600, 0.001638, 0.001678, 0.001711, 0.001745, 0.001780, 0.001825,
455 0.001857, 0.001898, 0.001941, 0.001972, 0.002017, 0.002065, 0.002104, 0.002146, 0.002189,
456 0.002234, 0.002277, 0.002319, 0.002369, 0.002410, 0.002461, 0.002511, 0.002557, 0.002605,
457 0.002661, 0.002704, 0.002762, 0.002807, 0.002855, 0.002910, 0.002965, 0.003020, 0.003074,
458 0.003127, 0.003178, 0.003228, 0.003288, 0.003351, 0.003409, 0.003471, 0.003532, 0.003598,
459 0.003660, 0.003720, 0.003793, 0.003854, 0.003910, 0.003972, 0.004050, 0.004108, 0.004181,
460 0.004254, 0.004309, 0.004380, 0.004464, 0.004533, 0.004603, 0.004679, 0.004756, 0.004811,
461 0.004898, 0.004974, 0.005048, 0.005142, 0.005215, 0.005279, 0.005363, 0.005449, 0.005533,
462 0.005604, 0.005695, 0.005783, 0.005869, 0.005971, 0.006060, 0.006142, 0.006247, 0.006332,
463 0.006409, 0.006502, 0.006594, 0.006713, 0.006784, 0.006889, 0.006995, 0.007079, 0.007190,
464 0.007303, 0.007381, 0.007487, 0.007592, 0.007710, 0.007801, 0.007910, 0.008032, 0.008149,
465 0.008247, 0.008378, 0.008462, 0.008559, 0.008706, 0.008843, 0.008943, 0.009091, 0.009207,
466 0.009308, 0.009448, 0.009555, 0.009698, 0.009810, 0.009936, 0.010020, 0.010186, 0.010320,
467 0.010474, 0.010611, 0.010742, 0.010840, 0.011011, 0.011167, 0.011281, 0.011395, 0.011541,
468 0.011714, 0.011853, 0.012046, 0.012169, 0.012277, 0.012460, 0.012617, 0.012805, 0.012922,
469 0.013072, 0.013234, 0.013389, 0.013561, 0.013704, 0.013917, 0.014025, 0.014239, 0.014425,
470 0.014600, 0.014716, 0.014958, 0.015114, 0.015325, 0.015488, 0.015630, 0.015797, 0.016035,
471 0.016206, 0.016404, 0.016591, 0.016842, 0.016964, 0.017199, 0.017392, 0.017557, 0.017798,
472 0.017987, 0.018178, 0.018337, 0.018631, 0.018829, 0.019008, 0.019221, 0.019467, 0.019698,
473 0.019941, 0.020166, 0.020379, 0.020585, 0.020806, 0.021040, 0.021309, 0.021482, 0.021764,
474 0.022046, 0.022306, 0.022478, 0.022736, 0.023049, 0.023222, 0.023536, 0.023756, 0.024090,
475 0.024337, 0.024557, 0.024873, 0.025099, 0.025392, 0.025682, 0.025995, 0.026291, 0.026498,
476 0.026927, 0.027119, 0.027377, 0.027804, 0.028135, 0.028279, 0.028682, 0.028871, 0.029355,
477 0.029531, 0.029956, 0.030243, 0.030592, 0.030873, 0.031246, 0.031494, 0.031771, 0.032167,
478 0.032515, 0.032881, 0.033211, 0.033653, 0.033988, 0.034394, 0.034639, 0.035055, 0.035569,
479 0.035879, 0.036211, 0.036611, 0.036932, 0.037489, 0.037779, 0.038284, 0.038723, 0.039001,
480 0.039574, 0.039854, 0.040274, 0.040881, 0.041117, 0.041644, 0.042055, 0.042531, 0.043030,
481 0.043354, 0.043832, 0.044277, 0.044956, 0.045284, 0.045828, 0.046440, 0.046800, 0.047518,
482 0.047727, 0.048258, 0.048850, 0.049316, 0.049992, 0.050486, 0.050987, 0.051410, 0.051928,
483 0.052613, 0.053110, 0.053824, 0.054351, 0.055078, 0.055654, 0.056030, 0.056763, 0.057245,
484 0.057832, 0.058569, 0.059292, 0.060048, 0.060569, 0.061056, 0.061869, 0.062612, 0.063186,
485 0.063886, 0.064655, 0.065198, 0.065815, 0.066649, 0.067577, 0.068012, 0.068967, 0.069630,
486 0.070181, 0.070786, 0.071989, 0.072764, 0.073466, 0.074461, 0.075093, 0.075994, 0.076834,
487 0.077455, 0.078709, 0.079581, 0.080408, 0.080884, 0.081965, 0.082882, 0.083658, 0.084824,
488 0.085513, 0.086662, 0.087602, 0.088678, 0.089492, 0.090641, 0.091369, 0.092494, 0.093484,
489 0.094615, 0.095385, 0.096168, 0.097668, 0.098611, 0.099630, 0.100772, 0.102020, 0.103145,
490 0.104110, 0.105071, 0.106604, 0.107791, 0.108451, 0.109509, 0.111356, 0.112026, 0.113921,
491 0.114507, 0.116071, 0.117027, 0.118213, 0.120164, 0.120701, 0.122121, 0.123894, 0.124937,
492 0.126134, 0.127391, 0.128882, 0.130056, 0.131649, 0.133046, 0.134275, 0.135119, 0.137072,
493 0.138476, 0.139612, 0.140388, 0.142734, 0.143576, 0.145445, 0.147414, 0.148856, 0.149891,
494 0.150963, 0.152477, 0.153717, 0.155275, 0.156859, 0.158462, 0.159257, 0.161865, 0.163182,
495 0.164465, 0.165538, 0.167003, 0.169257, 0.171211, 0.172093, 0.173261, 0.174639, 0.176510,
496 0.177684, 0.179077, 0.181041, 0.182446, 0.184769, 0.184926, 0.186741, 0.188844, 0.190884,
497 0.191714, 0.192254, 0.193921, 0.195917, 0.196766, 0.199052, 0.200603, 0.201808, 0.202699,
498 0.204636, 0.205712, 0.206849, 0.208741, 0.209424, 0.211698, 0.212753, 0.215516, 0.215857,
499 0.217790, 0.217774, 0.220454, 0.221821, 0.223466, 0.224494, 0.225632, 0.227231, 0.229456,
500 0.229581, 0.231537, 0.232263, 0.233834, 0.234725, 0.237079, 0.238015, 0.239400, 0.240193,
501 0.241693, 0.243787, 0.244317, 0.244971, 0.246711, 0.248615, 0.249387, 0.250905, 0.252702,
502 0.253535, 0.254385, 0.255375, 0.256671, 0.258405, 0.259741, 0.260875, 0.262131, 0.262920,
503 0.264860, 0.265893, 0.266016, 0.267727, 0.270039, 0.270689, 0.271047, 0.272313, 0.272474,
504 0.274724, 0.275813, 0.275937, 0.278793, 0.278783, 0.281407, 0.281351, 0.282481, 0.284226,
505 0.284113, 0.284999, 0.285655, 0.288361, 0.287856, 0.288893, 0.290211, 0.291708, 0.291985,
506 0.294298, 0.294849, 0.296796, 0.296197, 0.296851, 0.298011, 0.300368, 0.299982, 0.302378,
507 0.304363, 0.303711, 0.304729, 0.306789, 0.306378, 0.307372, 0.308720, 0.309509, 0.309712,
508 0.310782, 0.311699, 0.312668, 0.312755, 0.313675, 0.315311, 0.316640, 0.317217, 0.317403,
509 0.318478, 0.319916, 0.321803, 0.322678, 0.323237, 0.324343, 0.324433, 0.324493, 0.324969,
510 0.325894, 0.328563, 0.328721, 0.328954, 0.330640, 0.328164, 0.331267, 0.331695, 0.333772,
511 0.333619, 0.334351, 0.334605, 0.336434, 0.337510, 0.336535, 0.337362, 0.338799, 0.340732,
512 0.339896, 0.342707, 0.343471, 0.342318, 0.342431, 0.344543, 0.345611, 0.345786, 0.346590,
513 0.346610, 0.347761, 0.348914, 0.349558, 0.350577, 0.352128, 0.350982, 0.354134, 0.352773,
514 0.353213, 0.352972, 0.354927, 0.355784, 0.355778, 0.355801, 0.357040, 0.358013, 0.358432,
515 0.360045, 0.359743, 0.360238, 0.359850, 0.362184, 0.361580, 0.363430, 0.362333, 0.364397,
516 0.364472, 0.364370, 0.365303, 0.366644, 0.367777, 0.368604, 0.367631, 0.368324, 0.369782,
517 0.371121, 0.370653, 0.370040, 0.371649, 0.370201, 0.373362, 0.373900, 0.374159, 0.374916,
518 0.374503, 0.376703, 0.372802, 0.376191, 0.379596, 0.377325, 0.376363, 0.379369, 0.379791,
519 0.378703, 0.380177, 0.381762, 0.381335, 0.381374, 0.384668, 0.381763, 0.382746, 0.384723,
520 0.385089, 0.386229, 0.386702, 0.387749, 0.384423, 0.384714, 0.384181, 0.388489, 0.388618,
521 0.388179, 0.390092, 0.389871, 0.390496, 0.391181, 0.390679, 0.392614, 0.392269, 0.393899,
522 0.393466, 0.391421, 0.391090, 0.395586, 0.391776, 0.396882, 0.393254, 0.394400, 0.395749,
523 0.398063, 0.397138, 0.397585, 0.397288, 0.397847, 0.395375, 0.400170, 0.400007, 0.401191,
524 0.398513, 0.401922, 0.400477, 0.404257, 0.403271, 0.400677, 0.403913, 0.403172, 0.404727,
525 0.403406, 0.404404, 0.405265, 0.406389, 0.405738, 0.402173, 0.407831, 0.405895, 0.409172,
526 0.408934, 0.405915, 0.408486, 0.407320, 0.407437, 0.405444, 0.408400, 0.410909, 0.412427,
527 0.409881, 0.411021, 0.413001, 0.410369, 0.414702, 0.413372, 0.413095, 0.410972, 0.416346,
528 0.416095, 0.414132, 0.414344, 0.416952, 0.415197, 0.417583, 0.416582, 0.416622, 0.416895,
529 0.416576, 0.415551, 0.417925, 0.414838, 0.417051, 0.416831, 0.420000, 0.419132, 0.418173,
530 0.417645, 0.419679, 0.419866, 0.419581, 0.421531, 0.420878, 0.422737, 0.421872, 0.421304,
531 0.425486, 0.424434, 0.420842, 0.426753, 0.422761, 0.422178, 0.422372, 0.424173, 0.425582,
532 0.425080, 0.425831, 0.423551, 0.422949, 0.425784, 0.427977, 0.427948, 0.426368, 0.425138,
533 0.425351, 0.428643, 0.428148, 0.427488, 0.431704, 0.430167, 0.429655, 0.429584, 0.425458,
534 0.430728, 0.429845, 0.431145, 0.429180, 0.428874, 0.430720, 0.430024, 0.432034, 0.431359,
535 0.431535, 0.432995, 0.432425, 0.432454, 0.433140, 0.432574, 0.433814, 0.433348, 0.432886,
536 0.435472, 0.436517, 0.432681, 0.436999, 0.435182, 0.434834, 0.435478, 0.438255, 0.436650,
537 0.434464, 0.438530, 0.434077, 0.436471, 0.434012, 0.436822, 0.437505, 0.440135, 0.438322,
538 0.438032, 0.439001, 0.440270, 0.438661, 0.439233, 0.439274, 0.437945, 0.443080, 0.439191,
539 0.438233, 0.440415, 0.441063, 0.440926, 0.440929, 0.439731, 0.443584, 0.439729, 0.441597,
540 0.442615, 0.444637, 0.443180, 0.440789, 0.440261, 0.442202, 0.445081, 0.445484, 0.445415,
541 0.445532, 0.442806, 0.444188, 0.441073, 0.444299, 0.445897, 0.445279, 0.442830, 0.445506,
542 0.445272, 0.447267, 0.443522, 0.445519, 0.446459, 0.446753, 0.446377, 0.446129, 0.446383,
543 0.448556, 0.446593, 0.445293, 0.449199, 0.447590, 0.445968, 0.447482, 0.448474, 0.449890,
544 0.450004, 0.447765, 0.449274, 0.450652, 0.448210, 0.449360, 0.449577, 0.448575, 0.452112,
545 0.448780, 0.451393, 0.450200, 0.452018, 0.451182, 0.452050, 0.451748, 0.451377, 0.451402,
546 0.448810, 0.452311, 0.452909, 0.452491, 0.452418, 0.454190, 0.454420, 0.452121, 0.452307,
547 0.456857, 0.453506, 0.454058, 0.457203, 0.454394, 0.453596, 0.452240, 0.453692, 0.456516,
548 0.453753, 0.455541, 0.452702, 0.456481, 0.452226, 0.454280, 0.454855, 0.456297, 0.456482,
549 0.454154, 0.455387, 0.454748, 0.455764, 0.457282, 0.455487, 0.454822, 0.454257, 0.457678,
550 0.454225, 0.458689, 0.456123, 0.457011, 0.457386, 0.458351, 0.458638, 0.456164, 0.455884,
551 0.458525, 0.457575, 0.458340, 0.458912, 0.457836, 0.461734, 0.457545, 0.460755, 0.460960,
552 0.459226, 0.458613, 0.461078, 0.460958, 0.460337, 0.460237, 0.461190, 0.460760, 0.457911,
553 0.461310, 0.459657, 0.461960, 0.461040, 0.459578, 0.461650, 0.461550, 0.461251, 0.461054,
554 0.463082, 0.461732, 0.461324, 0.462547, 0.461261, 0.461629, 0.464067, 0.462430, 0.462525,
555 0.464232, 0.462921, 0.463202, 0.465558, 0.462914, 0.461698, 0.463963, 0.463040, 0.464275,
556 0.461940, 0.462913, 0.465261, 0.461500, 0.463679, 0.463354, 0.465205, 0.464529, 0.462220,
557 0.464279, 0.463427, 0.465387, 0.465288, 0.464839, 0.464926, 0.466100, 0.465531, 0.466187,
558 0.464647, 0.466285, 0.465461, 0.464134, 0.466783, 0.466763, 0.466183, 0.467089, 0.464497,
559 0.466080, 0.466109, 0.468166, 0.466984, 0.465335, 0.466721, 0.466856, 0.465113, 0.468377,
560 0.467904, 0.464546, 0.468787, 0.465648, 0.469841, 0.469477, 0.466311, 0.468700, 0.465183,
561 0.466559, 0.470433, 0.468563, 0.468109, 0.466980, 0.467567, 0.467670, 0.466991, 0.467992,
562 0.468784, 0.469406, 0.469652, 0.468527, 0.470460, 0.467308, 0.470693, 0.469539, 0.468000,
563 0.469295, 0.467038, 0.471908, 0.468829, 0.470663, 0.469266, 0.468975, 0.470222, 0.468649,
564 0.469507, 0.472307, 0.471611, 0.470419, 0.471181, 0.471140, 0.473187, 0.471086, 0.469801,
565 0.472234, 0.472131, 0.468996, 0.470229, 0.471597, 0.469625, 0.472230, 0.470164, 0.468404,
566 0.472264, 0.471336, 0.471597, 0.472280, 0.471256, 0.473151, 0.471863, 0.474458, 0.471956,
567 0.473099, 0.473956, 0.471725, 0.472809, 0.473065, 0.473180, 0.470611, 0.473614, 0.474263,
568 0.472792, 0.473543, 0.472656, 0.469728, 0.473431, 0.474538, 0.475322, 0.474962, 0.473598,
569 0.474114, 0.473486, 0.472934, 0.473252, 0.477149, 0.471719, 0.476383, 0.473076, 0.473952,
570 0.473104, 0.472459, 0.474433, 0.474494, 0.473588, 0.473839, 0.478113, 0.472435, 0.475571,
571 0.475194, 0.475626, 0.474617, 0.474520, 0.474472, 0.476437, 0.474512, 0.474497, 0.474628,
572 0.476203, 0.475698, 0.473907, 0.477144, 0.479000, 0.475553, 0.477481, 0.473998, 0.476672,
573 0.477115, 0.477114, 0.476282, 0.476152, 0.477009, 0.479854, 0.474354, 0.477645, 0.477517,
574 0.477111, 0.474843, 0.476173, 0.477321, 0.477384, 0.477880, 0.475726, 0.476004, 0.478204,
575 0.475586, 0.477973, 0.477935, 0.480640, 0.478234, 0.476349, 0.477493, 0.476994, 0.479815,
576 0.477771, 0.476333, 0.476325, 0.478245, 0.477284, 0.479238, 0.478339, 0.478966, 0.478012,
577 0.479304, 0.480148, 0.476125, 0.481267, 0.479801, 0.476720, 0.478898, 0.479284, 0.479153,
578 0.480157, 0.478681, 0.479712, 0.478993, 0.479943, 0.478349, 0.478930, 0.478052, 0.477173,
579 0.479244, 0.480454, 0.479128, 0.480530, 0.477843, 0.478369, 0.478561, 0.478639, 0.479191,
580 0.481763, 0.481321, 0.480979, 0.479702, 0.479777, 0.479384, 0.477571, 0.481880, 0.478615,
581 0.481303, 0.478783, 0.479384, 0.480517, 0.481928, 0.481199, 0.479041, 0.479188, 0.481491,
582 0.482840, 0.478766, 0.481941, 0.481298, 0.478105, 0.482933, 0.479744, 0.483361, 0.482332,
583 0.482556, 0.482057, 0.483616, 0.480599, 0.482245, 0.481091, 0.480871, 0.481938, 0.480678,
584 0.481851, 0.482902, 0.482158, 0.480187, 0.481772, 0.484967, 0.483094, 0.482133, 0.483929,
585 0.483354, 0.483382, 0.483964, 0.479941, 0.481375, 0.480255, 0.482184, 0.482541, 0.482032,
586 0.483484, 0.479492, 0.483305, 0.481070, 0.483573, 0.485689, 0.485767, 0.484221, 0.481365,
587 0.482440, 0.481507, 0.483418, 0.480978 };
588 double width_a1 = a1width[iii];
589 a[0] = 1;
590 a[1] = 0;
591 b[0] = mass2 - sa;
592 b[1] = -mass * width_a1;
593 Com_Divide( a, b, prop );
594}
595
596//------------base---------------------------------
597double EvtD0ToKSpipipi0pi0::SCADot( double a1[4], double a2[4] ) {
598 double _cal = a1[0] * a2[0] - a1[1] * a2[1] - a1[2] * a2[2] - a1[3] * a2[3];
599 return _cal;
600}
601double EvtD0ToKSpipipi0pi0::Barrier( int l, double sa, double sb, double sc, double r2 ) {
602 double F;
603 double tmp = sa + sb - sc;
604 double q = 0.25 * tmp * tmp / sa - sb;
605 if ( q < 0 ) q = -q;
606 double z = q * r2;
607 if ( l == 1 ) { F = sqrt( 2.0 * z / ( 1.0 + z ) ); }
608 else if ( l == 2 )
609 {
610 double z2 = z * z;
611 F = sqrt( 13.0 * z2 / ( 9.0 + 3.0 * z + z2 ) );
612 }
613 else { F = 1.0; }
614 return F;
615}
616
617double EvtD0ToKSpipipi0pi0::BarrierN( int l, double sa, double sb, double sc, double r,
618 double mass ) {
619 double q = ( sa + sb - sc ) * ( sa + sb - sc ) / ( 4 * sa ) - sb;
620 if ( q < 0 ) q = -q;
621 double z;
622 // z = q*r*r;
623 z = q * r;
624 double sa0;
625 sa0 = mass * mass;
626 double q0 = ( sa0 + sb - sc ) * ( sa0 + sb - sc ) / ( 4 * sa0 ) - sb;
627 if ( q0 < 0 ) q0 = -q0;
628 // double z0 = q0*r*r;
629 double z0 = q0 * r;
630 double F = 0.0;
631 if ( l == 0 ) F = 1;
632 if ( l == 1 ) F = sqrt( ( 1 + z0 ) / ( 1 + z ) );
633 if ( l == 2 ) F = sqrt( ( 9 + 3 * z0 + z0 * z0 ) / ( 9 + 3 * z + z * z ) );
634 return F;
635}
636
637// double EvtD0ToKSpipipi0pi0::BarrierN(int l, double sa, double sb, double sc, double r2)
638//{
639// double B;
640// double tmp = sa + sb -sc;
641// double Q2 = 0.25*tmp*tmp/sa - sb;
642// if (Q2 < 0) Q2 = 1e-16;
643// double Q02 = 0.197321*0.197321/r2;
644// if (l==1){
645// B = sqrt(2.0*Q2/(Q2 + Q02));
646// }
647// else if(l==2){
648// B = sqrt(13.0*Q2*Q2/(Q2*Q2+3.0*Q2*Q02+9.0*Q02*Q02));
649// }
650// else{
651// B = 1.0;
652// }
653// return B;
654// }
655
656//------------------spin-------------------------------------------
657void EvtD0ToKSpipipi0pi0::calt1( double daug1[4], double daug2[4], double t1[4] ) {
658 double p, pq, tmp;
659 double pa[4], qa[4];
660 for ( int i = 0; i < 4; i++ )
661 {
662 pa[i] = daug1[i] + daug2[i];
663 qa[i] = daug1[i] - daug2[i];
664 }
665 p = SCADot( pa, pa );
666 pq = SCADot( pa, qa );
667 tmp = pq / p;
668 for ( int i = 0; i < 4; i++ ) { t1[i] = qa[i] - tmp * pa[i]; }
669}
670void EvtD0ToKSpipipi0pi0::calt2( double daug1[4], double daug2[4], double t2[4][4] ) {
671 double p, r;
672 double pa[4], t1[4];
673 calt1( daug1, daug2, t1 );
674 r = SCADot( t1, t1 ) / 3.0;
675 for ( int i = 0; i < 4; i++ ) { pa[i] = daug1[i] + daug2[i]; }
676 p = SCADot( pa, pa );
677 for ( int i = 0; i < 4; i++ )
678 {
679 for ( int j = 0; j < 4; j++ )
680 { t2[i][j] = t1[i] * t1[j] - r * ( G[i][j] - pa[i] * pa[j] / p ); }
681 }
682}
683void EvtD0ToKSpipipi0pi0::calG2( double daug1[4], double daug2[4], double g2[4][4] ) {
684 // double p, r;
685 double p;
686 // double pa[4], t1[4];
687 double pa[4];
688 // calt1(daug1,daug2,t1);
689 // r = SCADot(t1,t1);
690 for ( int i = 0; i < 4; i++ ) { pa[i] = daug1[i] + daug2[i]; }
691 p = SCADot( pa, pa );
692 for ( int i = 0; i < 4; i++ )
693 {
694 for ( int j = 0; j < 4; j++ )
695 {
696 // t2[i][j] = t1[i]*t1[j] - 1.0/3*r*(G[i][j]-pa[i]*pa[j]/p);
697 g2[i][j] = G[i][j] - pa[i] * pa[j] / p;
698 }
699 }
700}
701//-------------------prop--------------------------------------------
702void EvtD0ToKSpipipi0pi0::propagator( double mass2, double mass, double width, double sx,
703 double prop[2] ) {
704 double a[2], b[2];
705 a[0] = 1;
706 a[1] = 0;
707 b[0] = mass2 - sx;
708 b[1] = -mass * width;
709 Com_Divide( a, b, prop );
710}
711double EvtD0ToKSpipipi0pi0::wid( double mass2, double mass, double sa, double sb, double sc,
712 double r2, int l ) {
713 double widm = 0.;
714 double m = sqrt( sa );
715 double tmp = sb - sc;
716 double tmp1 = sa + tmp;
717 double q = 0.25 * tmp1 * tmp1 / sa - sb;
718 if ( q < 0 ) q = -q;
719 double tmp2 = mass2 + tmp;
720 double q0 = 0.25 * tmp2 * tmp2 / mass2 - sb;
721 if ( q0 < 0 ) q0 = -q0;
722 double z = q * r2;
723 double z0 = q0 * r2;
724 double t = q / q0;
725 if ( l == 0 ) { widm = sqrt( t ) * mass / m; }
726 else if ( l == 1 ) { widm = t * sqrt( t ) * mass / m * ( 1 + z0 ) / ( 1 + z ); }
727 else if ( l == 2 )
728 { widm = t * t * sqrt( t ) * mass / m * ( 9 + 3 * z0 + z0 * z0 ) / ( 9 + 3 * z + z * z ); }
729 return widm;
730}
731double EvtD0ToKSpipipi0pi0::widl1( double mass2, double mass, double sa, double sb, double sc,
732 double r2 ) {
733 double widm = 0.;
734 double m = sqrt( sa );
735 double tmp = sb - sc;
736 double tmp1 = sa + tmp;
737 double q = 0.25 * tmp1 * tmp1 / sa - sb;
738 if ( q < 0 ) q = -q;
739 double tmp2 = mass2 + tmp;
740 double q0 = 0.25 * tmp2 * tmp2 / mass2 - sb;
741 if ( q0 < 0 ) q0 = -q0;
742 double z = q * r2;
743 double z0 = q0 * r2;
744 double F = ( 1 + z0 ) / ( 1 + z );
745 double t = q / q0;
746 widm = t * sqrt( t ) * mass / m * F;
747 return widm;
748}
749void EvtD0ToKSpipipi0pi0::propagatorRBW( double mass2, double mass, double width, double sa,
750 double sb, double sc, double r2, int l,
751 double prop[2] ) {
752 double a[2], b[2];
753 a[0] = 1;
754 a[1] = 0;
755 b[0] = mass2 - sa;
756 b[1] = -mass * width * wid( mass2, mass, sa, sb, sc, r2, l );
757 Com_Divide( a, b, prop );
758}
759void EvtD0ToKSpipipi0pi0::propagatorRBWl1( double mass2, double mass, double width, double sa,
760 double sb, double sc, double r2, double prop[2] ) {
761 double a[2], b[2];
762 a[0] = 1;
763 a[1] = 0;
764 b[0] = mass2 - sa;
765 b[1] = -mass * width * widl1( mass2, mass, sa, sb, sc, r2 );
766 Com_Divide( a, b, prop );
767}
768//------------GS---used by rho----------------------------
769void EvtD0ToKSpipipi0pi0::propagatorGS( double mass2, double mass, double width, double sa,
770 double sb, double sc, double r2, double prop[2] ) {
771 double a[2], b[2];
772 double tmp = sb - sc;
773 double tmp1 = sa + tmp;
774 double q2 = 0.25 * tmp1 * tmp1 / sa - sb;
775 if ( q2 < 0 ) q2 = -q2;
776
777 double tmp2 = mass2 + tmp;
778 double q02 = 0.25 * tmp2 * tmp2 / mass2 - sb;
779 if ( q02 < 0 ) q02 = -q02;
780
781 double q = sqrt( q2 );
782 double q0 = sqrt( q02 );
783 double m = sqrt( sa );
784 double q03 = q0 * q02;
785 double tmp3 = log( mass + 2 * q0 ) + 1.2760418309; // log(mass_2Pion) = 1.2760418309;
786
787 double h = GS1 * q / m * ( log( m + 2 * q ) + 1.2760418309 );
788 double h0 = GS1 * q0 / mass * tmp3;
789 double dh = h0 * ( 0.125 / q02 - 0.5 / mass2 ) + GS3 / mass2;
790 double d = GS2 / q02 * tmp3 + GS3 * mass / q0 - GS4 * mass / q03;
791 double f = mass2 / q03 * ( q2 * ( h - h0 ) + ( mass2 - sa ) * q02 * dh );
792
793 a[0] = 1.0 + d * width / mass;
794 a[1] = 0.0;
795 b[0] = mass2 - sa + width * f;
796 b[1] = -mass * width * widl1( mass2, mass, sa, sb, sc, r2 );
797 Com_Divide( a, b, prop );
798}
799void EvtD0ToKSpipipi0pi0::propagatorGS_Omg( double mass2, double mass, double width, double sa,
800 double sb, double sc, double r2, double amp_Omg,
801 double phs_Omg, double prop[2] ) {
802 const double Omg_mass = 0.783;
803 const double Omg_width = 0.008;
804 const double Omg_mass2 = 0.613089;
805
806 double tmp_propGS[2];
807 propagatorGS( mass2, mass, width, sa, sb, sc, r2, tmp_propGS );
808 double tmp_propOmg[2];
809 propagatorRBWl1( Omg_mass2, Omg_mass, Omg_width, sa, sb, sc, r2,
810 tmp_propOmg ); // Using constant Gamma
811
812 double tmp_propOmg02[2];
813 tmp_propOmg02[0] = Omg_mass2 * tmp_propOmg[0];
814 tmp_propOmg02[1] = Omg_mass2 * tmp_propOmg[1];
815
816 double tmp_cof[2];
817 tmp_cof[0] = amp_Omg * cos( phs_Omg );
818 tmp_cof[1] = amp_Omg * sin( phs_Omg );
819
820 double amp_M_RBWOm[2];
821 amp_M_RBWOm[0] = tmp_cof[0] * tmp_propOmg02[0] - tmp_cof[1] * tmp_propOmg02[1];
822 amp_M_RBWOm[1] = tmp_cof[1] * tmp_propOmg02[0] + tmp_cof[0] * tmp_propOmg02[1];
823
824 double GS_amp_RBWOm[2];
825 Com_Multi( tmp_propGS, amp_M_RBWOm, GS_amp_RBWOm );
826
827 prop[0] = tmp_propGS[0] + GS_amp_RBWOm[0];
828 prop[1] = tmp_propGS[1] + GS_amp_RBWOm[1];
829}
830void EvtD0ToKSpipipi0pi0::rhoab( double sa, double sb, double sc, double res[2] ) {
831 double tmp = sa + sb - sc;
832 double q = 0.25 * tmp * tmp / sa - sb;
833 if ( q >= 0 )
834 {
835 res[0] = 2.0 * sqrt( q / sa );
836 res[1] = 0.0;
837 }
838 else
839 {
840 res[0] = 0.0;
841 res[1] = 2.0 * sqrt( -q / sa );
842 }
843}
844void EvtD0ToKSpipipi0pi0::rho4Pi( double sa, double res[2] ) {
845 double temp = 1.0 - 0.3116765584 / sa; // 0.3116765584=0.13957*0.13957*16
846 if ( temp >= 0 )
847 {
848 res[0] = sqrt( temp ) / ( 1.0 + exp( 9.8 - 3.5 * sa ) );
849 res[1] = 0.0;
850 }
851 else
852 {
853 res[0] = 0.0;
854 res[1] = sqrt( -temp ) / ( 1.0 + exp( 9.8 - 3.5 * sa ) );
855 }
856}
857void EvtD0ToKSpipipi0pi0::propagatorsigma500( double sa, double sb, double sc,
858 double prop[2] ) {
859 double f = 0.5843 + 1.6663 * sa;
860 const double M = 0.9264;
861 const double mass2 = 0.85821696; // M*M
862 const double mpi2d2 = 0.00973989245;
863 double g1 = f * ( sa - mpi2d2 ) / ( mass2 - mpi2d2 ) * exp( ( mass2 - sa ) / 1.082 );
864 double rho1s[2], rho1M[2], rho2s[2], rho2M[2], rho1[2], rho2[2];
865 rhoab( sa, sb, sc, rho1s );
866 rhoab( mass2, sb, sc, rho1M );
867 rho4Pi( sa, rho2s );
868 rho4Pi( mass2, rho2M );
869 Com_Divide( rho1s, rho1M, rho1 );
870 Com_Divide( rho2s, rho2M, rho2 );
871 double a[2], b[2];
872 a[0] = 1.0;
873 a[1] = 0.0;
874 b[0] = mass2 - sa + M * ( g1 * rho1[1] + 0.0024 * rho2[1] );
875 b[1] = -M * ( g1 * rho1[0] + 0.0024 * rho2[0] );
876 Com_Divide( a, b, prop );
877}
878void EvtD0ToKSpipipi0pi0::KPiSLASS( double sa, double sb, double sc, double prop[2] ) {
879 /*
880 const double m1430 = 1.463;
881 const double sa0 = 2.140369; // m1430*m1430;
882 const double w1430 = 0.233;
883 const double Lass1 = 0.25/sa0;
884 double tmp = sb-sc;
885 double tmp1 = sa0+tmp;
886 double q0 = Lass1*tmp1*tmp1-sb;
887 if(q0<0) q0 = 1e-16;
888 double tmp2 = sa+tmp;
889 double qs = 0.25*tmp2*tmp2/sa-sb;
890 double q = sqrt(qs);
891 double width = w1430*q*m1430/sqrt(sa*q0);
892 double temp_R = atan(m1430*width/(sa0-sa));
893 if(temp_R<0) temp_R += math_pi;
894 double deltaR = -5.31 + temp_R;
895 double temp_F = atan(2.14*q/(2.0-1.926*qs)); // 2.0*1.07 = 2.14; 1.8*1.07 = 1.926
896 if(temp_F<0) temp_F += math_pi;
897 double deltaF = 2.33 + temp_F;
898 double deltaS = deltaR + 2.0*deltaF;
899 double t1 = 0.8*sin(deltaF);
900 double t2 = sin(deltaR);
901 double CF[2], CS[2];
902 CF[0] = cos(deltaF);
903 CF[1] = sin(deltaF);
904 CS[0] = cos(deltaS);
905 CS[1] = sin(deltaS);
906 prop[0] = t1*CF[0] + t2*CS[0];
907 prop[1] = t1*CF[1] + t2*CS[1];
908 */
909 const double m1430 = 1.441;
910 const double sa0 = 1.441 * 1.441; // m1430*m1430;
911 const double w1430 = 0.193;
912 const double Lass1 = 0.25 / sa0;
913 double tmp = sb - sc;
914 double tmp1 = sa0 + tmp;
915 double q0 = Lass1 * tmp1 * tmp1 - sb;
916 if ( q0 < 0 ) q0 = -q0;
917 double tmp2 = sa + tmp;
918 double qs = 0.25 * tmp2 * tmp2 / sa - sb;
919 double q = sqrt( qs );
920 double width = w1430 * q * m1430 / sqrt( sa * q0 );
921 double temp_R = atan( m1430 * width / ( sa0 - sa ) );
922 if ( temp_R < 0 ) temp_R += math_pi;
923 double deltaR = -1.915 + temp_R; // fiR=-109.7
924 double temp_F =
925 atan( 0.226 * q / ( 2.0 - 3.819 * qs ) ); // 2.0*0.113 = 0.226; 0.113*33.8 = 3.819
926 if ( temp_F < 0 ) temp_F += math_pi;
927 double deltaF = 0.002 + temp_F; // fiF=0.1
928 double deltaS = deltaR + 2.0 * deltaF;
929 double t1 = 0.96 * sin( deltaF );
930 double t2 = sin( deltaR );
931 double CF[2], CS[2];
932 CF[0] = cos( deltaF );
933 CF[1] = sin( deltaF );
934 CS[0] = cos( deltaS );
935 CS[1] = sin( deltaS );
936 prop[0] = t1 * CF[0] + t2 * CS[0];
937 prop[1] = t1 * CF[1] + t2 * CS[1];
938}
939
940// 0-15: 4P*4;
941// 16-23: non-resonance;
942// 24: pdf after calculating;
943// 28: mass and width;
944// 29-30: amp, phase;
945// 31-34: g0: do/not cal prop about KaPi1; g1: do/not cal prop about Pi2Pim; modetype:
946// 35-38: r0/1: centrifugal barrier; nstates: number of state;
947// 39-40: use [first:last] amplitudes.
948
949void EvtD0ToKSpipipi0pi0::calEva( double* PKs, double* Pip, double* Pim, double* Pi01,
950 double* Pi02, double* mass1, double* mass2, double* width1,
951 double* width2, double* amp, double* phase, double* r0,
952 double* r1, int* g0, int* g1, int* g2, int* modetype,
953 double nstates, double& Result ) {
954
955 double cof[2], amp_tmp[2], amp_tmp1[2], amp_tmp2[2], amp_PDF[2], PDF[2];
956
957 double pomega1[4], pomega2[4], pkst1[4], pkst2[4], pD0[4], prho0[4], prhom1[4], prhom2[4],
958 prhop1[4], prhop2[4], pb101[4], pb102[4], pa101[4], pa102[4], pf01[4], Pf02[4],
959 pk1400[4], pf1285[4], prho01[4], prho02[4], pkstm[4], pkpi01SW[4], pkpi02SW[4],
960 p1omega1[4], p1omega2[4], prho1450[4], pa1p[4], pkstm1[4], pkstm2[4], pk127p1[4],
961 pk127p2[4], prhom11[4], prhom12[4], prhom111[4], prhom112[4], pk11[4], pk12[4], pa1p1[4],
962 pa1p2[4], pb1omega1[4], pb1omega2[4], pb1rho01[4], pb1rho02[4], pb1rhom1[4], pb1rhom2[4],
963 pb1rhop1[4], pb1rhop2[4], pa101_rhop[4], pa102_rhop[4], pa1rhop1[4], pa1rhop2[4],
964 pkst1_20[4], pkst2_20[4], pa101_rhom[4], pa102_rhom[4], pa1rhom1[4], pa1rhom2[4],
965 pkst1_33[4], pkst2_33[4], pk127rhop1[4], pk127rhop2[4], pk140kstm1[4], pk140kstm2[4],
966 pk140rhop1[4], pk140rhop2[4], pf1285rho0[4], pa1prhop1[4], pa1prhop2[4], pb1rho0[4],
967 pphi1[4], pphi2[4], pkst1_2[4], pkst2_2[4], pk127mrhom1[4], pk127mrhom2[4],
968 pk127mrhop1[4], pk127mrhop2[4], pk127m1[4], pk127m2[4], pk1270[4], pk1270rho0[4],
969 pk01[4], pk140mrhop1[4], pk140mrhop2[4], pk140mkstm1[4], pk140mkstm2[4], pk140m1[4],
970 pk140m2[4], pk1400rho01[4], pk1400rho02[4], pk1400kst01[4], pk1400kst02[4], pk14001[4],
971 pk14002[4];
972
973 for ( int i = 0; i != 4; i++ )
974 {
975 pomega1[i] = Pi01[i] + Pip[i] + Pim[i]; // 1
976 pkst2[i] = PKs[i] + Pi02[i];
977 pomega2[i] = Pip[i] + Pim[i] + Pi02[i];
978 pkst1_2[i] = PKs[i] + Pi01[i];
979 pphi1[i] = Pi01[i] + Pip[i] + Pim[i]; // 1
980 pkst2_2[i] = PKs[i] + Pi02[i];
981 pphi2[i] = Pip[i] + Pim[i] + Pi02[i];
982 pkst1[i] = PKs[i] + Pi01[i];
983 pD0[i] = PKs[i] + Pi01[i] + Pip[i] + Pim[i] + Pi02[i];
984 prho0[i] = Pip[i] + Pim[i];
985 prho01[i] = Pip[i] + Pim[i];
986 prho02[i] = Pip[i] + Pim[i];
987 prhom1[i] = Pi01[i] + Pim[i];
988 prhom2[i] = Pim[i] + Pi02[i];
989 prhop1[i] = Pi01[i] + Pip[i];
990 prhop2[i] = Pip[i] + Pi02[i];
991 pb101[i] = Pi01[i] + Pip[i] + Pim[i] + Pi02[i]; // 4
992 pb102[i] = Pi01[i] + Pip[i] + Pim[i] + Pi02[i];
993 pb1omega1[i] = Pi01[i] + Pip[i] + Pim[i];
994 pb1omega2[i] = Pip[i] + Pim[i] + Pi02[i];
995 pb1rho01[i] = Pip[i] + Pim[i];
996 pb1rho02[i] = Pip[i] + Pim[i];
997 pb1rhom1[i] = Pi01[i] + Pim[i];
998 pb1rhom2[i] = Pim[i] + Pi02[i];
999 pb1rhop1[i] = Pi01[i] + Pip[i];
1000 pb1rhop2[i] = Pip[i] + Pi02[i];
1001 pa1p[i] = Pi01[i] + Pip[i] + Pi02[i]; // 18
1002 pa1p1[i] = Pi01[i] + Pip[i] + Pi02[i];
1003 pa1p2[i] = Pi01[i] + Pip[i] + Pi02[i];
1004 pa1prhop1[i] = Pi01[i] + Pip[i];
1005 pa1prhop2[i] = Pip[i] + Pi02[i];
1006 pkstm1[i] = PKs[i] + Pim[i];
1007 pkstm2[i] = PKs[i] + Pim[i];
1008 pkstm[i] = PKs[i] + Pim[i];
1009 pa101_rhop[i] = Pi01[i] + Pip[i] + Pim[i]; // 20
1010 pa102_rhop[i] = Pip[i] + Pim[i] + Pi02[i];
1011 pa1rhop1[i] = Pi01[i] + Pip[i];
1012 pa1rhop2[i] = Pip[i] + Pi02[i];
1013 pkst1_20[i] = PKs[i] + Pi01[i];
1014 pkst2_20[i] = PKs[i] + Pi02[i];
1015 pa101_rhom[i] = Pi01[i] + Pip[i] + Pim[i]; // 33
1016 pa102_rhom[i] = Pip[i] + Pim[i] + Pi02[i];
1017 pa1rhom1[i] = Pi01[i] + Pim[i];
1018 ;
1019 pa1rhom2[i] = Pim[i] + Pi02[i];
1020 pkst1_33[i] = PKs[i] + Pi01[i];
1021 pkst2_33[i] = PKs[i] + Pi02[i];
1022
1023 pf1285[i] = Pi01[i] + Pip[i] + Pim[i] + Pi02[i]; // 23
1024 pf01[i] = Pi01[i] + Pi02[i];
1025 pf1285rho0[i] = Pip[i] + Pim[i];
1026
1027 pk127mrhom1[i] = Pi01[i] + Pim[i]; // 45
1028 pk127mrhom2[i] = Pim[i] + Pi02[i];
1029 pk127mrhop1[i] = Pi01[i] + Pip[i];
1030 pk127mrhop2[i] = Pip[i] + Pi02[i];
1031 pk127m1[i] = PKs[i] + Pi01[i] + Pim[i];
1032 pk127m2[i] = PKs[i] + Pim[i] + Pi02[i];
1033
1034 pk1270[i] = PKs[i] + Pip[i] + Pim[i]; // 46
1035 pk1270rho0[i] = Pip[i] + Pim[i];
1036 pk01[i] = Pi01[i] + Pi02[i];
1037
1038 pk140mrhop1[i] = Pi01[i] + Pip[i]; // 31
1039 pk140mrhop2[i] = Pip[i] + Pi02[i];
1040 pk140mkstm1[i] = PKs[i] + Pim[i];
1041 pk140mkstm2[i] = PKs[i] + Pim[i];
1042 pk140m1[i] = PKs[i] + Pi01[i] + Pim[i];
1043 pk140m2[i] = PKs[i] + Pim[i] + Pi02[i];
1044
1045 pk1400rho01[i] = Pip[i] + Pim[i]; // 42
1046 pk1400rho02[i] = Pip[i] + Pim[i];
1047 pk1400kst01[i] = PKs[i] + Pi01[i];
1048 pk1400kst02[i] = PKs[i] + Pi02[i];
1049 pk14001[i] = PKs[i] + Pi01[i] + Pi02[i];
1050 pk14002[i] = PKs[i] + Pi01[i] + Pi02[i];
1051
1052 prho1450[i] = Pi01[i] + Pip[i] + Pim[i] + Pi02[i]; /// 39
1053 }
1054
1055 double sKs, sPi01, skstm, sPim, sPip, sPi02, somega1, sk1270, somega2, skst1, skst2, sD0,
1056 srho0, srhop1, srhop2, srhom1, srhom2, sb101, sb102, skstm1, skstm2, sa1p, sa101, sa102,
1057 sf01, sf02, sk14001, sk14002, sk1400, sf1285, srho01, srho02, s1omega1, s1omega2,
1058 skpi01SW, skpi02SW, srho1450, sk127p1, sk127p2, sk127m1, sk127m2, srhom11, srhom12,
1059 srhom111, srhom112, sk11, sk12, sa1p1, sa1p2, sb1omega1, sb1omega2, sb1rho01, sb1rho02,
1060 sb1rhop1, sb1rhop2, sb1rhom1, sb1rhom2, sb1rho0, sa101_rhop, sa102_rhop, sa1rhop1,
1061 sa1rhop2, skst1_20, skst2_20, sa101_rhom, sa102_rhom, sa1rhom1, sa1rhom2, skst1_33,
1062 skst2_33, sk127mrhop1, sk127mrhop2, sk140m1, sk140m2, sk140mkstm1, sk140mkstm2,
1063 sk140mrhop1, sk140mrhop2, sf1285rho0, sa1prhop1, sa1prhop2, sphi1, sphi2, skst1_2,
1064 skst2_2, sk127mrhom1, sk127mrhom2, sk1270rho0, sk01, sk1400rho01, sk1400rho02,
1065 sk1400kst01, sk1400kst02;
1066
1067 sKs = SCADot( PKs, PKs );
1068 sPi01 = SCADot( Pi01, Pi01 );
1069 sPip = SCADot( Pip, Pip );
1070 sPim = SCADot( Pim, Pim );
1071 sPi02 = SCADot( Pi02, Pi02 );
1072 somega1 = SCADot( pomega1, pomega1 );
1073 somega2 = SCADot( pomega2, pomega2 );
1074 sphi1 = SCADot( pphi1, pphi1 );
1075 sphi2 = SCADot( pphi2, pphi2 );
1076 skst1 = SCADot( pkst1, pkst1 );
1077 skst2 = SCADot( pkst2, pkst2 );
1078 skst1_2 = SCADot( pkst1_2, pkst1_2 );
1079 skst2_2 = SCADot( pkst2_2, pkst2_2 );
1080 sD0 = SCADot( pD0, pD0 );
1081 srhop1 = SCADot( prhop1, prhop1 );
1082 srhop2 = SCADot( prhop2, prhop2 );
1083 srhom1 = SCADot( prhom1, prhom1 );
1084 srhom2 = SCADot( prhom2, prhom2 );
1085 srho0 = SCADot( prho0, prho0 );
1086 srho01 = SCADot( prho01, prho01 );
1087 srho02 = SCADot( prho02, prho02 );
1088 sb101 = SCADot( pb101, pb101 ); // 4
1089 sb102 = SCADot( pb102, pb102 );
1090 sb1omega1 = SCADot( pb1omega1, pb1omega1 );
1091 sb1omega2 = SCADot( pb1omega2, pb1omega2 );
1092 sb1rho01 = SCADot( pb1rho01, pb1rho01 );
1093 sb1rho02 = SCADot( pb1rho02, pb1rho02 );
1094 sb1rhop1 = SCADot( pb1rhop1, pb1rhop1 );
1095 sb1rhop2 = SCADot( pb1rhop2, pb1rhop2 );
1096 sb1rhom1 = SCADot( pb1rhom1, pb1rhom1 );
1097 sb1rhom2 = SCADot( pb1rhom2, pb1rhom2 );
1098 sb1rho0 = SCADot( pb1rho0, pb1rho0 );
1099 sa1p = SCADot( pa1p, pa1p ); // 18
1100 sa1p1 = SCADot( pa1p1, pa1p1 );
1101 sa1p2 = SCADot( pa1p2, pa1p2 );
1102 skstm1 = SCADot( pkstm1, pkstm1 );
1103 skstm2 = SCADot( pkstm2, pkstm2 );
1104 skstm = SCADot( pkstm, pkstm );
1105 sa1prhop1 = SCADot( pa1prhop1, pa1prhop1 );
1106 sa1prhop2 = SCADot( pa1prhop2, pa1prhop2 );
1107 sa101_rhop = SCADot( pa101_rhop, pa101_rhop ); // 20
1108 sa102_rhop = SCADot( pa102_rhop, pa102_rhop );
1109 sa1rhop1 = SCADot( pa1rhop1, pa1rhop1 );
1110 sa1rhop2 = SCADot( pa1rhop2, pa1rhop2 );
1111 skst1_20 = SCADot( pkst1_20, pkst1_20 );
1112 skst2_20 = SCADot( pkst2_20, pkst2_20 );
1113 sa101_rhom = SCADot( pa101_rhom, pa101_rhom ); // 33
1114 sa102_rhom = SCADot( pa102_rhom, pa102_rhom );
1115 sa1rhom1 = SCADot( pa1rhom1, pa1rhom1 );
1116 sa1rhom2 = SCADot( pa1rhom2, pa1rhom2 );
1117 skst1_33 = SCADot( pkst1_33, pkst1_33 );
1118 skst2_33 = SCADot( pkst2_33, pkst2_33 );
1119
1120 sf1285 = SCADot( pf1285, pf1285 ); // 23
1121 sf01 = SCADot( pf01, pf01 );
1122 sf1285rho0 = SCADot( pf1285rho0, pf1285rho0 );
1123
1124 sk127mrhom1 = SCADot( pk127mrhom1, pk127mrhom1 ); // 45
1125 sk127mrhom2 = SCADot( pk127mrhom2, pk127mrhom2 );
1126 sk127mrhop1 = SCADot( pk127mrhop1, pk127mrhop1 );
1127 sk127mrhop2 = SCADot( pk127mrhop2, pk127mrhop2 );
1128 sk127m1 = SCADot( pk127m1, pk127m1 );
1129 sk127m2 = SCADot( pk127m2, pk127m2 );
1130
1131 sk1270 = SCADot( pk1270, pk1270 ); // 46
1132 sk1270rho0 = SCADot( pk1270rho0, pk1270rho0 );
1133 sk01 = SCADot( pk01, pk01 );
1134
1135 sk140mrhop1 = SCADot( pk140mrhop1, pk140mrhop1 ); // 31
1136 sk140mrhop2 = SCADot( pk140mrhop2, pk140mrhop2 );
1137 sk140mkstm1 = SCADot( pk140mkstm1, pk140mkstm1 );
1138 sk140mkstm2 = SCADot( pk140mkstm2, pk140mkstm2 );
1139 sk140m1 = SCADot( pk140m1, pk140m1 );
1140 sk140m2 = SCADot( pk140m2, pk140m2 );
1141
1142 sk1400rho01 = SCADot( pk1400rho01, pk1400rho01 ); // 42
1143 sk1400rho02 = SCADot( pk1400rho02, pk1400rho02 );
1144 sk1400kst01 = SCADot( pk1400kst01, pk1400kst01 );
1145 sk1400kst02 = SCADot( pk1400kst02, pk1400kst02 );
1146 sk14001 = SCADot( pk14001, pk14001 );
1147 sk14002 = SCADot( pk14002, pk14002 );
1148
1149 srho1450 = SCADot( prho1450, prho1450 ); //////39
1150
1151 ////////////////////////////////////////////////////////////////
1152 double t1rho01[4], t1rho02[4], t1rhop1[4], t1rhop2[4], t1rhom1[4], t1rhom2[4], t1omega01[4],
1153 t1omega02[4], t1omegap1[4], t1omegap2[4], t1omegam1[4], t1omegam2[4], t1kst1[4],
1154 t1kst2[4], t1D0_b1[4], t1D0_b2[4], t1D0_k14001[4], t1D0_k14002[4], t1D0[4],
1155 t1D0KPi01SW[4], t1D0KPi02SW[4], t1rho0[4], t1D0_rho1450ks0[4], t1rho14501[4],
1156 t1rho14502[4], t1D0_f1285[4], t1f1285[4], t1rhom11[4], t1rhom12[4], t1rhom111[4],
1157 t1rhom112[4], t1D0_k1[4], t1D0_k11[4], t1D0_k12[4], t1k1400rho01[4], t1k1400rho02[4],
1158 t1D0_k1400rho01[4], t1D0_k1400rho02[4], t1k1270rho0[4];
1159 double t1phi01[4], t1phi02[4], t1phip1[4], t1phip2[4], t1phim1[4], t1phim2[4];
1160 double p1omega01[4][4], p1omega02[4][4], p1omegap1[4][4], p1omegap2[4][4], p1omegam1[4][4],
1161 p1omegam2[4][4], p2k1400[4][4];
1162 double p1phi01[4][4], p1phi02[4][4], p1phip1[4][4], p1phip2[4][4], p1phim1[4][4],
1163 p1phim2[4][4], t1D0_k101[4], p2_k101[4][4], t1D0_k102[4], p2_k102[4][4];
1164 double p1b1_1[4][4], p1b1_2[4][4], pk1400_1[4][4], pk1400_2[4][4], p2a1270[4][4],
1165 p1rho14501[4][4], p1rho14502[4][4], p1a1m_1[4][4], p1a1m_2[4][4], t2_a102[4][4],
1166 p2f1285[4][4], p2_k11[4][4], p2_k12[4][4], pm_k11[4][4], pm_k12[4][4], p1k1m_1[4][4],
1167 p1k1m_2[4][4], t2D0_k11[4][4], t2D0_k12[4][4], t2f1285[4][4], p2k1270[4][4],
1168 t1D0_k1270[4], t1kst01[4], t1kst02[4], t1rhop11[4], t1rhop12[4], t1k140mrhop1[4],
1169 t1k140mrhop2[4], t1k140mkstm1[4], t1k140mkstm2[4];
1170 double t1b1rho01[4], t1b1rho02[4], t1b1rhop1[4], t1b1rhop2[4], t1b1rhom1[4], t1b1rhom2[4],
1171 t1b1omega01[4], t1b1omegap1[4], t1b1omegap2[4], t1b1omegam1[4], t1b1omegam2[4],
1172 p1b1omega01[4][4], p1b1omega02[4][4], p1b1omegap1[4][4], p1b1omegap2[4][4],
1173 p1b1omegam1[4][4], p1b1omegam2[4][4], t1a1prhop1[4], t1a1prhop2[4], t1a10rhop1[4],
1174 t1a10rhop2[4], t1a10kst1[4], t1a10kst2[4], t1a10rhom1[4], t1a10rhom2[4], t1k1400kst01[4],
1175 t1k1400kst02[4], t1b1omega02[4], t1f1rho0[4];
1176
1177 // Sn---L(i)
1178 // calt1(Pip,Pim,t1rho01); calt1(Pip,Pim,t1rho02);calt1(Pip,Pim,t1rho0);
1179 // calt1(Pip,Pi01,t1rhop1); calt1(Pip,Pi02,t1rhop2);
1180 // calt1(Pi01,Pim,t1rhom1);calt1(Pi02,Pim,t1rhom2);
1181 // calt1(prho0,Pi01,t1omega01);calt1(prho0,Pi02,t1omega02);
1182 // calt1(prhop1,Pim,t1omegap1);calt1(prhop2,Pim,t1omegap2);
1183 // calt1(prhom1,Pip,t1omegam1);calt1(prhom2,Pip,t1omegam2);
1184 // calt1(PKs,Pi01,t1kst1); calt1(PKs,Pi02,t1kst2);
1185 // calt1(p1omega1,pkpi02SW,t1D0KPi02SW);
1186 // calt1(p1omega2,pkpi01SW,t1D0KPi01SW);
1187 // calt1(pb10,PKs,t1D0_b1);
1188 // calt1(pk14001,Pi02,t1D0_k14001);
1189 // calt1(pk14002,Pi01,t1D0_k14002);
1190 //
1191 // //Sn---P(ij)
1192 // calG2(prho0,Pi01,p1omega01);calG2(prho0,Pi02,p1omega02);calG2(prhop1,Pim,p1omegap1);
1193 // calG2(prhop2,Pim,p1omegap2);calG2(prhom1,Pip,p1omegam1);calG2(prhom2,Pip,p1omegam2);
1194 //
1195 // calG2(pomega1,Pi02,p1b1_1); calG2(pomega2,Pi01,p1b1_2);
1196 // calG2(pomega1,PKs,pk1400_1); calG2(pomega2,PKs,pk1400_2);
1197 // calG2(pkst1,Pi02,p2k1400_1); calG2(pkst2,Pi01,p2k1400_2);
1198
1199 PDF[0] = 0.0;
1200 PDF[1] = 0.0;
1201
1202 ////
1203 double t1D0_omega1kst2[4], t1D0_omega2kst1[4];
1204 double t1D0_phi1kst2[4], t1D0_phi2kst1[4];
1205 // calt1(pomega1,pkst2,t1D0_omega1kst2); calt1(pomega2,pkst1,t1D0_omega2kst1);
1206
1207 // Sn(l=2)
1208 double t2D0_omega1kst2[4][4], t2D0_omega2kst1[4][4], t2b1_1[4][4], t2b1_2[4][4],
1209 t2k1400_1[4][4], t2k1400_2[4][4], t2k1270[4][4];
1210 double t2D0_phi1kst2[4][4], t2D0_phi2kst1[4][4];
1211 // calt2(pomega1,pkst2,t2D0_omega1kst2); calt2(pomega2,pkst1,t2D0_omega2kst1);
1212 // calt2(pomega1,Pi02,t2b1_1); calt2(pomega2,Pi01,t2b1_2);
1213 // calt2(pomega1,PKs,t2k1400_1); calt2(pomega2,PKs,t2k1400_2);
1214
1215 // rho from omega
1216 double pro1V0[2], pro1Vm2[2], pro1Vp1[2], pro1Vp2[2], pro1Vm1[2], pro1V01[2], pro1V02[2],
1217 pro11Vp1[2], pro11Vp2[2], pro11Vm1[2], pro11Vm2[2], pro111Vm1[2], pro111Vm2[2], pf0_2[2],
1218 pro4V01[2], pro4V02[2], pro4Vp1[2], pro4Vp2[2], pro4Vm1[2], pro4Vm2[2];
1219
1220 propagatorGS( 0.60102807, 0.77526, 0.1478, srho0, sPip, sPim, rRes2, pro1V0 );
1221 propagatorGS( 0.60102807, 0.77526, 0.1478, srho01, sPip, sPim, rRes2, pro1V01 );
1222 propagatorGS( 0.60102807, 0.77526, 0.1478, srho02, sPip, sPim, rRes2, pro1V02 );
1223 propagatorGS( 0.60102807, 0.77526, 0.1478, srhop1, sPip, sPi01, rRes2, pro1Vp1 );
1224 propagatorGS( 0.60102807, 0.77526, 0.1478, srhop2, sPip, sPi02, rRes2, pro1Vp2 );
1225 propagatorGS( 0.60102807, 0.77526, 0.1478, srhom1, sPi01, sPim, rRes2, pro1Vm1 );
1226 propagatorGS( 0.60102807, 0.77526, 0.1478, srhom2, sPi02, sPim, rRes2, pro1Vm2 );
1227
1228 double B1_V01( -1 ), B1_V02( -1 ), B1_Vp1( -1 ), B1_Vp2( -1 ), B1_Vm1( -1 ), B1_Vm2( -1 ),
1229 B1_V0( -1 ), B1_Vm111( -1 ), B1_Vm112( -1 ), B1_Vm11( -1 ), B1_Vm12( -1 );
1230 // rho from omega Blatt-We
1231 B1_V01 = BarrierN( 1, srho01, sPip, sPim, rRes2, 0.77526 );
1232 B1_V02 = BarrierN( 1, srho02, sPip, sPim, rRes2, 0.77526 );
1233 B1_V0 = BarrierN( 1, srho0, sPip, sPim, rRes2, 0.77526 );
1234 B1_Vp1 = BarrierN( 1, srhop1, sPip, sPi01, rRes2, 0.77526 );
1235 B1_Vp2 = BarrierN( 1, srhop2, sPip, sPi02, rRes2, 0.77526 );
1236 B1_Vm1 = BarrierN( 1, srhom1, sPi01, sPim, rRes2, 0.77526 );
1237 B1_Vm2 = BarrierN( 1, srhom2, sPi02, sPim, rRes2, 0.77526 );
1238
1239 double B1_omega10( -1 ), B1_omega1p( -1 ), B1_omega1m( -1 ), B1_omega20( -1 ),
1240 B1_omega2p( -1 ), B1_omega2m( -1 ), B1_D0_k1400( -1 ), B1_D0_k14001( -1 ),
1241 B1_D0_k14002( -1 ), B2_k1400_1( -1 ), B2_k1400( -1 ), B2_k1400_2( -1 ),
1242 B1_D0_k1270( -1 ), B2_k1270( -1 ), B1_D0_f1( -1 ), B1_D0_a1pkpim1( -1 ),
1243 B1_D0_a1pkpim2( -1 ), B1_f1285( -1 ), B1_D0_k1( -1 ), B2_k1( -1 );
1244 double B1_phi10( -1 ), B1_phi1p( -1 ), B1_phi1m( -1 ), B1_phi20( -1 ), B1_phi2p( -1 ),
1245 B1_phi2m( -1 );
1246 double B1_D0_omega1( -1 ), B1_D0_omega2( -1 ), B1_kst1( -1 ), B1_kst2( -1 ), B1_D0_b1( -1 ),
1247 B1_D0_b2( -1 ), B1_a11p( -1 ), B1_a11m( -1 ), B2_a12p( -1 ), B2_a12m( -1 ),
1248 B1_kstm1( -1 ), B1_kstm2( -1 ), B1_D0_rho1450( -1 ), B1_kst1_2( -1 ), B1_kst2_2( -1 );
1249 double B1_D0_phi1( -1 ), B1_D0_phi2( -1 );
1250 double B1_rho10( -1 ), B1_rho1p( -1 ), B1_rho1m( -1 ), B1_rho20( -1 ), B1_rho2p( -1 ),
1251 B1_rho2m( -1 ), B1_b1_rho( -1 ), B1_b1_rho10( -1 ), B1_b1_rho1p( -1 ), B1_b1_rho1m( -1 ),
1252 B1_b1_rho20( -1 ), B1_b1_rho2p( -1 ), B1_b1_rho2m( -1 );
1253 double B1_a1prhop1( -1 ), B1_a1prhop2( -1 ), B1_a10rhop1( -1 ), B1_a10rhop2( -1 );
1254 double B1_a10rhom1( -1 ), B1_a10rhom2( -1 );
1255
1256 double B2_D0_omega1( -1 ), B2_D0_omega2( -1 ), B2_b1_1( -1 ), B2_b1_2( -1 ), B2_D0_k1( -1 ),
1257 B2_D0_k11( -1 ), B2_D0_k12( -1 );
1258 double B2_D0_phi1( -1 ), B2_D0_phi2( -1 );
1259 double B1_f1285_rho0( -1 ), B1_k127_rhop( -1 ), B1_k127_rhop1( -1 ), B1_k127_rhop2( -1 ),
1260 B1_k140_kstm( -1 ), B1_k140_kstm1( -1 ), B1_k140_kstm2( -1 ), B1_k140_rhop( -1 ),
1261 B1_k140_rhop1( -1 ), B1_k140_rhop2( -1 ), B1_k127_rhom( -1 ), B1_k127_rhom1( -1 ),
1262 B1_k127_rhom2( -1 ), B1_D0_k101( -1 ), B1_D0_k102( -1 );
1263
1264 double temp_PDF11, temp_PDF12, temp_PDF13, temp_PDF21, temp_PDF22, temp_PDF23;
1265 double pro0_01[2], pro0_p1[2], pro0_m1[2], pro0_02[2], pro0_p2[2], pro0_m2[2];
1266 double pro2_01[2], pro2_p1[2], pro2_m1[2], pro2_02[2], pro2_p2[2], pro2_m2[2];
1267
1268 double proa_p1[2], proa_p2[2];
1269 double pro1_1[2], pro1_2[2], pro1_3[2], pro1_4[2], pf0_1[2], pro00_01[2], pro00_02[2];
1270 double pro2_1[2], pro2_2[2];
1271 double pro1_21[2], pro1_22[2], pro1_23[2], pro1_11[2], pro1_12[2], pro1_13[2], pro3_p1[2],
1272 pro3_p2[2], pro3_1[2], pro3_2[2], pro3_11[2], pro3_12[2], pro4_p2[2], pro4_1[2],
1273 pro4_p1[2], pro4_2[2], pro4_12[2], pro4_22[2], pro5_m1[2], pro5_m2[2], pro5_1[2],
1274 pro5_2[2], pro5_12[2], pro5_22[2], pro6_f1[2], pro6_f11[2], pro6_11[2], pro8_p1[2],
1275 pro8_1[2];
1276 double pro3_p11[2], pro3_p12[2], pro3_111[2], pro3_112[2];
1277 double pro4_11[2], pro4_111[2], pro4_112[2], pro5_11[2], pro5_112[2], pro5_111[2],
1278 pro5_222[2];
1279
1280 // double pro0_1[2],pro0_2[2],pro0_3[2],pro0_4[2];
1281 double pro1_01[2], pro1_p1[2], pro1_m1[2], pro1_02[2], pro1_p2[2], pro1_m2[2];
1282 double prob1_1[2], prob1_2[2];
1283 double pro9_01[2], pro9_p1[2], pro9_m1[2], pro9_02[2], pro9_p2[2], pro9_m2[2], pro9_2[2],
1284 pro9_1[2], pro9_21[2], pro9_22[2], pro9_23[2], pro9_11[2], pro9_13[2], pro9_12[2],
1285 pro1_p20[2], pro10_42[2], pro11_42[2], pro42_21[2], pro42_22[2];
1286
1287 double tpro_01[2], tpro_p1[2], tpro_m1[2], tpro_02[2], tpro_p2[2], tpro_m2[2], tpro11_p1[2],
1288 tpro11_p2[2], pro11_p1[2], pro11_p2[2], tpro10_42[2], tpro11_42[2];
1289 double tpro2_01[2], tpro2_p1[2], tpro2_m1[2], tpro2_02[2], tpro2_p2[2], tpro2_m2[2];
1290 double tpro1_01[2], tpro1_p1[2], tpro1_m1[2], tpro1_02[2], tpro1_p2[2], tpro1_m2[2];
1291 double tpro3_p1[2], tpro3_p2[2];
1292 double tpro4_p1[2], tpro4_p2[2];
1293 double tpro5_m1[2], tpro5_m2[2];
1294 double tpro9_01[2], tpro9_p1[2], tpro9_m1[2], tpro9_02[2], tpro9_p2[2], tpro9_m2[2];
1295
1296 double pro_11[2], pro_12[2], pro_13[2], pro_21[2], pro_22[2], pro_23[2], pro_a1p[2],
1297 pro_a101[2], pro_a102[2], pfo_a1p[2], pfo_a101[2], pfo_a102[2], pro11_12[2], pro11_22[2];
1298 double pro2_11[2], pro2_12[2], pro2_13[2], pro2_21[2], pro2_22[2], pro2_23[2];
1299 double mass1sq, mass2sq;
1300 double pro10_p1[2], pro10_p2[2], pro10_1[2], pro10_2[2], pro10_12[2], pro10_22[2],
1301 tpro10_p1[2], tpro10_p2[2], pro10_Vp1[2], pro10_Vp2[2], pro45_m1[2], pro45_m2[2],
1302 tpro45_m1[2], pro45_10[2], tpro45_m2[2], pro45_11[2], pro0_20[2], pro1_20[2],
1303 pro0_p20[2], pro_20[2], pro10_21[2], pro10_23[2], pro10_24[2], pro10_25[2], pro10_26[2];
1304 double pro4_1112[2], pro4_2222[2], pro5_1112[2], pro5_2222[2];
1305
1306 double B2_a1p_rhop1( -1 ), B1_D0_a1pkstm( -1 ), B1_D0_a1pkstm1( -1 ), B1_D0_a1pkstm2( -1 ),
1307 B2_a1p_rhop2( -1 ), B2_D0_a1pkstm1( -1 ), B2_D0_a1pkstm2( -1 ), B2_D0_a1pkstm( -1 ),
1308 B1_kst( -1 ), B1_kstm( -1 ), B1_kst01( -1 ), B1_kst02( -1 ), B1_rho14501( -1 ),
1309 B1_rho14502( -1 ), B1_D0_k11( -1 ), B1_D0_k12( -1 ), B1_k1270_rho0( -1 ),
1310 B1_f1270_rho0( -1 ), B1_k1400_rho0( -1 ), B1_k1400_rho01( -1 ), B1_k1400_rho02( -1 ),
1311 B1_k1400_kst0( -1 ), B1_k1400_kst01( -1 ), B1_k1400_kst02( -1 ), B1_D0_K1400rho0( -1 ),
1312 B1_D0_K1400rho01( -1 ), B1_D0_K1400rho02( -2 );
1313 double B1_a10_f0( -1 ), B1_a101( -1 ), B1_a102( -1 ), B1_D0_a1kst( -1 );
1314 double B1_a10_kst0( -1 ), B1_a10_kst( -1 ), B2_a10_rho( -1 ), B1_D0_a10kst0( -1 ),
1315 B2_D0_a10kst0( -1 ), B1_D0_a10kst01( -1 ), B1_D0_a10kst02( -1 ), B2_D0_a10kst01( -1 ),
1316 B2_D0_a10kst02( -1 );
1317 double p1a1p_1[4][4], p1a1p_2[4][4], t2_a1p1[4][4], t2_a1p2[4][4], t2D0_a1p2[4][4],
1318 t2D0_a1p[4][4], t2D0_a1p1[4][4], p1_a102[4][4], p1_a103[4][4], p2_a102[4][4],
1319 p2_a103[4][4], p1_k127p1[4][4], p1_k127p2[4][4], p1_k127m1[4][4], p1_k127m2[4][4];
1320 double t2D0_a101[4][4], t2D0_a102[4][4];
1321 double t1_a102[4][4], t1_a103[4][4], t2_a103[4][4];
1322 double t1kstm1[4], t1kstm2[4], t1kstm[4], t1D0_a1p[4], t1D0_a1p1[4], t1D0_a1p2[4],
1323 t2D0a101[4][4];
1324 double t1a1p[4], t1a101[1], t1a102[1], t1D0_kpimSW1[4], t1D0_kpimSW2[4];
1325 double t1D0_a101[4], t1D0_a102[4], t2D0a102[4][4], t1D0a101[4], t1D0a102[4];
1326 double temp_PDF1, temp_PDF2;
1327
1328 //---------------------------------------------------------------------------
1329
1330 for ( int i = 0; i < nstates; i++ )
1331 {
1332 cof[0] = amp[i] * cos( phase[i] );
1333 cof[1] = amp[i] * sin( phase[i] );
1334 mass1sq = mass1[i] * mass1[i];
1335 mass2sq = mass2[i] * mass2[i];
1336 temp_PDF11 = 0;
1337 temp_PDF12 = 0;
1338 temp_PDF13 = 0;
1339 temp_PDF21 = 0;
1340 temp_PDF22 = 0;
1341 temp_PDF23 = 0;
1342 temp_PDF1 = 0;
1343 temp_PDF2 = 0;
1344
1345 // D to V1V2, V1--PKsPi01, V2--V3Pip, V4--PimPi02
1346 if ( modetype[i] == 1 )
1347 {
1348 if ( g2[i] == 0 ) // spin=0 D to rho omega
1349 {
1350 if ( B1_omega10 == -1 )
1351 {
1352
1353 B1_omega10 = BarrierN( 1, somega1, srho01, sPi01, rRes2, mass1[i] );
1354 B1_omega1p = BarrierN( 1, somega1, srhop1, sPim, rRes2, mass1[i] );
1355 B1_omega1m = BarrierN( 1, somega1, srhom1, sPip, rRes2, mass1[i] );
1356
1357 B1_omega20 = BarrierN( 1, somega2, srho02, sPi02, rRes2, mass1[i] );
1358 B1_omega2p = BarrierN( 1, somega2, srhop2, sPim, rRes2, mass1[i] );
1359 B1_omega2m = BarrierN( 1, somega2, srhom2, sPip, rRes2, mass1[i] );
1360 }
1361 if ( B1_kst1 == -1 )
1362 {
1363 B1_kst1 = BarrierN( 1, skst1, sKs, sPi01, rRes2, mass2[i] );
1364 B1_kst2 = BarrierN( 1, skst2, sKs, sPi02, rRes2, mass2[i] );
1365 }
1366
1367 if ( B1_rho10 == -1 )
1368 {
1369 B1_rho10 = BarrierN( 1, srho01, sPip, sPim, rRes2, 0.77526 );
1370 B1_rho1p = BarrierN( 1, srhop1, sPip, sPi01, rRes2, 0.77526 );
1371 B1_rho1m = BarrierN( 1, srhom1, sPi01, sPim, rRes2, 0.77526 );
1372
1373 B1_rho20 = BarrierN( 1, srho02, sPip, sPim, rRes2, 0.77526 );
1374 B1_rho2p = BarrierN( 1, srhop2, sPip, sPi01, rRes2, 0.77526 );
1375 B1_rho2m = BarrierN( 1, srhom2, sPi02, sPim, rRes2, 0.77526 );
1376 }
1377
1378 calt1( Pip, Pim, t1rho01 );
1379 calt1( Pip, Pim, t1rho02 );
1380 calt1( Pip, Pi01, t1rhop1 );
1381 calt1( Pip, Pi02, t1rhop2 );
1382 calt1( Pi01, Pim, t1rhom1 );
1383 calt1( Pi02, Pim, t1rhom2 );
1384 calt1( prho01, Pi01, t1omega01 );
1385 calt1( prho02, Pi02, t1omega02 );
1386 calt1( prhop1, Pim, t1omegap1 );
1387 calt1( prhop2, Pim, t1omegap2 );
1388 calt1( prhom1, Pip, t1omegam1 );
1389 calt1( prhom2, Pip, t1omegam2 );
1390 calt1( PKs, Pi01, t1kst1 );
1391 calt1( PKs, Pi02, t1kst2 );
1392 calG2( prho01, Pi01, p1omega01 );
1393 calG2( prho02, Pi02, p1omega02 );
1394 calG2( prhop1, Pim, p1omegap1 );
1395 calG2( prhop2, Pim, p1omegap2 );
1396 calG2( prhom1, Pip, p1omegam1 );
1397 calG2( prhom2, Pip, p1omegam2 );
1398
1399 for ( int i = 0; i < 4; i++ )
1400 {
1401 for ( int j = 0; j < 4; j++ )
1402 {
1403 double tempomega1 = pomega1[j] * G[j][j] * G[i][i]; // p(omega)
1404 double tempomega2 = pomega2[j] * G[j][j] * G[i][i];
1405
1406 for ( int k = 0; k < 4; k++ )
1407 {
1408 double temt1omega01 = t1omega01[k] * G[k][k]; // Sn(ome)
1409 double temt1omega02 = t1omega02[k] * G[k][k];
1410 double temt1omegap1 = t1omegap1[k] * G[k][k];
1411 double temt1omegap2 = t1omegap2[k] * G[k][k];
1412 double temt1omegam1 = t1omegam1[k] * G[k][k];
1413 double temt1omegam2 = t1omegam2[k] * G[k][k];
1414
1415 for ( int l = 0; l < 4; l++ )
1416 {
1417 if ( ( i == j ) || ( i == k ) || ( i == l ) || ( j == k ) || ( j == l ) ||
1418 ( k == l ) )
1419 continue;
1420
1421 double temt1rho01 = t1rho01[l] * G[l][l] * E[i][j][k][l];
1422 double temt1rho02 = t1rho02[l] * G[l][l] * E[i][j][k][l];
1423 double temt1rhop1 = t1rhop1[l] * G[l][l] * E[i][j][k][l];
1424 double temt1rhop2 = t1rhop2[l] * G[l][l] * E[i][j][k][l];
1425 double temt1rhom1 = t1rhom1[l] * G[l][l] * E[i][j][k][l];
1426 double temt1rhom2 = t1rhom2[l] * G[l][l] * E[i][j][k][l];
1427
1428 for ( int m = 0; m < 4; m++ )
1429 {
1430 temp_PDF11 += G[m][m] * t1kst1[m] * p1omega02[m][i] * tempomega2 *
1431 temt1omega02 * temt1rho02;
1432 temp_PDF12 += G[m][m] * t1kst1[m] * p1omegap2[m][i] * tempomega2 *
1433 temt1omegap2 * temt1rhop2;
1434 temp_PDF13 += G[m][m] * t1kst1[m] * p1omegam2[m][i] * tempomega2 *
1435 temt1omegam2 * temt1rhom2;
1436
1437 temp_PDF21 += G[m][m] * t1kst2[m] * p1omega01[m][i] * tempomega1 *
1438 temt1omega01 * temt1rho01;
1439 temp_PDF22 += G[m][m] * t1kst2[m] * p1omegap1[m][i] * tempomega1 *
1440 temt1omegap1 * temt1rhop1;
1441 temp_PDF23 += G[m][m] * t1kst2[m] * p1omegam1[m][i] * tempomega1 *
1442 temt1omegam1 * temt1rhom1;
1443 }
1444 }
1445 }
1446 }
1447 }
1448
1449 temp_PDF11 = temp_PDF11 * B1_omega20 * B1_kst1 * B1_rho20;
1450 temp_PDF12 = temp_PDF12 * B1_omega2p * B1_kst1 * B1_rho2p;
1451 temp_PDF13 = temp_PDF13 * B1_omega2m * B1_kst1 * B1_rho2m;
1452 temp_PDF21 = temp_PDF21 * B1_omega10 * B1_kst2 * B1_rho10;
1453 temp_PDF22 = temp_PDF22 * B1_omega1p * B1_kst2 * B1_rho1p;
1454 temp_PDF23 = temp_PDF23 * B1_omega1m * B1_kst2 * B1_rho1m;
1455 }
1456 else if ( g2[i] == 1 )
1457 {
1458
1459 if ( B1_omega10 == -1 )
1460 {
1461
1462 B1_omega10 = BarrierN( 1, somega1, srho01, sPi01, rRes2, mass1[i] );
1463 B1_omega1p = BarrierN( 1, somega1, srhop1, sPim, rRes2, mass1[i] );
1464 B1_omega1m = BarrierN( 1, somega1, srhom1, sPip, rRes2, mass1[i] );
1465
1466 B1_omega20 = BarrierN( 1, somega2, srho02, sPi02, rRes2, mass1[i] );
1467 B1_omega2p = BarrierN( 1, somega2, srhop2, sPim, rRes2, mass1[i] );
1468 B1_omega2m = BarrierN( 1, somega2, srhom2, sPip, rRes2, mass1[i] );
1469 }
1470
1471 if ( B1_kst1 == -1 )
1472 {
1473
1474 B1_kst1 = BarrierN( 1, skst1, sKs, sPi01, rRes2, mass2[i] );
1475 B1_kst2 = BarrierN( 1, skst2, sKs, sPi02, rRes2, mass2[i] );
1476 }
1477
1478 if ( B1_D0_omega1 == -1 )
1479 {
1480
1481 B1_D0_omega1 = BarrierN( 1, sD0, somega1, skst2, rDs2, mD0M );
1482 B1_D0_omega2 = BarrierN( 1, sD0, somega2, skst1, rDs2, mD0M );
1483 }
1484
1485 if ( B1_rho10 == -1 )
1486 {
1487 B1_rho10 = BarrierN( 1, srho01, sPip, sPim, rRes2, 0.77526 );
1488 B1_rho1p = BarrierN( 1, srhop1, sPip, sPi01, rRes2, 0.77526 );
1489 B1_rho1m = BarrierN( 1, srhom1, sPi01, sPim, rRes2, 0.77526 );
1490
1491 B1_rho20 = BarrierN( 1, srho02, sPip, sPim, rRes2, 0.77526 );
1492 B1_rho2p = BarrierN( 1, srhop2, sPip, sPi01, rRes2, 0.77526 );
1493 B1_rho2m = BarrierN( 1, srhom2, sPi02, sPim, rRes2, 0.77526 );
1494 }
1495
1496 calt1( Pip, Pim, t1rho01 );
1497 calt1( Pip, Pim, t1rho02 );
1498 calt1( Pip, Pi01, t1rhop1 );
1499 calt1( Pip, Pi02, t1rhop2 );
1500 calt1( Pi01, Pim, t1rhom1 );
1501 calt1( Pi02, Pim, t1rhom2 );
1502 calt1( prho01, Pi01, t1omega01 );
1503 calt1( prho02, Pi02, t1omega02 );
1504 calt1( prhop1, Pim, t1omegap1 );
1505 calt1( prhop2, Pim, t1omegap2 );
1506 calt1( prhom1, Pip, t1omegam1 );
1507 calt1( prhom2, Pip, t1omegam2 );
1508 calt1( PKs, Pi01, t1kst1 );
1509 calt1( PKs, Pi02, t1kst2 );
1510 calG2( prho01, Pi01, p1omega01 );
1511 calG2( prho02, Pi02, p1omega02 );
1512 calG2( prhop1, Pim, p1omegap1 );
1513 calG2( prhop2, Pim, p1omegap2 );
1514 calG2( prhom1, Pip, p1omegam1 );
1515 calG2( prhom2, Pip, p1omegam2 );
1516 calt1( pomega1, pkst2, t1D0_omega1kst2 );
1517 calt1( pomega2, pkst1, t1D0_omega2kst1 );
1518 for ( int i = 0; i < 4; i++ )
1519 {
1520 double tempD0 = pD0[i] * G[i][i];
1521
1522 for ( int j = 0; j < 4; j++ )
1523 {
1524 double temt1kst1 = t1kst1[j] * G[j][j];
1525 double temt1kst2 = t1kst2[j] * G[j][j];
1526
1527 for ( int k = 0; k < 4; k++ )
1528 {
1529 double temt1D0_omega1kst2 = t1D0_omega1kst2[k] * G[k][k];
1530 double temt1D0_omega2kst1 = t1D0_omega2kst1[k] * G[k][k];
1531
1532 for ( int l = 0; l < 4; l++ )
1533 {
1534 for ( int m = 0; m < 4; m++ )
1535 {
1536 double temp1omega01 = p1omega01[l][m] * G[l][l] * G[m][m] * E[i][j][k][l];
1537 double temp1omega02 = p1omega02[l][m] * G[l][l] * G[m][m] * E[i][j][k][l];
1538 double temp1omegap1 = p1omegap1[l][m] * G[l][l] * G[m][m] * E[i][j][k][l];
1539 double temp1omegap2 = p1omegap2[l][m] * G[l][l] * G[m][m] * E[i][j][k][l];
1540 double temp1omegam1 = p1omegam1[l][m] * G[l][l] * G[m][m] * E[i][j][k][l];
1541 double temp1omegam2 = p1omegam2[l][m] * G[l][l] * G[m][m] * E[i][j][k][l];
1542
1543 for ( int n = 0; n < 4; n++ )
1544 {
1545 double tempomega1 = pomega1[n] * G[n][n];
1546 double tempomega2 = pomega2[n] * G[n][n];
1547
1548 for ( int p = 0; p < 4; p++ )
1549 {
1550 double temt1omega01 = t1omega01[p] * G[p][p];
1551 double temt1omega02 = t1omega02[p] * G[p][p];
1552 double temt1omegap1 = t1omegap1[p] * G[p][p];
1553 double temt1omegap2 = t1omegap2[p] * G[p][p];
1554 double temt1omegam1 = t1omegam1[p] * G[p][p];
1555 double temt1omegam2 = t1omegam2[p] * G[p][p];
1556
1557 for ( int q = 0; q < 4; q++ )
1558 {
1559 if ( ( i == j ) || ( i == k ) || ( i == l ) || ( j == k ) ||
1560 ( j == l ) || ( k == l ) )
1561 continue;
1562 if ( ( m == n ) || ( m == p ) || ( m == q ) || ( n == p ) ||
1563 ( n == q ) || ( p == q ) )
1564 continue;
1565 temp_PDF11 += tempD0 * temt1kst1 * temt1D0_omega2kst1 * temp1omega02 *
1566 E[m][n][p][q] * tempomega2 * temt1omega02 * t1rho02[q] *
1567 G[q][q];
1568 temp_PDF12 += tempD0 * temt1kst1 * temt1D0_omega2kst1 * temp1omegap2 *
1569 E[m][n][p][q] * tempomega2 * temt1omegap2 * t1rhop2[q] *
1570 G[q][q];
1571 temp_PDF13 += tempD0 * temt1kst1 * temt1D0_omega2kst1 * temp1omegam2 *
1572 E[m][n][p][q] * tempomega2 * temt1omegam2 * t1rhom2[q] *
1573 G[q][q];
1574 temp_PDF21 += tempD0 * temt1kst2 * temt1D0_omega1kst2 * temp1omega01 *
1575 E[m][n][p][q] * tempomega1 * temt1omega01 * t1rho01[q] *
1576 G[q][q];
1577 temp_PDF22 += tempD0 * temt1kst2 * temt1D0_omega1kst2 * temp1omegap1 *
1578 E[m][n][p][q] * tempomega1 * temt1omegap1 * t1rhop1[q] *
1579 G[q][q];
1580 temp_PDF23 += tempD0 * temt1kst2 * temt1D0_omega1kst2 * temp1omegam1 *
1581 E[m][n][p][q] * tempomega1 * temt1omegam1 * t1rhom1[q] *
1582 G[q][q];
1583 }
1584 }
1585 }
1586 }
1587 }
1588 }
1589 }
1590 }
1591 temp_PDF11 = temp_PDF11 * B1_D0_omega2 * B1_omega20 * B1_kst1 * B1_rho20;
1592 temp_PDF12 = temp_PDF12 * B1_D0_omega2 * B1_omega2p * B1_kst1 * B1_rho2p;
1593 temp_PDF13 = temp_PDF13 * B1_D0_omega2 * B1_omega2m * B1_kst1 * B1_rho2m;
1594 temp_PDF21 = temp_PDF21 * B1_D0_omega1 * B1_omega10 * B1_kst2 * B1_rho10;
1595 temp_PDF22 = temp_PDF22 * B1_D0_omega1 * B1_omega1p * B1_kst2 * B1_rho1p;
1596 temp_PDF23 = temp_PDF23 * B1_D0_omega1 * B1_omega1m * B1_kst2 * B1_rho1m;
1597 }
1598 else if ( g2[i] == 2 )
1599 {
1600 if ( B1_omega10 == -1 )
1601 {
1602 B1_omega10 = BarrierN( 1, somega1, srho01, sPi01, rRes2, mass1[i] );
1603 B1_omega1p = BarrierN( 1, somega1, srhop1, sPim, rRes2, mass1[i] );
1604 B1_omega1m = BarrierN( 1, somega1, srhom1, sPip, rRes2, mass1[i] );
1605
1606 B1_omega20 = BarrierN( 1, somega2, srho02, sPi02, rRes2, mass1[i] );
1607 B1_omega2p = BarrierN( 1, somega2, srhop2, sPim, rRes2, mass1[i] );
1608 B1_omega2m = BarrierN( 1, somega2, srhom2, sPip, rRes2, mass1[i] );
1609 }
1610
1611 if ( B1_kst1 == -1 )
1612 {
1613 B1_kst1 = BarrierN( 1, skst1, sKs, sPi01, rRes2, mass2[i] );
1614 B1_kst2 = BarrierN( 1, skst2, sKs, sPi02, rRes2, mass2[i] );
1615 }
1616
1617 if ( B2_D0_omega1 == -1 )
1618 {
1619 B2_D0_omega1 = BarrierN( 2, sD0, somega1, skst2, rDs2, mD0M );
1620 B2_D0_omega2 = BarrierN( 2, sD0, somega2, skst1, rDs2, mD0M );
1621 }
1622
1623 if ( B1_rho10 == -1 )
1624 {
1625 B1_rho10 = BarrierN( 1, srho01, sPip, sPim, rRes2, 0.77526 );
1626 B1_rho1p = BarrierN( 1, srhop1, sPip, sPi01, rRes2, 0.77526 );
1627 B1_rho1m = BarrierN( 1, srhom1, sPi01, sPim, rRes2, 0.77526 );
1628
1629 B1_rho20 = BarrierN( 1, srho02, sPip, sPim, rRes2, 0.77526 );
1630 B1_rho2p = BarrierN( 1, srhop2, sPip, sPi01, rRes2, 0.77526 );
1631 B1_rho2m = BarrierN( 1, srhom2, sPi02, sPim, rRes2, 0.77526 );
1632 }
1633
1634 calt1( Pip, Pim, t1rho01 );
1635 calt1( Pip, Pim, t1rho02 );
1636 calt1( Pip, Pi01, t1rhop1 );
1637 calt1( Pip, Pi02, t1rhop2 );
1638 calt1( Pi01, Pim, t1rhom1 );
1639 calt1( Pi02, Pim, t1rhom2 );
1640 calt1( prho01, Pi01, t1omega01 );
1641 calt1( prho02, Pi02, t1omega02 );
1642 calt1( prhop1, Pim, t1omegap1 );
1643 calt1( prhop2, Pim, t1omegap2 );
1644 calt1( prhom1, Pip, t1omegam1 );
1645 calt1( prhom2, Pip, t1omegam2 );
1646 calt1( PKs, Pi01, t1kst1 );
1647 calt1( PKs, Pi02, t1kst2 );
1648 calG2( prho01, Pi01, p1omega01 );
1649 calG2( prho02, Pi02, p1omega02 );
1650 calG2( prhop1, Pim, p1omegap1 );
1651 calG2( prhop2, Pim, p1omegap2 );
1652 calG2( prhom1, Pip, p1omegam1 );
1653 calG2( prhom2, Pip, p1omegam2 );
1654 calt2( pomega1, pkst2, t2D0_omega1kst2 );
1655 calt2( pomega2, pkst1, t2D0_omega2kst1 );
1656
1657 for ( int i = 0; i < 4; i++ )
1658 {
1659 for ( int j = 0; j < 4; j++ )
1660 {
1661 double tempomega1 = pomega1[j] * G[j][j] * G[i][i];
1662 double tempomega2 = pomega2[j] * G[j][j] * G[i][i];
1663
1664 for ( int k = 0; k < 4; k++ )
1665 {
1666 double temt1omega01 = t1omega01[k] * G[k][k];
1667 double temt1omega02 = t1omega02[k] * G[k][k];
1668 double temt1omegap1 = t1omegap1[k] * G[k][k];
1669 double temt1omegap2 = t1omegap2[k] * G[k][k];
1670 double temt1omegam1 = t1omegam1[k] * G[k][k];
1671 double temt1omegam2 = t1omegam2[k] * G[k][k];
1672
1673 for ( int l = 0; l < 4; l++ )
1674 {
1675 double temt1rho01 = t1rho01[l] * G[l][l] * E[i][j][k][l];
1676 double temt1rho02 = t1rho02[l] * G[l][l] * E[i][j][k][l];
1677 double temt1rhop1 = t1rhop1[l] * G[l][l] * E[i][j][k][l];
1678 double temt1rhop2 = t1rhop2[l] * G[l][l] * E[i][j][k][l];
1679 double temt1rhom1 = t1rhom1[l] * G[l][l] * E[i][j][k][l];
1680 double temt1rhom2 = t1rhom2[l] * G[l][l] * E[i][j][k][l];
1681
1682 for ( int m = 0; m < 4; m++ )
1683 {
1684 double temt1kst1 = t1kst1[m] * G[m][m];
1685 double temt1kst2 = t1kst2[m] * G[m][m];
1686
1687 for ( int n = 0; n < 4; n++ )
1688 {
1689 if ( ( i == j ) || ( i == k ) || ( i == l ) || ( j == k ) || ( j == l ) ||
1690 ( k == l ) )
1691 continue;
1692
1693 temp_PDF11 += t2D0_omega2kst1[m][n] * temt1kst1 * p1omega02[n][i] *
1694 tempomega2 * temt1omega02 * temt1rho02 * G[n][n];
1695 temp_PDF12 += t2D0_omega2kst1[m][n] * temt1kst1 * p1omegap2[n][i] *
1696 tempomega2 * temt1omegap2 * temt1rhop2 * G[n][n];
1697 temp_PDF13 += t2D0_omega2kst1[m][n] * temt1kst1 * p1omegam2[n][i] *
1698 tempomega2 * temt1omegam2 * temt1rhom2 * G[n][n];
1699 temp_PDF21 += t2D0_omega1kst2[m][n] * temt1kst2 * p1omega01[n][i] *
1700 tempomega1 * temt1omega01 * temt1rho01 * G[n][n];
1701 temp_PDF22 += t2D0_omega1kst2[m][n] * temt1kst2 * p1omegap1[n][i] *
1702 tempomega1 * temt1omegap1 * temt1rhop1 * G[n][n];
1703 temp_PDF23 += t2D0_omega1kst2[m][n] * temt1kst2 * p1omegam1[n][i] *
1704 tempomega1 * temt1omegam1 * temt1rhom1 * G[n][n];
1705 }
1706 }
1707 }
1708 }
1709 }
1710 }
1711
1712 temp_PDF11 = temp_PDF11 * B2_D0_omega2 * B1_omega20 * B1_kst1 * B1_rho20;
1713 temp_PDF12 = temp_PDF12 * B2_D0_omega2 * B1_omega2p * B1_kst1 * B1_rho2p;
1714 temp_PDF13 = temp_PDF13 * B2_D0_omega2 * B1_omega2m * B1_kst1 * B1_rho2m;
1715 temp_PDF21 = temp_PDF21 * B2_D0_omega1 * B1_omega10 * B1_kst2 * B1_rho10;
1716 temp_PDF22 = temp_PDF22 * B2_D0_omega1 * B1_omega1p * B1_kst2 * B1_rho1p;
1717 temp_PDF23 = temp_PDF23 * B2_D0_omega1 * B1_omega1m * B1_kst2 * B1_rho1m;
1718 }
1719
1720 // omega
1721 if ( g0[i] == 1 )
1722 {
1723 propagator( mass1sq, mass1[i], width1[i], somega1, pro0_01 ); // ome1--rho0 pi01
1724 propagator( mass1sq, mass1[i], width1[i], somega1, pro0_p1 ); // ome1--rhop (pi01)
1725 propagator( mass1sq, mass1[i], width1[i], somega1, pro0_m1 ); // ome1--rhom (pi01)
1726 propagator( mass1sq, mass1[i], width1[i], somega2, pro0_02 ); // ome2--rho0 pi02
1727 propagator( mass1sq, mass1[i], width1[i], somega2, pro0_p2 ); // ome2--rhop (pi02)
1728 propagator( mass1sq, mass1[i], width1[i], somega2, pro0_m2 );
1729 }
1730 else if ( g0[i] == 0 )
1731 {
1732 pro0_01[0] = 1;
1733 pro0_01[1] = 0;
1734 pro0_p1[0] = 1;
1735 pro0_p1[1] = 0;
1736 pro0_m1[0] = 1;
1737 pro0_m1[1] = 0;
1738 pro0_02[0] = 1;
1739 pro0_02[1] = 0;
1740 pro0_p2[0] = 1;
1741 pro0_p2[1] = 0;
1742 pro0_m2[0] = 1;
1743 pro0_m2[1] = 0;
1744 }
1745 propagatorGS( 0.60102807, 0.77526, 0.1478, srho01, sPip, sPim, rRes2, pro1V01 );
1746 propagatorGS( 0.60102807, 0.77526, 0.1478, srho02, sPip, sPim, rRes2, pro1V02 );
1747 propagatorGS( 0.60102807, 0.77526, 0.1478, srhop1, sPip, sPi01, rRes2, pro1Vp1 );
1748 propagatorGS( 0.60102807, 0.77526, 0.1478, srhop2, sPip, sPi02, rRes2, pro1Vp2 );
1749 propagatorGS( 0.60102807, 0.77526, 0.1478, srhom1, sPi01, sPim, rRes2, pro1Vm1 );
1750 propagatorGS( 0.60102807, 0.77526, 0.1478, srhom2, sPi02, sPim, rRes2, pro1Vm2 );
1751
1752 Com_Multi( pro0_01, pro1V01, tpro_01 );
1753 Com_Multi( pro0_p1, pro1Vp1, tpro_p1 );
1754 Com_Multi( pro0_m1, pro1Vm1, tpro_m1 );
1755
1756 Com_Multi( pro0_02, pro1V02, tpro_02 );
1757 Com_Multi( pro0_p2, pro1Vp2, tpro_p2 );
1758 Com_Multi( pro0_m2, pro1Vm2, tpro_m2 );
1759
1760 // kst
1761 if ( g1[i] == 1 )
1762 {
1763 propagatorRBW( mass2sq, mass2[i], width2[i], skst1, sKs, sPi01, rRes2, 1,
1764 pro1_1 ); // kst1
1765 propagatorRBW( mass2sq, mass2[i], width2[i], skst2, sKs, sPi02, rRes2, 1,
1766 pro1_2 ); // kst2
1767 }
1768 else if ( g1[i] == 0 )
1769 {
1770 pro1_1[0] = 1;
1771 pro1_1[1] = 0;
1772 pro1_2[0] = 1;
1773 pro1_2[1] = 0;
1774 }
1775
1776 Com_Multi( tpro_01, pro1_2, pro_21 );
1777 Com_Multi( tpro_p1, pro1_2, pro_22 );
1778 Com_Multi( tpro_m1, pro1_2, pro_23 );
1779
1780 Com_Multi( tpro_02, pro1_1, pro_11 );
1781 Com_Multi( tpro_p2, pro1_1, pro_12 );
1782 Com_Multi( tpro_m2, pro1_1, pro_13 );
1783
1784 amp_tmp1[0] =
1785 -1 * ( temp_PDF11 * pro_11[0] ) + temp_PDF12 * pro_12[0] + temp_PDF13 * pro_13[0];
1786 amp_tmp1[1] =
1787 -1 * ( temp_PDF11 * pro_11[1] ) + temp_PDF12 * pro_12[1] + temp_PDF13 * pro_13[1];
1788 amp_tmp2[0] =
1789 -1 * ( temp_PDF21 * pro_21[0] ) + temp_PDF22 * pro_22[0] + temp_PDF23 * pro_23[0];
1790 amp_tmp2[1] =
1791 -1 * ( temp_PDF21 * pro_21[1] ) + temp_PDF22 * pro_22[1] + temp_PDF23 * pro_23[1];
1792 // printf("shuchu1: %.20f,%lf,%.20f, %.20f\n",
1793 // amp_tmp1[1],amp_tmp2[1],amp_tmp1[0],amp_tmp2[0]);
1794 }
1795 if ( modetype[i] == 2 )
1796 {
1797 if ( g2[i] == 0 ) // spin=0 D to rho omega
1798 {
1799 if ( B1_phi10 == -1 )
1800 {
1801
1802 B1_phi10 = BarrierN( 1, sphi1, srho01, sPi01, rRes2, mass1[i] );
1803 B1_phi1p = BarrierN( 1, sphi1, srhop1, sPim, rRes2, mass1[i] );
1804 B1_phi1m = BarrierN( 1, sphi1, srhom1, sPip, rRes2, mass1[i] );
1805
1806 B1_phi20 = BarrierN( 1, sphi2, srho02, sPi02, rRes2, mass1[i] );
1807 B1_phi2p = BarrierN( 1, sphi2, srhop2, sPim, rRes2, mass1[i] );
1808 B1_phi2m = BarrierN( 1, sphi2, srhom2, sPip, rRes2, mass1[i] );
1809 }
1810 if ( B1_kst1_2 == -1 )
1811 {
1812 B1_kst1_2 = BarrierN( 1, skst1_2, sKs, sPi01, rRes2, mass2[i] );
1813 B1_kst2_2 = BarrierN( 1, skst2_2, sKs, sPi02, rRes2, mass2[i] );
1814 }
1815 calt1( Pip, Pim, t1rho01 );
1816 calt1( Pip, Pim, t1rho02 );
1817 calt1( Pip, Pi01, t1rhop1 );
1818 calt1( Pip, Pi02, t1rhop2 );
1819 calt1( Pi01, Pim, t1rhom1 );
1820 calt1( Pi02, Pim, t1rhom2 );
1821 calt1( prho01, Pi01, t1phi01 );
1822 calt1( prho02, Pi02, t1phi02 );
1823 calt1( prhop1, Pim, t1phip1 );
1824 calt1( prhop2, Pim, t1phip2 );
1825 calt1( prhom1, Pip, t1phim1 );
1826 calt1( prhom2, Pip, t1phim2 );
1827 calt1( PKs, Pi01, t1kst1 );
1828 calt1( PKs, Pi02, t1kst2 );
1829 calG2( prho01, Pi01, p1phi01 );
1830 calG2( prho02, Pi02, p1phi02 );
1831 calG2( prhop1, Pim, p1phip1 );
1832 calG2( prhop2, Pim, p1phip2 );
1833 calG2( prhom1, Pip, p1phim1 );
1834 calG2( prhom2, Pip, p1phim2 );
1835
1836 for ( int i = 0; i < 4; i++ )
1837 {
1838 for ( int j = 0; j < 4; j++ )
1839 {
1840 double tempphi1 = pphi1[j] * G[j][j] * G[i][i]; // p(omega)
1841 double tempphi2 = pphi2[j] * G[j][j] * G[i][i];
1842
1843 for ( int k = 0; k < 4; k++ )
1844 {
1845 double temt1phi01 = t1phi01[k] * G[k][k]; // Sn(ome)
1846 double temt1phi02 = t1phi02[k] * G[k][k];
1847 double temt1phip1 = t1phip1[k] * G[k][k];
1848 double temt1phip2 = t1phip2[k] * G[k][k];
1849 double temt1phim1 = t1phim1[k] * G[k][k];
1850 double temt1phim2 = t1phim2[k] * G[k][k];
1851
1852 for ( int l = 0; l < 4; l++ )
1853 {
1854 if ( ( i == j ) || ( i == k ) || ( i == l ) || ( j == k ) || ( j == l ) ||
1855 ( k == l ) )
1856 continue;
1857
1858 double temt1rho01 = t1rho01[l] * G[l][l] * E[i][j][k][l];
1859 double temt1rho02 = t1rho02[l] * G[l][l] * E[i][j][k][l];
1860 double temt1rhop1 = t1rhop1[l] * G[l][l] * E[i][j][k][l];
1861 double temt1rhop2 = t1rhop2[l] * G[l][l] * E[i][j][k][l];
1862 double temt1rhom1 = t1rhom1[l] * G[l][l] * E[i][j][k][l];
1863 double temt1rhom2 = t1rhom2[l] * G[l][l] * E[i][j][k][l];
1864
1865 for ( int m = 0; m < 4; m++ )
1866 {
1867 temp_PDF11 +=
1868 G[m][m] * t1kst1[m] * p1phi02[m][i] * tempphi2 * temt1phi02 * temt1rho02;
1869 temp_PDF12 +=
1870 G[m][m] * t1kst1[m] * p1phip2[m][i] * tempphi2 * temt1phip2 * temt1rhop2;
1871 temp_PDF13 +=
1872 G[m][m] * t1kst1[m] * p1phim2[m][i] * tempphi2 * temt1phim2 * temt1rhom2;
1873
1874 temp_PDF21 +=
1875 G[m][m] * t1kst2[m] * p1phi01[m][i] * tempphi1 * temt1phi01 * temt1rho01;
1876 temp_PDF22 +=
1877 G[m][m] * t1kst2[m] * p1phip1[m][i] * tempphi1 * temt1phip1 * temt1rhop1;
1878 temp_PDF23 +=
1879 G[m][m] * t1kst2[m] * p1phim1[m][i] * tempphi1 * temt1phim1 * temt1rhom1;
1880 }
1881 }
1882 }
1883 }
1884 }
1885
1886 temp_PDF11 = temp_PDF11 * B1_phi20 * B1_kst1_2 * B1_V02;
1887 temp_PDF12 = temp_PDF12 * B1_phi2p * B1_kst1_2 * B1_Vp2;
1888 temp_PDF13 = temp_PDF13 * B1_phi2m * B1_kst1_2 * B1_Vm2;
1889 temp_PDF21 = temp_PDF21 * B1_phi10 * B1_kst2_2 * B1_V01;
1890 temp_PDF22 = temp_PDF22 * B1_phi1p * B1_kst2_2 * B1_Vp1;
1891 temp_PDF23 = temp_PDF23 * B1_phi1m * B1_kst2_2 * B1_Vm1;
1892 }
1893 else if ( g2[i] == 1 )
1894 {
1895
1896 if ( B1_phi10 == -1 )
1897 {
1898
1899 B1_phi10 = BarrierN( 1, sphi1, srho01, sPi01, rRes2, mass1[i] );
1900 B1_phi1p = BarrierN( 1, sphi1, srhop1, sPim, rRes2, mass1[i] );
1901 B1_phi1m = BarrierN( 1, sphi1, srhom1, sPip, rRes2, mass1[i] );
1902
1903 B1_phi20 = BarrierN( 1, sphi2, srho02, sPi02, rRes2, mass1[i] );
1904 B1_phi2p = BarrierN( 1, sphi2, srhop2, sPim, rRes2, mass1[i] );
1905 B1_phi2m = BarrierN( 1, sphi2, srhom2, sPip, rRes2, mass1[i] );
1906 }
1907
1908 if ( B1_kst1_2 == -1 )
1909 {
1910
1911 B1_kst1_2 = BarrierN( 1, skst1_2, sKs, sPi01, rRes2, mass2[i] );
1912 B1_kst2_2 = BarrierN( 1, skst2_2, sKs, sPi02, rRes2, mass2[i] );
1913 }
1914
1915 if ( B1_D0_phi1 == -1 )
1916 {
1917
1918 B1_D0_phi1 = BarrierN( 1, sD0, sphi1, skst2, rDs2, mD0M );
1919 B1_D0_phi2 = BarrierN( 1, sD0, sphi2, skst1, rDs2, mD0M );
1920 }
1921
1922 calt1( Pip, Pim, t1rho01 );
1923 calt1( Pip, Pim, t1rho02 );
1924 calt1( Pip, Pi01, t1rhop1 );
1925 calt1( Pip, Pi02, t1rhop2 );
1926 calt1( Pi01, Pim, t1rhom1 );
1927 calt1( Pi02, Pim, t1rhom2 );
1928 calt1( prho01, Pi01, t1phi01 );
1929 calt1( prho02, Pi02, t1phi02 );
1930 calt1( prhop1, Pim, t1phip1 );
1931 calt1( prhop2, Pim, t1phip2 );
1932 calt1( prhom1, Pip, t1phim1 );
1933 calt1( prhom2, Pip, t1phim2 );
1934 calt1( PKs, Pi01, t1kst1 );
1935 calt1( PKs, Pi02, t1kst2 );
1936 calG2( prho01, Pi01, p1phi01 );
1937 calG2( prho02, Pi02, p1phi02 );
1938 calG2( prhop1, Pim, p1phip1 );
1939 calG2( prhop2, Pim, p1phip2 );
1940 calG2( prhom1, Pip, p1phim1 );
1941 calG2( prhom2, Pip, p1phim2 );
1942 calt1( pphi1, pkst2_2, t1D0_phi1kst2 );
1943 calt1( pphi2, pkst1_2, t1D0_phi2kst1 );
1944 for ( int i = 0; i < 4; i++ )
1945 {
1946 double tempD0 = pD0[i] * G[i][i];
1947
1948 for ( int j = 0; j < 4; j++ )
1949 {
1950 double temt1kst1 = t1kst1[j] * G[j][j];
1951 double temt1kst2 = t1kst2[j] * G[j][j];
1952
1953 for ( int k = 0; k < 4; k++ )
1954 {
1955 double temt1D0_phi1kst2 = t1D0_phi1kst2[k] * G[k][k];
1956 double temt1D0_phi2kst1 = t1D0_phi2kst1[k] * G[k][k];
1957
1958 for ( int l = 0; l < 4; l++ )
1959 {
1960 for ( int m = 0; m < 4; m++ )
1961 {
1962 double temp1phi01 = p1phi01[l][m] * G[l][l] * G[m][m] * E[i][j][k][l];
1963 double temp1phi02 = p1phi02[l][m] * G[l][l] * G[m][m] * E[i][j][k][l];
1964 double temp1phip1 = p1phip1[l][m] * G[l][l] * G[m][m] * E[i][j][k][l];
1965 double temp1phip2 = p1phip2[l][m] * G[l][l] * G[m][m] * E[i][j][k][l];
1966 double temp1phim1 = p1phim1[l][m] * G[l][l] * G[m][m] * E[i][j][k][l];
1967 double temp1phim2 = p1phim2[l][m] * G[l][l] * G[m][m] * E[i][j][k][l];
1968 for ( int n = 0; n < 4; n++ )
1969 {
1970 double tempphi1 = pphi1[n] * G[n][n];
1971 double tempphi2 = pphi2[n] * G[n][n];
1972
1973 for ( int p = 0; p < 4; p++ )
1974 {
1975 double temt1phi01 = t1phi01[p] * G[p][p];
1976 double temt1phi02 = t1phi02[p] * G[p][p];
1977 double temt1phip1 = t1phip1[p] * G[p][p];
1978 double temt1phip2 = t1phip2[p] * G[p][p];
1979 double temt1phim1 = t1phim1[p] * G[p][p];
1980 double temt1phim2 = t1phim2[p] * G[p][p];
1981
1982 for ( int q = 0; q < 4; q++ )
1983 {
1984 if ( ( i == j ) || ( i == k ) || ( i == l ) || ( j == k ) ||
1985 ( j == l ) || ( k == l ) )
1986 continue;
1987 if ( ( m == n ) || ( m == p ) || ( m == q ) || ( n == p ) ||
1988 ( n == q ) || ( p == q ) )
1989 continue;
1990 temp_PDF11 += tempD0 * temt1kst1 * temt1D0_phi2kst1 * temp1phi02 *
1991 E[m][n][p][q] * tempphi2 * temt1phi02 * t1rho02[q] *
1992 G[q][q];
1993 temp_PDF12 += tempD0 * temt1kst1 * temt1D0_phi2kst1 * temp1phip2 *
1994 E[m][n][p][q] * tempphi2 * temt1phip2 * t1rhop2[q] *
1995 G[q][q];
1996 temp_PDF13 += tempD0 * temt1kst1 * temt1D0_phi2kst1 * temp1phim2 *
1997 E[m][n][p][q] * tempphi2 * temt1phim2 * t1rhom2[q] *
1998 G[q][q];
1999 temp_PDF21 += tempD0 * temt1kst2 * temt1D0_phi1kst2 * temp1phi01 *
2000 E[m][n][p][q] * tempphi1 * temt1phi01 * t1rho01[q] *
2001 G[q][q];
2002 temp_PDF22 += tempD0 * temt1kst2 * temt1D0_phi1kst2 * temp1phip1 *
2003 E[m][n][p][q] * tempphi1 * temt1phip1 * t1rhop1[q] *
2004 G[q][q];
2005 temp_PDF23 += tempD0 * temt1kst2 * temt1D0_phi1kst2 * temp1phim1 *
2006 E[m][n][p][q] * tempphi1 * temt1phim1 * t1rhom1[q] *
2007 G[q][q];
2008 }
2009 }
2010 }
2011 }
2012 }
2013 }
2014 }
2015 }
2016 temp_PDF11 = temp_PDF11 * B1_D0_phi2 * B1_phi20 * B1_kst1_2 * B1_V02;
2017 temp_PDF12 = temp_PDF12 * B1_D0_phi2 * B1_phi2p * B1_kst1_2 * B1_Vp2;
2018 temp_PDF13 = temp_PDF13 * B1_D0_phi2 * B1_phi2m * B1_kst1_2 * B1_Vm2;
2019 temp_PDF21 = temp_PDF21 * B1_D0_phi1 * B1_phi10 * B1_kst2_2 * B1_V01;
2020 temp_PDF22 = temp_PDF22 * B1_D0_phi1 * B1_phi1p * B1_kst2_2 * B1_Vp1;
2021 temp_PDF23 = temp_PDF23 * B1_D0_phi1 * B1_phi1m * B1_kst2_2 * B1_Vm1;
2022 }
2023 else if ( g2[i] == 2 )
2024 {
2025 if ( B1_phi10 == -1 )
2026 {
2027 B1_phi10 = BarrierN( 1, sphi1, srho01, sPi01, rRes2, mass1[i] );
2028 B1_phi1p = BarrierN( 1, sphi1, srhop1, sPim, rRes2, mass1[i] );
2029 B1_phi1m = BarrierN( 1, sphi1, srhom1, sPip, rRes2, mass1[i] );
2030
2031 B1_phi20 = BarrierN( 1, sphi2, srho02, sPi02, rRes2, mass1[i] );
2032 B1_phi2p = BarrierN( 1, sphi2, srhop2, sPim, rRes2, mass1[i] );
2033 B1_phi2m = BarrierN( 1, sphi2, srhom2, sPip, rRes2, mass1[i] );
2034 }
2035
2036 if ( B1_kst1_2 == -1 )
2037 {
2038 B1_kst1_2 = BarrierN( 1, skst1_2, sKs, sPi01, rRes2, mass2[i] );
2039 B1_kst2_2 = BarrierN( 1, skst2_2, sKs, sPi02, rRes2, mass2[i] );
2040 }
2041
2042 if ( B2_D0_phi1 == -1 )
2043 {
2044 B2_D0_phi1 = BarrierN( 2, sD0, sphi1, skst2_2, rDs2, mD0M );
2045 B2_D0_phi2 = BarrierN( 2, sD0, sphi2, skst1_2, rDs2, mD0M );
2046 }
2047
2048 calt1( Pip, Pim, t1rho01 );
2049 calt1( Pip, Pim, t1rho02 );
2050 calt1( Pip, Pi01, t1rhop1 );
2051 calt1( Pip, Pi02, t1rhop2 );
2052 calt1( Pi01, Pim, t1rhom1 );
2053 calt1( Pi02, Pim, t1rhom2 );
2054 calt1( prho01, Pi01, t1phi01 );
2055 calt1( prho02, Pi02, t1phi02 );
2056 calt1( prhop1, Pim, t1phip1 );
2057 calt1( prhop2, Pim, t1phip2 );
2058 calt1( prhom1, Pip, t1phim1 );
2059 calt1( prhom2, Pip, t1phim2 );
2060 calt1( PKs, Pi01, t1kst1 );
2061 calt1( PKs, Pi02, t1kst2 );
2062 calG2( prho01, Pi01, p1phi01 );
2063 calG2( prho02, Pi02, p1phi02 );
2064 calG2( prhop1, Pim, p1phip1 );
2065 calG2( prhop2, Pim, p1phip2 );
2066 calG2( prhom1, Pip, p1phim1 );
2067 calG2( prhom2, Pip, p1phim2 );
2068 calt2( pphi1, pkst2_2, t2D0_phi1kst2 );
2069 calt2( pphi2, pkst1_2, t2D0_phi2kst1 );
2070
2071 for ( int i = 0; i < 4; i++ )
2072 {
2073 for ( int j = 0; j < 4; j++ )
2074 {
2075 double tempphi1 = pphi1[j] * G[j][j] * G[i][i];
2076 double tempphi2 = pphi2[j] * G[j][j] * G[i][i];
2077
2078 for ( int k = 0; k < 4; k++ )
2079 {
2080 double temt1phi01 = t1phi01[k] * G[k][k];
2081 double temt1phi02 = t1phi02[k] * G[k][k];
2082 double temt1phip1 = t1phip1[k] * G[k][k];
2083 double temt1phip2 = t1phip2[k] * G[k][k];
2084 double temt1phim1 = t1phim1[k] * G[k][k];
2085 double temt1phim2 = t1phim2[k] * G[k][k];
2086
2087 for ( int l = 0; l < 4; l++ )
2088 {
2089 double temt1rho01 = t1rho01[l] * G[l][l] * E[i][j][k][l];
2090 double temt1rho02 = t1rho02[l] * G[l][l] * E[i][j][k][l];
2091 double temt1rhop1 = t1rhop1[l] * G[l][l] * E[i][j][k][l];
2092 double temt1rhop2 = t1rhop2[l] * G[l][l] * E[i][j][k][l];
2093 double temt1rhom1 = t1rhom1[l] * G[l][l] * E[i][j][k][l];
2094 double temt1rhom2 = t1rhom2[l] * G[l][l] * E[i][j][k][l];
2095
2096 for ( int m = 0; m < 4; m++ )
2097 {
2098 double temt1kst1 = t1kst1[m] * G[m][m];
2099 double temt1kst2 = t1kst2[m] * G[m][m];
2100
2101 for ( int n = 0; n < 4; n++ )
2102 {
2103 if ( ( i == j ) || ( i == k ) || ( i == l ) || ( j == k ) || ( j == l ) ||
2104 ( k == l ) )
2105 continue;
2106
2107 temp_PDF11 += t2D0_phi2kst1[m][n] * temt1kst1 * p1phi02[n][i] * tempphi2 *
2108 temt1phi02 * temt1rho02 * G[n][n];
2109 temp_PDF12 += t2D0_phi2kst1[m][n] * temt1kst1 * p1phip2[n][i] * tempphi2 *
2110 temt1phip2 * temt1rhop2 * G[n][n];
2111 temp_PDF13 += t2D0_phi2kst1[m][n] * temt1kst1 * p1phim2[n][i] * tempphi2 *
2112 temt1phim2 * temt1rhom2 * G[n][n];
2113 temp_PDF21 += t2D0_phi1kst2[m][n] * temt1kst2 * p1phi01[n][i] * tempphi1 *
2114 temt1phi01 * temt1rho01 * G[n][n];
2115 temp_PDF22 += t2D0_phi1kst2[m][n] * temt1kst2 * p1phip1[n][i] * tempphi1 *
2116 temt1phip1 * temt1rhop1 * G[n][n];
2117 temp_PDF23 += t2D0_phi1kst2[m][n] * temt1kst2 * p1phim1[n][i] * tempphi1 *
2118 temt1phim1 * temt1rhom1 * G[n][n];
2119 }
2120 }
2121 }
2122 }
2123 }
2124 }
2125
2126 temp_PDF11 = temp_PDF11 * B2_D0_phi2 * B1_phi20 * B1_kst1_2 * B1_V02;
2127 temp_PDF12 = temp_PDF12 * B2_D0_phi2 * B1_phi2p * B1_kst1_2 * B1_Vp2;
2128 temp_PDF13 = temp_PDF13 * B2_D0_phi2 * B1_phi2m * B1_kst1_2 * B1_Vm2;
2129 temp_PDF21 = temp_PDF21 * B2_D0_phi1 * B1_phi10 * B1_kst2_2 * B1_V01;
2130 temp_PDF22 = temp_PDF22 * B2_D0_phi1 * B1_phi1p * B1_kst2_2 * B1_Vp1;
2131 temp_PDF23 = temp_PDF23 * B2_D0_phi1 * B1_phi1m * B1_kst2_2 * B1_Vm1;
2132 }
2133 if ( g0[i] == 1 )
2134 {
2135
2136 propagator( mass1sq, mass1[i], width1[i], sphi1, pro2_01 );
2137 propagator( mass1sq, mass1[i], width1[i], sphi1, pro2_p1 );
2138 propagator( mass1sq, mass1[i], width1[i], sphi1, pro2_m1 );
2139 propagator( mass1sq, mass1[i], width1[i], sphi2, pro2_02 );
2140 propagator( mass1sq, mass1[i], width1[i], sphi2, pro2_p2 );
2141 propagator( mass1sq, mass1[i], width1[i], sphi2, pro2_m2 );
2142 }
2143 else if ( g0[i] == 0 )
2144 {
2145 pro2_01[0] = 1;
2146 pro2_01[1] = 0;
2147 pro2_p1[0] = 1;
2148 pro2_p1[1] = 0;
2149 pro2_m1[0] = 1;
2150 pro2_m1[1] = 0;
2151 pro2_02[0] = 1;
2152 pro2_02[1] = 0;
2153 pro2_p2[0] = 1;
2154 pro2_p2[1] = 0;
2155 pro2_m2[0] = 1;
2156 pro2_m2[1] = 0;
2157 }
2158 if ( g1[i] == 1 )
2159 {
2160 propagatorRBW( mass2sq, mass2[i], width2[i], skst1_2, sKs, sPi01, rRes2, 1,
2161 pro2_1 ); // kst1
2162 propagatorRBW( mass2sq, mass2[i], width2[i], skst2_2, sKs, sPi02, rRes2, 1,
2163 pro2_2 ); // kst2
2164 }
2165 else if ( g1[i] == 0 )
2166 {
2167 pro1_1[0] = 1;
2168 pro1_1[1] = 0;
2169 pro1_2[0] = 1;
2170 pro1_2[1] = 0;
2171 }
2172 Com_Multi( pro2_01, pro1V01, tpro2_01 );
2173 Com_Multi( tpro2_01, pro2_2, pro2_21 );
2174 Com_Multi( pro2_p1, pro1Vp1, tpro2_p1 );
2175 Com_Multi( tpro2_p1, pro2_2, pro2_22 );
2176 Com_Multi( pro2_m1, pro1Vm1, tpro2_m1 );
2177 Com_Multi( tpro2_m1, pro2_2, pro2_23 );
2178
2179 Com_Multi( pro2_02, pro1V02, tpro2_02 );
2180 Com_Multi( tpro2_02, pro2_1, pro2_11 );
2181 Com_Multi( pro2_p2, pro1Vp2, tpro2_p2 );
2182 Com_Multi( tpro2_p2, pro2_1, pro2_12 );
2183 Com_Multi( pro2_m2, pro1Vm2, tpro2_m2 );
2184 Com_Multi( tpro2_m2, pro2_1, pro2_13 );
2185
2186 amp_tmp1[0] =
2187 -1 * ( temp_PDF11 * pro2_11[0] ) + temp_PDF12 * pro2_12[0] + temp_PDF13 * pro2_13[0];
2188 amp_tmp1[1] =
2189 -1 * ( temp_PDF11 * pro2_11[1] ) + temp_PDF12 * pro2_12[1] + temp_PDF13 * pro2_13[1];
2190 amp_tmp2[0] =
2191 -1 * ( temp_PDF21 * pro2_21[0] ) + temp_PDF22 * pro2_22[0] + temp_PDF23 * pro2_23[0];
2192 amp_tmp2[1] =
2193 -1 * ( temp_PDF21 * pro2_21[1] ) + temp_PDF22 * pro2_22[1] + temp_PDF23 * pro2_23[1];
2194 }
2195
2196 else if ( modetype[i] == 40 )
2197 {
2198 if ( g2[i] == 0 ) // spin=0 D to rho omega
2199 {
2200 if ( B1_omega10 == -1 )
2201 {
2202
2203 B1_omega10 = BarrierN( 1, somega1, srho01, sPi01, rRes2, mass1[i] );
2204 B1_omega1p = BarrierN( 1, somega1, srhop1, sPim, rRes2, mass1[i] );
2205 B1_omega1m = BarrierN( 1, somega1, srhom1, sPip, rRes2, mass1[i] );
2206
2207 B1_omega20 = BarrierN( 1, somega2, srho02, sPi02, rRes2, mass1[i] );
2208 B1_omega2p = BarrierN( 1, somega2, srhop2, sPim, rRes2, mass1[i] );
2209 B1_omega2m = BarrierN( 1, somega2, srhom2, sPip, rRes2, mass1[i] );
2210 }
2211
2212 if ( B1_D0_omega1 == -1 )
2213 {
2214 B1_D0_omega1 = BarrierN( 1, sD0, s1omega1, skpi02SW, rDs2, mD0M );
2215 B1_D0_omega2 = BarrierN( 1, sD0, s1omega2, skpi01SW, rDs2, mD0M );
2216 }
2217
2218 for ( int i = 0; i < 4; i++ )
2219 {
2220 for ( int j = 0; j < 4; j++ )
2221 {
2222 double tempomega1 = pomega1[j] * G[j][j] * G[i][i]; // p(omega)
2223 double tempomega2 = pomega2[j] * G[j][j] * G[i][i];
2224
2225 for ( int k = 0; k < 4; k++ )
2226 {
2227 double temt1omega01 = t1omega01[k] * G[k][k]; // Sn(ome)
2228 double temt1omega02 = t1omega02[k] * G[k][k];
2229 double temt1omegap1 = t1omegap1[k] * G[k][k];
2230 double temt1omegap2 = t1omegap2[k] * G[k][k];
2231 double temt1omegam1 = t1omegam1[k] * G[k][k];
2232 double temt1omegam2 = t1omegam2[k] * G[k][k];
2233
2234 for ( int l = 0; l < 4; l++ )
2235 {
2236 if ( ( i == j ) || ( i == k ) || ( i == l ) || ( j == k ) || ( j == l ) ||
2237 ( k == l ) )
2238 continue;
2239
2240 double temt1rho01 = t1rho01[l] * G[l][l] * E[i][j][k][l];
2241 double temt1rho02 = t1rho02[l] * G[l][l] * E[i][j][k][l];
2242 double temt1rhop1 = t1rhop1[l] * G[l][l] * E[i][j][k][l];
2243 double temt1rhop2 = t1rhop2[l] * G[l][l] * E[i][j][k][l];
2244 double temt1rhom1 = t1rhom1[l] * G[l][l] * E[i][j][k][l];
2245 double temt1rhom2 = t1rhom2[l] * G[l][l] * E[i][j][k][l];
2246
2247 for ( int m = 0; m < 4; m++ )
2248 {
2249 temp_PDF11 += G[m][m] * t1D0KPi01SW[m] * p1omega02[m][i] * tempomega2 *
2250 temt1omega02 * temt1rho02;
2251 temp_PDF12 += G[m][m] * t1D0KPi01SW[m] * p1omegap2[m][i] * tempomega2 *
2252 temt1omegap2 * temt1rhop2;
2253 temp_PDF13 += G[m][m] * t1D0KPi01SW[m] * p1omegam2[m][i] * tempomega2 *
2254 temt1omegam2 * temt1rhom2;
2255
2256 temp_PDF21 += G[m][m] * t1D0KPi02SW[m] * p1omega01[m][i] * tempomega1 *
2257 temt1omega01 * temt1rho01;
2258 temp_PDF22 += G[m][m] * t1D0KPi02SW[m] * p1omegap1[m][i] * tempomega1 *
2259 temt1omegap1 * temt1rhop1;
2260 temp_PDF23 += G[m][m] * t1D0KPi02SW[m] * p1omegam1[m][i] * tempomega1 *
2261 temt1omegam1 * temt1rhom1;
2262 }
2263 }
2264 }
2265 }
2266 }
2267
2268 temp_PDF11 = temp_PDF11 * B1_omega20 * B1_D0_omega2 * B1_V02;
2269 temp_PDF12 = temp_PDF12 * B1_omega2p * B1_D0_omega2 * B1_Vp2;
2270 temp_PDF13 = temp_PDF13 * B1_omega2m * B1_D0_omega2 * B1_Vm2;
2271 temp_PDF21 = temp_PDF21 * B1_omega10 * B1_D0_omega1 * B1_V01;
2272 temp_PDF22 = temp_PDF22 * B1_omega1p * B1_D0_omega1 * B1_Vp1;
2273 temp_PDF23 = temp_PDF23 * B1_omega1m * B1_D0_omega1 * B1_Vm1;
2274 }
2275
2276 if ( g0[i] == 1 )
2277 {
2278 propagatorRBW( mass1sq, mass1[i], width1[i], somega1, srho01, sPi01, rRes2, 1,
2279 pro0_01 ); // ome1--rho0 pi01
2280 propagatorRBW( mass1sq, mass1[i], width1[i], somega1, srhop1, sPim, rRes2, 1,
2281 pro0_p1 ); // ome1--rhop (pi01)
2282 propagatorRBW( mass1sq, mass1[i], width1[i], somega1, srhom1, sPip, rRes2, 1,
2283 pro0_m1 ); // ome1--rhom (pi01)
2284 propagatorRBW( mass1sq, mass1[i], width1[i], somega2, srho02, sPi02, rRes2, 1,
2285 pro0_02 ); // ome2--rho0 pi02
2286 propagatorRBW( mass1sq, mass1[i], width1[i], somega2, srhop2, sPim, rRes2, 1,
2287 pro0_p2 ); // ome2--rhop (pi02)
2288 propagatorRBW( mass1sq, mass1[i], width1[i], somega2, srhom2, sPip, rRes2, 1,
2289 pro0_m2 ); // ome2--rhom(pi02)
2290 /* propagator(mass1sq,mass1[i],width1[i],somega1,pro0_01);//ome1--rho0 pi01
2291 propagator(mass1sq,mass1[i],width1[i],somega1,pro0_p1);//ome1--rhop (pi01)
2292 propagator(mass1sq,mass1[i],width1[i],somega1,pro0_m1);//ome1--rhom (pi01)
2293 propagator(mass1sq,mass1[i],width1[i],somega2,pro0_02);//ome2--rho0 pi02
2294 propagator(mass1sq,mass1[i],width1[i],somega2,pro0_p2);//ome2--rhop (pi02)
2295 propagator(mass1sq,mass1[i],width1[i],somega2,pro0_m2);
2296*/
2297 }
2298 else if ( g0[i] == 0 )
2299 {
2300 pro0_01[0] = 1;
2301 pro0_01[1] = 0;
2302 pro0_p1[0] = 1;
2303 pro0_p1[1] = 0;
2304 pro0_m1[0] = 1;
2305 pro0_m1[1] = 0;
2306 pro0_02[0] = 1;
2307 pro0_02[1] = 0;
2308 pro0_p2[0] = 1;
2309 pro0_p2[1] = 0;
2310 pro0_m2[0] = 1;
2311 pro0_m2[1] = 0;
2312 }
2313 // kst
2314 if ( g1[i] == 1 )
2315 {
2316 KPiSLASS( skpi01SW, sKs, sPi01, pro1_1 );
2317 KPiSLASS( skpi02SW, sKs, sPi02, pro1_2 );
2318 }
2319 else if ( g1[i] == 0 )
2320 {
2321 pro1_1[0] = 1;
2322 pro1_1[1] = 0;
2323 pro1_2[0] = 1;
2324 pro1_2[1] = 0;
2325 }
2326 // rho
2327 /* if(r1[i]==1){
2328 propagatorGS(0.60102807,0.77526,0.1478,srho01,sPip,sPim,rRes2,pro1V01);
2329 propagatorGS(0.60102807,0.77526,0.1478,srho02,sPip,sPim,rRes2,pro1V02);
2330 propagatorGS(0.60102807,0.77526,0.1478,srhop1,sPip,sPi01,rRes2,pro1Vp1);
2331 propagatorGS(0.60102807,0.77526,0.1478,srhop2,sPip,sPi02,rRes2,pro1Vp2);
2332 propagatorGS(0.60102807,0.77526,0.1478,srhom1,sPi01,sPim,rRes2,pro1Vm1);
2333 propagatorGS(0.60102807,0.77526,0.1478,srhom2,sPi02,sPim,rRes2,pro1Vm2);
2334
2335 }
2336 else if(r1[i]==0){
2337 pro1V01[0] = 1; pro1V01[1] = 0;
2338 pro1V02[0] = 1; pro1V02[1] = 0;
2339 pro1Vp1[0] = 1; pro1Vp1[1] = 0;
2340 pro1Vp2[0] = 1; pro1Vp2[1] = 0;
2341 pro1Vm1[0] = 1; pro1Vm1[1] = 0;
2342 pro1Vm2[0] = 1; pro1Vm2[1] = 0;
2343 }
2344 */
2345 Com_Multi( pro0_01, pro1V01, tpro_01 );
2346 Com_Multi( tpro_01, pro1_2, pro_21 );
2347 Com_Multi( pro0_p1, pro1Vp1, tpro_p1 );
2348 Com_Multi( tpro_p1, pro1_2, pro_22 );
2349 Com_Multi( pro0_m1, pro1Vm1, tpro_m1 );
2350 Com_Multi( tpro_m1, pro1_2, pro_23 );
2351
2352 Com_Multi( pro0_02, pro1V02, tpro_02 );
2353 Com_Multi( tpro_02, pro1_1, pro_11 );
2354 Com_Multi( pro0_p2, pro1Vp2, tpro_p2 );
2355 Com_Multi( tpro_p2, pro1_1, pro_12 );
2356 Com_Multi( pro0_m2, pro1Vm2, tpro_m2 );
2357 Com_Multi( tpro_m2, pro1_1, pro_13 );
2358
2359 amp_tmp1[0] =
2360 -1 * ( temp_PDF11 * pro_11[0] ) + temp_PDF12 * pro_12[0] + temp_PDF13 * pro_13[0];
2361 amp_tmp1[1] =
2362 -1 * ( temp_PDF11 * pro_11[1] ) + temp_PDF12 * pro_12[1] + temp_PDF13 * pro_13[1];
2363 amp_tmp2[0] =
2364 -1 * ( temp_PDF21 * pro_21[0] ) + temp_PDF22 * pro_22[0] + temp_PDF23 * pro_23[0];
2365 amp_tmp2[1] =
2366 -1 * ( temp_PDF21 * pro_21[1] ) + temp_PDF22 * pro_22[1] + temp_PDF23 * pro_23[1];
2367 }
2368
2369 else if ( modetype[i] == 4 )
2370 {
2371 if ( g2[i] == 0 )
2372 {
2373 if ( B1_omega10 == -1 )
2374 {
2375 B1_omega10 = BarrierN( 1, sb1omega1, sb1rho01, sPi01, rRes2, mass2[i] );
2376 B1_omega1p = BarrierN( 1, sb1omega1, sb1rhop1, sPim, rRes2, mass2[i] );
2377 B1_omega1m = BarrierN( 1, sb1omega1, sb1rhom1, sPip, rRes2, mass2[i] );
2378
2379 B1_omega20 = BarrierN( 1, sb1omega2, sb1rho02, sPi02, rRes2, mass2[i] );
2380 B1_omega2p = BarrierN( 1, sb1omega2, sb1rhop2, sPim, rRes2, mass2[i] );
2381 B1_omega2m = BarrierN( 1, sb1omega2, sb1rhom2, sPip, rRes2, mass2[i] );
2382 }
2383
2384 if ( B1_D0_b1 == -1 )
2385 {
2386 B1_D0_b1 = BarrierN( 1, sD0, sb101, sKs, rDs2, mD0M );
2387 B1_D0_b2 = BarrierN( 1, sD0, sb102, sKs, rDs2, mD0M );
2388 }
2389
2390 if ( B1_b1_rho == -1 )
2391 {
2392 B1_b1_rho10 = BarrierN( 1, sb1rho01, sPip, sPim, rRes2, 0.77526 );
2393 B1_b1_rho1p = BarrierN( 1, sb1rhop1, sPip, sPi01, rRes2, 0.77526 );
2394 B1_b1_rho1m = BarrierN( 1, sb1rhom1, sPi01, sPim, rRes2, 0.77526 );
2395
2396 B1_b1_rho20 = BarrierN( 1, sb1rho02, sPip, sPim, rRes2, 0.77526 );
2397 B1_b1_rho2p = BarrierN( 1, sb1rhop2, sPip, sPi01, rRes2, 0.77526 );
2398 B1_b1_rho2m = BarrierN( 1, sb1rhom2, sPi02, sPim, rRes2, 0.77526 );
2399 }
2400
2401 calt1( Pip, Pim, t1b1rho01 );
2402 calt1( Pip, Pim, t1b1rho02 );
2403 calt1( Pip, Pi01, t1b1rhop1 );
2404 calt1( Pip, Pi02, t1b1rhop2 );
2405 calt1( Pi01, Pim, t1b1rhom1 );
2406 calt1( Pi02, Pim, t1b1rhom2 );
2407 calt1( pb1rho01, Pi01, t1b1omega01 );
2408 calt1( pb1rho02, Pi02, t1b1omega02 );
2409 calt1( pb1rhop1, Pim, t1b1omegap1 );
2410 calt1( pb1rhop2, Pim, t1b1omegap2 );
2411 calt1( pb1rhom1, Pip, t1b1omegam1 );
2412 calt1( pb1rhom2, Pip, t1b1omegam2 );
2413 calt1( pb101, PKs, t1D0_b1 );
2414 calt1( pb102, PKs, t1D0_b2 );
2415 calG2( pb1omega1, Pi02, p1b1_1 );
2416 calG2( pb1omega2, Pi01, p1b1_2 );
2417 calG2( pb1rho01, Pi01, p1b1omega01 );
2418 calG2( pb1rho02, Pi02, p1b1omega02 );
2419 calG2( pb1rhop1, Pim, p1b1omegap1 );
2420 calG2( pb1rhop2, Pim, p1b1omegap2 );
2421 calG2( pb1rhom1, Pip, p1b1omegam1 );
2422 calG2( pb1rhom2, Pip, p1b1omegam2 );
2423
2424 for ( int i = 0; i < 4; i++ )
2425 {
2426 for ( int j = 0; j < 4; j++ )
2427 {
2428 double tempomega1 = pb1omega1[j] * G[j][j] * G[i][i];
2429 double tempomega2 = pb1omega2[j] * G[j][j] * G[i][i];
2430
2431 for ( int k = 0; k < 4; k++ )
2432 {
2433 double temt1omega01 = t1b1omega01[k] * G[k][k];
2434 double temt1omega02 = t1b1omega02[k] * G[k][k];
2435 double temt1omegap1 = t1b1omegap1[k] * G[k][k];
2436 double temt1omegap2 = t1b1omegap2[k] * G[k][k];
2437 double temt1omegam1 = t1b1omegam1[k] * G[k][k];
2438 double temt1omegam2 = t1b1omegam2[k] * G[k][k];
2439
2440 for ( int l = 0; l < 4; l++ )
2441 {
2442 double temt1rho01 = t1b1rho01[l] * G[l][l] * E[i][j][k][l];
2443 double temt1rho02 = t1b1rho02[l] * G[l][l] * E[i][j][k][l];
2444 double temt1rhom2 = t1b1rhom2[l] * G[l][l] * E[i][j][k][l];
2445 double temt1rhop1 = t1b1rhop1[l] * G[l][l] * E[i][j][k][l];
2446 double temt1rhop2 = t1b1rhop2[l] * G[l][l] * E[i][j][k][l];
2447 double temt1rhom1 = t1b1rhom1[l] * G[l][l] * E[i][j][k][l];
2448
2449 for ( int m = 0; m < 4; m++ )
2450 {
2451 double temt1D0_b1 = t1D0_b1[m] * G[m][m];
2452 double temt1D0_b2 = t1D0_b2[m] * G[m][m];
2453
2454 for ( int n = 0; n < 4; n++ )
2455 {
2456
2457 if ( ( i == j ) || ( i == k ) || ( i == l ) || ( j == k ) || ( j == l ) ||
2458 ( k == l ) )
2459 continue;
2460 temp_PDF11 += temt1D0_b2 * p1b1_2[m][n] * p1b1omega02[n][i] * tempomega2 *
2461 temt1omega02 * temt1rho02 * G[n][n];
2462 temp_PDF12 += temt1D0_b2 * p1b1_2[m][n] * p1b1omegap2[n][i] * tempomega2 *
2463 temt1omegap2 * temt1rhop2 * G[n][n];
2464 temp_PDF13 += temt1D0_b2 * p1b1_2[m][n] * p1b1omegam2[n][i] * tempomega2 *
2465 temt1omegam2 * temt1rhom2 * G[n][n];
2466 temp_PDF21 += temt1D0_b1 * p1b1_1[m][n] * p1b1omega01[n][i] * tempomega1 *
2467 temt1omega01 * temt1rho01 * G[n][n];
2468 temp_PDF22 += temt1D0_b1 * p1b1_1[m][n] * p1b1omegap1[n][i] * tempomega1 *
2469 temt1omegap1 * temt1rhop1 * G[n][n];
2470 temp_PDF23 += temt1D0_b1 * p1b1_1[m][n] * p1b1omegam1[n][i] * tempomega1 *
2471 temt1omegam1 * temt1rhom1 * G[n][n];
2472 }
2473 }
2474 }
2475 }
2476 }
2477 }
2478 temp_PDF11 = temp_PDF11 * B1_D0_b2 * B1_omega20 * B1_rho20;
2479 temp_PDF12 = temp_PDF12 * B1_D0_b2 * B1_omega2p * B1_rho2p;
2480 temp_PDF13 = temp_PDF13 * B1_D0_b2 * B1_omega2m * B1_rho2m;
2481 temp_PDF21 = temp_PDF21 * B1_D0_b1 * B1_omega10 * B1_rho10;
2482 temp_PDF22 = temp_PDF22 * B1_D0_b1 * B1_omega1p * B1_rho1p;
2483 temp_PDF23 = temp_PDF23 * B1_D0_b1 * B1_omega1m * B1_rho1m;
2484 }
2485 else if ( g2[i] == 2 )
2486 {
2487 if ( B1_omega10 == -1 )
2488 {
2489
2490 B1_omega10 = BarrierN( 1, sb1omega1, sb1rho01, sPi01, rRes2, mass2[i] );
2491 B1_omega1p = BarrierN( 1, sb1omega1, sb1rhop1, sPim, rRes2, mass2[i] );
2492 B1_omega1m = BarrierN( 1, sb1omega1, sb1rhom1, sPip, rRes2, mass2[i] );
2493
2494 B1_omega20 = BarrierN( 1, sb1omega2, sb1rho02, sPi02, rRes2, mass2[i] );
2495 B1_omega2p = BarrierN( 1, sb1omega2, sb1rhop2, sPim, rRes2, mass2[i] );
2496 B1_omega2m = BarrierN( 1, sb1omega2, sb1rhom2, sPip, rRes2, mass2[i] );
2497 }
2498
2499 if ( B1_D0_b1 == -1 )
2500 {
2501 B1_D0_b1 = BarrierN( 1, sD0, sb101, sKs, rDs2, mD0M );
2502 B1_D0_b2 = BarrierN( 1, sD0, sb102, sKs, rDs2, mD0M );
2503 }
2504
2505 if ( B2_b1_1 == -1 )
2506 {
2507 B2_b1_1 = BarrierN( 2, sb101, sb1omega1, sPi02, rRes2, mass1[i] );
2508 B2_b1_2 = BarrierN( 2, sb102, sb1omega2, sPi01, rRes2, mass1[i] );
2509 }
2510
2511 if ( B1_b1_rho == -1 )
2512 {
2513 B1_b1_rho10 = BarrierN( 1, sb1rho01, sPip, sPim, rRes2, 0.77526 );
2514 B1_b1_rho1p = BarrierN( 1, sb1rhop1, sPip, sPi01, rRes2, 0.77526 );
2515 B1_b1_rho1m = BarrierN( 1, sb1rhom1, sPi01, sPim, rRes2, 0.77526 );
2516
2517 B1_b1_rho20 = BarrierN( 1, sb1rho02, sPip, sPim, rRes2, 0.77526 );
2518 B1_b1_rho2p = BarrierN( 1, sb1rhop2, sPip, sPi01, rRes2, 0.77526 );
2519 B1_b1_rho2m = BarrierN( 1, sb1rhom2, sPi02, sPim, rRes2, 0.77526 );
2520 }
2521
2522 calt1( Pip, Pi01, t1b1rhop1 );
2523 calt1( Pip, Pi02, t1b1rhop2 );
2524 calt1( Pi01, Pim, t1b1rhom1 );
2525 calt1( Pi02, Pim, t1b1rhom2 );
2526 calt1( Pip, Pim, t1b1rho01 );
2527 calt1( Pip, Pim, t1b1rho02 );
2528 calt1( pb1rho01, Pi01, t1b1omega01 );
2529 calt1( pb1rho02, Pi02, t1b1omega02 );
2530 calt1( pb1rhop1, Pim, t1b1omegap1 );
2531 calt1( pb1rhop2, Pim, t1b1omegap2 );
2532 calt1( pb1rhom1, Pip, t1b1omegam1 );
2533 calt1( pb1rhom2, Pip, t1b1omegam2 );
2534 calt1( pb101, PKs, t1D0_b1 );
2535 calt1( pb102, PKs, t1D0_b2 );
2536 calG2( pb1omega1, Pi02, p1b1_1 );
2537 calG2( pb1omega2, Pi01, p1b1_2 );
2538 calG2( pb1rho01, Pi01, p1b1omega01 );
2539 calG2( pb1rho02, Pi02, p1b1omega02 );
2540 calG2( pb1rhop1, Pim, p1b1omegap1 );
2541 calG2( pb1rhop2, Pim, p1b1omegap2 );
2542 calG2( pb1rhom1, Pip, p1b1omegam1 );
2543 calG2( pb1rhom2, Pip, p1b1omegam2 );
2544 calt2( pb1omega1, Pi02, t2b1_1 );
2545 calt2( pb1omega2, Pi01, t2b1_2 );
2546
2547 for ( int i = 0; i < 4; i++ )
2548 {
2549 for ( int j = 0; j < 4; j++ )
2550 {
2551 double tempomega1 = pb1omega1[j] * G[j][j] * G[i][i];
2552 double tempomega2 = pb1omega2[j] * G[j][j] * G[i][i];
2553
2554 for ( int k = 0; k < 4; k++ )
2555 {
2556 double temt1omega01 = t1b1omega01[k] * G[k][k];
2557 double temt1omega02 = t1b1omega02[k] * G[k][k];
2558 double temt1omegap1 = t1b1omegap1[k] * G[k][k];
2559 double temt1omegap2 = t1b1omegap2[k] * G[k][k];
2560 double temt1omegam1 = t1b1omegam1[k] * G[k][k];
2561 double temt1omegam2 = t1b1omegam2[k] * G[k][k];
2562
2563 for ( int l = 0; l < 4; l++ )
2564 {
2565 double temt1rho01 = t1b1rho01[l] * G[l][l] * E[i][j][k][l];
2566 double temt1rho02 = t1b1rho02[l] * G[l][l] * E[i][j][k][l];
2567 double temt1rhop1 = t1b1rhop1[l] * G[l][l] * E[i][j][k][l];
2568 double temt1rhop2 = t1b1rhop2[l] * G[l][l] * E[i][j][k][l];
2569 double temt1rhom1 = t1b1rhom1[l] * G[l][l] * E[i][j][k][l];
2570 double temt1rhom2 = t1b1rhom2[l] * G[l][l] * E[i][j][k][l];
2571
2572 for ( int m = 0; m < 4; m++ )
2573 {
2574 double temt1D0_b1 = t1D0_b1[m] * G[m][m];
2575 double temt1D0_b2 = t1D0_b2[m] * G[m][m];
2576
2577 for ( int n = 0; n < 4; n++ )
2578 {
2579 if ( ( i == j ) || ( i == k ) || ( i == l ) || ( j == k ) || ( j == l ) ||
2580 ( k == l ) )
2581 continue;
2582 temp_PDF11 += temt1D0_b2 * t2b1_2[m][n] * p1b1omega02[n][i] * tempomega2 *
2583 temt1omega02 * temt1rho02 * G[n][n];
2584 temp_PDF12 += temt1D0_b2 * t2b1_2[m][n] * p1b1omegap2[n][i] * tempomega2 *
2585 temt1omegap2 * temt1rhop2 * G[n][n];
2586 temp_PDF13 += temt1D0_b2 * t2b1_2[m][n] * p1b1omegam2[n][i] * tempomega2 *
2587 temt1omegam2 * temt1rhom2 * G[n][n];
2588 temp_PDF21 += temt1D0_b1 * t2b1_1[m][n] * p1b1omega01[n][i] * tempomega1 *
2589 temt1omega01 * temt1rho01 * G[n][n];
2590 temp_PDF22 += temt1D0_b1 * t2b1_1[m][n] * p1b1omegap1[n][i] * tempomega1 *
2591 temt1omegap1 * temt1rhop1 * G[n][n];
2592 temp_PDF23 += temt1D0_b1 * t2b1_1[m][n] * p1b1omegam1[n][i] * tempomega1 *
2593 temt1omegam1 * temt1rhom1 * G[n][n];
2594 }
2595 }
2596 }
2597 }
2598 }
2599 }
2600 /* temp_PDF11 = 0.5187*temp_PDF11*B1_D0_b1*B2_b1_2*B1_omega20*B1_V02;
2601 temp_PDF12 = 0.5187*temp_PDF12*B1_D0_b1*B2_b1_2*B1_omega2p*B1_Vp2;
2602 temp_PDF13 = 0.5187*temp_PDF13*B1_D0_b1*B2_b1_2*B1_omega2m*B1_Vm2;
2603
2604 temp_PDF21 = 0.5187*temp_PDF21*B1_D0_b1*B2_b1_1*B1_omega10*B1_V01;
2605 temp_PDF22 = 0.5187*temp_PDF22*B1_D0_b1*B2_b1_1*B1_omega1p*B1_Vp1;
2606 temp_PDF23 = 0.5187*temp_PDF23*B1_D0_b1*B2_b1_1*B1_omega1m*B1_Vm1;
2607 */
2608
2609 temp_PDF11 = temp_PDF11 * B1_D0_b2 * B2_b1_2 * B1_omega20 * B1_rho20;
2610 temp_PDF12 = temp_PDF12 * B1_D0_b2 * B2_b1_2 * B1_omega2p * B1_rho2p;
2611 temp_PDF13 = temp_PDF13 * B1_D0_b2 * B2_b1_2 * B1_omega2m * B1_rho2m;
2612
2613 temp_PDF21 = temp_PDF21 * B1_D0_b1 * B2_b1_1 * B1_omega10 * B1_rho10;
2614 temp_PDF22 = temp_PDF22 * B1_D0_b1 * B2_b1_1 * B1_omega1p * B1_rho1p;
2615 temp_PDF23 = temp_PDF23 * B1_D0_b1 * B2_b1_1 * B1_omega1m * B1_rho1m;
2616 }
2617 if ( g0[i] == 1 )
2618 { // b1 omega
2619
2620 propagatorRBW( mass1sq, mass1[i], width1[i], sb101, sb1omega1, sPi02, rRes2, g2[i],
2621 prob1_1 );
2622 propagatorRBW( mass1sq, mass1[i], width1[i], sb102, sb1omega2, sPi01, rRes2, g2[i],
2623 prob1_2 );
2624 }
2625 else if ( g0[i] == 0 )
2626 {
2627 prob1_1[0] = 1;
2628 prob1_1[1] = 0;
2629 prob1_2[0] = 1;
2630 prob1_2[1] = 0;
2631 }
2632 if ( g1[i] == 1 )
2633 { // omega--rho
2634
2635 propagator( mass2sq, mass2[i], width2[i], sb1omega1, pro1_01 ); // ome1--rho0 pi01
2636 propagator( mass2sq, mass2[i], width2[i], sb1omega1, pro1_p1 ); // ome1--rhop (pi01)
2637 propagator( mass2sq, mass2[i], width2[i], sb1omega1, pro1_m1 ); // ome1--rhom (pi01)
2638 propagator( mass2sq, mass2[i], width2[i], sb1omega2, pro1_02 ); // ome2--rho0 pi02
2639 propagator( mass2sq, mass2[i], width2[i], sb1omega2, pro1_p2 ); // ome2--rhop (pi02)
2640 propagator( mass2sq, mass2[i], width2[i], sb1omega2, pro1_m2 );
2641 }
2642
2643 else if ( g1[i] == 0 )
2644 {
2645
2646 pro1_01[0] = 1;
2647 pro1_01[1] = 0;
2648 pro1_p1[0] = 1;
2649 pro1_p1[1] = 0;
2650 pro1_m1[0] = 1;
2651 pro1_m1[1] = 0;
2652 pro1_02[0] = 1;
2653 pro1_02[1] = 0;
2654 pro1_p2[0] = 1;
2655 pro1_p2[1] = 0;
2656 pro1_m2[0] = 1;
2657 pro1_m2[1] = 0;
2658 }
2659
2660 Com_Multi( prob1_1, pro1_01, tpro1_01 ); // 10
2661 Com_Multi( prob1_1, pro1_p1, tpro1_p1 ); // 1p
2662 Com_Multi( prob1_1, pro1_m1, tpro1_m1 ); // 1m
2663
2664 Com_Multi( prob1_2, pro1_02, tpro1_02 ); // 20
2665 Com_Multi( prob1_2, pro1_p2, tpro1_p2 ); // 2p
2666 Com_Multi( prob1_2, pro1_m2, tpro1_m2 ); // 2m
2667
2668 propagatorGS( 0.60102807, 0.77526, 0.1478, sb1rho01, sPip, sPim, rRes2, pro4V01 );
2669 propagatorGS( 0.60102807, 0.77526, 0.1478, sb1rho02, sPip, sPim, rRes2, pro4V02 );
2670 propagatorGS( 0.60102807, 0.77526, 0.1478, sb1rhop1, sPip, sPi01, rRes2, pro4Vp1 );
2671 propagatorGS( 0.60102807, 0.77526, 0.1478, sb1rhop2, sPip, sPi02, rRes2, pro4Vp2 );
2672 propagatorGS( 0.60102807, 0.77526, 0.1478, sb1rhom1, sPi01, sPim, rRes2, pro4Vm1 );
2673 propagatorGS( 0.60102807, 0.77526, 0.1478, sb1rhom2, sPi02, sPim, rRes2, pro4Vm2 );
2674
2675 Com_Multi( tpro1_01, pro4V01, pro1_21 ); // 10
2676 Com_Multi( tpro1_p1, pro4Vp1, pro1_22 ); // 1p
2677 Com_Multi( tpro1_m1, pro4Vm1, pro1_23 ); // 1m
2678
2679 Com_Multi( tpro1_02, pro4V02, pro1_11 ); // 20
2680 Com_Multi( tpro1_p2, pro4Vp2, pro1_12 ); // 2p
2681 Com_Multi( tpro1_m2, pro4Vm2, pro1_13 ); // 2m
2682
2683 amp_tmp1[0] = -1 * ( temp_PDF11 * pro1_11[0] ) + temp_PDF12 * pro1_12[0] +
2684 temp_PDF13 * pro1_13[0]; // b1--omega2
2685 amp_tmp1[1] =
2686 -1 * ( temp_PDF11 * pro1_11[1] ) + temp_PDF12 * pro1_12[1] + temp_PDF13 * pro1_13[1];
2687 amp_tmp2[0] = -1 * ( temp_PDF21 * pro1_21[0] ) + temp_PDF22 * pro1_22[0] +
2688 temp_PDF23 * pro1_23[0]; // b1--omega1
2689 amp_tmp2[1] =
2690 -1 * ( temp_PDF21 * pro1_21[1] ) + temp_PDF22 * pro1_22[1] + temp_PDF23 * pro1_23[1];
2691 }
2692
2693 else if ( modetype[i] == 18 )
2694 {
2695 if ( g2[i] == 1020 )
2696 { // 0101---SS
2697
2698 if ( B1_kstm1 == -1 )
2699 {
2700 B1_kstm1 = BarrierN( 1, skstm1, sKs, sPim, rRes2, mass2[i] ); // m2==kst Fn(kst)
2701 B1_kstm2 = BarrierN( 1, skstm2, sKs, sPim, rRes2, mass2[i] );
2702 }
2703 if ( B1_a1prhop1 == -1 )
2704 {
2705 B1_a1prhop1 =
2706 BarrierN( 1, sa1prhop1, sPip, sPi01, rRes2, 0.77526 ); // m2==kst Fn(kst)
2707 B1_a1prhop2 = BarrierN( 1, sa1prhop2, sPip, sPi02, rRes2, 0.77526 );
2708 }
2709 // P(a1)
2710 calG2( pa1prhop1, Pi02, p1a1p_1 );
2711 calG2( pa1prhop2, Pi01, p1a1p_2 );
2712 calt1( PKs, Pim, t1kstm1 );
2713 calt1( PKs, Pim, t1kstm2 );
2714 calt1( Pip, Pi01, t1a1prhop1 );
2715 calt1( Pip, Pi02, t1a1prhop2 );
2716 // t1rhop1 t1rhop2
2717
2718 for ( int i = 0; i < 4; i++ )
2719 {
2720 double t1_a1p_rhop1 = t1a1prhop1[i] * G[i][i];
2721 double t1_a1p_rhop2 = t1a1prhop2[i] * G[i][i];
2722
2723 for ( int j = 0; j < 4; j++ )
2724 {
2725 temp_PDF1 += t1_a1p_rhop1 * t1kstm1[j] * G[j][j] * p1a1p_1[i][j];
2726 temp_PDF2 += t1_a1p_rhop2 * t1kstm2[j] * G[j][j] * p1a1p_2[i][j];
2727 }
2728 }
2729
2730 temp_PDF1 = temp_PDF1 * B1_kstm1 * B1_a1prhop1;
2731 temp_PDF2 = temp_PDF2 * B1_kstm2 * B1_a1prhop2;
2732 }
2733 /////////////////////////////SD
2734 else if ( g2[i] == 1022 )
2735 {
2736 if ( B1_kstm == -1 )
2737 {
2738 B1_kstm1 = BarrierN( 1, skstm1, sKs, sPim, rRes2, mass2[i] ); // m2==kst Fn(kst)
2739 B1_kstm2 = BarrierN( 1, skstm2, sKs, sPim, rRes2, mass2[i] );
2740 }
2741 if ( B2_a1p_rhop1 == -1 )
2742 {
2743 B2_a1p_rhop1 = BarrierN( 2, sa1p, srhop1, sPi02, rRes2, mass1[i] );
2744 B2_a1p_rhop2 = BarrierN( 2, sa1p, srhop2, sPi01, rRes2, mass1[i] );
2745 }
2746
2747 calt1( PKs, Pim, t1kstm1 );
2748 calt1( PKs, Pim, t1kstm2 );
2749 calt2( prhop1, Pi02, t2_a1p1 );
2750 calt2( prhop2, Pi01, t2_a1p2 );
2751 calt1( Pip, Pi01, t1rhop1 );
2752 calt1( Pip, Pi02, t1rhop2 );
2753 // t1rhop1 t1rhop2
2754
2755 for ( int i = 0; i < 4; i++ )
2756 {
2757 double t1_a1p_rhop1 = t1rhop1[i] * G[i][i];
2758 double t1_a1p_rhop2 = t1rhop2[i] * G[i][i];
2759
2760 for ( int j = 0; j < 4; j++ )
2761 {
2762 temp_PDF1 += t1_a1p_rhop1 * t1kstm1[j] * G[j][j] * t2_a1p1[j][i];
2763 temp_PDF2 += t1_a1p_rhop2 * t1kstm2[j] * G[j][j] * t2_a1p2[j][i];
2764 }
2765 }
2766 temp_PDF1 = temp_PDF1 * B1_kstm1 * B1_Vp1 * B2_a1p_rhop1;
2767 temp_PDF2 = temp_PDF2 * B1_kstm2 * B1_Vp2 * B2_a1p_rhop2;
2768 }
2769
2770 else if ( g2[i] == 1120 )
2771 {
2772 if ( B1_D0_a1pkstm == -1 )
2773 {
2774 B1_D0_a1pkstm1 = BarrierN( 1, sD0, sa1p1, skstm1, rDs2, mD0M );
2775 B1_D0_a1pkstm2 = BarrierN( 1, sD0, sa1p2, skstm2, rDs2, mD0M );
2776 }
2777
2778 if ( B1_kstm == -1 )
2779 {
2780 B1_kstm1 = BarrierN( 1, skstm1, sKs, sPim, rRes2, mass2[i] ); // m2==kst Fn(kst)
2781 B1_kstm2 = BarrierN( 1, skstm2, sKs, sPim, rRes2, mass2[i] );
2782 }
2783 if ( B1_a1prhop1 == -1 )
2784 {
2785 B1_a1prhop1 =
2786 BarrierN( 1, sa1prhop1, sPip, sPi01, rRes2, 0.77526 ); // m2==kst Fn(kst)
2787 B1_a1prhop2 = BarrierN( 1, sa1prhop2, sPip, sPi02, rRes2, 0.77526 );
2788 }
2789 // B1_Vp1 B1_Vp2--rho+
2790
2791 // Sn
2792 calt1( PKs, Pim, t1kstm1 );
2793 calt1( PKs, Pim, t1kstm2 );
2794 // t1rhop1 t1rhop2
2795 calt1( pa1p1, pkstm1, t1D0_a1p1 );
2796 calt1( pa1p2, pkstm2, t1D0_a1p2 );
2797 calt1( Pip, Pi01, t1a1prhop1 );
2798 calt1( Pip, Pi02, t1a1prhop2 );
2799
2800 // P
2801 calG2( pa1prhop1, Pi02, p1a1p_1 );
2802 calG2( pa1prhop2, Pi01, p1a1p_2 );
2803
2804 for ( int i = 0; i < 4; i++ )
2805 {
2806 double t1_a1p_kstm1 = t1kstm1[i] * G[i][i];
2807 double t1_a1p_kstm2 = t1kstm2[i] * G[i][i];
2808 for ( int j = 0; j < 4; j++ )
2809 {
2810 double t1_a1p_rhop1 = t1a1prhop1[j] * G[j][j];
2811 double t1_a1p_rhop2 = t1a1prhop2[i] * G[j][j];
2812
2813 for ( int k = 0; k < 4; k++ )
2814 {
2815 double t1_D0_a1pkstm1 = t1D0_a1p1[k] * G[k][k];
2816 double t1_D0_a1pkstm2 = t1D0_a1p2[k] * G[k][k];
2817
2818 for ( int l = 0; l < 4; l++ )
2819 {
2820 double pD0_a1pkstm1 = pD0[l] * G[l][l];
2821 double pD0_a1pkstm2 = pD0[l] * G[l][l];
2822
2823 for ( int m = 0; m < 4; m++ )
2824 {
2825 temp_PDF1 += t1_a1p_rhop1 * t1_a1p_kstm1 * t1_D0_a1pkstm1 * pD0_a1pkstm1 *
2826 p1a1p_1[m][j] * G[m][m] * E[i][k][l][m];
2827 temp_PDF2 += t1_a1p_rhop2 * t1_a1p_kstm2 * t1_D0_a1pkstm2 * pD0_a1pkstm2 *
2828 p1a1p_2[m][j] * G[m][m] * E[i][k][l][m];
2829 }
2830 }
2831 }
2832 }
2833 }
2834 temp_PDF1 = temp_PDF1 * B1_D0_a1pkstm1 * B1_kstm1 * B1_a1prhop1;
2835 temp_PDF2 = temp_PDF2 * B1_D0_a1pkstm2 * B1_kstm2 * B1_a1prhop2;
2836 }
2837
2838 else if ( g2[i] == 1122 )
2839 { // 1121
2840 if ( B1_D0_a1pkstm == -1 )
2841 { B1_D0_a1pkstm = BarrierN( 1, sD0, sa1p, skstm, rDs2, mD0M ); }
2842
2843 if ( B1_kstm == -1 )
2844 {
2845 B1_kstm = BarrierN( 1, skstm, sKs, sPim, rRes2, mass2[i] ); // m2==kst Fn(kst)
2846 }
2847 // B1_Vp1 B1_Vp2--rho+
2848 if ( B2_a1p_rhop1 == -1 )
2849 {
2850 B2_a1p_rhop1 = BarrierN( 2, sa1p, srhop1, sPi02, rRes2, mass1[i] );
2851 B2_a1p_rhop2 = BarrierN( 2, sa1p, srhop2, sPi01, rRes2, mass1[i] );
2852 }
2853
2854 calt1( PKs, Pim, t1kstm );
2855 calt1( pa1p, pkstm, t1D0_a1p );
2856 // t1rhop1 t1rhop2
2857 calt2( pa1prhop1, Pi02, t2_a1p1 );
2858 calt2( pa1prhop2, Pi01, t2_a1p2 );
2859 calt1( Pip, Pi01, t1rhop1 );
2860 calt1( Pip, Pi02, t1rhop2 );
2861
2862 for ( int i = 0; i < 4; i++ )
2863 {
2864 double t1_a1p_rhop1 = t1rhop1[i] * G[i][i];
2865 double t1_a1p_rhop2 = t1rhop2[i] * G[i][i];
2866
2867 for ( int j = 0; j < 4; j++ )
2868 {
2869 double t1_a1p_kstm = t1kstm[j] * G[j][j];
2870
2871 for ( int k = 0; k < 4; k++ )
2872 {
2873 double t1_D0_a1pkstm = t1D0_a1p[k] * G[k][k];
2874
2875 for ( int l = 0; l < 4; l++ )
2876 {
2877 double pD0_a1pkstm = pD0[l] * G[l][l];
2878
2879 for ( int m = 0; m < 4; m++ )
2880 {
2881 temp_PDF1 += t1_a1p_rhop1 * t1_a1p_kstm * t1_D0_a1pkstm * pD0_a1pkstm *
2882 t2_a1p1[m][j] * G[m][m] * E[i][k][l][m];
2883 temp_PDF2 += t1_a1p_rhop2 * t1_a1p_kstm * t1_D0_a1pkstm * pD0_a1pkstm *
2884 t2_a1p2[m][j] * G[m][m] * E[i][k][l][m];
2885 }
2886 }
2887 }
2888 }
2889 }
2890
2891 temp_PDF1 = temp_PDF1 * B1_D0_a1pkstm * B1_kstm * B1_Vp1 * B2_a1p_rhop1;
2892 temp_PDF2 = temp_PDF2 * B1_D0_a1pkstm * B1_kstm * B1_Vp2 * B2_a1p_rhop2;
2893 }
2894
2895 else if ( g2[i] == 1220 )
2896 { // 2101
2897 if ( B2_D0_a1pkstm1 == -1 )
2898 {
2899 B2_D0_a1pkstm1 = BarrierN( 2, sD0, sa1p1, skstm1, rDs2, mD0M );
2900 B2_D0_a1pkstm2 = BarrierN( 2, sD0, sa1p2, skstm2, rDs2, mD0M );
2901 }
2902 if ( B1_kstm == -1 )
2903 {
2904 B1_kstm1 = BarrierN( 1, skstm1, sKs, sPim, rRes2, mass2[i] ); // m2==kst Fn(kst)
2905 B1_kstm2 = BarrierN( 1, skstm2, sKs, sPim, rRes2, mass2[i] );
2906 }
2907 if ( B1_a1prhop1 == -1 )
2908 {
2909 B1_a1prhop1 =
2910 BarrierN( 1, sa1prhop1, sPip, sPi01, rRes2, 0.77526 ); // m2==kst Fn(kst)
2911 B1_a1prhop2 = BarrierN( 1, sa1prhop2, sPip, sPi02, rRes2, 0.77526 );
2912 }
2913 // B1_Vp1 B1_Vp2--rho+
2914
2915 calt1( PKs, Pim, t1kstm1 );
2916 calt1( PKs, Pim, t1kstm2 );
2917 // t1rhop1 t1rhop2
2918 calt2( pa1p1, pkstm1, t2D0_a1p1 );
2919 calt2( pa1p2, pkstm2, t2D0_a1p2 );
2920
2921 calG2( pa1prhop1, Pi02, p1a1p_1 );
2922 calG2( pa1prhop2, Pi01, p1a1p_2 );
2923 calt1( Pip, Pi01, t1a1prhop1 );
2924 calt1( Pip, Pi02, t1a1prhop2 );
2925
2926 for ( int i = 0; i < 4; i++ )
2927 {
2928 double t1_a1p_rhop1 = t1a1prhop1[i] * G[i][i];
2929 double t1_a1p_rhop2 = t1a1prhop2[i] * G[i][i];
2930
2931 for ( int j = 0; j < 4; j++ )
2932 {
2933 double t1_a1p_kstm1 = t1kstm1[j] * G[j][j];
2934 double t1_a1p_kstm2 = t1kstm2[j] * G[j][j];
2935
2936 for ( int k = 0; k < 4; k++ )
2937 {
2938 temp_PDF1 += t1_a1p_rhop1 * t1_a1p_kstm1 * t2D0_a1p1[k][i] * p1a1p_1[k][j];
2939 temp_PDF2 += t1_a1p_rhop2 * t1_a1p_kstm2 * t2D0_a1p2[k][i] * p1a1p_2[k][j];
2940 }
2941 }
2942 }
2943
2944 temp_PDF1 = temp_PDF1 * B2_D0_a1pkstm1 * B1_kstm1 * B1_a1prhop1;
2945 temp_PDF2 = temp_PDF2 * B2_D0_a1pkstm2 * B1_kstm2 * B1_a1prhop2;
2946 }
2947
2948 else if ( g2[i] == 1222 )
2949 { // 2121
2950 if ( B2_D0_a1pkstm == -1 )
2951 { B2_D0_a1pkstm = BarrierN( 2, sD0, sa1p, skstm, rDs2, mD0M ); }
2952 if ( B1_kstm == -1 )
2953 {
2954 B1_kstm = BarrierN( 1, skstm, sKs, sPim, rRes2, mass2[i] ); // m2==kst Fn(kst)
2955 }
2956 if ( B2_a1p_rhop1 == -1 )
2957 {
2958 B2_a1p_rhop1 = BarrierN( 2, sa1p, srhop1, sPi02, rRes2, mass1[i] );
2959 B2_a1p_rhop2 = BarrierN( 2, sa1p, srhop2, sPi01, rRes2, mass1[i] );
2960 }
2961 // B1_Vp1 B1_Vp2--rho+
2962
2963 calt2( pa1p, pkstm, t2D0_a1p );
2964 calt1( PKs, Pim, t1kstm );
2965 calt2( prhop1, Pi02, t2_a1p1 );
2966 calt2( prhop2, Pi01, t2_a1p2 );
2967 // t1rhop1 t1rhop2
2968 calt1( Pip, Pi01, t1rhop1 );
2969 calt1( Pip, Pi02, t1rhop2 );
2970
2971 for ( int i = 0; i < 4; i++ )
2972 {
2973 double t1_a1p_rhop1 = t1rhop1[i] * G[i][i];
2974 double t1_a1p_rhop2 = t1rhop2[i] * G[i][i];
2975
2976 for ( int j = 0; j < 4; j++ )
2977 {
2978 double t1_a1p_kstm = t1kstm[j] * G[j][j];
2979
2980 for ( int k = 0; k < 4; k++ )
2981 {
2982 temp_PDF1 +=
2983 t1_a1p_rhop1 * t1_a1p_kstm * t2D0_a1p[k][i] * t2_a1p1[k][j] * G[k][k];
2984 temp_PDF2 +=
2985 t1_a1p_rhop2 * t1_a1p_kstm * t2D0_a1p[k][i] * t2_a1p2[k][j] * G[k][k];
2986 }
2987 }
2988 }
2989
2990 temp_PDF1 = temp_PDF1 * B2_D0_a1pkstm * B1_kstm * B1_Vp1 * B2_a1p_rhop1;
2991 temp_PDF2 = temp_PDF2 * B2_D0_a1pkstm * B1_kstm * B1_Vp2 * B2_a1p_rhop2;
2992 }
2993
2994 if ( g0[i] == 1 )
2995 { // a1
2996 if ( g2[i] == 1020 || g2[i] == 1120 || g2[i] == 1220 )
2997 {
2998 propagatorRBW_a1( mass1sq, mass1[i], width1[i], sa1p1, sa1prhop1, sPi02, rRes2, 0,
2999 pro3_p1 );
3000 propagatorRBW_a1( mass1sq, mass1[i], width1[i], sa1p2, sa1prhop2, sPi01, rRes2, 0,
3001 pro3_p2 );
3002 }
3003 else
3004 {
3005 propagatorRBW_a1( mass1sq, mass1[i], width1[i], sa1p1, sa1prhop1, sPi02, rRes2, 2,
3006 pro3_p1 );
3007 propagatorRBW_a1( mass1sq, mass1[i], width1[i], sa1p2, sa1prhop2, sPi01, rRes2, 2,
3008 pro3_p2 );
3009 }
3010 propagatorGS( 0.60102807, 0.77526, 0.1478, sa1prhop1, sPip, sPi01, rRes2, pro3_p11 );
3011 propagatorGS( 0.60102807, 0.77526, 0.1478, sa1prhop2, sPip, sPi02, rRes2, pro3_p12 );
3012
3013 Com_Multi( pro3_p1, pro3_p11, pro3_111 );
3014 Com_Multi( pro3_p2, pro3_p12, pro3_112 );
3015 }
3016 else if ( g0[i] == 0 )
3017 {
3018 pro3_p1[0] = 1;
3019 pro3_p1[1] = 0;
3020 pro3_p2[0] = 1;
3021 pro3_p2[1] = 0;
3022 }
3023
3024 // kst
3025 if ( g1[i] == 1 )
3026 {
3027 propagatorRBW( mass2sq, mass2[i], width2[i], skstm1, sKs, sPim, rRes2, 1,
3028 pro3_1 ); // kst1
3029 propagatorRBW( mass2sq, mass2[i], width2[i], skstm2, sKs, sPim, rRes2, 1,
3030 pro3_2 ); // kst1
3031 }
3032 else if ( g1[i] == 0 )
3033 {
3034 pro3_1[0] = 1;
3035 pro3_1[1] = 0;
3036 pro3_2[0] = 1;
3037 pro3_2[1] = 0;
3038 }
3039
3040 Com_Multi( pro3_111, pro3_1, pro3_11 );
3041 Com_Multi( pro3_112, pro3_2, pro3_12 );
3042
3043 amp_tmp1[0] = temp_PDF1 * pro3_11[0];
3044 amp_tmp1[1] = temp_PDF1 * pro3_11[1];
3045 amp_tmp2[0] = temp_PDF2 * pro3_12[0];
3046 amp_tmp2[1] = temp_PDF2 * pro3_12[1];
3047 }
3048
3049 else if ( modetype[i] == 20 )
3050 { // a1_0 K*0 a1_0 to rho_0 pi0 K*0 to KS0 pi0 rho_0 to pi+ pi-
3051 if ( g2[i] == 1020 )
3052 { // 0101---SS
3053 if ( B1_a10_kst0 == -1 )
3054 {
3055 B1_kst1 = BarrierN( 1, skst1_20, sKs, sPi01, rRes2, mass2[i] );
3056 B1_kst2 = BarrierN( 1, skst2_20, sKs, sPi02, rRes2, mass2[i] );
3057 }
3058 if ( B1_a10rhop1 == -1 )
3059 {
3060 B1_a10rhop1 =
3061 BarrierN( 1, sa1rhop1, sPip, sPi01, rRes2, 0.77526 ); // m2==kst Fn(kst)
3062 B1_a10rhop2 = BarrierN( 1, sa1rhop2, sPip, sPi02, rRes2, 0.77526 );
3063 }
3064 calt1( Pip, Pi01, t1a10rhop1 );
3065 calt1( Pip, Pi02, t1a10rhop2 );
3066 calt1( PKs, Pi01, t1a10kst1 );
3067 calt1( PKs, Pi02, t1a10kst2 );
3068 calG2( pa1rhop1, Pim, p1_a102 );
3069 calG2( pa1rhop2, Pim, p2_a102 );
3070 for ( int i = 0; i < 4; i++ )
3071 {
3072 double temt1rhop1 = t1a10rhop1[i] * G[i][i];
3073 double temt1rhop2 = t1a10rhop2[i] * G[i][i];
3074 for ( int j = 0; j < 4; j++ )
3075 {
3076 temp_PDF1 += temt1rhop2 * t1a10kst1[j] * G[j][j] * p2_a102[i][j];
3077 temp_PDF2 += temt1rhop1 * t1a10kst2[j] * G[j][j] * p1_a102[i][j];
3078 }
3079 }
3080
3081 temp_PDF1 = temp_PDF1 * B1_kst1 * B1_a10rhop2;
3082 temp_PDF2 = temp_PDF2 * B1_kst2 * B1_a10rhop1;
3083 }
3084 /////////////////////////////SD
3085 else if ( g2[i] == 1022 )
3086 {
3087 if ( B1_a10_kst0 == -1 )
3088 {
3089 B1_kst1 = BarrierN( 1, skst1, sKs, sPi01, rRes2, mass2[i] );
3090 B1_kst2 = BarrierN( 1, skst2, sKs, sPi02, rRes2, mass2[i] );
3091 }
3092 if ( B2_a10_rho == -1 )
3093 {
3094 B1_a11p = BarrierN( 2, sa101, srhop1, sPim, rRes2, mass1[i] );
3095 B2_a12p = BarrierN( 2, sa102, srhop2, sPim, rRes2, mass1[i] );
3096 }
3097 calt1( Pip, Pi01, t1rhop1 );
3098 calt1( Pip, Pi02, t1rhop2 );
3099 calt1( PKs, Pi01, t1kst1 );
3100 calt1( PKs, Pi02, t1kst2 );
3101
3102 calt2( prhop1, Pim, t1_a102 );
3103 calt2( prhop2, Pim, t2_a102 );
3104 // t1rhop1 t1rhop2
3105
3106 for ( int i = 0; i < 4; i++ )
3107 {
3108 double t1_a10_rhop1 = t1rhop1[i] * G[i][i];
3109 double t1_a10_rhop2 = t1rhop2[i] * G[i][i];
3110 for ( int j = 0; j < 4; j++ )
3111 {
3112 temp_PDF1 += t1_a10_rhop2 * t1kst1[j] * G[j][j] * t2_a102[j][i];
3113 temp_PDF2 += t1_a10_rhop1 * t1kst2[j] * G[j][j] * t1_a102[j][i];
3114 }
3115 }
3116 temp_PDF1 = temp_PDF1 * B1_kst1 * B1_Vp2 * B2_a12p;
3117 temp_PDF2 = temp_PDF2 * B1_kst2 * B1_Vp1 * B1_a11p;
3118 }
3119
3120 else if ( g2[i] == 1120 )
3121 {
3122 if ( B1_D0_a10kst0 == -1 )
3123 {
3124 B1_D0_a10kst01 = BarrierN( 1, sD0, sa102_rhop, skst1_20, rDs2, mD0M );
3125 B1_D0_a10kst02 = BarrierN( 1, sD0, sa101_rhop, skst2_20, rDs2, mD0M );
3126 }
3127 if ( B1_a10_kst0 == -1 )
3128 {
3129 B1_kst1 = BarrierN( 1, skst1_20, sKs, sPi01, rRes2, mass2[i] );
3130 B1_kst2 = BarrierN( 1, skst2_20, sKs, sPi02, rRes2, mass2[i] );
3131 }
3132 if ( B1_a10rhop1 == -1 )
3133 {
3134 B1_a10rhop1 =
3135 BarrierN( 1, sa1rhop1, sPip, sPi01, rRes2, 0.77526 ); // m2==kst Fn(kst)
3136 B1_a10rhop2 = BarrierN( 1, sa1rhop2, sPip, sPi02, rRes2, 0.77526 );
3137 }
3138 // B1_Vp1 B1_Vp2--rho+
3139
3140 // t1rhop1 t1rhop2
3141 calt1( Pip, Pi01, t1a10rhop1 );
3142 calt1( Pip, Pi02, t1a10rhop2 );
3143 calt1( PKs, Pi01, t1a10kst1 );
3144 calt1( PKs, Pi02, t1a10kst2 );
3145 calt1( pa101_rhop, pkst2_20, t1D0_a101 );
3146 calt1( pa102_rhop, pkst1_20, t1D0_a102 );
3147
3148 // P
3149 calG2( pa1rhop1, Pim, p1a1p_1 );
3150 calG2( pa1rhop2, Pim, p1a1p_2 );
3151 for ( int i = 0; i < 4; i++ )
3152 {
3153
3154 double t1_a10_kst01 = t1a10kst1[i] * G[i][i];
3155 double t1_a10_kst02 = t1a10kst2[i] * G[i][i];
3156
3157 for ( int j = 0; j < 4; j++ )
3158 {
3159
3160 double t1_a10_rhop1 = t1rhop1[j] * G[j][j];
3161 double t1_a10_rhop2 = t1rhop2[j] * G[j][j];
3162
3163 for ( int k = 0; k < 4; k++ )
3164 {
3165 double t1_D0_a10kst01 = t1D0_a101[k] * G[k][k];
3166 double t1_D0_a10kst02 = t1D0_a102[k] * G[k][k];
3167
3168 for ( int l = 0; l < 4; l++ )
3169 {
3170 double pD0_a10kst1 = pD0[l] * G[l][l];
3171 double pD0_a10kst2 = pD0[l] * G[l][l];
3172
3173 for ( int m = 0; m < 4; m++ )
3174 {
3175 temp_PDF1 += t1_a10_rhop2 * t1_a10_kst01 * t1_D0_a10kst02 * pD0_a10kst2 *
3176 p1a1p_2[m][j] * G[m][m] * E[i][k][l][m];
3177 temp_PDF2 += t1_a10_rhop1 * t1_a10_kst02 * t1_D0_a10kst01 * pD0_a10kst1 *
3178 p1a1p_1[m][j] * G[m][m] * E[i][k][l][m];
3179 }
3180 }
3181 }
3182 }
3183 }
3184 temp_PDF1 = temp_PDF1 * B1_D0_a10kst01 * B1_kst1 * B1_a10rhop2;
3185 temp_PDF2 = temp_PDF2 * B1_D0_a10kst02 * B1_kst2 * B1_a10rhop1;
3186 }
3187
3188 else if ( g2[i] == 1122 )
3189 { // 1121
3190 if ( B1_D0_a10kst0 == -1 )
3191 {
3192 B1_D0_a10kst01 = BarrierN( 1, sD0, sa102, skst1, rDs2, mD0M );
3193 B1_D0_a10kst02 = BarrierN( 1, sD0, sa101, skst2, rDs2, mD0M );
3194 }
3195
3196 if ( B1_a10_kst0 == -1 )
3197 {
3198 B1_kst1 = BarrierN( 1, skst1, sKs, sPi01, rRes2, mass2[i] );
3199 B1_kst2 = BarrierN( 1, skst2, sKs, sPi02, rRes2, mass2[i] );
3200 }
3201 // B1_Vp1 B1_Vp2--rho+
3202 if ( B2_a10_rho == -1 )
3203 {
3204 B1_a11p = BarrierN( 2, sa101, srhop1, sPim, rRes2, mass1[i] );
3205
3206 B2_a12p = BarrierN( 2, sa102, srhop2, sPim, rRes2, mass1[i] );
3207 }
3208 calt1( Pip, Pi01, t1rhop1 );
3209 calt1( Pip, Pi02, t1rhop2 );
3210 calt1( PKs, Pi01, t1kst1 );
3211 calt1( PKs, Pi02, t1kst2 );
3212 calt1( pa101, pkst2, t1D0_a101 );
3213 calt1( pa102, pkst1, t1D0_a102 );
3214 // t1rhop1 t1rhop2
3215 calt2( prhop1, Pim, t1_a102 );
3216 calt2( prhop2, Pim, t2_a102 );
3217 for ( int i = 0; i < 4; i++ )
3218 {
3219 double t1_a10_rhop1 = t1rhop1[i] * G[i][i];
3220 double t1_a10_rhop2 = t1rhop2[i] * G[i][i];
3221
3222 for ( int j = 0; j < 4; j++ )
3223 {
3224 double t1_a10_kst01 = t1kst1[j] * G[j][j];
3225 double t1_a10_kst02 = t1kst2[j] * G[j][j];
3226 for ( int k = 0; k < 4; k++ )
3227 {
3228 double t1_D0_a101kst02 = t1D0_a101[k] * G[k][k];
3229 double t1_D0_a102kst01 = t1D0_a102[k] * G[k][k];
3230
3231 for ( int l = 0; l < 4; l++ )
3232 {
3233 double pD0_a10kst0 = pD0[l] * G[l][l];
3234
3235 for ( int m = 0; m < 4; m++ )
3236 {
3237 temp_PDF1 += t1_a10_rhop2 * t1_a10_kst01 * t1_D0_a101kst02 * pD0_a10kst0 *
3238 t2_a102[m][j] * G[m][m] * E[i][k][l][m];
3239 temp_PDF2 += t1_a10_rhop1 * t1_a10_kst02 * t1_D0_a102kst01 * pD0_a10kst0 *
3240 t1_a102[m][j] * G[m][m] * E[i][k][l][m];
3241 }
3242 }
3243 }
3244 }
3245 }
3246 temp_PDF1 = temp_PDF1 * B1_D0_a10kst01 * B1_kst1 * B1_Vp2 * B2_a12p;
3247
3248 temp_PDF2 = temp_PDF2 * B1_D0_a10kst02 * B1_kst2 * B1_Vp1 * B1_a11p;
3249 }
3250
3251 else if ( g2[i] == 1220 )
3252 { // 2101
3253 if ( B2_D0_a10kst0 == -1 )
3254 {
3255 B2_D0_a10kst01 = BarrierN( 2, sD0, sa102_rhop, skst1_20, rDs2, mD0M );
3256 B2_D0_a10kst02 = BarrierN( 2, sD0, sa101_rhop, skst2_20, rDs2, mD0M );
3257 }
3258 if ( B1_a10_kst0 == -1 )
3259 {
3260 B1_kst1 = BarrierN( 1, skst1_20, sKs, sPi01, rRes2, mass2[i] );
3261 B1_kst2 = BarrierN( 1, skst2_20, sKs, sPi02, rRes2, mass2[i] );
3262 }
3263 // B1_Vp1 B1_Vp2--rho+
3264
3265 // t1rhop1 t1rhop2
3266 calt2( pa101_rhop, pkst2_20, t2D0_a101 );
3267 calt2( pa102_rhop, pkst1_20, t2D0_a102 );
3268 calt1( Pip, Pi01, t1rhop1 );
3269 calt1( Pip, Pi02, t1rhop2 );
3270 calt1( PKs, Pi01, t1kst1 );
3271 calt1( PKs, Pi02, t1kst2 );
3272
3273 calG2( pa1rhop1, Pim, p1a1p_1 );
3274 calG2( pa1rhop2, Pim, p1a1p_2 );
3275 for ( int i = 0; i < 4; i++ )
3276 {
3277 double t1_a10_rhop1 = t1rhop1[i] * G[i][i];
3278 double t1_a10_rhop2 = t1rhop2[i] * G[i][i];
3279
3280 for ( int j = 0; j < 4; j++ )
3281 {
3282 double t1_a10_kst01 = t1kst1[j] * G[j][j];
3283 double t1_a10_kst02 = t1kst2[j] * G[j][j];
3284
3285 for ( int k = 0; k < 4; k++ )
3286 {
3287 temp_PDF1 += t1_a10_rhop2 * t1_a10_kst01 * t2D0_a102[k][i] * p1a1p_2[k][i];
3288 temp_PDF2 += t1_a10_rhop1 * t1_a10_kst02 * t2D0_a101[k][i] * p1a1p_1[k][i];
3289 }
3290 }
3291 }
3292
3293 temp_PDF1 = temp_PDF1 * B2_D0_a10kst01 * B1_kst1 * B1_Vp2;
3294 temp_PDF2 = temp_PDF2 * B2_D0_a10kst02 * B1_kst2 * B1_Vp1;
3295 }
3296
3297 else if ( g2[i] == 1222 )
3298 { // 2121
3299 if ( B2_D0_a10kst0 == -1 )
3300 {
3301 B2_D0_a10kst01 = BarrierN( 2, sD0, sa102, skst1, rDs2, mD0M );
3302 B2_D0_a10kst02 = BarrierN( 2, sD0, sa101, skst2, rDs2, mD0M );
3303 }
3304 if ( B1_a10_kst0 == -1 )
3305 {
3306 B1_kst1 = BarrierN( 1, skst1, sKs, sPi01, rRes2, mass2[i] );
3307 B1_kst2 = BarrierN( 1, skst2, sKs, sPi02, rRes2, mass2[i] );
3308 }
3309 if ( B2_a10_rho == -1 )
3310 {
3311 B1_a11p = BarrierN( 2, sa101, srhop1, sPim, rRes2, mass1[i] );
3312 B2_a12p = BarrierN( 2, sa102, srhop2, sPim, rRes2, mass1[i] );
3313 }
3314 // B1_Vp1 B1_Vp2--rho+
3315
3316 calt2( pa101, pkst2, t2D0_a101 );
3317 calt2( pa102, pkst1, t2D0_a102 );
3318 calt1( Pip, Pi01, t1rhop1 );
3319 calt1( Pip, Pi02, t1rhop2 );
3320 calt1( PKs, Pi01, t1kst1 );
3321 calt1( PKs, Pi02, t1kst2 );
3322
3323 calt2( prhop1, Pim, t1_a102 );
3324 calt2( prhop2, Pim, t2_a102 );
3325 // t1rhop1 t1rhop2
3326
3327 for ( int i = 0; i < 4; i++ )
3328 {
3329 double t1_a10_rhop1 = t1rhop1[i] * G[i][i];
3330 double t1_a10_rhop2 = t1rhop2[i] * G[i][i];
3331 for ( int j = 0; j < 4; j++ )
3332 {
3333 double t1_a10_kst01 = t1kst1[j] * G[j][j];
3334 double t1_a10_kst02 = t1kst2[j] * G[j][j];
3335
3336 for ( int k = 0; k < 4; k++ )
3337 {
3338 temp_PDF1 +=
3339 t1_a10_rhop2 * t1_a10_kst01 * t2D0_a102[k][i] * t2_a102[k][j] * G[k][k];
3340 temp_PDF2 +=
3341 t1_a10_rhop1 * t1_a10_kst02 * t2D0_a101[k][i] * t1_a102[k][j] * G[k][k];
3342 }
3343 }
3344 }
3345
3346 temp_PDF1 = temp_PDF1 * B2_D0_a10kst01 * B1_kst1 * B1_Vp2 * B2_a12p;
3347 temp_PDF2 = temp_PDF2 * B2_D0_a10kst02 * B1_kst2 * B1_Vp1 * B1_a11p;
3348 }
3349
3350 if ( g0[i] == 1 )
3351 { // a1
3352 if ( g2[i] == 1020 || g2[i] == 1120 || g2[i] == 1220 )
3353 {
3354 propagatorRBW_a1( mass1sq, mass1[i], width1[i], sa101_rhop, sa1rhop1, sPim, rRes2, 0,
3355 pro4_p1 );
3356 propagatorRBW_a1( mass1sq, mass1[i], width1[i], sa102_rhop, sa1rhop2, sPim, rRes2, 0,
3357 pro4_p2 );
3358 }
3359 else
3360 {
3361 propagatorRBW_a1( mass1sq, mass1[i], width1[i], sa101_rhop, sa1rhop1, sPim, rRes2, 2,
3362 pro4_p1 );
3363 propagatorRBW_a1( mass1sq, mass1[i], width1[i], sa102_rhop, sa1rhop2, sPim, rRes2, 2,
3364 pro4_p2 );
3365 }
3366
3367 propagatorGS( 0.60102807, 0.77526, 0.1478, sa1rhop1, sPip, sPi01, rRes2, pro4_11 );
3368 propagatorGS( 0.60102807, 0.77526, 0.1478, sa1rhop2, sPip, sPi02, rRes2, pro4_12 );
3369
3370 Com_Multi( pro4_p1, pro4_11, pro4_111 );
3371 Com_Multi( pro4_p2, pro4_12, pro4_112 );
3372 }
3373 else if ( g0[i] == 0 )
3374 {
3375 pro4_p1[0] = 1;
3376 pro4_p1[1] = 0;
3377 pro4_p2[0] = 1;
3378 pro4_p2[1] = 0;
3379 }
3380
3381 if ( g1[i] == 1 )
3382 {
3383 propagatorRBW( mass2sq, mass2[i], width2[i], skst1_20, sKs, sPi01, rRes2, 1,
3384 pro4_1 ); // kst1
3385 propagatorRBW( mass2sq, mass2[i], width2[i], skst2_20, sKs, sPi02, rRes2, 1,
3386 pro4_2 ); // kst2
3387 }
3388 else if ( g1[i] == 0 )
3389 {
3390 pro4_1[0] = 1;
3391 pro4_1[1] = 0;
3392 pro4_2[0] = 1;
3393 pro4_2[1] = 0;
3394 }
3395
3396 Com_Multi( pro4_112, pro4_1, pro4_1112 );
3397 Com_Multi( pro4_111, pro4_2, pro4_2222 ); // 1p
3398
3399 amp_tmp1[0] = temp_PDF1 * pro4_1112[0]; // b1--omega2
3400 amp_tmp1[1] = temp_PDF1 * pro4_1112[1];
3401 amp_tmp2[0] = temp_PDF2 * pro4_2222[0]; // b1--omega1
3402 amp_tmp2[1] = temp_PDF2 * pro4_2222[1];
3403 }
3404 else if ( modetype[i] == 33 )
3405 { // a1_0 K*0 a1_0 to rho_0 pi0 K*0 to KS0 pi0 rho_0 to pi+ pi-
3406 if ( g2[i] == 1020 )
3407 { // 0101---SS
3408 if ( B1_a10_kst == -1 )
3409 {
3410 B1_kst1 = BarrierN( 1, skst1_33, sKs, sPi01, rRes2, mass2[i] );
3411 B1_kst2 = BarrierN( 1, skst2_33, sKs, sPi02, rRes2, mass2[i] );
3412 }
3413 if ( B1_a10rhom1 == -1 )
3414 {
3415 B1_a10rhom1 =
3416 BarrierN( 1, sa1rhom1, sPi01, sPim, rRes2, 0.77526 ); // m2==kst Fn(kst)
3417 B1_a10rhom2 = BarrierN( 1, sa1rhom2, sPi02, sPim, rRes2, 0.77526 );
3418 }
3419 // P(a1)
3420 calt1( PKs, Pi01, t1a10kst1 );
3421 calt1( PKs, Pi02, t1a10kst2 );
3422 calt1( Pi01, Pim, t1a10rhom1 );
3423 calt1( Pi02, Pim, t1a10rhom2 );
3424 calG2( pa1rhom1, Pip, p1_a103 );
3425 calG2( pa1rhom2, Pip, p2_a103 );
3426 // printf("shuchu1: %lf, %lf\n", t1kst1[0],p2_a102[0][0]);
3427 for ( int i = 0; i < 4; i++ )
3428 {
3429 double temt1rhom1 = t1a10rhom1[i] * G[i][i];
3430 double temt1rhom2 = t1a10rhom2[i] * G[i][i];
3431 for ( int j = 0; j < 4; j++ )
3432 {
3433 temp_PDF1 += temt1rhom2 * t1a10kst1[j] * G[j][j] * p2_a103[i][j];
3434 temp_PDF2 += temt1rhom1 * t1a10kst2[j] * G[j][j] * p1_a103[i][j];
3435 // printf("shuchu1: %lf, %lf\n", p2_a103[0][0],p1_a103[0][0]);
3436 }
3437 }
3438 // printf("shuchu1: %lf, %lf\n", B1_kst1,B1_Vm2);
3439 temp_PDF1 = temp_PDF1 * B1_kst1 * B1_a10rhom2;
3440 temp_PDF2 = temp_PDF2 * B1_kst2 * B1_a10rhom1;
3441 }
3442 else if ( g2[i] == 1022 )
3443 {
3444 if ( B1_a10_kst == -1 )
3445 {
3446 B1_kst1 = BarrierN( 1, skst1, sKs, sPi01, rRes2, mass2[i] );
3447 B1_kst2 = BarrierN( 1, skst2, sKs, sPi02, rRes2, mass2[i] );
3448 }
3449 if ( B2_a10_rho == -1 )
3450 {
3451 B1_a11m = BarrierN( 2, sa101, srhom1, sPip, rRes2, mass1[i] );
3452
3453 B2_a12m = BarrierN( 2, sa102, srhom2, sPip, rRes2, mass1[i] );
3454 }
3455 calt1( PKs, Pi01, t1kst1 );
3456 calt1( PKs, Pi02, t1kst2 );
3457 calt1( Pi01, Pim, t1rhom1 );
3458 calt1( Pi02, Pim, t1rhom2 );
3459 calt2( prhom1, Pip, t1_a103 );
3460 calt2( prhom2, Pip, t2_a103 );
3461 // t1rhop1 t1rhop2
3462
3463 for ( int i = 0; i < 4; i++ )
3464 {
3465 double t1_a10_rhom1 = t1rhom1[i] * G[i][i];
3466 double t1_a10_rhom2 = t1rhom2[i] * G[i][i];
3467 for ( int j = 0; j < 4; j++ )
3468 {
3469 temp_PDF1 += t1_a10_rhom2 * t1kst1[j] * G[j][j] * t2_a103[j][i];
3470
3471 temp_PDF2 += t1_a10_rhom1 * t1kst2[j] * G[j][j] * t1_a103[j][i];
3472 }
3473 }
3474 temp_PDF1 = temp_PDF1 * B1_kst1 * B1_Vm2 * B2_a12m;
3475 temp_PDF2 = temp_PDF2 * B1_kst2 * B1_Vm1 * B1_a11m;
3476 }
3477 else if ( g2[i] == 1120 )
3478 {
3479 if ( B1_D0_a10kst0 == -1 )
3480 {
3481 B1_D0_a10kst01 = BarrierN( 1, sD0, sa102_rhom, skst1_33, rDs2, mD0M );
3482 B1_D0_a10kst02 = BarrierN( 1, sD0, sa101_rhom, skst2_33, rDs2, mD0M );
3483 }
3484 if ( B1_a10_kst == -1 )
3485 {
3486 B1_kst1 = BarrierN( 1, skst1_33, sKs, sPi01, rRes2, mass2[i] );
3487 B1_kst2 = BarrierN( 1, skst2_33, sKs, sPi02, rRes2, mass2[i] );
3488 }
3489 if ( B1_a10rhom1 == -1 )
3490 {
3491 B1_a10rhom1 =
3492 BarrierN( 1, sa1rhom1, sPi01, sPim, rRes2, 0.77526 ); // m2==kst Fn(kst)
3493 B1_a10rhom2 = BarrierN( 1, sa1rhom2, sPi02, sPim, rRes2, 0.77526 );
3494 }
3495 // B1_Vp1 B1_Vp2--rho+
3496
3497 // t1rhop1 t1rhop2
3498 calt1( pa101_rhom, pkst2_33, t1D0_a101 );
3499 calt1( pa102_rhom, pkst1_33, t1D0_a102 );
3500 calt1( PKs, Pi01, t1a10kst1 );
3501 calt1( PKs, Pi02, t1a10kst2 );
3502 calt1( Pi01, Pim, t1a10rhom1 );
3503 calt1( Pi02, Pim, t1a10rhom2 );
3504
3505 // P
3506 calG2( pa1rhom1, Pip, p1a1m_1 );
3507 calG2( pa1rhom2, Pip, p1a1m_2 );
3508 for ( int i = 0; i < 4; i++ )
3509 {
3510 double t1_a10_kst01 = t1a10kst1[i] * G[i][i];
3511 double t1_a10_kst02 = t1a10kst2[i] * G[i][i];
3512 for ( int j = 0; j < 4; j++ )
3513 {
3514 double t1_a10_rhom1 = t1a10rhom1[j] * G[j][j];
3515 double t1_a10_rhom2 = t1a10rhom2[j] * G[j][j];
3516 for ( int k = 0; k < 4; k++ )
3517 {
3518 double t1_D0_a10kst01 = t1D0_a101[k] * G[k][k];
3519 double t1_D0_a10kst02 = t1D0_a102[k] * G[k][k];
3520
3521 for ( int l = 0; l < 4; l++ )
3522 {
3523 double pD0_a10kst1 = pD0[l] * G[l][l];
3524 double pD0_a10kst2 = pD0[l] * G[l][l];
3525
3526 for ( int m = 0; m < 4; m++ )
3527 {
3528 temp_PDF1 += t1_a10_rhom2 * t1_a10_kst01 * t1_D0_a10kst02 * pD0_a10kst2 *
3529 p1a1m_2[m][j] * G[m][m] * E[i][k][l][m];
3530 temp_PDF2 += t1_a10_rhom1 * t1_a10_kst02 * t1_D0_a10kst01 * pD0_a10kst1 *
3531 p1a1m_1[m][j] * G[m][m] * E[i][k][l][m];
3532 }
3533 }
3534 }
3535 }
3536 }
3537 temp_PDF1 = temp_PDF1 * B1_D0_a10kst01 * B1_kst1 * B1_a10rhom2;
3538 temp_PDF2 = temp_PDF2 * B1_D0_a10kst02 * B1_kst2 * B1_a10rhom1;
3539 }
3540 else if ( g2[i] == 1122 )
3541 { // 1121
3542 if ( B1_D0_a10kst0 == -1 )
3543 {
3544 B1_D0_a10kst01 = BarrierN( 1, sD0, sa102, skst1, rDs2, mD0M );
3545 B1_D0_a10kst02 = BarrierN( 1, sD0, sa101, skst2, rDs2, mD0M );
3546 }
3547
3548 if ( B1_a10_kst == -1 )
3549 {
3550 B1_kst1 = BarrierN( 1, skst1, sKs, sPi01, rRes2, mass2[i] );
3551 B1_kst2 = BarrierN( 1, skst2, sKs, sPi02, rRes2, mass2[i] );
3552 }
3553 // B1_Vp1 B1_Vp2--rho+
3554 if ( B2_a10_rho == -1 )
3555 {
3556 B1_a11m = BarrierN( 2, sa101, srhom1, sPip, rRes2, mass1[i] );
3557
3558 B2_a12m = BarrierN( 2, sa102, srhom2, sPip, rRes2, mass1[i] );
3559 }
3560
3561 calt1( pa101, pkst2, t1D0_a101 );
3562 calt1( pa102, pkst1, t1D0_a102 );
3563 // t1rhop1 t1rhop2
3564 calt2( prhom1, Pip, t1_a102 );
3565 calt2( prhom2, Pip, t2_a102 );
3566 calt1( PKs, Pi01, t1kst1 );
3567 calt1( PKs, Pi02, t1kst2 );
3568 calt1( Pi01, Pim, t1rhom1 );
3569 calt1( Pi02, Pim, t1rhom2 );
3570 for ( int i = 0; i < 4; i++ )
3571 {
3572 double t1_a10_rhom1 = t1rhom1[i] * G[i][i];
3573 double t1_a10_rhom2 = t1rhom2[i] * G[i][i];
3574
3575 for ( int j = 0; j < 4; j++ )
3576 {
3577 double t1_a10_kst01 = t1kst1[j] * G[j][j];
3578 double t1_a10_kst02 = t1kst2[j] * G[j][j];
3579 for ( int k = 0; k < 4; k++ )
3580 {
3581 double t1_D0_a101kst02 = t1D0_a101[k] * G[k][k];
3582 double t1_D0_a102kst01 = t1D0_a102[k] * G[k][k];
3583
3584 for ( int l = 0; l < 4; l++ )
3585 {
3586 double pD0_a10kst0 = pD0[l] * G[l][l];
3587
3588 for ( int m = 0; m < 4; m++ )
3589 {
3590 temp_PDF1 += t1_a10_rhom2 * t1_a10_kst01 * t1_D0_a101kst02 * pD0_a10kst0 *
3591 t2_a102[m][j] * G[m][m] * E[i][k][l][m];
3592 temp_PDF2 += t1_a10_rhom1 * t1_a10_kst02 * t1_D0_a102kst01 * pD0_a10kst0 *
3593 t1_a102[m][j] * G[m][m] * E[i][k][l][m];
3594 }
3595 }
3596 }
3597 }
3598 }
3599 temp_PDF1 = temp_PDF1 * B1_D0_a10kst01 * B1_kst1 * B1_Vm2 * B2_a12m;
3600
3601 temp_PDF2 = temp_PDF2 * B1_D0_a10kst02 * B1_kst2 * B1_Vm1 * B1_a11m;
3602 }
3603 else if ( g2[i] == 1220 )
3604 { // 2101
3605 if ( B2_D0_a10kst0 == -1 )
3606 {
3607 B2_D0_a10kst01 = BarrierN( 2, sD0, sa102_rhom, skst1_20, rDs2, mD0M );
3608 B2_D0_a10kst02 = BarrierN( 2, sD0, sa101_rhom, skst2_20, rDs2, mD0M );
3609 }
3610 if ( B1_a10_kst == -1 )
3611 {
3612 B1_kst1 = BarrierN( 1, skst1_20, sKs, sPi01, rRes2, mass2[i] );
3613 B1_kst2 = BarrierN( 1, skst2_20, sKs, sPi02, rRes2, mass2[i] );
3614 }
3615 // B1_Vp1 B1_Vp2--rho+
3616
3617 // t1rhop1 t1rhop2
3618 calt2( pa101_rhom, pkst2_33, t2D0_a101 );
3619 calt2( pa102_rhom, pkst1_33, t2D0_a102 );
3620
3621 calt1( Pi01, Pim, t1rhom1 );
3622 calt1( Pi02, Pim, t1rhom2 );
3623 calt1( PKs, Pi01, t1kst1 );
3624 calt1( PKs, Pi02, t1kst2 );
3625
3626 calG2( pa1rhom1, Pip, p1a1m_1 );
3627 calG2( pa1rhom2, Pip, p1a1m_2 );
3628 for ( int i = 0; i < 4; i++ )
3629 {
3630 double t1_a10_rhom1 = t1rhom1[i] * G[i][i];
3631 double t1_a10_rhom2 = t1rhom2[i] * G[i][i];
3632
3633 for ( int j = 0; j < 4; j++ )
3634 {
3635 double t1_a10_kst01 = t1kst1[j] * G[j][j];
3636 double t1_a10_kst02 = t1kst2[j] * G[j][j];
3637
3638 for ( int k = 0; k < 4; k++ )
3639 {
3640 temp_PDF1 += t1_a10_rhom2 * t1_a10_kst01 * t2D0_a102[k][i] * p1a1m_2[k][i];
3641 temp_PDF2 += t1_a10_rhom1 * t1_a10_kst02 * t2D0_a101[k][i] * p1a1m_1[k][i];
3642 }
3643 }
3644 }
3645
3646 temp_PDF1 = temp_PDF1 * B2_D0_a10kst01 * B1_kst1 * B1_Vm2;
3647 temp_PDF2 = temp_PDF2 * B2_D0_a10kst02 * B1_kst2 * B1_Vm1;
3648 }
3649 else if ( g2[i] == 1222 )
3650 { // 2121
3651 if ( B2_D0_a10kst0 == -1 )
3652 {
3653 B2_D0_a10kst01 = BarrierN( 2, sD0, sa102, skst1, rDs2, mD0M );
3654 B2_D0_a10kst02 = BarrierN( 2, sD0, sa101, skst2, rDs2, mD0M );
3655 }
3656 if ( B1_a10_kst == -1 )
3657 {
3658 B1_kst1 = BarrierN( 1, skst1, sKs, sPi01, rRes2, mass2[i] );
3659 B1_kst2 = BarrierN( 1, skst2, sKs, sPi02, rRes2, mass2[i] );
3660 }
3661 if ( B2_a10_rho == -1 )
3662 {
3663 B1_a11m = BarrierN( 2, sa101, srhom1, sPip, rRes2, mass1[i] );
3664
3665 B2_a12m = BarrierN( 2, sa102, srhom2, sPip, rRes2, mass1[i] );
3666 }
3667 // B1_Vp1 B1_Vp2--rho+
3668
3669 calt2( pa101, pkst2, t2D0_a101 );
3670 calt2( pa102, pkst1, t2D0_a102 );
3671
3672 calt2( prhom1, Pip, t1_a103 );
3673 calt2( prhom2, Pip, t2_a103 );
3674 calt1( PKs, Pi01, t1kst1 );
3675 calt1( PKs, Pi02, t1kst2 );
3676 calt1( Pi01, Pim, t1rhom1 );
3677 calt1( Pi02, Pim, t1rhom2 );
3678 // t1rhop1 t1rhop2
3679
3680 for ( int i = 0; i < 4; i++ )
3681 {
3682 double t1_a10_rhom1 = t1rhom1[i] * G[i][i];
3683 double t1_a10_rhom2 = t1rhom2[i] * G[i][i];
3684 for ( int j = 0; j < 4; j++ )
3685 {
3686 double t1_a10_kst01 = t1kst1[j] * G[j][j];
3687 double t1_a10_kst02 = t1kst2[j] * G[j][j];
3688
3689 for ( int k = 0; k < 4; k++ )
3690 {
3691 temp_PDF1 +=
3692 t1_a10_rhom2 * t1_a10_kst01 * t2D0_a102[k][i] * t2_a103[k][j] * G[k][k];
3693 temp_PDF2 +=
3694 t1_a10_rhom1 * t1_a10_kst02 * t2D0_a101[k][i] * t1_a103[k][j] * G[k][k];
3695 }
3696 }
3697 }
3698
3699 temp_PDF1 = temp_PDF1 * B2_D0_a10kst01 * B1_kst1 * B1_Vm2 * B2_a12m;
3700 temp_PDF2 = temp_PDF2 * B2_D0_a10kst02 * B1_kst2 * B1_Vm1 * B1_a11m;
3701 }
3702
3703 if ( g0[i] == 1 )
3704 { // a1
3705 if ( g2[i] == 1020 || g2[i] == 1120 || g2[i] == 1220 )
3706 {
3707 propagatorRBW_a1( mass1sq, mass1[i], width1[i], sa101_rhom, sa1rhom1, sPip, rRes2, 0,
3708 pro5_m1 );
3709 propagatorRBW_a1( mass1sq, mass1[i], width1[i], sa102_rhom, sa1rhom2, sPip, rRes2, 0,
3710 pro5_m2 );
3711 }
3712 else
3713 {
3714 propagatorRBW_a1( mass1sq, mass1[i], width1[i], sa101_rhom, sa1rhom1, sPip, rRes2, 2,
3715 pro5_m1 );
3716 propagatorRBW_a1( mass1sq, mass1[i], width1[i], sa102_rhom, sa1rhom2, sPip, rRes2, 2,
3717 pro5_m2 );
3718 }
3719
3720 propagatorGS( 0.60102807, 0.77526, 0.1478, sa1rhom1, sPi01, sPim, rRes2, pro5_11 );
3721 propagatorGS( 0.60102807, 0.77526, 0.1478, sa1rhom2, sPi02, sPim, rRes2, pro5_12 );
3722
3723 Com_Multi( pro5_m1, pro5_11, pro5_111 );
3724 Com_Multi( pro5_m2, pro5_12, pro5_222 );
3725 }
3726 else if ( g0[i] == 0 )
3727 {
3728 pro5_m1[0] = 1;
3729 pro5_m1[1] = 0;
3730 pro5_m2[0] = 1;
3731 pro5_m2[1] = 0;
3732 }
3733
3734 // kst
3735 if ( g1[i] == 1 )
3736 {
3737 propagatorRBW( mass2sq, mass2[i], width2[i], skst1_33, sKs, sPi01, rRes2, 1,
3738 pro5_1 ); // kst1
3739 propagatorRBW( mass2sq, mass2[i], width2[i], skst2_33, sKs, sPi02, rRes2, 1,
3740 pro5_2 ); // kst2
3741 }
3742 else if ( g1[i] == 0 )
3743 {
3744 pro5_1[0] = 1;
3745 pro5_1[1] = 0;
3746 pro5_2[0] = 1;
3747 pro5_2[1] = 0;
3748 }
3749
3750 Com_Multi( pro5_222, pro5_1, pro5_1112 );
3751 Com_Multi( pro5_111, pro5_2, pro5_2222 ); // 1p
3752
3753 amp_tmp1[0] = -1 * ( temp_PDF1 * pro5_1112[0] );
3754 amp_tmp1[1] = -1 * ( temp_PDF1 * pro5_1112[1] );
3755 amp_tmp2[0] = -1 * ( temp_PDF2 * pro5_2222[0] );
3756 amp_tmp2[1] = -1 * ( temp_PDF2 * pro5_2222[1] );
3757 }
3758
3759 else if ( modetype[i] == 21 )
3760 {
3761 if ( g2[i] == 0 )
3762 { // 0101---SS
3763 /* if(B1_a1p_kstm_rhop1==-1){
3764 B1_a1p_kstm_rhop1 = BarrierN(1,srhop1,sPip,sPi01,rRes2,mass2[i]);
3765 B1_a1p_kstm_rhop2 = BarrierN(1,srhop2,sPip,sPi02,rRes2,mass2[i]);
3766 }*/
3767
3768 if ( B1_kst == -1 )
3769 {
3770 B1_kst01 = BarrierN( 1, skst1, sKs, sPi01, rRes2, mass2[i] );
3771 B1_kst02 = BarrierN( 1, skst2, sKs, sPi02, rRes2, mass2[i] );
3772 }
3773
3774 if ( B1_a10_f0 == -1 )
3775 {
3776 B1_a101 = BarrierN( 1, sa101, sf02, sPi01, rRes2, mass1[i] ); // 1or2 sf01-->pip pim
3777 B1_a102 = BarrierN( 1, sa102, sf02, sPi02, rRes2, mass1[i] );
3778 }
3779 // t(a1)
3780 calt1( Pf02, Pi01, t1a101 );
3781 calt1( Pf02, Pi02, t1a102 ); // Pf02-->pip pim
3782
3783 for ( int m = 0; m < 4; m++ )
3784 {
3785 double t1_a101 = t1a101[m] * G[m][m];
3786 double t1_a102 = t1a102[m] * G[m][m];
3787
3788 for ( int j = 0; j < 4; j++ )
3789 {
3790 temp_PDF1 += t1kst1[j] * G[j][j] * t1_a102;
3791 temp_PDF2 += t1kst2[j] * G[j][j] * t1_a101;
3792 }
3793 }
3794
3795 temp_PDF1 = temp_PDF1 * B1_kst01 * B1_a102;
3796 temp_PDF2 = temp_PDF2 * B1_kst02 * B1_a101;
3797 }
3798 else if ( g2[i] == 1 )
3799 {
3800 if ( B1_D0_a1kst == -1 )
3801 {
3802 B1_D0_a10kst01 = BarrierN( 1, sD0, sa101, skst2, rDs2, mD0M );
3803 B1_D0_a10kst02 = BarrierN( 1, sD0, sa102, skst1, rDs2, mD0M );
3804 }
3805 if ( B1_kst == -1 )
3806 {
3807 B1_kst01 = BarrierN( 1, skst1, sKs, sPi01, rRes2, mass2[i] );
3808 B1_kst02 = BarrierN( 1, skst2, sKs, sPi02, rRes2, mass2[i] );
3809 }
3810 if ( B1_a10_f0 == -1 )
3811 {
3812 B1_a101 = BarrierN( 1, sa101, sf02, sPi01, rRes2, mass1[i] ); // 1or2 sf01-->pip pim
3813 B1_a102 = BarrierN( 1, sa102, sf02, sPi02, rRes2, mass1[i] );
3814 }
3815 // B1_Vp1 B1_Vp2--rho+
3816
3817 // Sn
3818 calt1( Pf02, Pi01, t1a101 );
3819 calt1( Pf02, Pi02, t1a102 ); // Pf02-->pip pim
3820
3821 calt1( pa101, pkst2, t1D0a101 );
3822 calt1( pa102, pkst1, t1D0a102 );
3823
3824 for ( int j = 0; j < 4; j++ )
3825 {
3826 double t1_kst1 = t1kst1[j] * G[j][j];
3827 double t1_kst2 = t1kst2[j] * G[j][j];
3828
3829 for ( int k = 0; k < 4; k++ )
3830 {
3831 double t1_D0_a101 = t1D0a101[k] * G[k][k];
3832 double t1_D0_a102 = t1D0a102[k] * G[k][k];
3833
3834 for ( int l = 0; l < 4; l++ )
3835 {
3836 double pD0_a1pkstm = pD0[l] * G[l][l];
3837
3838 for ( int m = 0; m < 4; m++ )
3839 {
3840 temp_PDF1 +=
3841 t1_kst1 * t1_D0_a102 * pD0_a1pkstm * t1a102[m] * G[m][m] * E[j][k][l][m];
3842 temp_PDF2 +=
3843 t1_kst2 * t1_D0_a101 * pD0_a1pkstm * t1a101[m] * G[m][m] * E[j][k][l][m];
3844 }
3845 }
3846 }
3847 }
3848
3849 temp_PDF1 = temp_PDF1 * B1_D0_a10kst02 * B1_kst1 * B1_a102;
3850 temp_PDF2 = temp_PDF2 * B1_D0_a10kst01 * B1_kst2 * B1_a101;
3851 }
3852 else if ( g2[i] == 2 )
3853 { // 2101
3854 if ( B1_D0_a1kst == -1 )
3855 {
3856 B1_D0_a10kst01 = BarrierN( 2, sD0, sa101, skst2, rDs2, mD0M );
3857 B1_D0_a10kst02 = BarrierN( 2, sD0, sa102, skst1, rDs2, mD0M );
3858 }
3859 if ( B1_kst == -1 )
3860 {
3861 B1_kst01 = BarrierN( 1, skst1, sKs, sPi01, rRes2, mass2[i] );
3862 B1_kst02 = BarrierN( 1, skst2, sKs, sPi02, rRes2, mass2[i] );
3863 }
3864 if ( B1_a10_f0 == -1 )
3865 {
3866 B1_a101 = BarrierN( 1, sa101, sf02, sPi01, rRes2, mass1[i] ); // 1or2 sf01-->pip pim
3867 B1_a102 = BarrierN( 1, sa102, sf02, sPi02, rRes2, mass1[i] );
3868 }
3869 // B1_Vp1 B1_Vp2--rho+
3870
3871 // Sn
3872 calt1( Pf02, Pi01, t1a101 );
3873 calt1( Pf02, Pi02, t1a102 ); // Pf02-->pip pim
3874
3875 calt2( pa101, pkst2, t2D0a101 );
3876 calt2( pa102, pkst1, t2D0a102 );
3877
3878 for ( int j = 0; j < 4; j++ )
3879 {
3880 double t1_kst1 = t1kst1[j] * G[j][j];
3881 double t1_kst2 = t1kst2[j] * G[j][j];
3882 for ( int m = 0; m < 4; m++ )
3883 {
3884 temp_PDF1 += t1_kst1 * t2D0a102[m][j] * t1a102[m] * G[m][m];
3885 temp_PDF2 += t1_kst2 * t2D0a101[m][j] * t1a101[m] * G[m][m];
3886 }
3887 }
3888
3889 temp_PDF1 = temp_PDF1 * B1_D0_a10kst02 * B1_kst1 * B1_a102;
3890 temp_PDF2 = temp_PDF2 * B1_D0_a10kst01 * B1_kst2 * B1_a101;
3891 }
3892
3893 if ( g0[i] == 1 )
3894 { // a1
3895 propagatorRBW( mass1sq, mass1[i], width1[i], sa101, sf02, sPi01, rRes2, 1,
3896 pro00_01 ); // sf01-->pi+ pi-
3897 propagatorRBW( mass1sq, mass1[i], width1[i], sa102, sf02, sPi02, rRes2, 1, pro00_02 );
3898 }
3899 else if ( g0[i] == 0 )
3900 {
3901 pro00_01[0] = 1;
3902 pro00_01[1] = 0;
3903 pro00_02[0] = 1;
3904 pro00_02[1] = 0;
3905 }
3906
3907 // kst
3908 if ( g1[i] == 1 )
3909 {
3910 propagatorRBW( mass2sq, mass2[i], width2[i], skst1, sKs, sPi01, rRes2, 1, pro1_3 );
3911 propagatorRBW( mass2sq, mass2[i], width2[i], skst2, sKs, sPi02, rRes2, 1, pro1_4 );
3912 }
3913 else if ( g1[i] == 0 )
3914 {
3915 pro1_3[0] = 1;
3916 pro1_3[1] = 0;
3917 pro1_4[0] = 1;
3918 pro1_4[1] = 0;
3919 }
3920
3921 Com_Multi( pro00_01, pro1_4, pfo_a101 );
3922 Com_Multi( pfo_a101, pf0_2, pro_a101 );
3923 Com_Multi( pro00_02, pro1_3, pfo_a102 );
3924 Com_Multi( pfo_a102, pf0_2, pro_a102 );
3925
3926 amp_tmp1[0] = temp_PDF1 * pro_a102[0];
3927 amp_tmp1[1] = temp_PDF1 * pro_a102[1];
3928 amp_tmp2[0] = temp_PDF2 * pro_a101[0];
3929 amp_tmp2[1] = temp_PDF2 * pro_a101[1];
3930 }
3931 else if ( modetype[i] == 34 )
3932 {
3933 if ( g2[i] == 0 )
3934 {
3935 /* if(B1_D0_a1pkpiSW==-1){
3936 B1_D0_a1pkpiSW = BarrierN(1,sD0,sa1p,skstm2,rDs2,mD0M);
3937 }*/
3938 if ( B1_kstm == -1 ) { B1_kstm = BarrierN( 1, skst1, sKs, sPim, rRes2, mass2[i] ); }
3939 if ( B1_a10_f0 == -1 )
3940 { B1_a10_f0 = BarrierN( 1, sa1p, sf01, sPip, rRes2, mass1[i] ); }
3941 // t(a1)
3942 calt1( pf01, Pip, t1a1p ); // pi01 pi02
3943
3944 // calt1(pa1p,pkstm2,t1D0_a1pkpimSW);
3945 calt1( PKs, Pim, t1kstm );
3946 for ( int m = 0; m < 4; m++ )
3947 {
3948 double t1_a1p = t1a1p[m] * G[m][m];
3949
3950 for ( int j = 0; j < 4; j++ ) { temp_PDF1 += t1kstm[j] * G[j][j] * t1_a1p; }
3951 }
3952 temp_PDF1 = temp_PDF1 * B1_kstm * B1_a10_f0;
3953 }
3954
3955 if ( g0[i] == 1 )
3956 { // a1
3957 propagatorRBW( mass1sq, mass1[i], width1[i], sa1p, sf01, sPip, rRes2, 1, pro0_p1 );
3958 }
3959 else if ( g0[i] == 0 )
3960 {
3961 pro0_p1[0] = 1;
3962 pro0_p1[1] = 0;
3963 }
3964 if ( r1[i] == 1 )
3965 { // a1
3966 propagatorsigma500( sf01, sPi01, sPi02, pf0_1 );
3967 }
3968 else if ( r1[i] == 0 )
3969 {
3970 pf0_1[0] = 1;
3971 pf0_1[1] = 0;
3972 }
3973 // kst
3974 if ( g1[i] == 1 )
3975 {
3976 // KPiSLASS(skstm,sKs,sPim,pro1_1);
3977 propagatorRBW( mass2sq, mass2[i], width2[i], skstm, sKs, sPim, rRes2, 1, pro1_1 );
3978 }
3979 else if ( g1[i] == 0 )
3980 {
3981 pro1_1[0] = 1;
3982 pro1_1[1] = 0;
3983 }
3984
3985 Com_Multi( pro0_p1, pro1_1, pfo_a1p );
3986 Com_Multi( pfo_a1p, pf0_1, pro_a1p );
3987
3988 amp_tmp1[0] = temp_PDF1 * pro_a1p[0];
3989 amp_tmp1[1] = temp_PDF1 * pro_a1p[1];
3990 amp_tmp2[0] = 0;
3991 amp_tmp2[1] = 0;
3992 }
3993 else if ( modetype[i] == 23 )
3994 {
3995 if ( g2[i] == 1 ) // spin=0 D to rho omega
3996 {
3997 if ( B1_D0_f1 == -1 )
3998 {
3999 B1_D0_f1 = BarrierN( 1, sD0, sf1285, sKs, rDs2, mD0M ); // m2==kst Fn(kst)
4000 }
4001 if ( B1_f1285 == -1 )
4002 { B1_f1285 = BarrierN( 1, sf1285, sf1285rho0, sf01, rRes2, mass1[i] ); }
4003 if ( B1_f1285_rho0 == -1 )
4004 { B1_f1285_rho0 = BarrierN( 1, sf1285rho0, sPip, sPim, rRes2, mass2[i] ); }
4005 calt2( pf1285rho0, pf01, t2f1285 );
4006 calt1( pf1285, PKs, t1D0_f1285 );
4007 calt1( Pip, Pim, t1f1rho0 );
4008
4009 for ( int i = 0; i < 4; i++ )
4010 {
4011 for ( int j = 0; j < 4; j++ )
4012 {
4013 double tempD0 = pD0[j] * G[j][j] * G[i][i]; // p(omega)
4014
4015 for ( int k = 0; k < 4; k++ )
4016 {
4017 double temt1D0f1 = t1D0_f1285[k] * G[k][k];
4018
4019 for ( int l = 0; l < 4; l++ )
4020 {
4021 double temtrho0 = t1f1rho0[l] * G[l][l] * E[i][j][k][l];
4022
4023 for ( int m = 0; m < 4; m++ )
4024 {
4025 if ( ( i == j ) || ( i == k ) || ( i == l ) || ( j == k ) || ( j == l ) ||
4026 ( k == l ) )
4027 continue;
4028 temp_PDF1 += temt1D0f1 * t2f1285[m][l] * tempD0 * temtrho0 * G[m][m];
4029 }
4030 }
4031 }
4032 }
4033 }
4034
4035 temp_PDF1 = temp_PDF1 * B1_D0_f1 * B1_f1285 * B1_f1285_rho0;
4036 }
4037
4038 if ( g0[i] == 1 )
4039 { // a1
4040 propagatorRBW( mass1sq, mass1[i], width1[i], sf1285, sf1285rho0, sf01, rRes2, 1,
4041 pro6_f1 );
4042 }
4043 else if ( g0[i] == 0 )
4044 {
4045 pro6_f1[0] = 1;
4046 pro6_f1[1] = 0;
4047 }
4048
4049 if ( g1[i] == 1 )
4050 {
4051 propagatorGS( mass2sq, mass2[i], width2[i], sf1285rho0, sPip, sPim, rRes2, pro6_f11 );
4052 }
4053 else if ( g1[i] == 0 )
4054 {
4055 pro6_f11[0] = 1;
4056 pro6_f11[1] = 0;
4057 }
4058
4059 Com_Multi( pro6_f1, pro6_f11, pro6_11 );
4060
4061 amp_tmp1[0] = temp_PDF1 * pro6_11[0];
4062 amp_tmp1[1] = temp_PDF1 * pro6_11[1];
4063 amp_tmp2[0] = 0;
4064 amp_tmp2[1] = 0;
4065 }
4066 else if ( modetype[i] == 25 )
4067 {
4068 if ( g2[i] == 0 )
4069 {
4070 if ( B1_omega10 == -1 )
4071 {
4072
4073 B1_omega10 = BarrierN( 1, somega1, srho01, sPi01, rRes2, mass2[i] );
4074 B1_omega1p = BarrierN( 1, somega1, srhop1, sPim, rRes2, mass2[i] );
4075 B1_omega1m = BarrierN( 1, somega1, srhom1, sPip, rRes2, mass2[i] );
4076
4077 B1_omega20 = BarrierN( 1, somega2, srho02, sPi02, rRes2, mass2[i] );
4078 B1_omega2p = BarrierN( 1, somega2, srhop2, sPim, rRes2, mass2[i] );
4079 B1_omega2m = BarrierN( 1, somega2, srhom2, sPip, rRes2, mass2[i] );
4080 }
4081
4082 if ( B1_D0_k1400 == -1 )
4083 {
4084
4085 B1_D0_k14001 = BarrierN( 1, sD0, sk14001, sPi02, rDs2, mD0M );
4086 B1_D0_k14002 = BarrierN( 1, sD0, sk14002, sPi01, rDs2, mD0M );
4087 }
4088
4089 for ( int i = 0; i < 4; i++ )
4090 {
4091 for ( int j = 0; j < 4; j++ )
4092 {
4093 double tempomega1 = pomega1[j] * G[j][j] * G[i][i];
4094 double tempomega2 = pomega2[j] * G[j][j] * G[i][i];
4095
4096 for ( int k = 0; k < 4; k++ )
4097 {
4098 double temt1omega01 = t1omega01[k] * G[k][k];
4099 double temt1omega02 = t1omega02[k] * G[k][k];
4100 double temt1omegap1 = t1omegap1[k] * G[k][k];
4101 double temt1omegap2 = t1omegap2[k] * G[k][k];
4102 double temt1omegam1 = t1omegam1[k] * G[k][k];
4103 double temt1omegam2 = t1omegam2[k] * G[k][k];
4104
4105 for ( int l = 0; l < 4; l++ )
4106 {
4107 double temt1rho0 = t1rho0[l] * G[l][l] * E[i][j][k][l];
4108 double temt1rhom2 = t1rhom2[l] * G[l][l] * E[i][j][k][l];
4109 double temt1rhop1 = t1rhop1[l] * G[l][l] * E[i][j][k][l];
4110 double temt1rhop2 = t1rhop2[l] * G[l][l] * E[i][j][k][l];
4111 double temt1rhom1 = t1rhom1[l] * G[l][l] * E[i][j][k][l];
4112
4113 for ( int m = 0; m < 4; m++ )
4114 {
4115 double temt1D0_k14001 = t1D0_k14001[m] * G[m][m];
4116 double temt1D0_k14002 = t1D0_k14002[m] * G[m][m];
4117 for ( int n = 0; n < 4; n++ )
4118 {
4119
4120 if ( ( i == j ) || ( i == k ) || ( i == l ) || ( j == k ) || ( j == l ) ||
4121 ( k == l ) )
4122 continue;
4123 temp_PDF11 += temt1D0_k14002 * pk1400_2[m][n] * p1omega02[n][i] *
4124 tempomega2 * temt1omega02 * temt1rho0 * G[n][n];
4125 temp_PDF12 += temt1D0_k14002 * pk1400_2[m][n] * p1omegap2[n][i] *
4126 tempomega2 * temt1omegap2 * temt1rhop2 * G[n][n];
4127 temp_PDF13 += temt1D0_k14002 * pk1400_2[m][n] * p1omegam2[n][i] *
4128 tempomega2 * temt1omegam2 * temt1rhom2 * G[n][n];
4129 temp_PDF21 += temt1D0_k14001 * pk1400_1[m][n] * p1omega01[n][i] *
4130 tempomega1 * temt1omega01 * temt1rho0 * G[n][n];
4131 temp_PDF22 += temt1D0_k14001 * pk1400_1[m][n] * p1omegap1[n][i] *
4132 tempomega1 * temt1omegap1 * temt1rhop1 * G[n][n];
4133 temp_PDF23 += temt1D0_k14001 * pk1400_1[m][n] * p1omegam1[n][i] *
4134 tempomega1 * temt1omegam1 * temt1rhom1 * G[n][n];
4135 }
4136 }
4137 }
4138 }
4139 }
4140 }
4141 temp_PDF11 = temp_PDF11 * B1_D0_k14002 * B1_omega20 * B1_V02;
4142 temp_PDF12 = temp_PDF12 * B1_D0_k14002 * B1_omega2p * B1_Vp2;
4143 temp_PDF13 = temp_PDF13 * B1_D0_k14002 * B1_omega2m * B1_Vm2;
4144 temp_PDF21 = temp_PDF21 * B1_D0_k14001 * B1_omega10 * B1_V01;
4145 temp_PDF22 = temp_PDF22 * B1_D0_k14001 * B1_omega1p * B1_Vp1;
4146 temp_PDF23 = temp_PDF23 * B1_D0_k14001 * B1_omega1m * B1_Vm1;
4147 }
4148 else if ( g2[i] == 2 )
4149 {
4150 if ( B1_omega10 == -1 )
4151 {
4152
4153 B1_omega10 = BarrierN( 1, somega1, srho01, sPi01, rRes2, mass2[i] );
4154 B1_omega1p = BarrierN( 1, somega1, srhop1, sPim, rRes2, mass2[i] );
4155 B1_omega1m = BarrierN( 1, somega1, srhom1, sPip, rRes2, mass2[i] );
4156
4157 B1_omega20 = BarrierN( 1, somega2, srho02, sPi02, rRes2, mass2[i] );
4158 B1_omega2p = BarrierN( 1, somega2, srhop2, sPim, rRes2, mass2[i] );
4159 B1_omega2m = BarrierN( 1, somega2, srhom2, sPip, rRes2, mass2[i] );
4160 }
4161
4162 if ( B1_D0_k1400 == -1 )
4163 {
4164
4165 B1_D0_k14001 = BarrierN( 1, sD0, sk14001, sPi02, rDs2, mD0M );
4166 B1_D0_k14002 = BarrierN( 1, sD0, sk14002, sPi01, rDs2, mD0M );
4167 }
4168 if ( B2_k1400 == -1 )
4169 {
4170 B2_k1400_1 = BarrierN( 2, sk14001, somega1, sKs, rRes2, mass1[i] );
4171 B2_k1400_2 = BarrierN( 2, sk14002, somega2, sKs, rRes2, mass1[i] );
4172 }
4173 for ( int i = 0; i < 4; i++ )
4174 {
4175 for ( int j = 0; j < 4; j++ )
4176 {
4177 double tempomega1 = pomega1[j] * G[j][j] * G[i][i];
4178 double tempomega2 = pomega2[j] * G[j][j] * G[i][i];
4179
4180 for ( int k = 0; k < 4; k++ )
4181 {
4182 double temt1omega01 = t1omega01[k] * G[k][k];
4183 double temt1omega02 = t1omega02[k] * G[k][k];
4184 double temt1omegap1 = t1omegap1[k] * G[k][k];
4185 double temt1omegap2 = t1omegap2[k] * G[k][k];
4186 double temt1omegam1 = t1omegam1[k] * G[k][k];
4187 double temt1omegam2 = t1omegam2[k] * G[k][k];
4188
4189 for ( int l = 0; l < 4; l++ )
4190 {
4191 double temt1rho0 = t1rho0[l] * G[l][l] * E[i][j][k][l];
4192 double temt1rhop1 = t1rhop1[l] * G[l][l] * E[i][j][k][l];
4193 double temt1rhop2 = t1rhop2[l] * G[l][l] * E[i][j][k][l];
4194 double temt1rhom1 = t1rhom1[l] * G[l][l] * E[i][j][k][l];
4195 double temt1rhom2 = t1rhom2[l] * G[l][l] * E[i][j][k][l];
4196
4197 for ( int m = 0; m < 4; m++ )
4198 {
4199 double temt1D0_k14001 = t1D0_k14001[m] * G[m][m];
4200 double temt1D0_k14002 = t1D0_k14002[m] * G[m][m];
4201
4202 for ( int n = 0; n < 4; n++ )
4203 {
4204 if ( ( i == j ) || ( i == k ) || ( i == l ) || ( j == k ) || ( j == l ) ||
4205 ( k == l ) )
4206 continue;
4207 temp_PDF11 += temt1D0_k14002 * t2k1400_2[m][n] * p1omega02[n][i] *
4208 tempomega2 * temt1omega02 * temt1rho0 * G[n][n];
4209 temp_PDF12 += temt1D0_k14002 * t2k1400_2[m][n] * p1omegap2[n][i] *
4210 tempomega2 * temt1omegap2 * temt1rhop2 * G[n][n];
4211 temp_PDF13 += temt1D0_k14002 * t2k1400_2[m][n] * p1omegam2[n][i] *
4212 tempomega2 * temt1omegam2 * temt1rhom2 * G[n][n];
4213 temp_PDF21 += temt1D0_k14001 * t2k1400_1[m][n] * p1omega01[n][i] *
4214 tempomega1 * temt1omega01 * temt1rho0 * G[n][n];
4215 temp_PDF22 += temt1D0_k14001 * t2k1400_1[m][n] * p1omegap1[n][i] *
4216 tempomega1 * temt1omegap1 * temt1rhop1 * G[n][n];
4217 temp_PDF23 += temt1D0_k14001 * t2k1400_1[m][n] * p1omegam1[n][i] *
4218 tempomega1 * temt1omegam1 * temt1rhom1 * G[n][n];
4219 }
4220 }
4221 }
4222 }
4223 }
4224 }
4225 temp_PDF11 = temp_PDF11 * B1_D0_k14002 * B2_k1400_2 * B1_omega20 * B1_V02;
4226 temp_PDF12 = temp_PDF12 * B1_D0_k14002 * B2_k1400_2 * B1_omega2p * B1_Vp2;
4227 temp_PDF13 = temp_PDF13 * B1_D0_k14002 * B2_k1400_2 * B1_omega2m * B1_Vm2;
4228
4229 temp_PDF21 = temp_PDF21 * B1_D0_k14001 * B2_k1400_1 * B1_omega10 * B1_V01;
4230 temp_PDF22 = temp_PDF22 * B1_D0_k14001 * B2_k1400_1 * B1_omega1p * B1_Vp1;
4231 temp_PDF23 = temp_PDF23 * B1_D0_k14001 * B2_k1400_1 * B1_omega1m * B1_Vm1;
4232 }
4233 if ( g0[i] == 1 )
4234 { // b1 omega
4235
4236 propagatorRBW( mass1sq, mass1[i], width1[i], sk14001, somega1, sKs, rRes2, g2[i],
4237 prob1_1 );
4238 propagatorRBW( mass1sq, mass1[i], width1[i], sk14002, somega2, sKs, rRes2, g2[i],
4239 prob1_2 );
4240 }
4241 else if ( g0[i] == 0 )
4242 {
4243 prob1_1[0] = 1;
4244 prob1_1[1] = 0;
4245 prob1_2[0] = 1;
4246 prob1_2[1] = 0;
4247 }
4248 if ( g1[i] == 1 )
4249 { // omega--rho
4250
4251 propagatorRBW( mass2sq, mass2[i], width2[i], somega1, srho01, sPi01, rRes2, 1,
4252 pro1_01 ); // 01
4253 propagatorRBW( mass2sq, mass2[i], width2[i], somega1, srhop1, sPim, rRes2, 1,
4254 pro1_p1 ); // p1
4255 propagatorRBW( mass2sq, mass2[i], width2[i], somega1, srhom1, sPip, rRes2, 1,
4256 pro1_m1 ); // m1
4257 propagatorRBW( mass2sq, mass2[i], width2[i], somega2, srho02, sPi02, rRes2, 1,
4258 pro1_02 ); // 02
4259 propagatorRBW( mass2sq, mass2[i], width2[i], somega2, srhop2, sPim, rRes2, 1,
4260 pro1_p2 ); // p2
4261 propagatorRBW( mass2sq, mass2[i], width2[i], somega2, srhom2, sPip, rRes2, 1,
4262 pro1_m2 ); // m2
4263 }
4264 else if ( g1[i] == 0 )
4265 {
4266
4267 pro1_01[0] = 1;
4268 pro1_01[1] = 0;
4269 pro1_p1[0] = 1;
4270 pro1_p1[1] = 0;
4271 pro1_m1[0] = 1;
4272 pro1_m1[1] = 0;
4273 pro1_02[0] = 1;
4274 pro1_02[1] = 0;
4275 pro1_p2[0] = 1;
4276 pro1_p2[1] = 0;
4277 pro1_m2[0] = 1;
4278 pro1_m2[1] = 0;
4279 }
4280
4281 // rho--pipi
4282 /* if(r1[i]==1){
4283 propagatorGS(0.60102807,0.77526,0.1478,srho01,sPip,sPim,rRes2,pro1V01);
4284 propagatorGS(0.60102807,0.77526,0.1478,srho02,sPip,sPim,rRes2,pro1V02);
4285 propagatorGS(0.60102807,0.77526,0.1478,srhop1,sPip,sPi01,rRes2,pro1Vp1);
4286 propagatorGS(0.60102807,0.77526,0.1478,srhop2,sPip,sPi02,rRes2,pro1Vp2);
4287 propagatorGS(0.60102807,0.77526,0.1478,srhom1,sPi01,sPim,rRes2,pro1Vm1);
4288 propagatorGS(0.60102807,0.77526,0.1478,srhom2,sPi02,sPim,rRes2,pro1Vm2);
4289
4290 }
4291 else if(r1[i]==0){
4292 pro1V01[0] = 1; pro1V01[1] = 0;
4293 pro1V02[0] = 1; pro1V02[1] = 0;
4294 pro1Vp1[0] = 1; pro1Vp1[1] = 0;
4295 pro1Vp2[0] = 1; pro1Vp2[1] = 0;
4296 pro1Vm1[0] = 1; pro1Vm1[1] = 0;
4297 pro1Vm2[0] = 1; pro1Vm2[1] = 0;
4298 }
4299 */
4300 Com_Multi( prob1_1, pro1_01, tpro_01 );
4301 Com_Multi( tpro_01, pro1V01, pro_21 ); // 10
4302 Com_Multi( prob1_1, pro1_p1, tpro_p1 );
4303 Com_Multi( tpro_p1, pro1Vp1, pro_22 ); // 1p
4304 Com_Multi( prob1_1, pro1_m1, tpro_m1 );
4305 Com_Multi( tpro_m1, pro1Vm1, pro_23 ); // 1m
4306
4307 Com_Multi( prob1_2, pro1_02, tpro_02 );
4308 Com_Multi( tpro_02, pro1V02, pro_11 ); // 20
4309 Com_Multi( prob1_2, pro1_p2, tpro_p2 );
4310 Com_Multi( tpro_p2, pro1Vp2, pro_12 ); // 2p
4311 Com_Multi( prob1_2, pro1_m2, tpro_m2 );
4312 Com_Multi( tpro_m2, pro1Vm2, pro_13 ); // 2m
4313
4314 amp_tmp1[0] = temp_PDF11 * pro_11[0] + temp_PDF12 * pro_12[0] +
4315 temp_PDF13 * pro_13[0]; // b1--omega2
4316 amp_tmp1[1] = temp_PDF11 * pro_11[1] + temp_PDF12 * pro_12[1] + temp_PDF13 * pro_13[1];
4317 amp_tmp2[0] = temp_PDF21 * pro_21[0] + temp_PDF22 * pro_22[0] +
4318 temp_PDF23 * pro_23[0]; // b1--omega1
4319 amp_tmp2[1] = temp_PDF21 * pro_21[1] + temp_PDF22 * pro_22[1] + temp_PDF23 * pro_23[1];
4320 }
4321
4322 else if ( modetype[i] == 45 )
4323 { // K1270- to ks rho-
4324 if ( g2[i] == 1020 )
4325 { // 0101---SS
4326 if ( B1_k127_rhop == -1 )
4327 {
4328 B1_k127_rhop1 = BarrierN( 1, sk127mrhop1, sPip, sPi01, rRes2, mass2[i] );
4329 B1_k127_rhop2 = BarrierN( 1, sk127mrhop2, sPip, sPi02, rRes2, mass2[i] );
4330 }
4331 if ( B1_k127_rhom == -1 )
4332 {
4333 B1_k127_rhom1 = BarrierN( 1, sk127mrhom1, sPim, sPi01, rRes2, 0.77526 );
4334 B1_k127_rhom2 = BarrierN( 1, sk127mrhom2, sPim, sPi02, rRes2, 0.77526 );
4335 }
4336 calG2( pk127mrhom1, PKs, p1k1m_1 );
4337 calG2( pk127mrhom2, PKs, p1k1m_2 );
4338 calt1( Pim, Pi01, t1rhom11 );
4339 calt1( Pim, Pi02, t1rhom12 );
4340 calt1( Pip, Pi01, t1rhop11 );
4341 calt1( Pip, Pi02, t1rhop12 );
4342 for ( int i = 0; i < 4; i++ )
4343 {
4344 double temt1rhom11 = t1rhom11[i] * G[i][i];
4345 double temt1rhom12 = t1rhom12[i] * G[i][i];
4346 for ( int j = 0; j < 4; j++ )
4347 {
4348 temp_PDF1 += t1rhop12[j] * G[j][j] * temt1rhom11 * p1k1m_1[i][j];
4349 temp_PDF2 += t1rhop11[j] * G[j][j] * temt1rhom12 * p1k1m_2[i][j];
4350 }
4351 }
4352
4353 temp_PDF1 = temp_PDF1 * B1_k127_rhop2 * B1_k127_rhom1;
4354 temp_PDF2 = temp_PDF2 * B1_k127_rhop1 * B1_k127_rhom2;
4355 }
4356 else if ( g2[i] == 1120 )
4357 {
4358 if ( B1_D0_k1 == -1 )
4359 {
4360 B1_D0_k11 = BarrierN( 1, sD0, sk127m1, sk127mrhop2, rDs2, mD0M );
4361 B1_D0_k12 = BarrierN( 1, sD0, sk127m2, sk127mrhop1, rDs2, mD0M );
4362 }
4363 if ( B1_k127_rhop == -1 )
4364 {
4365 B1_k127_rhop1 = BarrierN( 1, sk127mrhop1, sPip, sPi01, rRes2, mass2[i] );
4366 B1_k127_rhop2 = BarrierN( 1, sk127mrhop2, sPip, sPi02, rRes2, mass2[i] );
4367 }
4368 if ( B1_k127_rhom == -1 )
4369 {
4370 B1_k127_rhom1 = BarrierN( 1, sk127mrhom1, sPim, sPi01, rRes2, 0.77526 );
4371 B1_k127_rhom2 = BarrierN( 1, sk127mrhom2, sPim, sPi02, rRes2, 0.77526 );
4372 }
4373 calt1( pk127m1, pk127mrhop2, t1D0_k11 );
4374 calt1( pk127m2, pk127mrhop1, t1D0_k12 );
4375 calt1( Pim, Pi01, t1rhom11 );
4376 calt1( Pim, Pi02, t1rhom12 );
4377 calG2( pk127mrhom1, PKs, p1k1m_1 );
4378 calG2( pk127mrhom2, PKs, p1k1m_2 );
4379 calt1( Pip, Pi01, t1rhop11 );
4380 calt1( Pip, Pi02, t1rhop12 );
4381
4382 for ( int i = 0; i < 4; i++ )
4383 {
4384 double t1_k1_rhop1 = t1rhop11[i] * G[i][i];
4385 double t1_k1_rhop2 = t1rhop12[i] * G[i][i];
4386
4387 for ( int j = 0; j < 4; j++ )
4388 {
4389 double t1_k1_rhom1 = t1rhom11[j] * G[j][j];
4390 double t1_k1_rhom2 = t1rhom12[j] * G[j][j];
4391
4392 for ( int k = 0; k < 4; k++ )
4393 {
4394 double t1_D0_k11 = t1D0_k11[k] * G[k][k];
4395 double t1_D0_k12 = t1D0_k12[k] * G[k][k];
4396
4397 for ( int l = 0; l < 4; l++ )
4398 {
4399 double pD0_k11 = pD0[l] * G[l][l];
4400 double pD0_k12 = pD0[l] * G[l][l];
4401
4402 for ( int m = 0; m < 4; m++ )
4403 {
4404 temp_PDF1 += t1_k1_rhop2 * t1_k1_rhom1 * t1_D0_k11 * pD0_k11 *
4405 p1k1m_1[m][j] * G[m][m] * E[i][k][l][m];
4406 temp_PDF2 += t1_k1_rhop1 * t1_k1_rhom2 * t1_D0_k12 * pD0_k12 *
4407 p1k1m_2[m][j] * G[m][m] * E[i][k][l][m];
4408 }
4409 }
4410 }
4411 }
4412 }
4413 temp_PDF1 = temp_PDF1 * B1_D0_k11 * B1_k127_rhom1 * B1_k127_rhop2;
4414 temp_PDF2 = temp_PDF2 * B1_D0_k12 * B1_k127_rhom2 * B1_k127_rhop1;
4415 }
4416
4417 else if ( g2[i] == 1220 )
4418 { // 2101
4419 if ( B2_D0_k1 == -1 )
4420 {
4421 B2_D0_k11 = BarrierN( 2, sD0, sk127m1, sk127mrhop2, rDs2, mD0M );
4422 B2_D0_k12 = BarrierN( 2, sD0, sk127m2, sk127mrhop1, rDs2, mD0M );
4423 }
4424 if ( B1_k127_rhop == -1 )
4425 {
4426 B1_k127_rhop1 = BarrierN( 1, sk127mrhop1, sPip, sPi01, rRes2, mass2[i] );
4427 B1_k127_rhop2 = BarrierN( 1, sk127mrhop2, sPip, sPi02, rRes2, mass2[i] );
4428 }
4429 if ( B1_k127_rhom == -1 )
4430 {
4431 B1_k127_rhom1 = BarrierN( 1, sk127mrhom1, sPim, sPi01, rRes2, 0.77526 );
4432 B1_k127_rhom2 = BarrierN( 1, sk127mrhom2, sPim, sPi02, rRes2, 0.77526 );
4433 }
4434 calt2( pk127m1, pk127mrhop2, t2D0_k11 );
4435 calt2( pk127m2, pk127mrhop1, t2D0_k12 );
4436 calt1( Pim, Pi01, t1rhom11 );
4437 calt1( Pim, Pi02, t1rhom12 );
4438
4439 calG2( pk127mrhom1, PKs, p1k1m_1 );
4440 calG2( pk127mrhom2, PKs, p1k1m_2 );
4441 calt1( Pip, Pi01, t1rhop11 );
4442 calt1( Pip, Pi02, t1rhop12 );
4443 for ( int i = 0; i < 4; i++ )
4444 {
4445 double t1_k1_rhop1 = t1rhop11[i] * G[i][i];
4446 double t1_k1_rhop2 = t1rhop12[i] * G[i][i];
4447
4448 for ( int j = 0; j < 4; j++ )
4449 {
4450 double t1_k1_rhom1 = t1rhom11[j] * G[j][j];
4451 double t1_k1_rhom2 = t1rhom12[j] * G[j][j];
4452
4453 for ( int k = 0; k < 4; k++ )
4454 {
4455 temp_PDF1 += t1_k1_rhop2 * t1_k1_rhom1 * t2D0_k11[k][i] * p1k1m_1[k][j];
4456 temp_PDF2 += t1_k1_rhop1 * t1_k1_rhom2 * t2D0_k12[k][i] * p1k1m_2[k][j];
4457 }
4458 }
4459 }
4460
4461 temp_PDF1 = temp_PDF1 * B2_D0_k11 * B1_k127_rhom1 * B1_k127_rhop2;
4462 temp_PDF2 = temp_PDF2 * B2_D0_k12 * B1_k127_rhom2 * B1_k127_rhop1;
4463 }
4464
4465 if ( g0[i] == 1 )
4466 { // a1
4467 if ( g2[i] == 1020 || g2[i] == 1120 || g2[i] == 1220 )
4468 {
4469 propagatorRBW( mass1sq, mass1[i], width1[i], sk127m1, sk127mrhom1, sKs, rRes2, 0,
4470 pro45_m1 );
4471 propagatorRBW( mass1sq, mass1[i], width1[i], sk127m2, sk127mrhom2, sKs, rRes2, 0,
4472 pro45_m2 );
4473 }
4474 else
4475 {
4476 propagatorRBW( mass1sq, mass1[i], width1[i], sk127m1, sk127mrhom1, sKs, rRes2, 2,
4477 pro45_m1 );
4478 propagatorRBW( mass1sq, mass1[i], width1[i], sk127m2, sk127mrhom2, sKs, rRes2, 2,
4479 pro45_m2 );
4480 }
4481 propagatorGS( 0.60102807, 0.77526, 0.1478, sk127mrhom1, sPim, sPi01, rRes2, pro11Vm1 );
4482 propagatorGS( 0.60102807, 0.77526, 0.1478, sk127mrhom2, sPim, sPi02, rRes2, pro11Vm2 );
4483 }
4484 else if ( g0[i] == 0 )
4485 {
4486 pro45_m1[0] = 1;
4487 pro45_m1[1] = 0;
4488 pro45_m2[0] = 1;
4489 pro45_m2[1] = 0;
4490 }
4491
4492 Com_Multi( pro45_m1, pro11Vm1, tpro45_m1 );
4493 Com_Multi( pro45_m2, pro11Vm2, tpro45_m2 );
4494
4495 if ( g1[i] == 1 )
4496 {
4497 propagatorGS( mass2sq, mass2[i], width2[i], sk127mrhop1, sPip, sPi01, rRes2,
4498 pro11Vp1 );
4499 propagatorGS( mass2sq, mass2[i], width2[i], sk127mrhop2, sPip, sPi02, rRes2,
4500 pro11Vp2 );
4501 }
4502 else if ( g1[i] == 0 )
4503 {
4504 pro1_1[0] = 1;
4505 pro1_1[1] = 0;
4506 pro1_2[0] = 1;
4507 pro1_2[1] = 0;
4508 }
4509
4510 Com_Multi( tpro45_m1, pro11Vp2, pro45_10 ); // 1p
4511 Com_Multi( tpro45_m2, pro11Vp1, pro45_11 ); // 2p
4512
4513 amp_tmp1[0] = temp_PDF1 * pro45_10[0]; // b1--omega2
4514 amp_tmp1[1] = temp_PDF1 * pro45_10[1];
4515 amp_tmp2[0] = temp_PDF2 * pro45_11[0]; // b1--omega1
4516 amp_tmp2[1] = temp_PDF2 * pro45_11[1];
4517 }
4518
4519 else if ( modetype[i] == 46 )
4520 { // K12700 to ks rho0
4521 if ( g2[i] == 1 )
4522 {
4523
4524 if ( B1_D0_k1270 == -1 )
4525 {
4526 B1_D0_k1270 = BarrierN( 1, sD0, sk1270, sk01, rDs2, mD0M ); // m2==kst Fn(kst)
4527 }
4528
4529 if ( B1_k1270_rho0 == -1 )
4530 { B1_k1270_rho0 = BarrierN( 1, sk1270rho0, sPip, sPim, rRes2, mass2[i] ); }
4531
4532 calG2( pk1270rho0, PKs, p2k1270 );
4533 calt1( pk1270, pk01, t1D0_k1270 );
4534 calt1( Pip, Pim, t1k1270rho0 );
4535
4536 for ( int i = 0; i < 4; i++ )
4537 {
4538 for ( int j = 0; j < 4; j++ )
4539 {
4540 double tempD0 = pD0[j] * G[j][j] * G[i][i]; // p(omega)
4541
4542 for ( int k = 0; k < 4; k++ )
4543 {
4544 double temt1D0k1 = t1D0_k1270[k] * G[k][k];
4545
4546 for ( int l = 0; l < 4; l++ )
4547 {
4548 double tem2t1rho0 = t1k1270rho0[l] * G[l][l] * E[i][j][k][l];
4549
4550 for ( int m = 0; m < 4; m++ )
4551 {
4552 if ( ( i == j ) || ( i == k ) || ( i == l ) || ( j == k ) || ( j == l ) ||
4553 ( k == l ) )
4554 continue;
4555 temp_PDF1 += temt1D0k1 * p2k1270[m][l] * tempD0 * tem2t1rho0 * G[m][m];
4556 }
4557 }
4558 }
4559 }
4560 }
4561
4562 temp_PDF1 = temp_PDF1 * B1_D0_k1270 * B1_k1270_rho0;
4563 }
4564
4565 if ( g0[i] == 1 )
4566 { // a1
4567 propagatorRBW( mass1sq, mass1[i], width1[i], sk1270, sk1270rho0, sKs, rRes2, 0,
4568 pro0_20 );
4569 }
4570 else if ( g0[i] == 0 )
4571 {
4572 pro0_20[0] = 1;
4573 pro0_20[1] = 0;
4574 }
4575 if ( g1[i] == 1 )
4576 { propagatorGS( mass2sq, mass2[i], width2[i], sk1270rho0, sPip, sPim, rRes2, pro1_20 ); }
4577 else if ( g1[i] == 0 )
4578 {
4579 pro1_20[0] = 1;
4580 pro1_20[1] = 0;
4581 }
4582
4583 Com_Multi( pro0_20, pro1_20, pro_20 );
4584 amp_tmp1[0] = temp_PDF1 * pro_20[0];
4585 amp_tmp1[1] = temp_PDF1 * pro_20[1];
4586 amp_tmp2[0] = 0;
4587 amp_tmp2[1] = 0;
4588 }
4589
4590 else if ( modetype[i] == 31 )
4591 { // k140m to kstm pi0
4592 if ( g2[i] == 1020 )
4593 { // 0101---SS
4594
4595 if ( B1_k140_rhop == -1 )
4596 {
4597 B1_k140_rhop1 = BarrierN( 1, sk140mrhop1, sPip, sPi01, rRes2, mass2[i] );
4598 B1_k140_rhop2 = BarrierN( 1, sk140mrhop2, sPip, sPi02, rRes2, mass2[i] );
4599 }
4600 if ( B1_k140_kstm == -1 )
4601 {
4602 B1_k140_kstm1 = BarrierN( 1, sk140mkstm1, sKs, sPim, rRes2, 0.89166 );
4603 B1_k140_kstm2 = BarrierN( 1, sk140mkstm2, sKs, sPim, rRes2, 0.89166 );
4604 }
4605 calt1( Pip, Pi01, t1k140mrhop1 );
4606 calt1( Pip, Pi02, t1k140mrhop2 );
4607 calt1( PKs, Pim, t1k140mkstm1 );
4608 calt1( PKs, Pim, t1k140mkstm2 );
4609 calG2( pk140mkstm1, Pi01, pm_k11 );
4610 calG2( pk140mkstm2, Pi02, pm_k12 );
4611 for ( int i = 0; i < 4; i++ )
4612 {
4613 double temt1kstm1 = t1k140mkstm1[i] * G[i][i];
4614 double temt1kstm2 = t1k140mkstm2[i] * G[i][i];
4615 for ( int j = 0; j < 4; j++ )
4616 {
4617 temp_PDF1 += t1k140mrhop2[j] * G[j][j] * temt1kstm1 * pm_k11[i][j];
4618 temp_PDF2 += t1k140mrhop1[j] * G[j][j] * temt1kstm2 * pm_k12[i][j];
4619 }
4620 }
4621
4622 temp_PDF1 = temp_PDF1 * B1_k140_rhop2 * B1_k140_kstm1;
4623 temp_PDF2 = temp_PDF2 * B1_k140_rhop1 * B1_k140_kstm2;
4624 }
4625
4626 else if ( g2[i] == 1120 )
4627 {
4628 if ( B1_D0_k101 == -1 )
4629 {
4630 B1_D0_k101 = BarrierN( 1, sD0, sk140m1, sk140mrhop2, rDs2, mD0M );
4631 B1_D0_k102 = BarrierN( 1, sD0, sk140m2, sk140mrhop1, rDs2, mD0M );
4632 }
4633 if ( B1_k140_kstm == -1 )
4634 {
4635 B1_k140_kstm1 = BarrierN( 1, sk140mkstm1, sKs, sPim, rRes2, 0.89166 );
4636 B1_k140_kstm2 = BarrierN( 1, sk140mkstm2, sKs, sPim, rRes2, 0.89166 );
4637 }
4638 if ( B1_k140_rhop == -1 )
4639 {
4640 B1_k140_rhop1 = BarrierN( 1, sk140mrhop1, sPip, sPi01, rRes2, mass2[i] );
4641 B1_k140_rhop2 = BarrierN( 1, sk140mrhop2, sPip, sPi02, rRes2, mass2[i] );
4642 }
4643 // B1_Vp1 B1_Vp2--rho+
4644
4645 // t1rhop1 t1rhop2
4646 calt1( Pip, Pi01, t1k140mrhop1 );
4647 calt1( Pip, Pi02, t1k140mrhop2 );
4648 calt1( PKs, Pim, t1k140mkstm1 );
4649 calt1( PKs, Pim, t1k140mkstm2 );
4650 calt1( pk140m1, pk140mrhop2, t1D0_k101 );
4651 calt1( pk140m2, pk140mrhop1, t1D0_k102 );
4652
4653 // P
4654 calG2( pk140mkstm1, Pi01, p2_k101 );
4655 calG2( pk140mkstm2, Pi02, p2_k102 );
4656 for ( int i = 0; i < 4; i++ )
4657 {
4658 double t1_rhop1 = t1k140mrhop1[i] * G[i][i];
4659 double t1_rhop2 = t1k140mrhop2[i] * G[i][i];
4660
4661 for ( int j = 0; j < 4; j++ )
4662 {
4663 double t1_kstm1 = t1k140mkstm1[j] * G[j][j];
4664 double t1_kstm2 = t1k140mkstm2[j] * G[j][j];
4665
4666 for ( int k = 0; k < 4; k++ )
4667 {
4668 double t1_D0_k101 = t1D0_k101[k] * G[k][k];
4669 double t1_D0_k102 = t1D0_k102[k] * G[k][k];
4670
4671 for ( int l = 0; l < 4; l++ )
4672 {
4673 double pD0_k11 = pD0[l] * G[l][l];
4674
4675 for ( int m = 0; m < 4; m++ )
4676 {
4677 temp_PDF1 += t1_rhop2 * t1_kstm1 * t1_D0_k101 * pD0_k11 * p2_k101[m][j] *
4678 G[m][m] * E[i][k][l][m];
4679 temp_PDF2 += t1_rhop1 * t1_kstm2 * t1_D0_k102 * pD0_k11 * p2_k102[m][j] *
4680 G[m][m] * E[i][k][l][m];
4681 }
4682 }
4683 }
4684 }
4685 }
4686 temp_PDF1 = temp_PDF1 * B1_D0_k101 * B1_k140_kstm1 * B1_k140_rhop2;
4687 temp_PDF2 = temp_PDF2 * B1_D0_k102 * B1_k140_kstm2 * B1_k140_rhop1;
4688 }
4689 if ( g0[i] == 1 )
4690 { // a1
4691 if ( g2[i] == 1020 || g2[i] == 1120 )
4692 {
4693 propagatorRBW( mass1sq, mass1[i], width1[i], sk140m1, sk140mkstm1, sPi01, rRes2, 0,
4694 pro10_p1 );
4695 propagatorRBW( mass1sq, mass1[i], width1[i], sk140m2, sk140mkstm2, sPi02, rRes2, 0,
4696 pro10_p2 );
4697 }
4698 else
4699 {
4700 propagatorRBW( mass1sq, mass1[i], width1[i], sk140m1, sk140mkstm1, sPi01, rRes2, 2,
4701 pro10_p1 );
4702 propagatorRBW( mass1sq, mass1[i], width1[i], sk140m2, sk140mkstm2, sPi02, rRes2, 2,
4703 pro10_p2 );
4704 }
4705 propagatorRBW( 0.7950575556, 0.89166, 0.0467, sk140mkstm1, sKs, sPim, rRes2, 1,
4706 pro10_1 ); // kst1
4707 propagatorRBW( 0.7950575556, 0.89166, 0.0467, sk140mkstm2, sKs, sPim, rRes2, 1,
4708 pro10_2 ); // kst1a
4709 }
4710 else if ( g0[i] == 0 )
4711 {
4712 pro10_p1[0] = 1;
4713 pro10_p1[1] = 0;
4714 pro10_p2[0] = 1;
4715 pro10_p2[1] = 0;
4716 }
4717 Com_Multi( pro10_p1, pro10_1, tpro10_p1 );
4718 Com_Multi( pro10_p2, pro10_2, tpro10_p2 );
4719
4720 if ( g1[i] == 1 )
4721 {
4722 propagatorGS( mass2sq, mass2[i], width2[i], sk140mrhop1, sPip, sPi01, rRes2,
4723 pro10_Vp1 );
4724 propagatorGS( mass2sq, mass2[i], width2[i], sk140mrhop2, sPip, sPi02, rRes2,
4725 pro10_Vp2 );
4726 }
4727
4728 else if ( g1[i] == 0 )
4729 {
4730 pro10_Vp1[0] = 1;
4731 pro10_Vp1[1] = 0;
4732 pro10_Vp2[0] = 1;
4733 pro10_Vp2[1] = 0;
4734 }
4735
4736 Com_Multi( tpro10_p1, pro10_Vp2, pro10_12 );
4737 Com_Multi( tpro10_p2, pro10_Vp1, pro10_22 );
4738
4739 amp_tmp1[0] = temp_PDF1 * pro10_12[0];
4740 amp_tmp1[1] = temp_PDF1 * pro10_12[1];
4741 amp_tmp2[0] = temp_PDF2 * pro10_22[0];
4742 amp_tmp2[1] = temp_PDF2 * pro10_22[1];
4743 }
4744
4745 else if ( modetype[i] == 42 )
4746 { // k1400 to kst0 pi0
4747 if ( g2[i] == 1020 )
4748 { // 0101---SS
4749
4750 if ( B1_k1400_rho0 == -1 )
4751 {
4752 B1_k1400_rho01 = BarrierN( 1, sk1400rho01, sPip, sPim, rRes2, mass2[i] );
4753 B1_k1400_rho02 = BarrierN( 1, sk1400rho02, sPip, sPim, rRes2, mass2[i] );
4754 }
4755
4756 if ( B1_k1400_kst0 == -1 )
4757 {
4758 B1_k1400_kst01 = BarrierN( 1, sk1400kst01, sKs, sPi01, rRes2, 0.89555 );
4759 B1_k1400_kst02 = BarrierN( 1, sk1400kst02, sKs, sPi02, rRes2, 0.89555 );
4760 }
4761
4762 calt1( Pip, Pim, t1k1400rho01 );
4763 calt1( Pip, Pim, t1k1400rho02 );
4764 calt1( PKs, Pi01, t1k1400kst01 );
4765 calt1( PKs, Pi02, t1k1400kst02 );
4766 calG2( pk1400kst01, Pi02, p2_k11 );
4767 calG2( pk1400kst02, Pi01, p2_k12 );
4768 for ( int i = 0; i < 4; i++ )
4769 {
4770 double temt1t1kst01 = t1k1400kst01[i] * G[i][i];
4771 double temt1t1kst02 = t1k1400kst02[i] * G[i][i];
4772 for ( int j = 0; j < 4; j++ )
4773 {
4774 temp_PDF1 += t1k1400rho01[j] * G[j][j] * temt1t1kst01 * p2_k11[i][j];
4775 temp_PDF2 += t1k1400rho02[j] * G[j][j] * temt1t1kst02 * p2_k12[i][j];
4776 }
4777 }
4778
4779 temp_PDF1 = temp_PDF1 * B1_k1400_rho01 * B1_k1400_kst01;
4780 temp_PDF2 = temp_PDF2 * B1_k1400_rho02 * B1_k1400_kst02;
4781 }
4782
4783 if ( g2[i] == 1120 )
4784 { // 0101---SS
4785 if ( B1_D0_K1400rho0 == -1 )
4786 {
4787 B1_D0_K1400rho01 = BarrierN( 1, sD0, sk14001, sk1400rho01, rRes2, mD0M );
4788 B1_D0_K1400rho02 = BarrierN( 1, sD0, sk14002, sk1400rho02, rRes2, mD0M );
4789 }
4790 if ( B1_k1400_rho0 == -1 )
4791 {
4792 B1_k1400_rho01 = BarrierN( 1, sk1400rho01, sPip, sPim, rRes2, mass2[i] );
4793 B1_k1400_rho02 = BarrierN( 1, sk1400rho02, sPip, sPim, rRes2, mass2[i] );
4794 }
4795 if ( B1_k1400_kst0 == -1 )
4796 {
4797 B1_k1400_kst01 = BarrierN( 1, sk1400kst01, sKs, sPi01, rRes2, 0.89555 );
4798 B1_k1400_kst02 = BarrierN( 1, sk1400kst02, sKs, sPi02, rRes2, 0.89555 );
4799 }
4800
4801 calt1( Pip, Pim, t1k1400rho01 );
4802 calt1( Pip, Pim, t1k1400rho02 );
4803 calt1( PKs, Pi01, t1k1400kst01 );
4804 calt1( PKs, Pi02, t1k1400kst02 );
4805 calt1( pk14001, pk1400rho01, t1D0_k1400rho01 );
4806 calt1( pk14002, pk1400rho02, t1D0_k1400rho02 );
4807 calG2( pk1400kst01, Pi02, p2_k11 );
4808 calG2( pk1400kst02, Pi01, p2_k12 );
4809 for ( int i = 0; i < 4; i++ )
4810 {
4811 double temt1t1rho01 = t1k1400rho01[i] * G[i][i];
4812 double temt1t1rho02 = t1k1400rho02[i] * G[i][i];
4813
4814 for ( int j = 0; j < 4; j++ )
4815 {
4816 double temt1t1kst01 = t1k1400kst01[i] * G[i][i];
4817 double temt1t1kst02 = t1k1400kst02[i] * G[i][i];
4818
4819 for ( int k = 0; k < 4; k++ )
4820 {
4821 double t1_D0_k1400rho01 = t1D0_k1400rho01[k] * G[k][k];
4822 double t1_D0_k1400rho02 = t1D0_k1400rho02[k] * G[k][k];
4823 for ( int l = 0; l < 4; j++ )
4824 {
4825 double pD0_k1400rho01 = pD0[l] * G[l][l];
4826 double pD0_k1400rho02 = pD0[l] * G[l][l];
4827
4828 for ( int m = 0; m < 4; m++ )
4829 {
4830 temp_PDF1 += temt1t1kst01 * temt1t1rho01 * t1_D0_k1400rho01 *
4831 pD0_k1400rho01 * p2_k11[m][j] * G[m][m] * E[i][k][l][m];
4832 temp_PDF2 += temt1t1kst02 * temt1t1rho02 * t1_D0_k1400rho02 *
4833 pD0_k1400rho02 * p2_k12[m][j] * G[m][m] * E[i][k][l][m];
4834 }
4835 }
4836 }
4837 }
4838 }
4839 temp_PDF1 = temp_PDF1 * B1_k1400_rho01 * B1_k1400_kst01 * B1_D0_K1400rho01;
4840 temp_PDF2 = temp_PDF2 * B1_k1400_rho02 * B1_k1400_kst02 * B1_D0_K1400rho02;
4841 }
4842
4843 if ( g0[i] == 1 )
4844 { // a1
4845 if ( g2[i] == 1020 || g2[i] == 1120 )
4846 {
4847 propagatorRBW( mass1sq, mass1[i], width1[i], sk14001, sk1400kst01, sPi02, rRes2, 0,
4848 pro42_21 );
4849 propagatorRBW( mass1sq, mass1[i], width1[i], sk14002, sk1400kst02, sPi01, rRes2, 0,
4850 pro42_22 );
4851 }
4852 else
4853 {
4854 propagatorRBW( mass1sq, mass1[i], width1[i], sk14001, sk1400kst01, sPi02, rRes2, 2,
4855 pro42_21 );
4856 propagatorRBW( mass1sq, mass1[i], width1[i], sk14002, sk1400kst02, sPi01, rRes2, 2,
4857 pro42_22 );
4858 }
4859 propagatorRBW( 0.79834225, 0.89555, 0.0473, sk1400kst01, sKs, sPi01, rRes2, 1,
4860 pro10_25 ); // kst1
4861 propagatorRBW( 0.79834225, 0.89555, 0.0473, sk1400kst02, sKs, sPi02, rRes2, 1,
4862 pro10_26 ); // kst1a
4863 }
4864 else if ( g0[i] == 0 )
4865 {
4866 pro42_21[0] = 1;
4867 pro42_21[1] = 0;
4868 pro42_22[0] = 1;
4869 pro42_22[1] = 0;
4870 }
4871
4872 Com_Multi( pro42_21, pro10_25, tpro10_42 );
4873 Com_Multi( pro42_22, pro10_26, tpro11_42 );
4874
4875 if ( g1[i] == 1 )
4876 {
4877 propagatorGS( mass2sq, mass2[i], width2[i], sk1400rho01, sPip, sPim, rRes2, pro10_23 );
4878 propagatorGS( mass2sq, mass2[i], width2[i], sk1400rho02, sPip, sPim, rRes2, pro10_24 );
4879 }
4880
4881 else if ( g1[i] == 0 )
4882 {
4883 pro10_23[0] = 1;
4884 pro10_23[1] = 0;
4885 pro10_24[0] = 1;
4886 pro10_24[1] = 0;
4887 }
4888
4889 Com_Multi( tpro10_42, pro10_23, pro10_42 ); // 1p
4890 Com_Multi( tpro11_42, pro10_24, pro11_42 ); // 2p
4891
4892 amp_tmp1[0] = temp_PDF1 * pro10_42[0];
4893 amp_tmp1[1] = temp_PDF1 * pro10_42[1];
4894 amp_tmp2[0] = temp_PDF2 * pro11_42[0];
4895 amp_tmp2[1] = temp_PDF2 * pro11_42[1];
4896 }
4897
4898 else if ( modetype[i] == 39 )
4899 {
4900 if ( g2[i] == 1 )
4901 {
4902 if ( B1_omega10 == -1 )
4903 {
4904
4905 B1_omega10 = BarrierN( 1, somega1, srho01, sPi01, rRes2, mass2[i] );
4906 B1_omega1p = BarrierN( 1, somega1, srhop1, sPim, rRes2, mass2[i] );
4907 B1_omega1m = BarrierN( 1, somega1, srhom1, sPip, rRes2, mass2[i] );
4908
4909 B1_omega20 = BarrierN( 1, somega2, srho02, sPi02, rRes2, mass2[i] );
4910 B1_omega2p = BarrierN( 1, somega2, srhop2, sPim, rRes2, mass2[i] );
4911 B1_omega2m = BarrierN( 1, somega2, srhom2, sPip, rRes2, mass2[i] );
4912 }
4913
4914 if ( B1_rho14501 == -1 )
4915 {
4916
4917 B1_rho14501 = BarrierN( 1, srho1450, somega1, sPi02, rRes2, mass1[i] );
4918 B1_rho14502 = BarrierN( 1, srho1450, somega2, sPi01, rRes2, mass1[i] );
4919 }
4920
4921 if ( B1_D0_rho1450 == -1 )
4922 { B1_D0_rho1450 = BarrierN( 1, sD0, srho1450, sKs, rDs2, mD0M ); }
4923
4924 calt1( prho1450, PKs, t1D0_rho1450ks0 );
4925 calG2( pomega1, Pi02, p1rho14501 );
4926 calG2( pomega2, Pi01, p1rho14502 );
4927 calt1( pomega1, Pi02, t1rho14501 );
4928 calt1( pomega2, Pi01, t1rho14502 );
4929 calG2( prho01, Pi01, p1omega01 );
4930 calG2( prho02, Pi02, p1omega02 );
4931 calG2( prhop1, Pim, p1omegap1 );
4932 calG2( prhop2, Pim, p1omegap2 );
4933 calG2( prhom1, Pip, p1omegam1 );
4934 calG2( prhom2, Pip, p1omegam2 );
4935 calt1( prho01, Pi01, t1omega01 );
4936 calt1( prho02, Pi02, t1omega02 );
4937 calt1( prhop1, Pim, t1omegap1 );
4938 calt1( prhop2, Pim, t1omegap2 );
4939 calt1( prhom1, Pip, t1omegam1 );
4940 calt1( prhom2, Pip, t1omegam2 );
4941 calt1( Pip, Pim, t1rho01 );
4942 calt1( Pip, Pim, t1rho02 );
4943 calt1( Pip, Pi01, t1rhop1 );
4944 calt1( Pip, Pi02, t1rhop2 );
4945 calt1( Pi01, Pim, t1rhom1 );
4946 calt1( Pi02, Pim, t1rhom2 );
4947
4948 for ( int i = 0; i < 4; i++ )
4949 {
4950 double temt1D0_rho1450ks0 = t1D0_rho1450ks0[i] * G[i][i];
4951
4952 for ( int j = 0; j < 4; j++ )
4953 {
4954 double temp1rho14501 = p1rho14501[i][j] * G[j][j];
4955 double temp1rho14502 = p1rho14502[i][j] * G[j][j];
4956
4957 for ( int k = 0; k < 4; k++ )
4958 {
4959
4960 for ( int l = 0; l < 4; l++ )
4961 {
4962 double temt1t1rho14501 = t1rho14501[l] * G[l][l];
4963 double temt1t1rho14502 = t1rho14502[l] * G[l][l];
4964
4965 for ( int m = 0; m < 4; m++ )
4966 {
4967 double temprho1450 = prho1450[m] * G[m][m] * E[j][k][l][m];
4968 ;
4969
4970 for ( int n = 0; n < 4; n++ )
4971 {
4972 double tempomega1 = pomega1[n] * G[n][n];
4973 double tempomega2 = pomega2[n] * G[n][n];
4974
4975 for ( int o = 0; o < 4; o++ )
4976 {
4977
4978 double temp1omega01 = p1omega01[k][o] * G[k][k] * G[o][o];
4979 double temp1omega02 = p1omega02[k][o] * G[k][k] * G[o][o];
4980 double temp1omegap1 = p1omegap1[k][o] * G[k][k] * G[o][o];
4981 double temp1omegap2 = p1omegap2[k][o] * G[k][k] * G[o][o];
4982 double temp1omegam1 = p1omegam1[k][o] * G[k][k] * G[o][o];
4983 double temp1omegam2 = p1omegam2[k][o] * G[k][k] * G[o][o];
4984 for ( int p = 0; p < 4; p++ )
4985 {
4986
4987 double temt1omega01 = t1omega01[p] * G[p][p];
4988 double temt1omega02 = t1omega02[p] * G[p][p];
4989 double temt1omegap1 = t1omegap1[p] * G[p][p];
4990 double temt1omegap2 = t1omegap2[p] * G[p][p];
4991 double temt1omegam1 = t1omegam1[p] * G[p][p];
4992 double temt1omegam2 = t1omegam2[p] * G[p][p];
4993 for ( int q = 0; q < 4; q++ )
4994 {
4995 if ( ( j == k ) || ( j == l ) || ( j == m ) || ( k == l ) ||
4996 ( k == m ) || ( l == m ) )
4997 continue;
4998 if ( ( n == o ) || ( n == p ) || ( n == q ) || ( o == p ) ||
4999 ( o == q ) || ( p == q ) )
5000 continue;
5001 temp_PDF11 += temprho1450 * temt1D0_rho1450ks0 * temt1t1rho14502 *
5002 temp1rho14502 * temp1omega02 * E[n][o][p][q] *
5003 tempomega2 * temt1omega02 * t1rho02[q] * G[q][q];
5004 temp_PDF12 += temprho1450 * temt1D0_rho1450ks0 * temt1t1rho14502 *
5005 temp1rho14502 * temp1omegap2 * E[n][o][p][q] *
5006 tempomega2 * temt1omegap2 * t1rhop2[q] * G[q][q];
5007 temp_PDF13 += temprho1450 * temt1D0_rho1450ks0 * temt1t1rho14502 *
5008 temp1rho14502 * temp1omegam2 * E[n][o][p][q] *
5009 tempomega2 * temt1omegam2 * t1rhom2[q] * G[q][q];
5010 temp_PDF21 += temprho1450 * temt1D0_rho1450ks0 * temt1t1rho14501 *
5011 temp1rho14501 * temp1omega01 * E[n][o][p][q] *
5012 tempomega1 * temt1omega01 * t1rho01[q] * G[q][q];
5013 temp_PDF22 += temprho1450 * temt1D0_rho1450ks0 * temt1t1rho14501 *
5014 temp1rho14501 * temp1omegap1 * E[n][o][p][q] *
5015 tempomega1 * temt1omegap1 * t1rhop1[q] * G[q][q];
5016 temp_PDF23 += temprho1450 * temt1D0_rho1450ks0 * temt1t1rho14501 *
5017 temp1rho14501 * temp1omegam1 * E[n][o][p][q] *
5018 tempomega1 * temt1omegam1 * t1rhom1[q] * G[q][q];
5019 }
5020 }
5021 }
5022 }
5023 }
5024 }
5025 }
5026 }
5027 }
5028 temp_PDF11 = temp_PDF11 * B1_D0_rho1450 * B1_omega20 * B1_rho14502 * B1_V02;
5029 temp_PDF12 = temp_PDF12 * B1_D0_rho1450 * B1_omega2p * B1_rho14502 * B1_Vp2;
5030 temp_PDF13 = temp_PDF13 * B1_D0_rho1450 * B1_omega2m * B1_rho14502 * B1_Vm2;
5031 temp_PDF21 = temp_PDF21 * B1_D0_rho1450 * B1_omega10 * B1_rho14501 * B1_V01;
5032 temp_PDF22 = temp_PDF22 * B1_D0_rho1450 * B1_omega1p * B1_rho14501 * B1_Vp1;
5033 temp_PDF23 = temp_PDF23 * B1_D0_rho1450 * B1_omega1m * B1_rho14501 * B1_Vm1;
5034 }
5035 if ( g0[i] == 1 )
5036 {
5037 propagatorGS( mass1sq, mass1[i], width1[i], srho1450, somega1, sPi02, rRes2,
5038 pro9_1 ); // kst1
5039 propagatorGS( mass1sq, mass1[i], width1[i], srho1450, somega2, sPi01, rRes2,
5040 pro9_2 ); // kst2
5041 }
5042 else if ( g0[i] == 0 )
5043 {
5044 pro1_1[0] = 1;
5045 pro1_1[1] = 0;
5046 pro1_2[0] = 1;
5047 pro1_2[1] = 0;
5048 }
5049 // kst
5050 if ( g1[i] == 1 )
5051 {
5052 propagator( mass2sq, mass2[i], width2[i], somega1, pro9_01 ); // ome1--rho0 pi01
5053 propagator( mass2sq, mass2[i], width2[i], somega1, pro9_p1 ); // ome1--rhop (pi01)
5054 propagator( mass2sq, mass2[i], width2[i], somega1, pro9_m1 ); // ome1--rhom (pi01)
5055 propagator( mass2sq, mass2[i], width2[i], somega2, pro9_02 ); // ome2--rho0 pi02
5056 propagator( mass2sq, mass2[i], width2[i], somega2, pro9_p2 ); // ome2--rhop (pi02)
5057 propagator( mass2sq, mass2[i], width2[i], somega2, pro9_m2 ); // ome2--rhom(pi02)
5058 }
5059 else if ( g1[i] == 0 )
5060 {
5061 pro9_01[0] = 1;
5062 pro9_01[1] = 0;
5063 pro9_p1[0] = 1;
5064 pro9_p1[1] = 0;
5065 pro9_m1[0] = 1;
5066 pro9_m1[1] = 0;
5067 pro9_02[0] = 1;
5068 pro9_02[1] = 0;
5069 pro9_p2[0] = 1;
5070 pro9_p2[1] = 0;
5071 pro9_m2[0] = 1;
5072 pro9_m2[1] = 0;
5073 }
5074 Com_Multi( pro9_01, pro1V01, tpro9_01 );
5075 Com_Multi( tpro9_01, pro9_1, pro9_21 );
5076 Com_Multi( pro9_p1, pro1Vp1, tpro9_p1 );
5077 Com_Multi( tpro9_p1, pro9_1, pro9_22 );
5078 Com_Multi( pro9_m1, pro1Vm1, tpro9_m1 );
5079 Com_Multi( tpro9_m1, pro9_1, pro9_23 );
5080
5081 Com_Multi( pro9_02, pro1V02, tpro9_02 );
5082 Com_Multi( tpro9_02, pro9_2, pro9_11 );
5083 Com_Multi( pro9_p2, pro1Vp2, tpro9_p2 );
5084 Com_Multi( tpro9_p2, pro9_2, pro9_12 );
5085 Com_Multi( pro9_m2, pro1Vm2, tpro9_m2 );
5086 Com_Multi( tpro9_m2, pro9_2, pro9_13 );
5087
5088 amp_tmp1[0] =
5089 -1 * ( temp_PDF11 * pro9_11[0] ) + temp_PDF12 * pro9_12[0] + temp_PDF13 * pro9_13[0];
5090 amp_tmp1[1] =
5091 -1 * ( temp_PDF11 * pro9_11[1] ) + temp_PDF12 * pro9_12[1] + temp_PDF13 * pro9_13[1];
5092 amp_tmp2[0] =
5093 -1 * ( temp_PDF21 * pro9_21[0] ) + temp_PDF22 * pro9_22[0] + temp_PDF23 * pro9_23[0];
5094 amp_tmp2[1] =
5095 -1 * ( temp_PDF21 * pro9_21[1] ) + temp_PDF22 * pro9_22[1] + temp_PDF23 * pro9_23[1];
5096
5097 // amp_tmp1[0] =temp_PDF11*pro_11[0] + temp_PDF12*pro_12[0] +
5098 // temp_PDF13*pro_13[0];
5099 // amp_tmp1[1] =temp_PDF11*pro_11[1] + temp_PDF12*pro_12[1] +
5100 // temp_PDF13*pro_13[1]; amp_tmp2[0] =temp_PDF21*pro_21[0] + temp_PDF22*pro_22[0]
5101 // + temp_PDF23*pro_23[0]; amp_tmp2[1] =temp_PDF21*pro_21[1] +
5102 // temp_PDF22*pro_22[1] + temp_PDF23*pro_23[1];
5103 }
5104
5105 else if ( modetype[i] == 41 )
5106 {
5107 amp_tmp1[0] = 1.;
5108 amp_tmp1[1] = 0.;
5109 amp_tmp2[0] = 1.;
5110 amp_tmp2[1] = 0.;
5111 }
5112
5113 //////////////////////////////////////////////
5114 amp_tmp[0] = amp_tmp1[0] + amp_tmp2[0];
5115 amp_tmp[1] = amp_tmp1[1] + amp_tmp2[1];
5116 Com_Multi( amp_tmp, cof, amp_PDF );
5117 PDF[0] += amp_PDF[0];
5118 PDF[1] += amp_PDF[1];
5119 }
5120
5121 double value = PDF[0] * PDF[0] + PDF[1] * PDF[1];
5122 if ( value <= 0 ) value = 1e-20;
5123
5124 Result = value;
5125}
double mass
TFile f("ana_bhabha660a_dqa_mcPat_zy_old.root")
const Int_t n
TF1 * g1
EvtComplex exp(const EvtComplex &c)
double a1width[3000]
****INTEGER imax DOUBLE PRECISION m_pi *DOUBLE PRECISION m_amfin DOUBLE PRECISION m_Chfin DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_sinw2 DOUBLE PRECISION m_GFermi DOUBLE PRECISION m_MfinMin DOUBLE PRECISION m_ta2 INTEGER m_out INTEGER m_KeyFSR INTEGER m_KeyQCD *COMMON c_Semalib $ !copy of input $ !CMS energy $ !beam mass $ !final mass $ !beam charge $ !final charge $ !smallest final mass $ !Z mass $ !Z width $ !EW mixing angle $ !Gmu Fermi $ alphaQED at q
Definition KKsem.h:33
TCrossPart * CS
Definition Mcgpj.cxx:51
void getName(std::string &name)
void decay(EvtParticle *p)
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
void setProbMax(double prbmx)
EvtId getParentId()
void checkNDaug(int d1, int d2=-1)
EvtId * getDaugs()
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
void setProb(double prob)
static EvtId getId(const std::string &name)
Definition EvtPDL.cc:272
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
double get(int i) const
int t()
Definition t.c:1