60 phi[10] = -3.9776e+00;
97 Geta1475 = 9.0000e-02;
102 ma0_980 = 9.9000e-01;
103 meta1475 = 1.4750e+00;
113 mass_Pion2 = 0.0194797849;
114 mass_2Pion = 0.27914;
115 math_2pi = 6.2831852;
125 int GG[4][4] = { { 1, 0, 0, 0 }, { 0, -1, 0, 0 }, { 0, 0, -1, 0 }, { 0, 0, 0, -1 } };
126 int EE[4][4][4][4] = {
127 { { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } },
128 { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 1 }, { 0, 0, -1, 0 } },
129 { { 0, 0, 0, 0 }, { 0, 0, 0, -1 }, { 0, 0, 0, 0 }, { 0, 1, 0, 0 } },
130 { { 0, 0, 0, 0 }, { 0, 0, 1, 0 }, { 0, -1, 0, 0 }, { 0, 0, 0, 0 } } },
131 { { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, -1 }, { 0, 0, 1, 0 } },
132 { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } },
133 { { 0, 0, 0, 1 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { -1, 0, 0, 0 } },
134 { { 0, 0, -1, 0 }, { 0, 0, 0, 0 }, { 1, 0, 0, 0 }, { 0, 0, 0, 0 } } },
135 { { { 0, 0, 0, 0 }, { 0, 0, 0, 1 }, { 0, 0, 0, 0 }, { 0, -1, 0, 0 } },
136 { { 0, 0, 0, -1 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 1, 0, 0, 0 } },
137 { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } },
138 { { 0, 1, 0, 0 }, { -1, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } } },
139 { { { 0, 0, 0, 0 }, { 0, 0, -1, 0 }, { 0, 1, 0, 0 }, { 0, 0, 0, 0 } },
140 { { 0, 0, 1, 0 }, { 0, 0, 0, 0 }, { -1, 0, 0, 0 }, { 0, 0, 0, 0 } },
141 { { 0, -1, 0, 0 }, { 1, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } },
142 { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } } } };
143 for (
int i = 0; i < 4; i++ )
145 for (
int j = 0; j < 4; j++ )
148 for (
int k = 0; k < 4; k++ )
150 for (
int l = 0; l < 4; l++ ) { E[i][j][k][l] = EE[i][j][k][l]; }
197 double Pip[4], Pip2[4], Km[4], Ks[4];
200 Pip[0] = pip.
get( 0 );
201 Pip2[0] = pip2.
get( 0 );
204 Pip[1] = pip.
get( 1 );
205 Pip2[1] = pip2.
get( 1 );
208 Pip[2] = pip.
get( 2 );
209 Pip2[2] = pip2.
get( 2 );
212 Pip[3] = pip.
get( 3 );
213 Pip2[3] = pip2.
get( 3 );
229 int g0[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
232 calEvaMy( Ks, Km, Pip, Pip2, mass, width, rho, phi, g0, modetype, nstates, value );
238void EvtDsToKSKmPipPip::Com_Multi(
double a1[2],
double a2[2],
double res[2] ) {
239 res[0] = a1[0] * a2[0] - a1[1] * a2[1];
240 res[1] = a1[1] * a2[0] + a1[0] * a2[1];
242void EvtDsToKSKmPipPip::Com_Divide(
double a1[2],
double a2[2],
double res[2] ) {
243 res[0] = ( a1[0] * a2[0] + a1[1] * a2[1] ) / ( a2[0] * a2[0] + a2[1] * a2[1] );
244 res[1] = ( a1[1] * a2[0] - a1[0] * a2[1] ) / ( a2[0] * a2[0] + a2[1] * a2[1] );
246double EvtDsToKSKmPipPip::SCADot(
double a1[4],
double a2[4] ) {
248 _cal = a1[0] * a2[0] - a1[1] * a2[1] - a1[2] * a2[2] - a1[3] * a2[3];
251double EvtDsToKSKmPipPip::barrier(
int l,
double sa,
double sb,
double sc,
double r2 ) {
253 double tmp = sa + sb - sc;
254 double q = 0.25 * tmp * tmp / sa - sb;
255 if (
q < 0 )
q = 1e-16;
257 if ( l == 1 ) { F = sqrt( 2.0 * z / ( 1.0 + z ) ); }
261 F = sqrt( 13.0 * z2 / ( 9.0 + 3.0 * z + z2 ) );
266void EvtDsToKSKmPipPip::calt1(
double daug1[4],
double daug0[4],
double t1[4] ) {
269 for (
int i = 0; i < 4; i++ )
271 pa[i] = daug1[i] + daug0[i];
272 qa[i] = daug1[i] - daug0[i];
274 p = SCADot( pa, pa );
275 pq = SCADot( pa, qa );
276 for (
int i = 0; i < 4; i++ ) { t1[i] = qa[i] - pq / p * pa[i]; }
278void EvtDsToKSKmPipPip::calt2(
double daug1[4],
double daug0[4],
double t2[4][4] ) {
281 calt1( daug1, daug0, t1 );
282 r = SCADot( t1, t1 ) / 3.0;
283 for (
int i = 0; i < 4; i++ ) { pa[i] = daug1[i] + daug0[i]; }
284 p = SCADot( pa, pa );
285 for (
int i = 0; i < 4; i++ )
287 for (
int j = 0; j < 4; j++ )
288 { t2[i][j] = t1[i] * t1[j] - r * ( G[i][j] - pa[i] * pa[j] / p ); }
292double EvtDsToKSKmPipPip::wid(
double mass,
double sa,
double sb,
double sc,
double r2,
295 double sa0 = mass * mass;
296 double m = sqrt( sa );
297 double tmp = sb - sc;
298 double tmp1 = sa + tmp;
299 double q = 0.25 * tmp1 * tmp1 / sa - sb;
300 if (
q < 0 )
q = 1e-16;
301 double tmp2 = sa0 + tmp;
302 double q0 = 0.25 * tmp2 * tmp2 / sa0 - sb;
303 if ( q0 < 0 ) q0 = 1e-16;
307 if ( l == 0 ) { widm = sqrt(
t ) * mass / m; }
308 else if ( l == 1 ) { widm =
t * sqrt(
t ) * mass / m * ( 1 + z0 ) / ( 1 + z ); }
310 { widm =
t *
t * sqrt(
t ) * mass / m * ( 9 + 3 * z0 + z0 * z0 ) / ( 9 + 3 * z + z * z ); }
313void EvtDsToKSKmPipPip::Flatte_rhoab(
double sa,
double sb,
double sc,
double rho[2] ) {
314 double q = ( sa + sb - sc ) * ( sa + sb - sc ) / ( 4 * sa ) - sb;
317 rho[0] = 2 * sqrt(
q / sa );
323 rho[1] = 2 * sqrt( -
q / sa );
326void EvtDsToKSKmPipPip::propagatora0980(
double mass,
double sx,
double* sb,
double* sc,
328 double unit[2] = { 1.0 };
329 double ci[2] = { 0, 1 };
331 Flatte_rhoab( sx, sb[0], sc[0], rho1 );
333 Flatte_rhoab( sx, sb[1], sc[1], rho2 );
335 double gKK_a980 = 0.892 * 0.341, gPiEta_a980 = 0.341;
336 double tmp1[2] = { gKK_a980, 0 };
338 double tmp2[2] = { gPiEta_a980, 0 };
340 Com_Multi( tmp1, rho1, tmp11 );
341 Com_Multi( tmp2, rho2, tmp22 );
342 double tmp3[2] = { tmp11[0] + tmp22[0], tmp11[1] + tmp22[1] };
344 Com_Multi( tmp3, ci, tmp31 );
345 double tmp4[2] = { mass * mass - sx - tmp31[0], -1.0 * tmp31[1] };
346 Com_Divide(
unit, tmp4, prop );
348void EvtDsToKSKmPipPip::propagatorRBW(
double mass,
double width,
double sa,
double sb,
349 double sc,
double r2,
int l,
double prop[2] ) {
353 b[0] = mass * mass - sa;
354 b[1] = -mass * width * wid( mass, sa, sb, sc, r2, l );
355 Com_Divide( a, b, prop );
357void EvtDsToKSKmPipPip::KPiSLASS(
double sa,
double sb,
double sc,
double prop[2] ) {
358 const double m1430 = 1.441;
359 const double sa0 = 2.076481;
360 const double w1430 = 0.193;
361 const double Lass1 = 0.25 / sa0;
362 double tmp = sb - sc;
363 double tmp1 = sa0 + tmp;
364 double q0 = Lass1 * tmp1 * tmp1 - sb;
365 if ( q0 < 0 ) q0 = 1e-16;
366 double tmp2 = sa + tmp;
367 double qs = 0.25 * tmp2 * tmp2 / sa - sb;
368 double q = sqrt( qs );
369 double width = w1430 *
q * m1430 / sqrt( sa * q0 );
370 double temp_R = atan( m1430 * width / ( sa0 - sa ) );
371 if ( temp_R < 0 ) temp_R += math_pi;
372 double deltaR = -1.915 + temp_R;
374 atan( 0.226 *
q / ( 2.0 - 3.8194 * qs ) );
376 if ( temp_F < 0 ) temp_F += math_pi;
377 double deltaF = 0.002 + temp_F;
378 double deltaS = deltaR + 2.0 * deltaF;
379 double t1 = 0.96 *
sin( deltaF );
380 double t2 =
sin( deltaR );
382 CF[0] =
cos( deltaF );
383 CF[1] =
sin( deltaF );
384 CS[0] =
cos( deltaS );
385 CS[1] =
sin( deltaS );
386 prop[0] = t1 * CF[0] + t2 *
CS[0];
387 prop[1] = t1 * CF[1] + t2 *
CS[1];
390void EvtDsToKSKmPipPip::calEvaMy(
double* Ks,
double* Km,
double* Pip,
double* Pip2,
391 double* mass1,
double* width1,
double* amp,
double* phase,
392 int* g0,
int* modetype,
int nstates,
double& Result ) {
393 double pD[4], pKsPip1[4], pKmPip2[4], pKsPip2[4], pKmPip1[4], pKsKmPip1[4], pKsKmPip2[4],
394 pKsKm[4], pKmPipPip[4];
395 for (
int i = 0; i != 4; i++ )
397 pD[i] = Ks[i] + Pip[i] + Km[i] + Pip2[i];
398 pKsPip1[i] = Ks[i] + Pip[i];
399 pKsPip2[i] = Ks[i] + Pip2[i];
400 pKmPip1[i] = Km[i] + Pip[i];
401 pKmPip2[i] = Km[i] + Pip2[i];
402 pKsKm[i] = Km[i] + Ks[i];
403 pKsKmPip1[i] = pKsPip1[i] + Km[i];
404 pKsKmPip2[i] = pKsPip2[i] + Km[i];
405 pKmPipPip[i] = Km[i] + Pip[i] + Pip2[i];
407 double sPip2, sPip1, sKs, sKm, sKsPip1, sKmPip2, sD, sKsPip2, sKmPip1, sKsKmPip1, sKsKmPip2,
409 sD = SCADot( pD, pD );
410 sKs = SCADot( Ks, Ks );
411 sKm = SCADot( Km, Km );
412 sPip1 = SCADot( Pip, Pip );
413 sPip2 = SCADot( Pip2, Pip2 );
414 sKsPip1 = SCADot( pKsPip1, pKsPip1 );
415 sKsPip2 = SCADot( pKsPip2, pKsPip2 );
416 sKmPip1 = SCADot( pKmPip1, pKmPip1 );
417 sKmPip2 = SCADot( pKmPip2, pKmPip2 );
418 sKsKmPip1 = SCADot( pKsKmPip1, pKsKmPip1 );
419 sKsKmPip2 = SCADot( pKsKmPip2, pKsKmPip2 );
420 sKmPipPip = SCADot( pKmPipPip, pKmPipPip );
421 sKsKm = SCADot( pKsKm, pKsKm );
423 double t1KsPip1[4], t1KmPip2[4], t1KsPip2[4], t1KmPip1[4], t2KsKmPip1_kspip[4][4],
424 t2KsKmPip2_kspip[4][4], t2KsKmPip1_kmpip[4][4], t2KsKmPip2_kmpip[4][4],
425 t1KsKmPip1_kspip[4], t1KsKmPip2_kspip[4], t1KsKmPip1_kmpip[4], t1KsKmPip2_kmpip[4],
426 t1KsKmPip1_ksk[4], t1KsKmPip2_ksk[4];
428 calt1( Ks, Pip, t1KsPip1 );
429 calt1( Ks, Pip2, t1KsPip2 );
430 calt1( Km, Pip, t1KmPip1 );
431 calt1( Km, Pip2, t1KmPip2 );
432 calt1( pKsPip1, Km, t1KsKmPip1_kspip );
433 calt1( pKsPip2, Km, t1KsKmPip2_kspip );
434 calt1( pKmPip1, Ks, t1KsKmPip1_kmpip );
435 calt1( pKmPip2, Ks, t1KsKmPip2_kmpip );
436 calt1( pKsKm, Pip, t1KsKmPip1_ksk );
437 calt1( pKsKm, Pip2, t1KsKmPip2_ksk );
439 calt2( pKsPip1, Km, t2KsKmPip1_kspip );
440 calt2( pKsPip2, Km, t2KsKmPip2_kspip );
441 calt2( pKmPip1, Ks, t2KsKmPip1_kmpip );
442 calt2( pKmPip2, Ks, t2KsKmPip2_kmpip );
444 double cof[2], amp_tmp[2], amp_PDF[2], PDF[2];
449 double temp_PDF, tmp1, tmp2, tmp1_a, tmp2_a, temp_PDF_a, tt1, tt2, tt3, tt4;
450 double pro1b[2], pro2b[2], pro1b_a[2], pro2b_a[2], pro_ksk[2], pro3[2], pro4[2], pro1[2],
452 double pro_kspi1[2], pro_kspi2[2], pro_kpi1[2], pro_kpi2[2], pro_kpi2sw[2], pro_kpi1sw[2],
453 pro_kspi2sw[2], pro_kspi1sw[2];
454 double ispro_kspi1 = 0, ispro_kspi2 = 0, ispro_kpi1 = 0, ispro_kpi2 = 0, ispro_kpi2sw = 0,
455 ispro_kpi1sw = 0, ispro_kspi2sw = 0, ispro_kspi1sw = 0, ispro_ksk = 0;
456 double barr_kskpi1_ksk = -1.0, barr_kskpi2_ksk = -1.0, barr_kskpi1_kspi = -1.0,
457 barr_kskpi2_kspi = -1.0, barr_kskpi1_kpi = -1.0, barr_kskpi2_kpi = -1.0,
458 barr_kspi1 = -1.0, barr_kspi2 = -1.0, barr_kpi1 = -1.0, barr_kpi2 = -1.0,
459 barr_kspi1_kpi2 = -1.0, barr_kspi2_kpi1 = -1.0, barr_ds_kskpi1 = -1.0,
460 barr_ds_kskpi2 = -1.0;
462 double t1D[4], t2D[4][4],
B[3];
463 double sKs2[2] = { sKs, mass_Pion * mass_Pion };
464 double sKm2[2] = { sKm, mass_Eta * mass_Eta };
466 for (
int i = 0; i < nstates; i++ )
477 cof[0] = amp[i] *
cos( phase[i] );
478 cof[1] = amp[i] *
sin( phase[i] );
483 if ( modetype[i] == 1 )
485 if ( ispro_kspi1 == 0 )
487 propagatorRBW( mKstp, GKstp, sKsPip1, sKs, sPip1, rRes2, 1, pro_kspi1 );
490 if ( ispro_kpi2 == 0 )
492 propagatorRBW( mKst0, GKst0, sKmPip2, sKm, sPip2, rRes2, 1, pro_kpi2 );
495 Com_Multi( pro_kspi1, pro_kpi2, pro1b );
497 if ( barr_kspi1 < 0.0 ) barr_kspi1 = barrier( 1, sKsPip1, sKs, sPip1, rRes2 );
498 if ( barr_kpi2 < 0.0 ) barr_kpi2 = barrier( 1, sKmPip2, sKm, sPip2, rRes2 );
499 for (
int i = 0; i < 4; i++ ) { temp_PDF += G[i][i] * t1KsPip1[i] * t1KmPip2[i]; }
500 tmp1 = barr_kspi1 * barr_kpi2 * temp_PDF;
505 if ( ispro_kspi2 == 0 )
507 propagatorRBW( mKstp, GKstp, sKsPip2, sKs, sPip2, rRes2, 1, pro_kspi2 );
510 if ( ispro_kpi1 == 0 )
512 propagatorRBW( mKst0, GKst0, sKmPip1, sKm, sPip1, rRes2, 1, pro_kpi1 );
515 Com_Multi( pro_kspi2, pro_kpi1, pro2b );
517 if ( barr_kspi2 < 0.0 ) barr_kspi2 = barrier( 1, sKsPip2, sKs, sPip2, rRes2 );
518 if ( barr_kpi1 < 0.0 ) barr_kpi1 = barrier( 1, sKmPip1, sKm, sPip1, rRes2 );
519 for (
int i = 0; i < 4; i++ ) { temp_PDF += G[i][i] * t1KsPip2[i] * t1KmPip1[i]; }
520 tmp2 = barr_kspi2 * barr_kpi1 * temp_PDF;
526 if ( modetype[i] == 2 )
528 if ( ispro_kspi1 == 0 )
530 propagatorRBW( mKstp, GKstp, sKsPip1, sKs, sPip1, rRes2, 1, pro_kspi1 );
533 if ( ispro_kpi2 == 0 )
535 propagatorRBW( mKst0, GKst0, sKmPip2, sKm, sPip2, rRes2, 1, pro_kpi2 );
538 Com_Multi( pro_kspi1, pro_kpi2, pro1b );
540 if ( barr_kspi1 < 0.0 ) barr_kspi1 = barrier( 1, sKsPip1, sKs, sPip1, rRes2 );
541 if ( barr_kpi2 < 0.0 ) barr_kpi2 = barrier( 1, sKmPip2, sKm, sPip2, rRes2 );
542 if ( barr_kspi1_kpi2 < 0.0 ) barr_kspi1_kpi2 = barrier( 1, sD, sKsPip1, sKmPip2, rD2 );
543 calt1( pKsPip1, pKmPip2, t1D );
544 for (
int i = 0; i < 4; i++ )
546 for (
int j = 0; j < 4; j++ )
548 tt1 = G[i][i] * G[j][j] * pD[i] * t1D[j];
549 for (
int k = 0; k < 4; k++ )
551 tt2 = t1KsPip1[k] * G[k][k];
552 for (
int l = 0; l < 4; l++ )
553 { temp_PDF += E[i][j][k][l] * t1KmPip2[l] * G[l][l] * tt1 * tt2; }
557 tmp1 = barr_kspi1 * barr_kpi2 * barr_kspi1_kpi2 * temp_PDF;
560 if ( ispro_kspi2 == 0 )
562 propagatorRBW( mKstp, GKstp, sKsPip2, sKs, sPip2, rRes2, 1, pro_kspi2 );
565 if ( ispro_kpi1 == 0 )
567 propagatorRBW( mKst0, GKst0, sKmPip1, sKm, sPip1, rRes2, 1, pro_kpi1 );
570 Com_Multi( pro_kspi2, pro_kpi1, pro2b );
572 if ( barr_kspi2 < 0.0 ) barr_kspi2 = barrier( 1, sKsPip2, sKs, sPip2, rRes2 );
573 if ( barr_kpi1 < 0.0 ) barr_kpi1 = barrier( 1, sKmPip1, sKm, sPip1, rRes2 );
574 if ( barr_kspi2_kpi1 < 0.0 ) barr_kspi2_kpi1 = barrier( 1, sD, sKsPip2, sKmPip1, rD2 );
575 calt1( pKsPip2, pKmPip1, t1D );
576 for (
int i = 0; i < 4; i++ )
578 for (
int j = 0; j < 4; j++ )
580 tt1 = G[i][i] * G[j][j] * pD[i] * t1D[j];
581 for (
int k = 0; k < 4; k++ )
583 tt2 = t1KsPip2[k] * G[k][k];
584 for (
int l = 0; l < 4; l++ )
585 { temp_PDF += E[i][j][k][l] * t1KmPip1[l] * G[l][l] * tt1 * tt2; }
589 tmp2 = barr_kspi2 * barr_kpi1 * barr_kspi2_kpi1 * temp_PDF;
593 if ( modetype[i] == 3 )
595 if ( ispro_kspi1 == 0 )
597 propagatorRBW( mKstp, GKstp, sKsPip1, sKs, sPip1, rRes2, 1, pro_kspi1 );
600 if ( ispro_kpi2 == 0 )
602 propagatorRBW( mKst0, GKst0, sKmPip2, sKm, sPip2, rRes2, 1, pro_kpi2 );
605 Com_Multi( pro_kspi1, pro_kpi2, pro1b );
607 if ( barr_kspi1 < 0.0 ) barr_kspi1 = barrier( 1, sKsPip1, sKs, sPip1, rRes2 );
608 if ( barr_kpi2 < 0.0 ) barr_kpi2 = barrier( 1, sKmPip2, sKm, sPip2, rRes2 );
609 calt2( pKsPip1, pKmPip2, t2D );
610 for (
int i = 0; i < 4; i++ )
612 for (
int j = 0; j < 4; j++ )
613 { temp_PDF += t2D[i][j] * t1KsPip1[i] * t1KmPip2[j] * G[i][i] * G[j][j]; }
615 B[2] = barrier( 2, sD, sKsPip1, sKmPip2, rD2 );
616 tmp1 = barr_kspi1 * barr_kpi2 *
B[2] * temp_PDF;
619 if ( ispro_kspi2 == 0 )
621 propagatorRBW( mKstp, GKstp, sKsPip2, sKs, sPip2, rRes2, 1, pro_kspi2 );
624 if ( ispro_kpi1 == 0 )
626 propagatorRBW( mKst0, GKst0, sKmPip1, sKm, sPip1, rRes2, 1, pro_kpi1 );
629 Com_Multi( pro_kspi2, pro_kpi1, pro2b );
631 if ( barr_kspi2 < 0.0 ) barr_kspi2 = barrier( 1, sKsPip2, sKs, sPip2, rRes2 );
632 if ( barr_kpi1 < 0.0 ) barr_kpi1 = barrier( 1, sKmPip1, sKm, sPip1, rRes2 );
633 calt2( pKsPip2, pKmPip1, t2D );
634 for (
int i = 0; i < 4; i++ )
636 for (
int j = 0; j < 4; j++ )
637 { temp_PDF += t2D[i][j] * t1KsPip2[i] * t1KmPip1[j] * G[i][i] * G[j][j]; }
639 B[2] = barrier( 2, sD, sKsPip2, sKmPip1, rD2 );
640 tmp2 = barr_kspi2 * barr_kpi1 *
B[2] * temp_PDF;
644 if ( modetype[i] == 8 )
646 propagatorRBW( meta1475, Geta1475, sKsKmPip1, sKsKm, sPip1, rRes2, 0, pro1 );
647 if ( ispro_ksk == 0 )
649 propagatora0980( ma0_980, sKsKm, sKs2, sKm2, pro_ksk );
653 Com_Multi( pro1, pro_ksk, pro1b );
657 propagatorRBW( meta1475, Geta1475, sKsKmPip2, sKsKm, sPip2, rRes2, 0, pro1 );
658 if ( ispro_ksk == 0 )
660 propagatora0980( ma0_980, sKsKm, sKs2, sKm2, pro_ksk );
664 Com_Multi( pro1, pro_ksk, pro2b );
669 if ( modetype[i] == 4 )
671 propagatorRBW( meta1475, Geta1475, sKsKmPip1, sKmPip1, sKs, rRes2, 1, pro1 );
672 if ( ispro_kpi1 == 0 )
674 propagatorRBW( mKst0, GKst0, sKmPip1, sKm, sPip1, rRes2, 1, pro_kpi1 );
677 Com_Multi( pro1, pro_kpi1, pro1b );
679 if ( barr_kpi1 < 0.0 ) barr_kpi1 = barrier( 1, sKmPip1, sKm, sPip1, rRes2 );
680 if ( barr_kskpi1_kpi < 0.0 )
681 barr_kskpi1_kpi = barrier( 1, sKsKmPip1, sKmPip1, sKs, rRes2 );
682 for (
int a = 0; a < 4; a++ ) { temp_PDF += Ks[a] * t1KmPip1[a] * G[a][a]; }
683 tmp1 = barr_kpi1 * barr_kskpi1_kpi * temp_PDF;
686 propagatorRBW( meta1475, Geta1475, sKsKmPip2, sKmPip2, sKs, rRes2, 1, pro1 );
687 if ( ispro_kpi2 == 0 )
689 propagatorRBW( mKst0, GKst0, sKmPip2, sKm, sPip2, rRes2, 1, pro_kpi2 );
692 Com_Multi( pro1, pro_kpi2, pro2b );
694 if ( barr_kpi2 < 0.0 ) barr_kpi2 = barrier( 1, sKmPip2, sKm, sPip2, rRes2 );
695 if ( barr_kskpi2_kpi < 0.0 )
696 barr_kskpi2_kpi = barrier( 1, sKsKmPip2, sKmPip2, sKs, rRes2 );
697 for (
int a = 0; a < 4; a++ ) { temp_PDF += Ks[a] * t1KmPip2[a] * G[a][a]; }
698 tmp2 = barr_kpi2 * barr_kskpi2_kpi * temp_PDF;
702 if ( modetype[i] == 14 )
704 propagatorRBW( meta1475, Geta1475, sKsKmPip1, sKsPip1, sKm, rRes2, 1, pro1 );
705 if ( ispro_kspi1 == 0 )
707 propagatorRBW( mKstp, GKstp, sKsPip1, sKs, sPip1, rRes2, 1, pro_kspi1 );
710 Com_Multi( pro1, pro_kspi1, pro1b );
712 if ( barr_kspi1 < 0.0 ) barr_kspi1 = barrier( 1, sKsPip1, sKs, sPip1, rRes2 );
713 if ( barr_kskpi1_kspi < 0.0 )
714 barr_kskpi1_kspi = barrier( 1, sKsKmPip1, sKsPip1, sKm, rRes2 );
715 for (
int a = 0; a < 4; a++ ) { temp_PDF += Km[a] * t1KsPip1[a] * G[a][a]; }
716 tmp1 = barr_kspi1 * barr_kskpi1_kspi * temp_PDF;
719 propagatorRBW( meta1475, Geta1475, sKsKmPip2, sKsPip2, sKm, rRes2, 1, pro1 );
720 if ( ispro_kspi2 == 0 )
722 propagatorRBW( mKstp, GKstp, sKsPip2, sKs, sPip2, rRes2, 1, pro_kspi2 );
725 Com_Multi( pro1, pro_kspi2, pro2b );
727 if ( barr_kspi2 < 0.0 ) barr_kspi2 = barrier( 1, sKsPip2, sKs, sPip2, rRes2 );
728 if ( barr_kskpi2_kspi < 0.0 )
729 barr_kskpi2_kspi = barrier( 1, sKsKmPip2, sKsPip2, sKm, rRes2 );
730 for (
int a = 0; a < 4; a++ ) { temp_PDF += Km[a] * t1KsPip2[a] * G[a][a]; }
731 tmp2 = barr_kspi2 * barr_kskpi2_kspi * temp_PDF;
735 if ( modetype[i] == 17 )
737 propagatorRBW( mf1285, Gf1285, sKsKmPip1, sKsKm, sPip1, rRes2, 1, pro1 );
738 if ( ispro_ksk == 0 )
740 propagatora0980( ma0_980, sKsKm, sKs2, sKm2, pro_ksk );
743 Com_Multi( pro1, pro_ksk, pro1b );
744 calt1( pKsKmPip1, Pip2, t1D );
746 if ( barr_kskpi1_ksk < 0.0 )
747 barr_kskpi1_ksk = barrier( 1, sKsKmPip1, sKsKm, sPip1, rRes2 );
748 if ( barr_ds_kskpi1 < 0.0 ) barr_ds_kskpi1 = barrier( 1, sD, sKsKmPip1, sPip2, rD2 );
749 for (
int i = 0; i < 4; i++ ) { temp_PDF += G[i][i] * t1D[i] * t1KsKmPip1_ksk[i]; }
750 tmp1 = barr_kskpi1_ksk * barr_ds_kskpi1 * temp_PDF;
753 propagatorRBW( mf1285, Gf1285, sKsKmPip2, sKsKm, sPip2, rRes2, 1, pro1 );
754 if ( ispro_ksk == 0 )
756 propagatora0980( ma0_980, sKsKm, sKs2, sKm2, pro_ksk );
759 Com_Multi( pro1, pro_ksk, pro2b );
760 calt1( pKsKmPip2, Pip, t1D );
762 if ( barr_kskpi2_ksk < 0.0 )
763 barr_kskpi2_ksk = barrier( 1, sKsKmPip2, sKsKm, sPip2, rRes2 );
764 if ( barr_ds_kskpi2 < 0.0 ) barr_ds_kskpi2 = barrier( 1, sD, sKsKmPip2, sPip1, rD2 );
765 for (
int i = 0; i < 4; i++ ) { temp_PDF += G[i][i] * t1D[i] * t1KsKmPip2_ksk[i]; }
766 tmp2 = barr_kskpi2_ksk * barr_ds_kskpi2 * temp_PDF;
770 if ( modetype[i] == 5 )
775 if ( ispro_kspi1 == 0 )
777 propagatorRBW( mKstp, GKstp, sKsPip1, sKs, sPip1, rRes2, 1, pro_kspi1 );
782 Com_Multi( pro1, pro_kspi1, pro1b );
783 calt1( pKsKmPip1, Pip2, t1D );
785 if ( barr_kspi1 < 0.0 ) barr_kspi1 = barrier( 1, sKsPip1, sKs, sPip1, rRes2 );
786 if ( barr_ds_kskpi1 < 0.0 ) barr_ds_kskpi1 = barrier( 1, sD, sKsKmPip1, sPip2, rD2 );
787 barr_kskpi1_kspi = barrier( 2, sKsKmPip1, sKsPip1, sKm, rRes2 );
788 for (
int i = 0; i < 4; i++ )
790 for (
int j = 0; j < 4; j++ )
792 temp_PDF += t1D[i] * ( pKsKmPip1[i] * pKsKmPip1[j] / sKsKmPip1 - G[i][j] ) *
793 t1KsPip1[j] * G[i][i] * G[j][j];
796 tmp1 = barr_kspi1 * barr_ds_kskpi1 * temp_PDF;
802 if ( ispro_kspi2 == 0 )
804 propagatorRBW( mKstp, GKstp, sKsPip2, sKs, sPip2, rRes2, 1, pro_kspi2 );
807 Com_Multi( pro1, pro_kspi2, pro2b );
811 calt1( pKsKmPip2, Pip, t1D );
812 if ( barr_kspi2 < 0.0 ) barr_kspi2 = barrier( 1, sKsPip2, sKs, sPip2, rRes2 );
813 if ( barr_ds_kskpi2 < 0.0 ) barr_ds_kskpi2 = barrier( 1, sD, sKsKmPip2, sPip1, rD2 );
814 barr_kskpi2_kspi = barrier( 2, sKsKmPip2, sKsPip2, sKm, rRes2 );
815 for (
int i = 0; i < 4; i++ )
817 for (
int j = 0; j < 4; j++ )
819 temp_PDF += t1D[i] * ( pKsKmPip2[i] * pKsKmPip2[j] / sKsKmPip2 - G[i][j] ) *
820 t1KsPip2[j] * G[i][i] * G[j][j];
823 tmp2 = barr_kspi2 * barr_ds_kskpi2 * temp_PDF;
827 if ( modetype[i] == 21 )
829 if ( ispro_kspi1 == 0 )
831 propagatorRBW( mKstp, GKstp, sKsPip1, sKs, sPip1, rRes2, 1, pro_kspi1 );
834 KPiSLASS( sKmPip2, sKm, sPip2, pro_kpi2sw );
835 Com_Multi( pro_kspi1, pro_kpi2sw, pro1b );
836 calt1( pKsPip1, pKmPip2, t1D );
838 if ( barr_kspi1 < 0.0 ) barr_kspi1 = barrier( 1, sKsPip1, sKs, sPip1, rRes2 );
839 if ( barr_kspi1_kpi2 < 0.0 ) barr_kspi1_kpi2 = barrier( 1, sD, sKsPip1, sKmPip2, rD2 );
840 for (
int a = 0; a < 4; a++ ) { temp_PDF += t1D[a] * t1KsPip1[a] * G[a][a]; }
841 tmp1 = barr_kspi1 * barr_kspi1_kpi2 * temp_PDF;
844 if ( ispro_kspi2 == 0 )
846 propagatorRBW( mKstp, GKstp, sKsPip2, sKs, sPip2, rRes2, 1, pro_kspi2 );
849 KPiSLASS( sKmPip1, sKm, sPip1, pro_kpi1sw );
850 Com_Multi( pro_kspi2, pro_kpi1sw, pro2b );
852 calt1( pKsPip2, pKmPip1, t1D );
853 if ( barr_kspi2 < 0.0 ) barr_kspi2 = barrier( 1, sKsPip2, sKs, sPip2, rRes2 );
854 if ( barr_kspi2_kpi1 < 0.0 ) barr_kspi2_kpi1 = barrier( 1, sD, sKsPip2, sKmPip1, rD2 );
855 for (
int a = 0; a < 4; a++ ) { temp_PDF += t1D[a] * t1KsPip2[a] * G[a][a]; }
856 tmp2 = barr_kspi2 * barr_kspi2_kpi1 * temp_PDF;
860 if ( modetype[i] == 22 )
862 if ( ispro_kpi2 == 0 )
864 propagatorRBW( mKst0, GKst0, sKmPip2, sKm, sPip2, rRes2, 1, pro_kpi2 );
867 KPiSLASS( sKsPip1, sKs, sPip1, pro_kspi1sw );
868 Com_Multi( pro_kpi2, pro_kspi1sw, pro1b );
870 calt1( pKsPip1, pKmPip2, t1D );
871 if ( barr_kpi2 < 0.0 ) barr_kpi2 = barrier( 1, sKmPip2, sKm, sPip2, rRes2 );
872 if ( barr_kspi1_kpi2 < 0.0 ) barr_kspi1_kpi2 = barrier( 1, sD, sKsPip1, sKmPip2, rD2 );
873 for (
int a = 0; a < 4; a++ ) { temp_PDF += t1D[a] * t1KmPip2[a] * G[a][a]; }
874 tmp1 = barr_kpi2 * barr_kspi1_kpi2 * temp_PDF;
877 if ( ispro_kpi1 == 0 )
879 propagatorRBW( mKst0, GKst0, sKmPip1, sKm, sPip1, rRes2, 1, pro_kpi1 );
882 KPiSLASS( sKsPip2, sKs, sPip2, pro_kspi2sw );
883 Com_Multi( pro_kpi1, pro_kspi2sw, pro2b );
885 calt1( pKsPip2, pKmPip1, t1D );
886 if ( barr_kpi1 < 0.0 ) barr_kpi1 = barrier( 1, sKmPip1, sKm, sPip1, rRes2 );
887 if ( barr_kspi2_kpi1 < 0.0 ) barr_kspi2_kpi1 = barrier( 1, sD, sKsPip2, sKmPip1, rD2 );
888 for (
int a = 0; a < 4; a++ ) { temp_PDF += t1D[a] * t1KmPip1[a] * G[a][a]; }
889 tmp2 = barr_kspi2_kpi1 * barr_kpi1 * temp_PDF;
892 if ( modetype[i] == 20 )
894 propagatorRBW( meta1475, Geta1475, sKsKmPip1, sKsPip1, sKm, rRes2, 0, pro1 );
895 KPiSLASS( sKsPip1, sKs, sPip1, pro_kspi1sw );
896 Com_Multi( pro1, pro_kspi1sw, pro1b );
899 propagatorRBW( meta1475, Geta1475, sKsKmPip2, sKsPip2, sKm, rRes2, 0, pro1 );
900 KPiSLASS( sKsPip2, sKs, sPip2, pro_kspi2sw );
901 Com_Multi( pro1, pro_kspi2sw, pro2b );
905 if ( modetype[i] == 1 || modetype[i] == 2 || modetype[i] == 3 || modetype[i] == 8 ||
906 modetype[i] == 17 || modetype[i] == 5 || modetype[i] == 21 || modetype[i] == 22 ||
907 modetype[i] == 4 || modetype[i] == 14 || modetype[i] == 20 )
909 amp_tmp[0] = tmp1 * pro1b[0] + tmp2 * pro2b[0];
910 amp_tmp[1] = tmp1 * pro1b[1] + tmp2 * pro2b[1];
921 Com_Multi( amp_tmp, cof, amp_PDF );
922 PDF[0] += amp_PDF[0];
923 PDF[1] += amp_PDF[1];
929 double value = PDF[0] * PDF[0] + PDF[1] * PDF[1];
930 if ( value <= 0 ) { value = 1e-20; }
*******INTEGER m_nBinMax INTEGER m_NdiMax !No of bins in histogram for cell exploration division $ !Last vertex $ !Last active cell $ !Last cell in buffer $ !No of sampling when dividing cell $ !No of function total $ !Flag for random ceel for $ !Flag for type of for WtMax $ !Flag which decides whether vertices are included in the sampling $ entire domain is hyp !Maximum effective eevents per saves r n generator level $ !Flag for chat level in !Latex Output unit
double sin(const BesAngle a)
double cos(const BesAngle a)
****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
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
void setProbMax(double prbmx)
void checkNDaug(int d1, int d2=-1)
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
void setProb(double prob)
void getName(std::string &name)
void decay(EvtParticle *p)
virtual ~EvtDsToKSKmPipPip()
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)