161 {
162
164
169
170 double Pip1[4], Pip2[4], Pim[4], Pi0[4];
171 double cof[2], amp_tmp[2], amp_PDF[2], PDF[2];
173 {
174 Pip1[0] = PPip1.
get( 0 );
175 Pip1[1] = PPip1.
get( 1 );
176 Pip1[2] = PPip1.
get( 2 );
177 Pip1[3] = PPip1.
get( 3 );
178 Pip2[0] = PPip2.
get( 0 );
179 Pip2[1] = PPip2.
get( 1 );
180 Pip2[2] = PPip2.
get( 2 );
181 Pip2[3] = PPip2.
get( 3 );
182 Pim[0] = PPim.
get( 0 );
183 Pim[1] = PPim.
get( 1 );
184 Pim[2] = PPim.
get( 2 );
185 Pim[3] = PPim.
get( 3 );
186 Pi0[0] = PPi0.
get( 0 );
187 Pi0[1] = PPi0.
get( 1 );
188 Pi0[2] = PPi0.
get( 2 );
189 Pi0[3] = PPi0.
get( 3 );
190 }
191 else
192 {
193 Pip1[0] = PPip1.
get( 0 );
194 Pip1[1] = -( PPip1.
get( 1 ) );
195 Pip1[2] = -( PPip1.
get( 2 ) );
196 Pip1[3] = -( PPip1.
get( 3 ) );
197 Pip2[0] = PPip2.
get( 0 );
198 Pip2[1] = -( PPip2.
get( 1 ) );
199 Pip2[2] = -( PPip2.
get( 2 ) );
200 Pip2[3] = -( PPip2.
get( 3 ) );
201 Pim[0] = PPim.
get( 0 );
202 Pim[1] = -( PPim.
get( 1 ) );
203 Pim[2] = -( PPim.
get( 2 ) );
204 Pim[3] = -( PPim.
get( 3 ) );
205 Pi0[0] = PPi0.
get( 0 );
206 Pi0[1] = -( PPi0.
get( 1 ) );
207 Pi0[2] = -( PPi0.
get( 2 ) );
208 Pi0[3] = -( PPi0.
get( 3 ) );
209 }
210
211 double p12[4], p13[4], p14[4], p23[4], p24[4], p34[4];
212 double p123[4], p124[4], p134[4], p234[4], pD[4];
213 double Sf1, Sf2, Sf3, Sf4, Sf5, Sf6, Sf7, Sf8;
214 Sf1 = spinf1( Pip1[0], Pip1[1], Pip1[2], Pip1[3], Pip2[0], Pip2[1], Pip2[2], Pip2[3], Pim[0],
215 Pim[1], Pim[2], Pim[3], Pi0[0], Pi0[1], Pi0[2], Pi0[3] );
216 Sf2 = spinf2( Pip1[0], Pip1[1], Pip1[2], Pip1[3], Pip2[0], Pip2[1], Pip2[2], Pip2[3], Pim[0],
217 Pim[1], Pim[2], Pim[3], Pi0[0], Pi0[1], Pi0[2], Pi0[3] );
218 Sf3 = spinf3( Pip1[0], Pip1[1], Pip1[2], Pip1[3], Pip2[0], Pip2[1], Pip2[2], Pip2[3], Pim[0],
219 Pim[1], Pim[2], Pim[3], Pi0[0], Pi0[1], Pi0[2], Pi0[3] );
220 Sf4 = spinf4( Pip1[0], Pip1[1], Pip1[2], Pip1[3], Pip2[0], Pip2[1], Pip2[2], Pip2[3], Pim[0],
221 Pim[1], Pim[2], Pim[3], Pi0[0], Pi0[1], Pi0[2], Pi0[3] );
222 Sf5 = spinf5( Pip1[0], Pip1[1], Pip1[2], Pip1[3], Pip2[0], Pip2[1], Pip2[2], Pip2[3], Pim[0],
223 Pim[1], Pim[2], Pim[3], Pi0[0], Pi0[1], Pi0[2], Pi0[3] );
224 Sf6 = spinf6( Pip1[0], Pip1[1], Pip1[2], Pip1[3], Pip2[0], Pip2[1], Pip2[2], Pip2[3], Pim[0],
225 Pim[1], Pim[2], Pim[3], Pi0[0], Pi0[1], Pi0[2], Pi0[3] );
226 Sf7 = spinf7( Pip1[0], Pip1[1], Pip1[2], Pip1[3], Pip2[0], Pip2[1], Pip2[2], Pip2[3], Pim[0],
227 Pim[1], Pim[2], Pim[3], Pi0[0], Pi0[1], Pi0[2], Pi0[3] );
228 Sf8 = spinf8( Pip1[0], Pip1[1], Pip1[2], Pip1[3], Pip2[0], Pip2[1], Pip2[2], Pip2[3], Pim[0],
229 Pim[1], Pim[2], Pim[3], Pi0[0], Pi0[1], Pi0[2], Pi0[3] );
230
231 for ( int i = 0; i != 4; i++ )
232 {
233 p12[i] = Pip1[i] + Pip2[i];
234 p13[i] = Pip1[i] + Pim[i];
235 p14[i] = Pip1[i] + Pi0[i];
236 p23[i] = Pip2[i] + Pim[i];
237 p24[i] = Pip2[i] + Pi0[i];
238 p34[i] = Pim[i] + Pi0[i];
239 p123[i] = Pip1[i] + Pip2[i] + Pim[i];
240 p124[i] = Pip1[i] + Pip2[i] + Pi0[i];
241 p134[i] = Pip1[i] + Pim[i] + Pi0[i];
242 p234[i] = Pip2[i] + Pim[i] + Pi0[i];
243 pD[i] = Pip1[i] + Pip2[i] + Pim[i] + Pi0[i];
244 }
245 double sPip1, sPip2, sPim, sPi0, s12, s13, s14, s23, s24, s34, s123, s124, s134, s234, sD;
246 sPi0 = SCADot( Pi0, Pi0 );
247 sPip1 = SCADot( Pip1, Pip1 );
248 sPip2 = SCADot( Pip2, Pip2 );
249 sPim = SCADot( Pim, Pim );
250
251 s12 = SCADot( p12, p12 );
252 s13 = SCADot( p13, p13 );
253 s14 = SCADot( p14, p14 );
254 s23 = SCADot( p23, p23 );
255 s24 = SCADot( p24, p24 );
256 s34 = SCADot( p34, p34 );
257
258 s123 = SCADot( p123, p123 );
259 s124 = SCADot( p124, p124 );
260 s134 = SCADot( p134, p134 );
261 s234 = SCADot( p234, p234 );
262
263 sD = SCADot( pD, pD );
264
265 double spion12[2] = { mass_Kaon * mass_Kaon, sPip1 };
266 double spion22[2] = { mass_Kaon * mass_Kaon, sPip2 };
267 double spim2[2] = { mass_Kaon * mass_Kaon, sPim };
268
269 double t1_24[4], t1_14[4], t1_13[4], t1_23[4], t1_12[4], t1_34[4];
270 double t1_14_23[4], t1_13_24[4], t1_12_34[4];
271 double t1_134_2[4], t1_234_1[4], t1_123_4[4];
272 double t1_13_4[4], t1_23_4[4], t1_14_3[4], t1_24_3[4], t1_34_1[4], t1_34_2[4];
273
274 double t2_13[4][4], t2_23[4][4];
275 double t2_13_24[4][4], t2_14_23[4][4];
276 double t2_123_4[4][4];
277 double t2_13_2[4][4], t2_23_1[4][4];
278
279 calt1( Pi0, Pip2, t1_24 );
280 calt1( Pi0, Pip1, t1_14 );
281
282 calt1( Pip1, Pim, t1_13 );
283 calt1( Pip2, Pim, t1_23 );
284
285 calt1( Pip1, Pip2, t1_12 );
286 calt1( Pim, Pi0, t1_34 );
287
288 calt1( p14, p23, t1_14_23 );
289 calt1( p24, p13, t1_13_24 );
290 calt1( p12, p34, t1_12_34 );
291
292 calt1( p134, Pip2, t1_134_2 );
293 calt1( p234, Pip1, t1_234_1 );
294 calt1( p123, Pi0, t1_123_4 );
295
296 calt1( p13, Pi0, t1_13_4 );
297 calt1( p23, Pi0, t1_23_4 );
298 calt1( p14, Pim, t1_14_3 );
299 calt1( p24, Pim, t1_24_3 );
300 calt1( p34, Pip1, t1_34_1 );
301 calt1( p34, Pip2, t1_34_2 );
302
303 calt2( Pip1, Pim, t2_13 );
304 calt2( Pip2, Pim, t2_23 );
305
306 calt2( p13, p24, t2_13_24 );
307 calt2( p14, p23, t2_14_23 );
308
309 calt2( p123, Pi0, t2_123_4 );
310
311 calt2( p13, Pip2, t2_13_2 );
312 calt2( p23, Pip1, t2_23_1 );
313
314 amp_PDF[0] = 0;
315 amp_PDF[1] = 0;
316 PDF[0] = 0;
317 PDF[1] = 0;
318
319 double temp_PDF, tmp1, tmp2, tmp3, tmp4, temp_PDF1, amp_tmp1[2], amp_tmp2[2];
320 double pro[2], pro0[2], pro1[2], pro2[2], pro3[2], pro4[2];
321 double t1D[4],
B[3], Bc[3];
322 double mass1sq, mass2sq;
323
324 for ( int i = 0; i < 11; i++ )
325 {
326 amp_tmp[0] = 0;
327 amp_tmp[1] = 0;
328 tmp1 = 0;
329 tmp2 = 0;
330 temp_PDF = 0;
331 ;
332 cof[0] = amp[i] *
cos( phase[i] );
333 cof[1] = amp[i] *
sin( phase[i] );
334 mass1sq = mass1[i] * mass1[i];
335 mass2sq = mass2[i] * mass2[i];
336 temp_PDF = 0;
337 temp_PDF1 = 0;
338 amp_tmp[0] = 0;
339 amp_tmp[1] = 0;
340 amp_tmp1[0] = 0;
341 amp_tmp1[1] = 0;
342 amp_tmp2[0] = 0;
343 amp_tmp2[1] = 0;
344 tmp1 = 0;
345 tmp2 = 0;
346 tmp3 = 0;
347 tmp4 = 0;
348
349 if ( i == 0 )
350 {
351 temp_PDF = 0;
352 propagator980( mass1[i], s23, spion12, spion22, pro0 );
353 propagatorGS( mass2sq, mass2[i], width2[i], s14, sPip1, sPi0, rRes2, pro1 );
354 Com_Multi( pro0, pro1, pro );
355
356 for ( int a = 0; a < 4; a++ ) { temp_PDF += G[a][a] * t1_14_23[a] * t1_14[a]; }
357
358 B[1] = barrier( 1, s14, sPip1, sPi0, rRes2, mass2[i] );
359 B[2] = barrier( 1, sD, s23, s14, rD2, 1.9683 );
360 tmp1 =
B[1] *
B[2] * temp_PDF;
361 amp_tmp1[0] = tmp1 * pro[0];
362 amp_tmp1[1] = tmp1 * pro[1];
363
364 temp_PDF = 0;
365 propagator980( mass1[i], s13, spion12, spion22, pro0 );
366 propagatorGS( mass2sq, mass2[i], width2[i], s24, sPip2, sPi0, rRes2, pro1 );
367 Com_Multi( pro0, pro1, pro );
368
369 for ( int a = 0; a < 4; a++ ) { temp_PDF += G[a][a] * t1_13_24[a] * t1_24[a]; }
370
371 B[1] = barrier( 1, s24, sPip2, sPi0, rRes2, mass2[i] );
372 B[2] = barrier( 1, sD, s13, s24, rD2, 1.9683 );
373 tmp2 =
B[1] *
B[2] * temp_PDF;
374 amp_tmp2[0] = tmp2 * pro[0];
375 amp_tmp2[1] = tmp2 * pro[1];
376 }
377
378 if ( i == 1 )
379 {
380 temp_PDF = 0;
381 propagatorGS( mass2sq, mass2[i], width2[i], s14, sPip1, sPi0, rRes2, pro0 );
382 propagatorGS( mass2sq, mass2[i], width2[i], s23, sPip2, sPim, rRes2, pro1 );
383
384 for ( int a = 0; a < 4; a++ ) { temp_PDF += G[a][a] * t1_14[a] * t1_23[a]; }
385
386 B[1] = barrier( 1, s14, sPip1, sPi0, rRes2, mass2[i] );
387 B[2] = barrier( 1, s23, sPip2, sPim, rRes2, mass2[i] );
388 tmp1 =
B[1] *
B[2] * temp_PDF;
389 amp_tmp1[0] = tmp1 * pro0[0] * pro1[0];
390 amp_tmp1[1] = tmp1 * pro0[1] * pro1[1];
391
392 temp_PDF = 0;
393 propagatorGS( mass2sq, mass2[i], width2[i], s24, sPip2, sPi0, rRes2, pro0 );
394 propagatorGS( mass2sq, mass2[i], width2[i], s13, sPip1, sPim, rRes2, pro1 );
395
396 for ( int a = 0; a < 4; a++ ) { temp_PDF += G[a][a] * t1_24[a] * t1_13[a]; }
397
398 B[1] = barrier( 1, s24, sPip2, sPi0, rRes2, mass2[i] );
399 B[2] = barrier( 1, s13, sPip1, sPim, rRes2, mass2[i] );
400 tmp2 =
B[1] *
B[2] * temp_PDF;
401 amp_tmp2[0] = tmp2 * pro0[0] * pro1[0];
402 amp_tmp2[1] = tmp2 * pro0[1] * pro1[1];
403 }
404
405 if ( i == 2 )
406 {
407 amp_tmp1[0] = 0;
408 amp_tmp1[1] = 0;
409 amp_tmp2[0] = 0;
410 amp_tmp2[1] = 0;
411
412 temp_PDF = 0;
413 propagatorRBW( mass1sq, mass1[i], width1[i], s134, s14, sPim, rRes1, 1, pro1 );
414 propagatorGS( mass2sq, mass2[i], width2[i], s14, sPip1, sPi0, rRes2, pro0 );
415
416 temp_PDF = Sf3;
417
418 B[0] = barrier( 1, sD, s134, sPip2, rD2, 1.9683 );
419 B[1] = barrier( 1, s134, s14, sPim, rRes1, mass1[i] );
420 B[2] = barrier( 1, s14, sPip1, sPi0, rRes2, mass2[i] );
421 tmp1 =
B[0] *
B[1] *
B[2] * temp_PDF;
422 amp_tmp1[0] += tmp1 * pro0[0] * pro1[0];
423 amp_tmp1[1] += tmp1 * pro0[1] * pro1[1];
424
425 temp_PDF = 0;
426 propagatorRBW( mass1sq, mass1[i], width1[i], s234, s24, sPim, rRes1, 1, pro1 );
427 propagatorGS( mass2sq, mass2[i], width2[i], s24, sPip2, sPi0, rRes2, pro0 );
428
429 temp_PDF = Sf4;
430
431 B[0] = barrier( 1, sD, s234, sPip1, rD2, 1.9683 );
432 B[1] = barrier( 1, s234, s24, sPim, rRes1, mass1[i] );
433 B[2] = barrier( 1, s24, sPip2, sPi0, rRes2, mass2[i] );
434 tmp2 =
B[0] *
B[1] *
B[2] * temp_PDF;
435 amp_tmp2[0] += tmp2 * pro0[0] * pro1[0];
436 amp_tmp2[1] += tmp2 * pro0[1] * pro1[1];
437
438 temp_PDF = 0;
439 propagatorRBW( mass1sq, mass1[i], width1[i], s134, s14, sPim, rRes1, 1, pro1 );
440 propagatorGS( mass2sq, mass2[i], width2[i], s13, sPip1, sPim, rRes2, pro0 );
441
442 temp_PDF = Sf5;
443
444 B[0] = barrier( 1, sD, s134, sPip2, rD2, 1.9683 );
445 B[1] = barrier( 1, s134, s13, sPi0, rRes1, mass1[i] );
446 B[2] = barrier( 1, s13, sPip1, sPim, rRes2, mass2[i] );
447 tmp1 =
B[0] *
B[1] *
B[2] * temp_PDF;
448 amp_tmp1[0] -= tmp1 * pro0[0] * pro1[0];
449 amp_tmp1[1] -= tmp1 * pro0[1] * pro1[1];
450
451 temp_PDF = 0;
452 propagatorRBW( mass1sq, mass1[i], width1[i], s234, s24, sPim, rRes1, 1, pro1 );
453 propagatorGS( mass2sq, mass2[i], width2[i], s23, sPip2, sPim, rRes2, pro0 );
454
455 temp_PDF = Sf6;
456
457 B[0] = barrier( 1, sD, s234, sPip1, rD2, 1.9683 );
458 B[1] = barrier( 1, s234, s23, sPi0, rRes1, mass1[i] );
459 B[2] = barrier( 1, s23, sPip2, sPim, rRes2, mass2[i] );
460 tmp2 =
B[0] *
B[1] *
B[2] * temp_PDF;
461 amp_tmp2[0] -= tmp2 * pro0[0] * pro1[0];
462 amp_tmp2[1] -= tmp2 * pro0[1] * pro1[1];
463
464 temp_PDF = 0;
465 propagatorRBW( mass1sq, mass1[i], width1[i], s134, s34, sPip1, rRes1, 1, pro1 );
466 propagatorGS( mass2sq, mass2[i], width2[i], s34, sPim, sPi0, rRes2, pro0 );
467
468 temp_PDF = Sf7;
469
470 B[0] = barrier( 1, sD, s134, sPip2, rD2, 1.9683 );
471 B[1] = barrier( 1, s134, s34, sPip1, rRes1, mass1[i] );
472 B[2] = barrier( 1, s34, sPim, sPi0, rRes2, mass2[i] );
473 tmp1 =
B[0] *
B[1] *
B[2] * temp_PDF;
474 amp_tmp1[0] -= tmp1 * pro0[0] * pro1[0];
475 amp_tmp1[1] -= tmp1 * pro0[1] * pro1[1];
476
477 temp_PDF = 0;
478 propagatorRBW( mass1sq, mass1[i], width1[i], s234, s34, sPip2, rRes1, 1, pro1 );
479 propagatorGS( mass2sq, mass2[i], width2[i], s34, sPim, sPi0, rRes2, pro0 );
480
481 temp_PDF = Sf8;
482
483 B[0] = barrier( 1, sD, s234, sPip1, rD2, 1.9683 );
484 B[1] = barrier( 1, s234, s34, sPip2, rRes1, mass1[i] );
485 B[2] = barrier( 1, s34, sPim, sPi0, rRes2, mass2[i] );
486 tmp2 =
B[0] *
B[1] *
B[2] * temp_PDF;
487 amp_tmp2[0] -= tmp2 * pro0[0] * pro1[0];
488 amp_tmp2[1] -= tmp2 * pro0[1] * pro1[1];
489 }
490
491 if ( i == 3 )
492 {
493 amp_tmp1[0] = 0;
494 amp_tmp1[1] = 0;
495 amp_tmp2[0] = 0;
496 amp_tmp2[1] = 0;
497
498 temp_PDF = 0;
499 propagatorRBW( mass1sq, mass1[i], width1[i], s134, s14, sPim, rRes1, 1, pro1 );
500 propagatorGS( mass2sq, mass2[i], width2[i], s14, sPip1, sPi0, rRes2, pro0 );
501
502 temp_PDF = Sf3;
503
504 B[0] = barrier( 1, sD, s134, sPip2, rD2, 1.9683 );
505 B[1] = barrier( 1, s134, s14, sPim, rRes1, mass1[i] );
506 B[2] = barrier( 1, s14, sPip1, sPi0, rRes2, mass2[i] );
507 tmp1 =
B[0] *
B[1] *
B[2] * temp_PDF;
508 amp_tmp1[0] += tmp1 * pro0[0] * pro1[0];
509 amp_tmp1[1] += tmp1 * pro0[1] * pro1[1];
510
511 temp_PDF = 0;
512 propagatorRBW( mass1sq, mass1[i], width1[i], s234, s24, sPim, rRes1, 1, pro1 );
513 propagatorGS( mass2sq, mass2[i], width2[i], s24, sPip2, sPi0, rRes2, pro0 );
514
515 temp_PDF = Sf4;
516
517 B[0] = barrier( 1, sD, s234, sPip1, rD2, 1.9683 );
518 B[1] = barrier( 1, s234, s24, sPim, rRes1, mass1[i] );
519 B[2] = barrier( 1, s24, sPip2, sPi0, rRes2, mass2[i] );
520 tmp2 =
B[0] *
B[1] *
B[2] * temp_PDF;
521 amp_tmp2[0] += tmp2 * pro0[0] * pro1[0];
522 amp_tmp2[1] += tmp2 * pro0[1] * pro1[1];
523
524 temp_PDF = 0;
525 propagatorRBW( mass1sq, mass1[i], width1[i], s134, s14, sPim, rRes1, 1, pro1 );
526 propagatorGS( mass2sq, mass2[i], width2[i], s13, sPip1, sPim, rRes2, pro0 );
527
528 temp_PDF = Sf5;
529
530 B[0] = barrier( 1, sD, s134, sPip2, rD2, 1.9683 );
531 B[1] = barrier( 1, s134, s13, sPi0, rRes1, mass1[i] );
532 B[2] = barrier( 1, s13, sPip1, sPim, rRes2, mass2[i] );
533 tmp1 =
B[0] *
B[1] *
B[2] * temp_PDF;
534 amp_tmp1[0] -= tmp1 * pro0[0] * pro1[0];
535 amp_tmp1[1] -= tmp1 * pro0[1] * pro1[1];
536
537 temp_PDF = 0;
538 propagatorRBW( mass1sq, mass1[i], width1[i], s234, s24, sPim, rRes1, 1, pro1 );
539 propagatorGS( mass2sq, mass2[i], width2[i], s23, sPip2, sPim, rRes2, pro0 );
540
541 temp_PDF = Sf6;
542
543 B[0] = barrier( 1, sD, s234, sPip1, rD2, 1.9683 );
544 B[1] = barrier( 1, s234, s23, sPi0, rRes1, mass1[i] );
545 B[2] = barrier( 1, s23, sPip2, sPim, rRes2, mass2[i] );
546 tmp2 =
B[0] *
B[1] *
B[2] * temp_PDF;
547 amp_tmp2[0] -= tmp2 * pro0[0] * pro1[0];
548 amp_tmp2[1] -= tmp2 * pro0[1] * pro1[1];
549
550 temp_PDF = 0;
551 propagatorRBW( mass1sq, mass1[i], width1[i], s134, s34, sPip1, rRes1, 1, pro1 );
552 propagatorGS( mass2sq, mass2[i], width2[i], s34, sPim, sPi0, rRes2, pro0 );
553
554 temp_PDF = Sf7;
555
556 B[0] = barrier( 1, sD, s134, sPip2, rD2, 1.9683 );
557 B[1] = barrier( 1, s134, s34, sPip1, rRes1, mass1[i] );
558 B[2] = barrier( 1, s34, sPim, sPi0, rRes2, mass2[i] );
559 tmp1 =
B[0] *
B[1] *
B[2] * temp_PDF;
560 amp_tmp1[0] -= tmp1 * pro0[0] * pro1[0];
561 amp_tmp1[1] -= tmp1 * pro0[1] * pro1[1];
562
563 temp_PDF = 0;
564 propagatorRBW( mass1sq, mass1[i], width1[i], s234, s34, sPip2, rRes1, 1, pro1 );
565 propagatorGS( mass2sq, mass2[i], width2[i], s34, sPim, sPi0, rRes2, pro0 );
566
567 temp_PDF = Sf8;
568
569 B[0] = barrier( 1, sD, s234, sPip1, rD2, 1.9683 );
570 B[1] = barrier( 1, s234, s34, sPip2, rRes1, mass1[i] );
571 B[2] = barrier( 1, s34, sPim, sPi0, rRes2, mass2[i] );
572 tmp2 =
B[0] *
B[1] *
B[2] * temp_PDF;
573 amp_tmp2[0] -= tmp2 * pro0[0] * pro1[0];
574 amp_tmp2[1] -= tmp2 * pro0[1] * pro1[1];
575 }
576
577 if ( i == 4 )
578 {
579 temp_PDF = 0;
580
581 propagatorMW( 1.230, s123, 1, pro1 );
582 propagatorGS( mass2sq, mass2[i], width2[i], s13, sPip1, sPim, rRes2, pro0 );
583
584 for ( int a = 0; a < 4; a++ )
585 for ( int b = 0; b < 4; b++ )
586 temp_PDF += G[a][a] * G[b][b] * t1_123_4[a] *
587 ( -G[a][b] + p123[a] * p123[b] / s123 ) * t1_13[b];
588
589 B[0] = barrier( 1, sD, s123, sPi0, rD2, 1.9683 );
590 B[1] = barrier( 1, s13, sPip1, sPim, rRes2, mass2[i] );
591 tmp1 =
B[0] *
B[1] * temp_PDF;
592 amp_tmp1[0] = tmp1 * pro0[0] * pro1[0];
593 amp_tmp1[1] = tmp1 * pro0[1] * pro1[1];
594
595 temp_PDF = 0;
596
597 propagatorMW( 1.230, s123, 1, pro1 );
598 propagatorGS( mass2sq, mass2[i], width2[i], s23, sPip2, sPim, rRes2, pro0 );
599
600 for ( int a = 0; a < 4; a++ )
601 for ( int b = 0; b < 4; b++ )
602 temp_PDF += G[a][a] * G[b][b] * t1_123_4[a] *
603 ( -G[a][b] + p123[a] * p123[b] / s123 ) * t1_23[b];
604
605 B[0] = barrier( 1, sD, s123, sPi0, rD2, 1.9683 );
606 B[1] = barrier( 1, s23, sPip2, sPim, rRes2, mass2[i] );
607 tmp2 =
B[0] *
B[1] * temp_PDF;
608 amp_tmp2[0] = tmp2 * pro0[0] * pro1[0];
609 amp_tmp2[1] = tmp2 * pro0[1] * pro1[1];
610 }
611
612 if ( i == 5 )
613 {
614 amp_tmp1[0] = 0;
615 amp_tmp1[1] = 0;
616 amp_tmp2[0] = 0;
617 amp_tmp2[1] = 0;
618
619 temp_PDF = 0;
620
621 propagatorMW( 1.230, s134, 0, pro1 );
622 propagatorGS( mass2sq, mass2[i], width2[i], s14, sPip1, sPi0, rRes2, pro0 );
623
624 for ( int a = 0; a < 4; a++ )
625 for ( int b = 0; b < 4; b++ )
626 temp_PDF += G[a][a] * G[b][b] * t1_134_2[a] *
627 ( -G[a][b] + p134[a] * p134[b] / s134 ) * t1_14[b];
628
629 B[0] = barrier( 1, sD, s134, sPip2, rD2, 1.9683 );
630 B[1] = barrier( 1, s14, sPip1, sPi0, rRes2, mass2[i] );
631 tmp1 =
B[0] *
B[1] * temp_PDF;
632 amp_tmp1[0] += tmp1 * pro0[0] * pro1[0] * 1.;
633 amp_tmp1[1] += tmp1 * pro0[1] * pro1[1] * 1.;
634
635 temp_PDF = 0;
636
637 propagatorMW( 1.230, s234, 0, pro1 );
638 propagatorGS( mass2sq, mass2[i], width2[i], s24, sPip2, sPi0, rRes2, pro0 );
639
640 for ( int a = 0; a < 4; a++ )
641 for ( int b = 0; b < 4; b++ )
642 temp_PDF += G[a][a] * G[b][b] * t1_234_1[a] *
643 ( -G[a][b] + p234[a] * p234[b] / s234 ) * t1_24[b];
644
645 B[0] = barrier( 1, sD, s234, sPip1, rD2, 1.9683 );
646 B[1] = barrier( 1, s24, sPip2, sPi0, rRes2, mass2[i] );
647 tmp2 =
B[0] *
B[1] * temp_PDF;
648 amp_tmp2[0] += tmp2 * pro0[0] * pro1[0] * 1.;
649 amp_tmp2[1] += tmp2 * pro0[1] * pro1[1] * 1.;
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682 temp_PDF = 0;
683
684 propagatorMW( 1.230, s134, 0, pro1 );
685 propagatorGS( mass2sq, mass2[i], width2[i], s34, sPim, sPi0, rRes2, pro0 );
686
687 for ( int a = 0; a < 4; a++ )
688 for ( int b = 0; b < 4; b++ )
689 temp_PDF += G[a][a] * G[b][b] * t1_134_2[a] *
690 ( -G[a][b] + p134[a] * p134[b] / s134 ) * t1_34[b];
691
692 B[0] = barrier( 1, sD, s134, sPip2, rD2, 1.9683 );
693 B[1] = barrier( 1, s34, sPim, sPi0, rRes2, mass2[i] );
694 tmp1 =
B[0] *
B[1] * temp_PDF;
695 amp_tmp1[0] += tmp1 * pro0[0] * pro1[0] * -1.;
696 amp_tmp1[1] += tmp1 * pro0[1] * pro1[1] * -1.;
697
698 temp_PDF = 0;
699
700 propagatorMW( 1.230, s234, 0, pro1 );
701 propagatorGS( mass2sq, mass2[i], width2[i], s34, sPim, sPi0, rRes2, pro0 );
702
703 for ( int a = 0; a < 4; a++ )
704 for ( int b = 0; b < 4; b++ )
705 temp_PDF += G[a][a] * G[b][b] * t1_234_1[a] *
706 ( -G[a][b] + p234[a] * p234[b] / s234 ) * t1_34[b];
707
708 B[0] = barrier( 1, sD, s234, sPip1, rD2, 1.9683 );
709 B[1] = barrier( 1, s34, sPim, sPi0, rRes2, mass2[i] );
710 tmp2 =
B[0] *
B[1] * temp_PDF;
711 amp_tmp2[0] += tmp2 * pro0[0] * pro1[0] * -1.;
712 amp_tmp2[1] += tmp2 * pro0[1] * pro1[1] * -1.;
713 }
714
715 if ( i == 6 )
716 {
717 temp_PDF = 0;
718 propagatorRBW( mass1sq, mass1[i], width1[i], s23, sPip2, sPim, rRes1, 0, pro0 );
719 propagatorGS( mass2sq, mass2[i], width2[i], s14, sPip1, sPi0, rRes2, pro1 );
720 Com_Multi( pro0, pro1, pro );
721
722 for ( int a = 0; a < 4; a++ ) { temp_PDF += G[a][a] * t1_14_23[a] * t1_14[a]; }
723
724 B[1] = barrier( 1, s14, sPip1, sPi0, rRes2, mass2[i] );
725 B[2] = barrier( 1, sD, s23, s14, rD2, 1.9683 );
726 tmp1 =
B[1] *
B[2] * temp_PDF;
727 amp_tmp1[0] = tmp1 * pro[0];
728 amp_tmp1[1] = tmp1 * pro[1];
729
730 temp_PDF = 0;
731 propagatorRBW( mass1sq, mass1[i], width1[i], s13, sPip1, sPim, rRes1, 0, pro0 );
732 propagatorGS( mass2sq, mass2[i], width2[i], s24, sPip2, sPi0, rRes2, pro1 );
733 Com_Multi( pro0, pro1, pro );
734
735 for ( int a = 0; a < 4; a++ ) { temp_PDF += G[a][a] * t1_13_24[a] * t1_24[a]; }
736
737 B[1] = barrier( 1, s24, sPip2, sPi0, rRes2, mass2[i] );
738 B[2] = barrier( 1, sD, s13, s24, rD2, 1.9683 );
739 tmp2 =
B[1] *
B[2] * temp_PDF;
740 amp_tmp2[0] = tmp2 * pro[0];
741 amp_tmp2[1] = tmp2 * pro[1];
742 }
743
744 if ( i == 7 )
745 {
746 temp_PDF = 0;
747 propagatorRBW( mass1sq, mass1[i], width1[i], s23, sPip2, sPim, rRes1, 2, pro0 );
748 propagatorGS( mass2sq, mass2[i], width2[i], s14, sPip1, sPi0, rRes2, pro1 );
749 Com_Multi( pro0, pro1, pro );
750
751 for ( int a = 0; a < 4; a++ )
752 {
753 for ( int b = 0; b < 4; b++ )
754 { temp_PDF += G[a][a] * G[b][b] * t1_14_23[a] * t1_14[b] * t2_23[a][b]; }
755 }
756
757 B[0] = barrier( 2, s23, sPip2, sPim, rRes1, mass1[i] );
758 B[1] = barrier( 1, s14, sPip1, sPi0, rRes2, mass2[i] );
759 B[2] = barrier( 1, sD, s23, s14, rD2, 1.9683 );
760 tmp1 =
B[0] *
B[1] *
B[2] * temp_PDF;
761 amp_tmp1[0] = tmp1 * pro[0];
762 amp_tmp1[1] = tmp1 * pro[1];
763
764 temp_PDF = 0;
765 propagatorRBW( mass1sq, mass1[i], width1[i], s13, sPip1, sPim, rRes1, 2, pro0 );
766 propagatorGS( mass2sq, mass2[i], width2[i], s24, sPip2, sPi0, rRes2, pro1 );
767 Com_Multi( pro0, pro1, pro );
768
769 for ( int a = 0; a < 4; a++ )
770 {
771 for ( int b = 0; b < 4; b++ )
772 { temp_PDF += G[a][a] * G[b][b] * t1_13_24[a] * t1_24[b] * t2_13[a][b]; }
773 }
774
775 B[0] = barrier( 2, s13, sPip1, sPim, rRes1, mass1[i] );
776 B[1] = barrier( 1, s24, sPip2, sPi0, rRes2, mass2[i] );
777 B[2] = barrier( 1, sD, s13, s24, rD2, 1.9683 );
778 tmp2 =
B[0] *
B[1] *
B[2] * temp_PDF;
779 amp_tmp2[0] = tmp2 * pro[0];
780 amp_tmp2[1] = tmp2 * pro[1];
781 }
782
783 if ( i == 8 )
784 {
785 temp_PDF = 0;
786 propagatorRBW( mass1sq, mass1[i], width1[i], s14, sPip1, sPi0, rRes1, 1, pro0 );
787 propagatorGS( mass2sq, mass2[i], width2[i], s23, sPip2, sPim, rRes2, pro1 );
788
789 for ( int a = 0; a < 4; a++ ) { temp_PDF += G[a][a] * t1_14[a] * t1_23[a]; }
790
791 B[1] = barrier( 1, s14, sPip1, sPi0, rRes2, mass2[i] );
792 B[2] = barrier( 1, s23, sPip2, sPim, rRes2, mass2[i] );
793 tmp1 =
B[1] *
B[2] * temp_PDF;
794 amp_tmp1[0] = tmp1 * pro0[0] * pro1[0];
795 amp_tmp1[1] = tmp1 * pro0[1] * pro1[1];
796
797 temp_PDF = 0;
798 propagatorRBW( mass1sq, mass1[i], width1[i], s24, sPip2, sPi0, rRes1, 1, pro0 );
799 propagatorGS( mass2sq, mass2[i], width2[i], s13, sPip1, sPim, rRes2, pro1 );
800
801 for ( int a = 0; a < 4; a++ ) { temp_PDF += G[a][a] * t1_24[a] * t1_13[a]; }
802
803 B[1] = barrier( 1, s24, sPip2, sPi0, rRes2, mass2[i] );
804 B[2] = barrier( 1, s13, sPip1, sPim, rRes2, mass2[i] );
805 tmp2 =
B[1] *
B[2] * temp_PDF;
806 amp_tmp2[0] = tmp2 * pro0[0] * pro1[0];
807 amp_tmp2[1] = tmp2 * pro0[1] * pro1[1];
808 }
809
810 if ( i == 9 )
811 {
812 temp_PDF = 0;
813 propagatorGS( mass1sq, mass1[i], width1[i], s14, sPip1, sPi0, rRes1, pro0 );
814 propagatorRBW( mass2sq, mass2[i], width2[i], s23, sPip2, sPim, rRes2, 1, pro1 );
815
816 temp_PDF = Sf1;
817
818 B[0] = barrier( 1, sD, s14, s23, rD2, 1.9683 );
819 B[1] = barrier( 1, s14, sPip1, sPi0, rRes2, mass2[i] );
820 B[2] = barrier( 1, s23, sPip2, sPim, rRes2, mass2[i] );
821 tmp1 =
B[1] *
B[2] *
B[0] * temp_PDF;
822 amp_tmp1[0] = tmp1 * pro0[0] * pro1[0];
823 amp_tmp1[1] = tmp1 * pro0[1] * pro1[1];
824
825 temp_PDF = 0;
826 propagatorGS( mass1sq, mass1[i], width1[i], s24, sPip2, sPi0, rRes1, pro0 );
827 propagatorRBW( mass2sq, mass2[i], width2[i], s13, sPip1, sPim, rRes2, 1, pro1 );
828
829 temp_PDF = Sf2;
830
831 B[0] = barrier( 1, sD, s24, s13, rD2, 1.9683 );
832 B[1] = barrier( 1, s24, sPip2, sPi0, rRes2, mass2[i] );
833 B[2] = barrier( 1, s13, sPip1, sPim, rRes2, mass2[i] );
834 tmp2 =
B[1] *
B[2] *
B[0] * temp_PDF;
835 amp_tmp2[0] = tmp2 * pro0[0] * pro1[0];
836 amp_tmp2[1] = tmp2 * pro0[1] * pro1[1];
837 }
838
839 if ( i == 10 )
840 {
841 amp_tmp1[0] = 0;
842 amp_tmp1[1] = 0;
843 amp_tmp2[0] = 0;
844 amp_tmp2[1] = 0;
845
846 temp_PDF = 0;
847 propagatorRBW( mass1sq, mass1[i], width1[i], s134, s14, sPim, rRes1, 1, pro1 );
848 propagatorGS( mass2sq, mass2[i], width2[i], s14, sPip1, sPi0, rRes2, pro0 );
849
850 for ( int a = 0; a < 4; a++ ) temp_PDF += G[a][a] * t1_134_2[a] * t1_14[a];
851
852
853 B[0] = barrier( 1, s134, s14, sPim, rRes1, mass1[i] );
854 B[1] = barrier( 1, s14, sPip1, sPi0, rRes2, mass2[i] );
855 tmp1 =
B[0] *
B[1] * temp_PDF;
856 amp_tmp1[0] += tmp1 * pro0[0] * pro1[0] * 1.;
857 amp_tmp1[1] += tmp1 * pro0[1] * pro1[1] * 1.;
858
859 temp_PDF = 0;
860 propagatorRBW( mass1sq, mass1[i], width1[i], s234, s24, sPim, rRes1, 1, pro1 );
861 propagatorGS( mass2sq, mass2[i], width2[i], s24, sPip2, sPi0, rRes2, pro0 );
862
863 for ( int a = 0; a < 4; a++ ) temp_PDF += G[a][a] * t1_234_1[a] * t1_24[a];
864
865
866 B[0] = barrier( 1, s234, s24, sPim, rRes1, mass1[i] );
867 B[1] = barrier( 1, s24, sPip2, sPi0, rRes2, mass2[i] );
868 tmp2 =
B[0] *
B[1] * temp_PDF;
869 amp_tmp2[0] += tmp2 * pro0[0] * pro1[0] * 1.;
870 amp_tmp2[1] += tmp2 * pro0[1] * pro1[1] * 1.;
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903 temp_PDF = 0;
904 propagatorRBW( mass1sq, mass1[i], width1[i], s134, s34, sPip1, rRes1, 1, pro1 );
905 propagatorGS( mass2sq, mass2[i], width2[i], s34, sPim, sPi0, rRes2, pro0 );
906
907 for ( int a = 0; a < 4; a++ ) temp_PDF += G[a][a] * t1_134_2[a] * t1_34[a];
908
909
910 B[0] = barrier( 1, s134, s34, sPip1, rRes1, mass1[i] );
911 B[1] = barrier( 1, s34, sPim, sPi0, rRes2, mass2[i] );
912 tmp1 =
B[0] *
B[1] * temp_PDF;
913 amp_tmp1[0] += tmp1 * pro0[0] * pro1[0] * -1.;
914 amp_tmp1[1] += tmp1 * pro0[1] * pro1[1] * -1.;
915
916 temp_PDF = 0;
917 propagatorRBW( mass1sq, mass1[i], width1[i], s234, s34, sPip2, rRes1, 1, pro1 );
918 propagatorGS( mass2sq, mass2[i], width2[i], s34, sPim, sPi0, rRes2, pro0 );
919
920 for ( int a = 0; a < 4; a++ ) temp_PDF += G[a][a] * t1_234_1[a] * t1_34[a];
921
922
923 B[0] = barrier( 1, s234, s34, sPip2, rRes1, mass1[i] );
924 B[1] = barrier( 1, s34, sPim, sPi0, rRes2, mass2[i] );
925 tmp2 =
B[0] *
B[1] * temp_PDF;
926 amp_tmp2[0] += tmp2 * pro0[0] * pro1[0] * -1.;
927 amp_tmp2[1] += tmp2 * pro0[1] * pro1[1] * -1.;
928 }
929
930 amp_tmp[0] = amp_tmp1[0] + amp_tmp2[0];
931 amp_tmp[1] = amp_tmp1[1] + amp_tmp2[1];
932
933
934 Com_Multi( amp_tmp, cof, amp_PDF );
935 PDF[0] += amp_PDF[0];
936 PDF[1] += amp_PDF[1];
937
938 }
939
940 double value = PDF[0] * PDF[0] + PDF[1] * PDF[1];
941
942 value = value;
943 if ( value <= 0 ) value = 1e-20;
944
945
947
948 return;
949}
double sin(const BesAngle a)
double cos(const BesAngle a)
void setProb(double prob)
static EvtId getId(const std::string &name)
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)