35 double m_mass[4] = { 1.86450, 0.497648, 0.139570, 0.139570 };
48 DK2piRes[0] =
sakurai( x, y, z, 1.00, 0.0, 0.1503, 0.7758 );
49 DK2piRes[1] =
resAmp( x, y, z, m_mass[3], m_mass[2], m_mass[1], 0.0314, 110.8, 0.00849,
51 DK2piRes[2] =
f_980( z, 0.980, 0.365, 201.9 );
52 DK2piRes[3] =
resAmp( x, y, z, m_mass[3], m_mass[2], m_mass[1], 1.32, 348, 0.1851, 1.2754,
54 DK2piRes[4] =
resAmp( x, y, z, m_mass[3], m_mass[2], m_mass[1], 1.44, 82, 0.173, 1.434,
56 DK2piRes[5] =
sakurai( x, y, z, 0.66, 9, 0.400, 1.465 );
57 DK2piRes[6] =
resAmp( x, y, z, m_mass[3], m_mass[2], m_mass[1], 1.43, 212, 0.454, 0.519,
60 resAmp( x, y, z, m_mass[3], m_mass[2], m_mass[1], 0.23, 237, 0.101, 1.050, 0 );
61 DK2piRes[8] =
resAmp( x, z, y, m_mass[3], m_mass[1], m_mass[2], 1.644, 132.1, 0.0508,
63 DK2piRes[9] =
resAmp( x, z, y, m_mass[3], m_mass[1], m_mass[2], 0.61, 113, 0.232, 1.414,
65 DK2piRes[10] =
resAmp( x, z, y, m_mass[3], m_mass[1], m_mass[2], 2.15, 353.6, 0.294, 1.412,
67 DK2piRes[11] =
resAmp( x, z, y, m_mass[3], m_mass[1], m_mass[2], 0.88, 318.7, 0.0985, 1.4256,
69 DK2piRes[12] =
resAmp( x, z, y, m_mass[3], m_mass[1], m_mass[2], 1.39, 103, 0.322, 1.717,
71 DK2piRes[13] =
resAmp( y, z, x, m_mass[2], m_mass[1], m_mass[3], 0.144, 320.3, 0.0508,
73 DK2piRes[14] =
resAmp( y, z, x, m_mass[2], m_mass[1], m_mass[3], 0.45, 254, 0.232, 1.414,
75 DK2piRes[15] =
resAmp( y, z, x, m_mass[2], m_mass[1], m_mass[3], 0.47, 88, 0.294, 1.412,
77 DK2piRes[16] =
resAmp( y, z, x, m_mass[2], m_mass[1], m_mass[3], 0.25, 265, 0.0985, 1.4256,
79 DK2piRes[17] =
resAmp( y, z, x, m_mass[2], m_mass[1], m_mass[3], 1.2, 118, 0.322, 1.717,
82 double pi180inv = 3.1415926 / 180.;
83 DK2piRes[18] =
TComplex( 3.0 *
cos( 164 * pi180inv ), 3.0 *
sin( 164 * pi180inv ) );
85 for (
int i = 0; i < 19; i++ ) { D0 += DK2piRes[i]; }
145 double m_mass[4] = { 1.86450, 0.497648, 0.139570, 0.139570 };
146 double m_mass2[4] = { 1.86450 * 1.86450, 0.497648 * 0.497648, 0.139570 * 0.139570,
147 0.139570 * 0.139570 };
149 double m_XmaxDP = m_mass[0] - m_mass[3];
150 m_XmaxDP *= m_XmaxDP;
151 double m_XminDP = m_mass[1] + m_mass[2];
152 m_XminDP *= m_XminDP;
154 if ( ( x > m_XmaxDP ) || ( x < m_XminDP ) )
return false;
158 double HInv_m12 = 0.5 / sqrt( x );
159 double E1 = HInv_m12 * ( x + m_mass2[1] - m_mass2[2] );
160 double E3 = HInv_m12 * ( m_mass2[0] - m_mass2[3] - x );
161 double E1_2 = E1 * E1;
162 double E3_2 = E3 * E3;
164 if ( E1 < m_mass[1] )
169 if ( E3 < m_mass[3] )
175 double temp = E1_2 - m_mass2[1];
176 if ( temp < 0 ) temp = 0;
177 double P1 = sqrt( temp );
178 temp = E3_2 - m_mass2[3];
179 if ( temp < 0 ) temp = 0;
180 double P3 = sqrt( temp );
181 double E13_2 = ( E1 + E3 ) * ( E1 + E3 );
184 Low = E13_2 - ( P1 + P3 ) * ( P1 + P3 );
185 Up = E13_2 - ( P1 - P3 ) * ( P1 - P3 );
187 if ( ( y > Up ) || ( y < Low ) )
return false;
195 double m_mass[4] = { 1.86450, 0.497648, 0.139570, 0.139570 };
196 double m_mass2[4] = { 1.86450 * 1.86450, 0.497648 * 0.497648, 0.139570 * 0.139570,
197 0.139570 * 0.139570 };
199 double m_XmaxDP = m_mass[0] - m_mass[3];
200 m_XmaxDP *= m_XmaxDP;
201 double m_XminDP = m_mass[1] + m_mass[2];
202 m_XminDP *= m_XminDP;
204 if ( ( x > m_XmaxDP ) || ( x < m_XminDP ) )
return false;
208 double HInv_m12 = 0.5 / sqrt( x );
209 double E1 = HInv_m12 * ( x + m_mass2[1] - m_mass2[2] );
210 double E3 = HInv_m12 * ( m_mass2[0] - m_mass2[3] - x );
211 double E1_2 = E1 * E1;
212 double E3_2 = E3 * E3;
214 if ( E1 < m_mass[1] )
219 if ( E3 < m_mass[3] )
225 double temp = E1_2 - m_mass2[1];
226 if ( temp < 0 ) temp = 0;
227 double P1 = sqrt( temp );
228 temp = E3_2 - m_mass2[3];
229 if ( temp < 0 ) temp = 0;
230 double P3 = sqrt( temp );
231 double E13_2 = ( E1 + E3 ) * ( E1 + E3 );
233 Low = E13_2 - ( P1 + P3 ) * ( P1 + P3 );
234 Up = E13_2 - ( P1 - P3 ) * ( P1 - P3 );
236 if ( ( y > ( Up + 0.05 ) ) || ( y < ( Low - 0.05 ) ) )
return false;
339 double _ampl,
double _theta,
double _gamma,
double _bwm,
int _spin ) {
341 double pi180inv = 3.1415926 / 180.;
348 double gammaR = _gamma;
350 double temp = ( mAB * mAB - mA * mA - mB * mB ) * ( mAB * mAB - mA * mA - mB * mB ) / 4.0 -
352 if ( temp < 0 ) temp = 0;
353 double pAB = sqrt( temp / ( mAB * mAB ) );
355 temp = ( mR * mR - mA * mA - mB * mB ) * ( mR * mR - mA * mA - mB * mB ) / 4.0 -
357 if ( temp < 0 ) temp = 0;
358 double pR = sqrt( temp / ( mR * mR ) );
360 temp = ( mD * mD - mR * mR - mC * mC ) * ( mD * mD - mR * mR - mC * mC ) / 4.0 -
362 if ( temp < 0 ) temp = 0;
363 double pD = sqrt( temp / ( mD * mD ) );
365 temp = ( mD * mD - mAB * mAB - mC * mC ) * ( mD * mD - mAB * mAB - mC * mC ) / 4.0 -
367 if ( temp < 0 ) temp = 0;
368 double pDAB = sqrt( temp / ( mD * mD ) );
381 fR = sqrt( 1.0 + 1.5 * 1.5 * pR * pR ) / sqrt( 1.0 + 1.5 * 1.5 * pAB * pAB );
382 fD = sqrt( 1.0 + 5.0 * 5.0 * pD * pD ) / sqrt( 1.0 + 5.0 * 5.0 * pDAB * pDAB );
386 fR = sqrt( ( 9 + 3 * pow( ( 1.5 * pR ), 2 ) + pow( ( 1.5 * pR ), 4 ) ) /
387 ( 9 + 3 * pow( ( 1.5 * pAB ), 2 ) + pow( ( 1.5 * pAB ), 4 ) ) );
388 fD = sqrt( ( 9 + 3 * pow( ( 5.0 * pD ), 2 ) + pow( ( 5.0 * pD ), 4 ) ) /
389 ( 9 + 3 * pow( ( 5.0 * pDAB ), 2 ) + pow( ( 5.0 * pDAB ), 4 ) ) );
394 double gammaAB = gammaR * pow( pAB / pR, power ) * ( mR / mAB ) * fR * fR;
399 ampl = _ampl *
TComplex(
cos( _theta * pi180inv ),
sin( _theta * pi180inv ) ) * fR * fD /
400 ( mR * mR - mAB * mAB -
TComplex( 0.0, mR * gammaAB ) );
403 ampl = _ampl *
TComplex(
cos( _theta * pi180inv ),
sin( _theta * pi180inv ) ) * fR * fD *
404 ( mAC * mAC - mBC * mBC +
405 ( mD * mD - mC * mC ) * ( mB * mB - mA * mA ) / ( mR * mR ) ) /
406 ( mR * mR - mAB * mAB -
TComplex( 0.0, mR * gammaAB ) );
409 ampl = _ampl *
TComplex(
cos( _theta * pi180inv ),
sin( _theta * pi180inv ) ) * fR * fD /
410 ( mR * mR - mAB * mAB -
TComplex( 0.0, mR * gammaAB ) ) *
411 ( pow( ( mBC * mBC - mAC * mAC +
412 ( mD * mD - mC * mC ) * ( mA * mA - mB * mB ) / ( mR * mR ) ),
415 ( mAB * mAB - 2 * mD * mD - 2 * mC * mC +
416 pow( ( mD * mD - mC * mC ) / mR, 2 ) ) *
417 ( mAB * mAB - 2 * mA * mA - 2 * mB * mB +
418 pow( ( mA * mA - mB * mB ) / mR, 2 ) ) );
449 double gamma_r,
double m_r ) {
451 double pi180inv = 3.1415926 / 180.;
452 double m_pi = 0.139570;
453 double m_k = 0.497648;
455 double num, m_a,
m_b, m_c, m2_ab, m2_ac, m2_bc;
456 double m_ab, m_ac, m_bc, m2_a, m2_b, m2_c, m2_d;
473 num = m2_ac - m2_bc + ( m2_d - m2_c ) * ( m2_b - m2_a ) / ( m_r * m_r );
475 double pi,
m2, m_pi2, ss, ppi2, p02, ppi, p0;
476 double d, hs, hm, dhdq,
f, gamma_s, dr, di;
478 pi = 3.14159265358979;
484 ppi2 = ( m2_ab - 4. * m_pi2 ) / 4.;
485 p02 = (
m2 - 4. * m_pi2 ) / 4.;
489 d = 3. * m_pi2 /
pi / p02 * log( ( m_r + 2. * p0 ) / 2. /
m_pi ) + m_r / 2. /
pi / p0 -
490 m_pi2 * m_r /
pi / ( p0 * p0 * p0 );
492 hs = 2. * ppi /
pi / ss * log( ( ss + 2. * ppi ) / 2. /
m_pi );
493 hm = 2. * p0 /
pi / m_r * log( ( m_r + 2. * p0 ) / 2. /
m_pi );
495 dhdq = hm * ( 1. / 8. / p02 - 1. / 2. /
m2 ) + 1. / 2. /
pi /
m2;
497 f = gamma_r * m_r * m_r / ( p0 * p0 * p0 ) *
498 ( ppi2 * ( hs - hm ) - p02 * ( m2_ab -
m2 ) * dhdq );
500 gamma_s = gamma_r *
m2 * ppi * ppi * ppi / ss / ( p0 * p0 * p0 );
506 ampl = _ampl *
TComplex(
cos( _theta * pi180inv ),
sin( _theta * pi180inv ) ) * ampl;
512 double _theta,
double gamma_r,
double m_r ) {
514 double pi180inv = 3.1415926 / 180.;
515 double m_pi = 0.139570;
516 double m_k = 0.497648;
518 double num, m_a,
m_b, m_c, m2_ab, m2_ac, m2_bc;
519 double m_ab, m_ac, m_bc, m2_a, m2_b, m2_c, m2_d;
536 num = m2_ac - m2_bc + ( m2_d - m2_c ) * ( m2_b - m2_a ) / ( m_r * m_r );
544 double temp = ( mAB * mAB - mA * mA - mB * mB ) * ( mAB * mAB - mA * mA - mB * mB ) / 4.0 -
546 if ( temp < 0 ) temp = 0;
547 double pAB = sqrt( temp / ( mAB * mAB ) );
549 temp = ( mR * mR - mA * mA - mB * mB ) * ( mR * mR - mA * mA - mB * mB ) / 4.0 -
551 if ( temp < 0 ) temp = 0;
552 double pR = sqrt( temp / ( mR * mR ) );
554 temp = ( mD * mD - mR * mR - mC * mC ) * ( mD * mD - mR * mR - mC * mC ) / 4.0 -
556 if ( temp < 0 ) temp = 0;
557 double pD = sqrt( temp / ( mD * mD ) );
559 temp = ( mD * mD - mAB * mAB - mC * mC ) * ( mD * mD - mAB * mAB - mC * mC ) / 4.0 -
561 if ( temp < 0 ) temp = 0;
562 double pDAB = sqrt( temp / ( mD * mD ) );
564 double fR = sqrt( 1.0 + 1.5 * 1.5 * pR * pR ) / sqrt( 1.0 + 1.5 * 1.5 * pAB * pAB );
565 double fD = sqrt( 1.0 + 5.0 * 5.0 * pD * pD ) / sqrt( 1.0 + 5.0 * 5.0 * pDAB * pDAB );
568 double pi,
m2, m_pi2, ss, ppi2, p02, ppi, p0;
569 double d, hs, hm, dhdq,
f, gamma_s, dr, di;
571 pi = 3.14159265358979;
577 ppi2 = ( m2_ab - 4. * m_pi2 ) / 4.;
578 p02 = (
m2 - 4. * m_pi2 ) / 4.;
579 if ( p02 < 0 ) p02 = 0;
580 if ( ppi2 < 0 ) ppi2 = 0;
584 d = 3. * m_pi2 /
pi / p02 * log( ( m_r + 2. * p0 ) / 2. /
m_pi ) + m_r / 2. /
pi / p0 -
585 m_pi2 * m_r /
pi / ( p0 * p0 * p0 );
587 hs = 2. * ppi /
pi / ss * log( ( ss + 2. * ppi ) / 2. /
m_pi );
588 hm = 2. * p0 /
pi / m_r * log( ( m_r + 2. * p0 ) / 2. /
m_pi );
590 dhdq = hm * ( 1. / 8. / p02 - 1. / 2. /
m2 ) + 1. / 2. /
pi /
m2;
592 f = gamma_r * m_r * m_r / ( p0 * p0 * p0 ) *
593 ( ppi2 * ( hs - hm ) - p02 * ( m2_ab -
m2 ) * dhdq );
595 gamma_s = gamma_r *
m2 * ppi * ppi * ppi / ss / ( p0 * p0 * p0 );
601 num *= fR * fD * ( 1 + d * gamma_r / m_r );
604 ampl = _ampl *
TComplex(
cos( _theta * pi180inv ),
sin( _theta * pi180inv ) ) * ampl;
611 double mC,
double _ampl,
double _theta,
double _gamma,
612 double _bwm,
int _spin ) {
614 double pi180inv = 3.1415926 / 180.;
621 double gammaR = _gamma;
623 double temp = ( mAB * mAB - mA * mA - mB * mB ) * ( mAB * mAB - mA * mA - mB * mB ) / 4.0 -
625 if ( temp < 0 ) temp = 0;
626 double pAB = sqrt( temp / ( mAB * mAB ) );
628 temp = ( mR * mR - mA * mA - mB * mB ) * ( mR * mR - mA * mA - mB * mB ) / 4.0 -
630 if ( temp < 0 ) temp = 0;
631 double pR = sqrt( temp / ( mR * mR ) );
633 temp = ( mD * mD - mR * mR - mC * mC ) * ( mD * mD - mR * mR - mC * mC ) / 4.0 -
635 if ( temp < 0 ) temp = 0;
636 double pD = sqrt( temp / ( mD * mD ) );
638 temp = ( mD * mD - mAB * mAB - mC * mC ) * ( mD * mD - mAB * mAB - mC * mC ) / 4.0 -
640 if ( temp < 0 ) temp = 0;
641 double pDAB = sqrt( temp / ( mD * mD ) );
654 fR = sqrt( 1.0 + 1.5 * 1.5 * pR * pR ) / sqrt( 1.0 + 1.5 * 1.5 * pAB * pAB );
655 fD = sqrt( 1.0 + 5.0 * 5.0 * pD * pD ) / sqrt( 1.0 + 5.0 * 5.0 * pDAB * pDAB );
659 fR = sqrt( ( 9 + 3 * pow( ( 1.5 * pR ), 2 ) + pow( ( 1.5 * pR ), 4 ) ) /
660 ( 9 + 3 * pow( ( 1.5 * pAB ), 2 ) + pow( ( 1.5 * pAB ), 4 ) ) );
661 fD = sqrt( ( 9 + 3 * pow( ( 5.0 * pD ), 2 ) + pow( ( 5.0 * pD ), 4 ) ) /
662 ( 9 + 3 * pow( ( 5.0 * pDAB ), 2 ) + pow( ( 5.0 * pDAB ), 4 ) ) );
667 double gammaAB = gammaR * pow( pAB / pR, power ) * ( mR / mAB ) * fR * fR;
672 ampl = _ampl *
TComplex(
cos( _theta * pi180inv ),
sin( _theta * pi180inv ) ) * fR * fD /
673 ( mR * mR - mAB * mAB -
TComplex( 0.0, mR * gammaAB ) );
676 ampl = _ampl *
TComplex(
cos( _theta * pi180inv ),
sin( _theta * pi180inv ) ) * fR * fD *
677 ( mAC * mAC - mBC * mBC +
678 ( mD * mD - mC * mC ) * ( mB * mB - mA * mA ) / ( mAB * mAB ) ) /
679 ( mR * mR - mAB * mAB -
TComplex( 0.0, mR * gammaAB ) );
682 ampl = _ampl *
TComplex(
cos( _theta * pi180inv ),
sin( _theta * pi180inv ) ) * fR * fD /
683 ( mR * mR - mAB * mAB -
TComplex( 0.0, mR * gammaAB ) ) *
684 ( pow( ( mBC * mBC - mAC * mAC +
685 ( mD * mD - mC * mC ) * ( mA * mA - mB * mB ) / ( mAB * mAB ) ),
688 ( mAB * mAB - 2 * mD * mD - 2 * mC * mC +
689 pow( ( mD * mD - mC * mC ) / mAB, 2 ) ) *
690 ( mAB * mAB - 2 * mA * mA - 2 * mB * mB +
691 pow( ( mA * mA - mB * mB ) / mAB, 2 ) ) );
703 double m_mass[4] = { 1.86450, 0.497648, 0.139570, 0.139570 };
713 DK2piRes[0] =
Babar_sakurai( x, y, z, 1.00, 0.0, 0.1464, 0.7758 );
714 DK2piRes[1] =
Babar_resAmp( x, y, z, m_mass[3], m_mass[2], m_mass[1], 0.0391, 115.3, 0.00849,
716 DK2piRes[2] =
Babar_resAmp( x, y, z, m_mass[3], m_mass[2], m_mass[1], 0.482, -141.8, 0.044,
718 DK2piRes[3] =
Babar_resAmp( x, y, z, m_mass[3], m_mass[2], m_mass[1], 0.922, -21.3, 0.1851,
720 DK2piRes[4] =
Babar_resAmp( x, y, z, m_mass[3], m_mass[2], m_mass[1], 2.25, 113.2, 0.173,
722 DK2piRes[5] =
Babar_sakurai( x, y, z, 0.52, 38, 0.455, 1.406 );
723 DK2piRes[6] =
Babar_resAmp( x, y, z, m_mass[3], m_mass[2], m_mass[1], 1.36, -177.9, 0.383,
725 DK2piRes[7] =
Babar_resAmp( x, y, z, m_mass[3], m_mass[2], m_mass[1], 0.340, 153.0, 0.088,
727 DK2piRes[8] =
Babar_resAmp( x, z, y, m_mass[3], m_mass[1], m_mass[2], 1.781, 131.0, 0.0508,
729 DK2piRes[9] =
Babar_resAmp( x, z, y, m_mass[3], m_mass[1], m_mass[2], 0.52, 154, 0.232,
731 DK2piRes[10] =
Babar_resAmp( x, z, y, m_mass[3], m_mass[1], m_mass[2], 2.45, -8.3, 0.294,
733 DK2piRes[11] =
Babar_resAmp( x, z, y, m_mass[3], m_mass[1], m_mass[2], 1.05, -54.3, 0.0985,
735 DK2piRes[12] =
Babar_resAmp( x, z, y, m_mass[3], m_mass[1], m_mass[2], 0.89, -139, 0.322,
737 DK2piRes[13] =
Babar_resAmp( y, z, x, m_mass[2], m_mass[1], m_mass[3], 0.180, -44.1, 0.0508,
739 DK2piRes[14] =
Babar_resAmp( y, z, x, m_mass[2], m_mass[1], m_mass[3], 0.37, 18, 0.294,
741 DK2piRes[15] =
Babar_resAmp( y, z, x, m_mass[2], m_mass[1], m_mass[3], 0.075, -104, 0.0985,
744 double pi180inv = 3.1415926 / 180.;
745 DK2piRes[16] =
TComplex( 3.53 *
cos( 128 * pi180inv ), 3.53 *
sin( 128 * pi180inv ) );
747 for (
int i = 0; i < 17; i++ ) { D0 += DK2piRes[i]; }