36 double* fpf,
double* f0f )
95 if ( daught == PI0 || daught == PIP || daught == PIM || daught == ETA ||
96 daught == ETAPR || daught == D0 || daught == D0B || daught == DP ||
97 daught == DM || daught == KP || daught == KM || daught == K0 ||
98 daught == K0S || daught == K0L || daught == KB || daught == DSP ||
103 if ( daught == PI2S0 || daught == PI2SP || daught == PI2SM ||
104 daught == ETA2S || daught == D21S0P || daught == D21S0B ||
105 daught == D21S0N || daught == D21S00 ) {
109 if ( daught == A00 || daught == A0P || daught == A0M || daught == F0 ||
110 daught == F0PR || daught == D3P0P || daught == D3P00 ||
111 daught == D3P0B || daught == D3P0N || daught == K0STM ||
112 daught == K0STB || daught == K0STP || daught == D3P0SP ||
113 daught == D3P0SN || daught == K0ST0 ) {
117 *f0f = ( fmf / ( ( mb * mb - mass * mass ) / t ) ) + ( *fpf );
123 double* hf,
double* kf,
double* bpf,
double* bmf )
132 double* a1f,
double* a2f,
double* vf,
double* a0f )
134 double ff, gf, apf, amf;
208 if ( daught == DST0 || daught == DSTP || daught == DSTM || daught == DSTB ||
209 daught == OMEG || daught == RHO0 || daught == RHOM || daught == RHOP ||
210 daught == KSTP || daught == KSTM || daught == KST0 || daught == KSTB ||
211 daught == PHI || daught == DSSTP || daught == DSSTM ) {
212 EvtISGW2FF3S1( parent, daught, t, mass, &ff, &gf, &apf, &amf );
214 if ( daught == B10 || daught == B1P || daught == B1M || daught == H1 ||
215 daught == H1PR || daught == D1P1P || daught == D1P10 || daught == D1P1B ||
216 daught == D1P1SP || daught == D1P1SN || daught == D1P1N ||
217 daught == K10 || daught == K1B || daught == K1P || daught == K1M ) {
218 EvtISGW2FF1P1( parent, daught, t, mass, &ff, &gf, &apf, &amf );
220 if ( daught == RHO2S0 || daught == RHO2SP || daught == RHO2SM ||
221 daught == OMEG2S || daught == D23S1P || daught == D23S1B ||
222 daught == D23S1N || daught == D23S10 ) {
225 if ( daught == A10 || daught == A1P || daught == A1M || daught == F1 ||
226 daught == F1PR || daught == D3P1P || daught == D3P10 ||
227 daught == D3P1B || daught == D3P1N || daught == K1STM ||
228 daught == K1STB || daught == K1STP || daught == D3P1SP ||
229 daught == D3P1SN || daught == K1ST0 ) {
230 EvtISGW2FF3P1( parent, daught, t, mass, &ff, &gf, &apf, &amf );
238 *vf = ( gf ) * ( mb + mass );
239 *a1f = ( ff ) / ( mb + mass );
240 *a2f = -1.0 * ( apf ) * ( mb + mass );
242 double a3f = ( ( mb + mass ) / ( 2.0 * mass ) ) * ( *a1f ) -
243 ( ( mb - mass ) / ( 2.0 * mass ) ) * ( *a2f );
245 *a0f = a3f + ( ( t * amf ) / ( 2.0 * mass ) );
251 double mass,
double* fpf,
double* fmf )
253 double mtb, mbb( 0.0 );
254 double msd( 0.0 ), mx, mb, nf( 0.0 ), nfp( 0.0 );
255 double msq( 0.0 ), bx2( 0.0 ), mbx( 0.0 ), mtx;
256 double zji, cji, gammaji, chiji, betaji_fppfm;
257 double rfppfm, rfpmfm, f3fppfm, f3fpmfm, fppfm, fpmfm, ai, f3;
258 double mqm, msb( 0.0 ), bb2( 0.0 ), mup, bbx2, tm, r2, betaji_fpmfm;
264 static EvtIdSet theB(
"B+",
"B-",
"B0",
"anti-B0" );
298 if ( dgt == PI0 || dgt == PIP || dgt == PIM || dgt == ETA ||
302 mbx = 0.75 * 0.770 + 0.25 * 0.14;
305 if ( dgt == D0 || dgt == D0B || dgt == DP || dgt == DM ) {
308 mbx = 0.75 * 2.01 + 0.25 * 1.87;
312 <<
"Not implemented daugt:" << daugt.
getId()
313 <<
" in get_isgw_ff_1S0.\n";
317 if ( prnt == D0 || prnt == D0B || prnt == DP || prnt == DM ) {
324 if ( dgt == PIP || dgt == PIM || dgt == PI0 || dgt == ETA ||
328 mbx = 0.75 * 0.770 + 0.25 * 0.14;
331 if ( dgt == K0 || dgt == K0S || dgt == K0L || dgt == KB ||
332 dgt == KP || dgt == KM ) {
335 mbx = 0.75 * 0.892 + 0.25 * 0.49767;
339 <<
"Not implemented daugt:" << daugt.
getId()
340 <<
" in get_isgw_ff_1S0.\n";
344 if ( prnt == DSP || prnt == DSM ) {
351 if ( dgt == K0 || dgt == K0S || dgt == K0L || dgt == KB ) {
354 mbx = 0.75 * 0.770 + 0.25 * 0.14;
357 if ( dgt == PI0 || dgt == ETA || dgt == ETAPR ) {
360 mbx = 0.75 * 0.892 + 0.25 * 0.49767;
364 <<
"Not implemented daugt:" << daugt.
getId()
365 <<
" in get_isgw_ff_1S0.\n";
370 if ( prnt == BS0 || prnt == BSB ) {
377 if ( dgt == DSP || dgt == DSM ) {
380 mbx = 0.75 * 2.11 + 0.25 * 1.97;
382 }
else if ( dgt == KP || dgt == KM ) {
385 mbx = 0.75 * 0.892 + 0.25 * 0.49767;
389 <<
"Not implemented daugt:" << daugt.
getId()
390 <<
" in get_isgw_ff_1S0.\n";
396 <<
"Not implemented parent in get_isgw_ff_1S0.\n";
398 <<
"Parent:" << parent.
getId() << endl;
409 mup = 1.0 / ( 1.0 / msq + 1.0 / msb );
410 bbx2 = 0.5 * ( bb2 + bx2 );
411 tm = ( mb - mx ) * ( mb - mx );
416 r2 = 3.0 / ( 4.0 * msb * msq ) + 3 * msd * msd / ( 2 * mbb * mbx * bbx2 ) +
417 ( 16.0 / ( mbb * mbx * ( 33.0 - 2.0 * nfp ) ) ) *
420 f3 = sqrt( mtx / mtb ) * pow( sqrt( bx2 * bb2 ) / bbx2, 1.5 ) /
421 ( ( 1.0 + r2 * ( tm - t ) / 12.0 ) * ( 1.0 + r2 * ( tm - t ) / 12.0 ) );
426 ai = -1.0 * ( 6.0 / ( 33.0 - 2.0 * nf ) );
432 chiji = -1.0 - ( gammaji / ( 1 - zji ) );
433 betaji_fppfm = gammaji - ( 2.0 / 3.0 ) * chiji;
434 betaji_fpmfm = gammaji + ( 2.0 / 3.0 ) * chiji;
435 rfppfm = cji * ( 1.0 + betaji_fppfm *
EvtGetas( msq, sqrt( msb * msq ) ) /
437 rfpmfm = cji * ( 1.0 + betaji_fpmfm *
EvtGetas( msq, sqrt( msb * msq ) ) /
439 f3fppfm = f3 * pow( ( mbb / mtb ), -0.5 ) * pow( ( mbx / mtx ), 0.5 );
440 f3fpmfm = f3 * pow( ( mbb / mtb ), 0.5 ) * pow( ( mbx / mtx ), -0.5 );
441 fppfm = f3fppfm * rfppfm *
442 ( 2.0 - ( ( mtx / msq ) * ( 1 - ( ( msd * msq * bb2 ) /
443 ( 2.0 * mup * mtx * bbx2 ) ) ) ) );
444 fpmfm = f3fpmfm * rfpmfm * ( mtb / msq ) *
445 ( 1 - ( ( msd * msq * bb2 ) / ( 2.0 * mup * mtx * bbx2 ) ) );
447 *fpf = ( fppfm + fpmfm ) / 2.0;
448 *fmf = ( fppfm - fpmfm ) / 2.0;
454 double* f,
double* g,
double* ap,
double* am )
491 double cf( 0.0 ), mtb, wt, msd( 0.0 ), mup, f3f, msq( 0.0 ), bb2( 0.0 ),
493 double cji, bx2( 0.0 ), f3appam, msb( 0.0 ), tm, mbb( 0.0 ), mbx( 0.0 );
494 double f3apmam, appam, apmam, mb, mx, f3;
495 double r_f, r_g, r_apmam, betaji_f, betaji_g;
496 double betaji_appam, betaji_apmam;
497 double mqm, r2, chiji, zji, ai, nf( 0.0 ), nfp( 0.0 ), gammaji;
502 if ( parent == B0 || parent == B0B || parent == BP || parent == BM ) {
509 if ( dgt == DST0 || dgt == DSTP || dgt == DSTM || dgt == DSTB ) {
513 mbx = 0.75 * 2.01 + 0.25 * 1.87;
516 if ( dgt == OMEG || dgt == RHO0 || dgt == RHOM || dgt == RHOP ) {
520 mbx = 0.75 * 0.770 + 0.25 * 0.14;
524 <<
"Not implemented daugt:" << daugt.
getId()
525 <<
" in get_isgw_ff_3S1.\n";
529 if ( prnt == D0 || prnt == D0B || prnt == DP || prnt == DM ) {
536 if ( dgt == KSTP || dgt == KSTM || dgt == KST0 || dgt == KSTB ) {
540 mbx = 0.75 * 0.892 + 0.25 * 0.494;
543 if ( dgt == RHO0 || dgt == OMEG || dgt == RHOM || dgt == RHOP ) {
547 mbx = 0.75 * 0.770 + 0.25 * 0.14;
551 <<
"Not implemented daugt:" << daugt.
getId()
552 <<
" in get_isgw_ff_3S1.\n";
556 if ( prnt == DSP || prnt == DSM ) {
563 if ( dgt == KSTB || dgt == KST0 ) {
578 <<
"Not implemented daugt:" << daugt.
getId()
579 <<
" in get_isgw_ff_3S1.\n";
584 if ( prnt == BS0 || prnt == BSB ) {
591 if ( dgt == DSSTP || dgt == DSSTM ) {
595 mbx = 0.75 * 2.11 + 0.25 * 1.97;
597 }
else if ( dgt == KSTP || dgt == KSTM || dgt == KST0 ||
602 mbx = 0.75 * 0.892 + 0.25 * 0.494;
606 <<
"Not implemented daugt:" << daugt.
getId()
607 <<
" in get_isgw_ff_1S0.\n";
613 <<
"Not implemented parent in get_isgw2_ff_3S1.\n";
622 mup = 1.0 / ( 1.0 / msq + 1.0 / msb );
623 mum = 1.0 / ( 1.0 / msq - 1.0 / msb );
624 bbx2 = 0.5 * ( bb2 + bx2 );
627 tm = ( mb - mx ) * ( mb - mx );
631 wt = 1.0 + ( tm - t ) / ( 2.0 * mbb * mbx );
634 r2 = 3.0 / ( 4.0 * msb * msq ) + 3 * msd * msd / ( 2 * mbb * mbx * bbx2 ) +
635 ( 16.0 / ( mbb * mbx * ( 33.0 - 2.0 * nfp ) ) ) *
638 ai = -1.0 * ( 6.0 / ( 33.0 - 2.0 * nf ) );
645 chiji = -1.0 - ( gammaji / ( 1 - zji ) );
647 betaji_g = ( 2.0 / 3.0 ) + gammaji;
648 betaji_f = ( -2.0 / 3.0 ) + gammaji;
649 betaji_appam = -1.0 - chiji + ( 4.0 / ( 3.0 * ( 1.0 - zji ) ) ) +
650 ( 2.0 * ( 1 + zji ) * gammaji /
651 ( 3.0 * ( 1.0 - zji ) * ( 1.0 - zji ) ) );
653 betaji_apmam = ( 1.0 / 3.0 ) - chiji - ( 4.0 / ( 3.0 * ( 1.0 - zji ) ) ) -
654 ( 2.0 * ( 1 + zji ) * gammaji /
655 ( 3.0 * ( 1.0 - zji ) * ( 1.0 - zji ) ) ) +
658 r_g = cji * ( 1 + ( betaji_g *
EvtGetas( msq, sqrt( mb * msq ) ) /
660 r_f = cji * ( 1 + ( betaji_f *
EvtGetas( msq, sqrt( mb * msq ) ) /
662 r_apmam = cji * ( 1 + ( betaji_apmam *
EvtGetas( msq, sqrt( mb * msq ) ) /
665 f3 = sqrt( mtx / mtb ) * pow( sqrt( bx2 * bb2 ) / bbx2, 1.5 ) /
666 ( ( 1.0 + r2 * ( tm - t ) / 12.0 ) * ( 1.0 + r2 * ( tm - t ) / 12.0 ) );
668 f3f = sqrt( mbx * mbb / ( mtx * mtb ) ) * f3;
669 f3g = sqrt( mtx * mtb / ( mbx * mbb ) ) * f3;
670 f3appam = sqrt( mtb * mtb * mtb * mbx / ( mbb * mbb * mbb * mtx ) ) * f3;
671 f3apmam = sqrt( mtx * mtb / ( mbx * mbb ) ) * f3;
672 *f = cf * mtb * ( 1 + wt + msd * ( wt - 1 ) / ( 2 * mup ) ) * f3f * r_f;
673 *g = 0.5 * ( 1 / msq - msd * bb2 / ( 2 * mum * mtx * bbx2 ) ) * f3g * r_g;
676 ( msd * bx2 * ( 1 - msd * bx2 / ( 2 * mtb * bbx2 ) ) /
677 ( ( 1 + wt ) * msq * msb * bbx2 ) -
678 betaji_appam *
EvtGetas( msq, sqrt( msq * mb ) ) /
683 ( mtb / msb - msd * bx2 / ( 2 * mup * bbx2 ) +
684 wt * msd * mtb * bx2 * ( 1 - msd * bx2 / ( 2 * mtb * bbx2 ) ) /
685 ( ( wt + 1 ) * msq * msb * bbx2 ) ) *
686 f3apmam * r_apmam / mtx;
688 *ap = 0.5 * ( appam + apmam );
689 *am = 0.5 * ( appam - apmam );
694 double mass,
double* fppf,
double* fpmf )
718 double mtb, mbb( 0.0 );
719 double msd( 0.0 ), mx, mb, nfp( 0.0 );
720 double msq( 0.0 ), bx2( 0.0 ), mbx( 0.0 ), mtx;
721 double f3fppfm, f3fpmfm, fppfm, fpmfm, f3;
722 double mqm, msb( 0.0 );
723 double r2, wt, tm, bb2( 0.0 ), bbx2;
724 double tau, udef, vdef;
729 if ( prnt == B0 || prnt == B0B || prnt == BP || prnt == BM ) {
733 mbb = 0.75 * 5.325 + 0.25 * 5.279;
735 if ( dgt == PI2S0 || dgt == PI2SP || dgt == PI2SM || dgt == ETA2S ) {
738 mbx = 0.75 * 1.45 + 0.25 * 1.300;
741 if ( dgt == D21S0P || dgt == D21S0B || dgt == D21S0N ||
745 mbx = 0.75 * 2.64 + 0.25 * 2.58;
749 <<
"Not implemented daugt in get_EvtISGW2_ff_21S0.\n";
753 if ( prnt == D0 || prnt == D0B || prnt == DP || prnt == DM ) {
758 if ( dgt == PI2SP || dgt == PI2SM || dgt == PI2S0 || dgt == ETA2S ) {
761 mbx = 0.75 * 1.45 + 0.25 * 1.300;
765 <<
"Not implemented daugt in get_EvtISGW2_ff_21S0.\n";
769 <<
"Not implemented parent in get_EvtISGW2_ff_21S0.\n";
779 bbx2 = 0.5 * ( bb2 + bx2 );
780 tm = ( mb - mx ) * ( mb - mx );
783 wt = 1.0 + ( tm - t ) / ( 2.0 * mbb * mbx );
786 r2 = 3.0 / ( 4.0 * msb * msq ) + 3 * msd * msd / ( 2 * mbb * mbx * bbx2 ) +
787 ( 16.0 / ( mbb * mbx * ( 33.0 - 2.0 * nfp ) ) ) *
790 f3 = sqrt( mtx / mtb ) * pow( sqrt( bx2 * bb2 ) / bbx2, 3.0 / 2.0 ) /
791 ( pow( ( 1.0 + r2 * ( tm - t ) / 24.0 ), 4.0 ) );
793 f3fppfm = f3 * pow( ( mbb / mtb ), -0.5 ) * pow( ( mbx / mtx ), 0.5 );
794 f3fpmfm = f3 * pow( ( mbb / mtb ), 0.5 ) * pow( ( mbx / mtx ), -0.5 );
796 tau = msd * msd * bx2 * ( wt - 1 ) / ( bb2 * bbx2 );
797 udef = ( ( bb2 - bx2 ) / ( 2.0 * bbx2 ) ) +
798 ( ( bb2 * tau ) / ( 3.0 * bbx2 ) );
799 vdef = ( bb2 * ( 1.0 + ( msq / msb ) ) / ( 6.0 * bbx2 ) ) *
800 ( 7.0 - ( ( bb2 / bbx2 ) * ( 5 + tau ) ) );
802 fppfm = f3fppfm * sqrt( 1.5 ) *
803 ( ( 1.0 - ( msd / msq ) ) * udef - ( msd * vdef / msq ) );
804 fpmfm = f3fpmfm * sqrt( 1.5 ) * ( mtb / msq ) *
805 ( udef + ( msd * vdef / mtx ) );
807 *fppf = ( fppfm + fpmfm ) / 2.0;
808 *fpmf = ( fppfm - fpmfm ) / 2.0;
814 double mass,
double* fpf,
double* gpf,
815 double* appf,
double* apmf )
838 double mtb, mbb( 0.0 );
839 double msd( 0.0 ), mx, mb, nfp( 0.0 );
840 double msq( 0.0 ), bx2( 0.0 ), mbx( 0.0 ), mtx;
841 double f3appam, f3apmam, f3, appam, apmam, f3fp, f3gp;
842 double udef, tau, mum, bb2( 0.0 ), bbx2, tm, wt, mqm, r2, msb( 0.0 );
848 if ( prnt == B0 || prnt == B0B || prnt == BP || prnt == BM ) {
852 mbb = 0.75 * 5.325 + 0.25 * 5.279;
854 if ( dgt == RHO2S0 || dgt == RHO2SP || dgt == RHO2SM || dgt == OMEG2S ) {
858 mbx = 0.75 * 1.45 + 0.25 * 1.300;
862 if ( dgt == D23S1N || dgt == D23S1P || dgt == D23S1B ||
867 mbx = 0.75 * 2.64 + 0.25 * 2.58;
871 <<
"Not implemented daugt in get_isgw_ff_23P1.\n";
875 if ( prnt == D0 || prnt == D0B || prnt == DP || prnt == DM ) {
881 if ( dgt == RHO2S0 || dgt == RHO2SP || dgt == RHO2SM ||
886 mbx = 0.75 * 1.45 + 0.25 * 1.300;
890 <<
"Not implemented daugt in get_isgw_ff_23P1.\n";
894 <<
"Not implemented parent in get_isgw_ff_23P1.\n";
903 mum = 1.0 / ( 1.0 / msq - 1.0 / msb );
904 bbx2 = 0.5 * ( bb2 + bx2 );
905 tm = ( mb - mx ) * ( mb - mx );
909 wt = 1.0 + ( tm - t ) / ( 2.0 * mbb * mbx );
912 r2 = 3.0 / ( 4.0 * msb * msq ) + 3 * msd * msd / ( 2 * mbb * mbx * bbx2 ) +
913 ( 16.0 / ( mbb * mbx * ( 33.0 - 2.0 * nfp ) ) ) *
916 f3 = sqrt( mtx / mtb ) * pow( sqrt( bx2 * bb2 ) / bbx2, 3.0 / 2.0 ) /
917 ( pow( ( 1.0 + r2 * ( tm - t ) / 24.0 ), 4.0 ) );
919 f3fp = f3 * pow( ( mbb / mtb ), 0.5 ) * pow( ( mbx / mtx ), 0.5 );
920 f3gp = f3 * pow( ( mbb / mtb ), -0.5 ) * pow( ( mbx / mtx ), -0.5 );
921 f3appam = f3 * pow( ( mbb / mtb ), -1.5 ) * pow( ( mbx / mtx ), 0.5 );
922 f3apmam = f3 * pow( ( mbb / mtb ), -0.5 ) * pow( ( mbx / mtx ), -0.5 );
924 tau = msd * msd * bx2 * ( wt - 1.0 ) / ( bb2 * bbx2 );
925 udef = ( ( bb2 - bx2 ) / ( 2.0 * bbx2 ) );
926 udef = udef + ( ( bb2 * tau ) / ( 3.0 * bbx2 ) );
928 *fpf = cfp * sqrt( 1.5 ) * mtb * ( 1.0 + wt ) * udef * f3fp;
930 *gpf = sqrt( 3.0 / 8.0 ) * f3gp *
931 ( ( ( 1.0 / msq ) - ( ( msd * bb2 ) / ( 2.0 * mum * mtx * bbx2 ) ) ) *
933 ( ( msd * bb2 * bx2 ) / ( 3.0 * mum * mtx * bbx2 * bbx2 ) ) );
935 appam = f3appam * sqrt( 2.0 / 3.0 ) * ( bb2 / ( msq * msb * bbx2 ) ) *
936 ( ( -7.0 * msd * msd * bx2 * bx2 * ( 1.0 + ( tau / 7.0 ) ) /
937 ( 8.0 * mtb * bbx2 * bbx2 ) ) +
938 ( 5.0 * msd * bx2 * ( 1.0 + ( tau / 5.0 ) ) / ( 4.0 * bbx2 ) ) +
939 ( 3.0 * msd * msd * bx2 * bx2 / ( 8.0 * mtb * bb2 * bbx2 ) ) -
940 ( 3.0 * msd * bx2 / ( 4.0 * bb2 ) ) );
943 f3apmam * sqrt( 3.0 / 2.0 ) * ( mtb / ( msb * mtx ) ) *
944 ( 1.0 - ( bb2 * ( 1.0 + ( tau / 7.0 ) ) / bbx2 ) -
946 ( 1.0 - ( 5.0 * bb2 * ( 1.0 + ( tau / 5.0 ) ) / ( 3.0 * bbx2 ) ) ) /
947 ( 2.0 * mtb * bbx2 ) ) -
948 ( 7.0 * msd * msd * bb2 * bx2 / ( 12.0 * msq * mtb * bbx2 * bbx2 ) ) *
949 ( 1.0 - ( bx2 / bbx2 ) + ( bb2 * tau / ( 7.0 * bbx2 ) ) ) );
951 *appf = ( appam + apmam ) / 2.0;
952 *apmf = ( appam - apmam ) / 2.0;
957 double* rf,
double* vf,
double* spf,
double* smf )
993 double mtb, mbb( 0.0 );
994 double msd( 0.0 ), mx, mb, nfp( 0.0 );
995 double msq( 0.0 ), bx2( 0.0 ), mbx( 0.0 ), mtx, f5;
996 double f5sppsm, f5spmsm;
997 double f5v, f5r, mup, mum, vv, rr, spmsm, sppsm;
998 double mqm, msb( 0.0 ), bb2( 0.0 ), bbx2, tm, wt, r2;
1001 if ( prnt == B0 || prnt == B0B || prnt == BP || prnt == BM ) {
1004 bb2 = 0.431 * 0.431;
1006 if ( dgt == B10 || dgt == B1P || dgt == B1M || dgt == H1 || dgt == H1PR ) {
1008 bx2 = 0.275 * 0.275;
1009 mbx = ( 3.0 * 1.123 + 0.98 + 5.0 * 1.32 + 3.0 * 1.26 ) / 12.0;
1012 if ( dgt == D1P1P || dgt == D1P10 || dgt == D1P1B || dgt == D1P1N ) {
1015 mbx = ( 5.0 * 2.46 + 3.0 * 2.42 ) / 8.0;
1019 <<
"Not implemented daugt in get_isgw_ff_1P1.\n";
1023 if ( prnt == DM || prnt == DP || prnt == D0B || prnt == D0 ) {
1028 if ( dgt == B10 || dgt == B1P || dgt == B1M || dgt == H1 ||
1031 bx2 = 0.275 * 0.275;
1032 mbx = ( 3.0 * 1.123 + 0.98 + 5.0 * 1.32 + 3.0 * 1.26 ) / 12.0;
1035 if ( dgt == K10 || dgt == K1B || dgt == K1P || dgt == K1M ) {
1038 mbx = ( 3.0 * 1.27 + 1.43 + 5.0 * 1.43 + 3.0 * 1.4 ) / 12.0;
1042 <<
"Not implemented daugt in get_isgw_ff_1P1.\n";
1047 if ( prnt == BS0 || prnt == BSB ) {
1053 if ( dgt == D1P1SP || dgt == D1P1SN ) {
1056 mbx = ( 5.0 * 2.61 + 3.0 * 2.54 ) / 8.0;
1058 }
else if ( dgt == K10 || dgt == K1B || dgt == K1P ||
1062 mbx = ( 3.0 * 1.27 + 1.43 + 5.0 * 1.43 + 3.0 * 1.4 ) / 12.0;
1066 <<
"Not implemented daugt:" << daugt.
getId()
1067 <<
" in get_isgw_ff_1S0.\n";
1073 <<
"Not implemented parent in get_isgw_ff_1P1.\n";
1084 mup = 1.0 / ( 1.0 / msq + 1.0 / msb );
1085 mum = 1.0 / ( 1.0 / msq - 1.0 / msb );
1086 bbx2 = 0.5 * ( bb2 + bx2 );
1087 tm = ( mb - mx ) * ( mb - mx );
1090 wt = 1.0 + ( tm - t ) / ( 2.0 * mbb * mbx );
1093 r2 = 3.0 / ( 4.0 * msb * msq ) + 3 * msd * msd / ( 2 * mbb * mbx * bbx2 ) +
1094 ( 16.0 / ( mbb * mbx * ( 33.0 - 2.0 * nfp ) ) ) *
1097 f5 = sqrt( mtx / mtb ) * pow( sqrt( bx2 * bb2 ) / bbx2, 5.0 / 2.0 ) /
1098 ( pow( ( 1.0 + r2 * ( tm - t ) / 18.0 ), 3.0 ) );
1100 f5v = f5 * pow( ( mbb / mtb ), -0.5 ) * pow( ( mbx / mtx ), -0.5 );
1101 f5r = f5 * pow( ( mbb / mtb ), 0.5 ) * pow( ( mbx / mtx ), 0.5 );
1102 f5sppsm = f5 * pow( ( mbb / mtb ), -1.5 ) * pow( ( mbx / mtx ), 0.5 );
1103 f5spmsm = f5 * pow( ( mbb / mtb ), -0.5 ) * pow( ( mbx / mtx ), -0.5 );
1107 ( ( ( mtb * sqrt( bb2 ) ) / ( 4.0 * sqrt( 2.0 ) * msb * msq * mtx ) ) +
1108 ( ( ( wt - 1 ) * msd ) / ( 6.0 * sqrt( 2.0 * bb2 ) * mtx ) ) );
1110 rr = f5r * mtb * sqrt( bb2 / 2 ) *
1111 ( ( 1.0 / mup ) + ( ( msd * mtx * ( wt - 1 ) * ( wt - 1 ) ) /
1112 ( 3.0 * msq * bb2 ) ) );
1114 sppsm = msd * f5sppsm / ( sqrt( 2.0 * bb2 ) * mtb ) *
1115 ( 1.0 - ( msd / msq ) + ( ( msd * bb2 ) / ( 2.0 * mup * bbx2 ) ) );
1117 spmsm = msd * f5spmsm / ( sqrt( 2.0 * bb2 ) * msq ) *
1118 ( ( ( 4 - wt ) / 3.0 ) -
1119 ( ( msd * msq * bb2 ) / ( 2.0 * mtx * mup * bbx2 ) ) );
1122 vv = -1.0 * msd * f5v / ( 2.0 * sqrt( 3.0 * bb2 ) * mtx ) *
1123 ( ( wt + 1 ) / 2.0 + bb2 * mtb / ( 2.0 * msd * msq * msb ) );
1125 rr = -2.0 * mtb * sqrt( bb2 / 3.0 ) * f5r *
1126 ( 1.0 / msq + mtx * msd * ( wt - 1 ) / ( 2.0 * bb2 ) *
1127 ( ( wt + 1 ) / ( 2.0 * msq ) -
1128 msd * bb2 / ( 2.0 * mum * mtx * bbx2 ) ) );
1130 sppsm = -1.0 * sqrt( 3.0 ) * msd * f5sppsm / ( 2.0 * sqrt( bb2 ) * mtb ) *
1131 ( 1 - msd / ( 3.0 * msq ) -
1132 msd * bb2 / ( 3.0 * bbx2 ) *
1133 ( 1.0 / ( 2.0 * mum ) - 1.0 / mup ) );
1135 spmsm = -1.0 * msd * f5spmsm / ( 2.0 * sqrt( 3.0 * bb2 ) * mtx ) *
1136 ( ( 2 - wt ) * mtx / msq +
1137 msd * bb2 / bbx2 * ( 1.0 / ( 2.0 * mum ) - 1.0 / mup ) );
1142 double q2max = parMass * parMass + mass * mass - 2.0 * parMass * mass;
1144 double q2maxNom = parMass * parMass + massNom * massNom -
1145 2.0 * parMass * massNom;
1146 double q2maxin = sqrt( q2maxNom / q2max );
1147 if ( q2maxin > 1000. )
1157 *spf = ( sppsm + spmsm ) / 2.0;
1158 *smf = ( sppsm - spmsm ) / 2.0;
1163 double* lf,
double* qf,
double* cpf,
double* cmf )
1199 double mtb, mbb( 0.0 );
1200 double msd( 0.0 ), mx, mb, nfp( 0.0 );
1201 double msq( 0.0 ), bx2( 0.0 ), mbx( 0.0 ), mtx;
1202 double f5cppcm, f5cpmcm, f5, ql, ll, cppcm, cpmcm, f5q, f5l;
1203 double mqm, msb( 0.0 ), bb2( 0.0 ), mum, bbx2, tm, wt, r2;
1204 EvtId prnt = parent;
1207 if ( prnt == B0 || prnt == B0B || prnt == BP || prnt == BM ) {
1210 bb2 = 0.431 * 0.431;
1213 if ( dgt == A10 || dgt == A1P || dgt == A1M || dgt == F1 || dgt == F1PR ) {
1215 bx2 = 0.275 * 0.275;
1216 mbx = ( 3.0 * 1.23 + 0.98 + 5.0 * 1.32 + 3.0 * 1.26 ) / 12.0;
1219 if ( dgt == D3P1P || dgt == D3P1N || dgt == D3P10 || dgt == D3P1B ) {
1222 mbx = ( 3.0 * 2.49 + 2.40 ) / 4.0;
1226 <<
"Not implemented daugt:" << daugt.
getId()
1227 <<
" in get_isgw_ff_3P1.\n";
1231 if ( prnt == D0 || prnt == D0B || prnt == DP || prnt == DM ) {
1237 if ( dgt == F1 || dgt == F1PR || dgt == A10 || dgt == A1P ||
1240 bx2 = 0.275 * 0.275;
1241 mbx = ( 3.0 * 1.23 + 0.98 + 5.0 * 1.32 + 3.0 * 1.26 ) / 12.0;
1244 if ( dgt == K1STM || dgt == K1STB || dgt == K1STP ||
1248 mbx = ( 3.0 * 1.40 + 1.43 + 5.0 * 1.43 + 3.0 * 1.27 ) / 12.0;
1252 <<
"Not implemented daugt:" << daugt.
getId()
1253 <<
" in get_isgw_ff_3P1.\n";
1258 if ( prnt == BS0 || prnt == BSB ) {
1264 if ( dgt == D3P1SP || dgt == D3P1SN ) {
1267 mbx = ( 3.0 * 2.54 + 2.46 ) / 4.0;
1269 }
else if ( dgt == K1STM || dgt == K1STB || dgt == K1STP ||
1273 mbx = ( 3.0 * 1.40 + 1.43 + 5.0 * 1.43 + 3.0 * 1.27 ) / 12.0;
1277 <<
"Not implemented daugt:" << daugt.
getId()
1278 <<
" in get_isgw_ff_1S0.\n";
1284 <<
"Not implemented parent in get_isgw_ff_3P1.\n";
1295 mum = 1.0 / ( 1.0 / msq - 1.0 / msb );
1296 bbx2 = 0.5 * ( bb2 + bx2 );
1297 tm = ( mb - mx ) * ( mb - mx );
1300 wt = 1.0 + ( tm - t ) / ( 2.0 * mbb * mbx );
1303 r2 = 3.0 / ( 4.0 * msb * msq ) + 3 * msd * msd / ( 2 * mbb * mbx * bbx2 ) +
1304 ( 16.0 / ( mbb * mbx * ( 33.0 - 2.0 * nfp ) ) ) *
1307 f5 = sqrt( mtx / mtb ) * pow( sqrt( bx2 * bb2 ) / bbx2, 5.0 / 2.0 ) /
1308 ( pow( ( 1.0 + r2 * ( tm - t ) / 18.0 ), 3.0 ) );
1310 f5q = f5 * pow( ( mbb / mtb ), -0.5 ) * pow( ( mbx / mtx ), -0.5 );
1311 f5l = f5 * pow( ( mbb / mtb ), 0.5 ) * pow( ( mbx / mtx ), 0.5 );
1312 f5cppcm = f5 * pow( ( mbb / mtb ), -1.5 ) * pow( ( mbx / mtx ), 0.5 );
1313 f5cpmcm = f5 * pow( ( mbb / mtb ), -0.5 ) * pow( ( mbx / mtx ), -0.5 );
1317 ( msd * ( 5.0 + wt ) * f5q / ( 2.0 * mtx * sqrt( bb2 ) * 6.0 ) );
1319 ll = -1.0 * mtb * sqrt( bb2 ) * f5l *
1320 ( 1 / mum + ( ( msd * mtx * ( wt - 1 ) / bb2 ) *
1321 ( ( 5.0 + wt ) / ( 6.0 * msq ) -
1322 ( msd * bb2 ) / ( 2.0 * mum * mtx * bbx2 ) ) ) );
1325 ( msd * mtx * f5cppcm / ( 2.0 * msq * mtb * sqrt( bb2 ) ) ) *
1326 ( 1 - ( msd * msq * bb2 ) / ( 2.0 * mtx * mum * bbx2 ) ) );
1329 ( msd * mtx * f5cpmcm / ( 2.0 * msq * mtb * sqrt( bb2 ) ) ) *
1330 ( ( ( wt + 2.0 ) / 3.0 ) -
1331 ( msd * msq * bb2 ) / ( 2.0 * mtx * mum * bbx2 ) ) *
1334 ql = f5q * sqrt( 1.0 / 6.0 ) * msd / ( sqrt( bb2 ) * mtx ) *
1335 ( 1.0 - bb2 * mtb / ( 4.0 * msd * msq * msb ) );
1336 ll = f5l * sqrt( 2.0 / 3.0 ) * mtb * sqrt( bb2 ) *
1337 ( 1.0 / ( 2.0 * msq ) - 3.0 / ( 2.0 * msb ) +
1338 msd * mtx * ( wt - 1 ) / bb2 *
1339 ( 1.0 / msq - msd * bb2 / ( 2.0 * mum * mtx * bbx2 ) ) );
1340 cppcm = msd * msd * bx2 * f5cppcm /
1341 ( sqrt( 6.0 ) * mtb * msq * sqrt( bb2 ) * bbx2 );
1342 cpmcm = -sqrt( 2.0 / 3.0 ) * msd * f5cpmcm / ( sqrt( bb2 ) * mtx ) *
1343 ( 1 + msd * bx2 / ( 2.0 * msq * bbx2 ) );
1348 double q2max = parMass * parMass + mass * mass - 2.0 * parMass * mass;
1350 double q2maxNom = parMass * parMass + massNom * massNom -
1351 2.0 * parMass * massNom;
1352 double q2maxin = sqrt( q2maxNom / q2max );
1353 if ( q2maxin > 1000. )
1362 *cpf = ( cppcm + cpmcm ) / 2.0;
1363 *cmf = ( cppcm - cpmcm ) / 2.0;
1368 double mass,
double* upf,
double* umf )
1407 double mtb, mbb( 0.0 );
1408 double msd( 0.0 ), mx, mb, nfp( 0.0 );
1409 double msq( 0.0 ), bx2( 0.0 ), mbx( 0.0 ), mtx;
1410 double f5uppum, f5upmum, uppum, upmum, f5;
1411 double mqm, r2, bb2( 0.0 ), bbx2, msb( 0.0 ), tm;
1413 EvtId prnt = parent;
1416 if ( prnt == B0 || prnt == B0B || prnt == BP || prnt == BM ) {
1419 bb2 = 0.431 * 0.431;
1421 if ( dgt == A00 || dgt == A0P || dgt == A0M || dgt == F0 || dgt == F0PR ) {
1423 bx2 = 0.275 * 0.275;
1424 mbx = ( 3.0 * 1.23 + 0.98 + 5.0 * 1.32 + 3.0 * 1.26 ) / 12.0;
1427 if ( dgt == D3P0P || dgt == D3P0N || dgt == D3P00 || dgt == D3P0B ) {
1430 mbx = ( 3.0 * 2.49 + 2.40 ) / 4.0;
1434 <<
"Not implemented daugt in get_EvtISGW2_ff_3P0.\n";
1438 if ( prnt == D0 || prnt == D0B || prnt == DP || prnt == DM ) {
1443 if ( dgt == F0 || dgt == F0PR || dgt == A00 || dgt == A0P ||
1446 bx2 = 0.275 * 0.275;
1447 mbx = ( 3.0 * 1.23 + 0.98 + 5.0 * 1.32 + 3.0 * 1.26 ) / 12.0;
1450 if ( dgt == K0STM || dgt == K0STB || dgt == K0STP ||
1454 mbx = ( 3.0 * 1.40 + 1.43 + 5.0 * 1.43 + 3.0 * 1.27 ) / 12.0;
1458 <<
"Not implemented daugt in get_EvtISGW2_ff_3P0.\n";
1462 if ( prnt == DSP || prnt == DSM ) {
1468 if ( dgt == F0 || dgt == F0PR || dgt == A00 || dgt == A0P ||
1472 mbx = ( 3.0 * 1.40 + 1.43 + 5.0 * 1.43 + 3.0 * 1.27 ) / 12.0;
1475 if ( dgt == K0STM || dgt == K0STB || dgt == K0STP ||
1479 mbx = ( 3.0 * 1.23 + 0.98 + 5.0 * 1.32 + 3.0 * 1.26 ) /
1484 <<
"Not implemented daugt in get_EvtISGW2_ff_3P0.\n";
1489 if ( prnt == BS0 || prnt == BSB ) {
1495 if ( dgt == D3P0SP || dgt == D3P0SN ) {
1498 mbx = ( 3.0 * 2.54 + 2.46 ) / 4.0;
1500 }
else if ( dgt == K0STM || dgt == K0STB || dgt == K0STP ||
1504 mbx = ( 3.0 * 1.40 + 1.43 + 5.0 * 1.43 + 3.0 * 1.27 ) /
1509 <<
"Not implemented daugt:" << daugt.
getId()
1510 <<
" in get_isgw_ff_1S0.\n";
1514 <<
"Not implemented parent in get_EvtISGW2_ff_3P0.\n";
1526 bbx2 = 0.5 * ( bb2 + bx2 );
1527 tm = ( mb - mx ) * ( mb - mx );
1532 r2 = 3.0 / ( 4.0 * msb * msq ) + 3 * msd * msd / ( 2 * mbb * mbx * bbx2 ) +
1533 ( 16.0 / ( mbb * mbx * ( 33.0 - 2.0 * nfp ) ) ) *
1536 f5 = sqrt( mtx / mtb ) * pow( sqrt( bx2 * bb2 ) / bbx2, 5.0 / 2.0 ) /
1537 ( pow( ( 1.0 + r2 * ( tm - t ) / 18.0 ), 3.0 ) );
1539 f5uppum = f5 * pow( ( mbb / mtb ), -0.5 ) * pow( ( mbx / mtx ), 0.5 );
1540 f5upmum = f5 * pow( ( mbb / mtb ), 0.5 ) * pow( ( mbx / mtx ), -0.5 );
1542 uppum = -1.0 * f5uppum * sqrt( 2.0 / ( 3.0 * bb2 ) ) * msd;
1543 upmum = 1.0 * f5upmum * sqrt( 2.0 / ( 3.0 * bb2 ) ) * msd * mtb / mtx;
1545 *upf = ( uppum + upmum ) / 2.0;
1546 *umf = ( uppum - upmum ) / 2.0;
1552 double* hf,
double* kf,
double* bpf,
double* bmf )
1588 double mtb, mbb( 0.0 );
1589 double msd( 0.0 ), mx, mb, nfp( 0.0 );
1590 double msq( 0.0 ), bx2( 0.0 ), mbx( 0.0 ), mtx, f5;
1591 double f5h, f5k, f5bppbm, f5bpmbm, bppbm, bpmbm;
1592 double mqm, mum, mup, tm, wt, r2, bb2( 0.0 ), bbx2;
1594 EvtId prnt = parent;
1597 if ( prnt == B0 || prnt == B0B || prnt == BP || prnt == BM ) {
1600 bb2 = 0.431 * 0.431;
1603 if ( dgt == A20 || dgt == A2P || dgt == A2M || dgt == F2 || dgt == F2PR ) {
1605 bx2 = 0.275 * 0.275;
1606 mbx = ( 3.0 * 1.23 + 0.98 + 5.0 * 1.32 + 3.0 * 1.26 ) / 12.0;
1612 if ( dgt == D3P2P || dgt == D3P2N || dgt == D3P20 || dgt == D3P2B ) {
1615 mbx = ( 5.0 * 2.46 + 3.0 * 2.42 ) / 8.0;
1619 <<
"Not implemented daugt in get_isgw_ff_3P2.\n";
1623 if ( prnt == D0 || prnt == D0B || prnt == DP || prnt == DM ) {
1628 if ( dgt == F2 || dgt == F2PR || dgt == A20 || dgt == A2P ||
1631 bx2 = 0.275 * 0.275;
1632 mbx = ( 3.0 * 1.23 + 0.98 + 5.0 * 1.32 + 3.0 * 1.26 ) / 12.0;
1635 if ( dgt == K2STM || dgt == K2STB || dgt == K2STP ||
1639 mbx = ( 3.0 * 1.40 + 1.43 + 5.0 * 1.43 + 3.0 * 1.27 ) / 12.0;
1643 <<
"Not implemented daugt in get_isgw_ff_3P2.\n";
1648 if ( prnt == BS0 || prnt == BSB ) {
1654 if ( dgt == D3P2SP || dgt == D3P2SN ) {
1657 mbx = ( 5.0 * 2.61 + 3.0 * 2.54 ) / 8.0;
1659 }
else if ( dgt == K2STM || dgt == K2STB || dgt == K2STP ||
1663 mbx = ( 3.0 * 1.40 + 1.43 + 5.0 * 1.43 + 3.0 * 1.27 ) / 12.0;
1667 <<
"Not implemented daugt:" << daugt.
getId()
1668 <<
" in get_isgw_ff_1S0.\n";
1674 <<
"Not implemented parent in get_isgw_ff_3P2.\n";
1683 mup = 1.0 / ( 1.0 / msq + 1.0 / msb );
1684 mum = 1.0 / ( 1.0 / msq - 1.0 / msb );
1685 bbx2 = 0.5 * ( bb2 + bx2 );
1686 tm = ( mb - mx ) * ( mb - mx );
1689 wt = 1.0 + ( tm - t ) / ( 2.0 * mbb * mbx );
1692 r2 = 3.0 / ( 4.0 * msb * msq ) + 3 * msd * msd / ( 2 * mbb * mbx * bbx2 ) +
1693 ( 16.0 / ( mbb * mbx * ( 33.0 - 2.0 * nfp ) ) ) *
1696 f5 = sqrt( mtx / mtb ) * pow( sqrt( bx2 * bb2 ) / bbx2, 5.0 / 2.0 ) /
1697 ( pow( ( 1.0 + r2 * ( tm - t ) / 18.0 ), 3.0 ) );
1699 f5h = f5 * pow( ( mbb / mtb ), -1.5 ) * pow( ( mbx / mtx ), -0.5 );
1700 f5k = f5 * pow( ( mbb / mtb ), -0.5 ) * pow( ( mbx / mtx ), 0.5 );
1701 f5bppbm = f5 * pow( ( mbb / mtb ), -2.5 ) * pow( ( mbx / mtx ), 0.5 );
1702 f5bpmbm = f5 * pow( ( mbb / mtb ), -1.5 ) * pow( ( mbx / mtx ), -0.5 );
1704 *hf = f5h * ( msd / ( sqrt( 8.0 * bb2 ) * mtb ) ) *
1705 ( ( 1.0 / msq ) - ( msd * bb2 / ( 2.0 * mum * mtx * bbx2 ) ) );
1707 *kf = f5k * ( msd / ( sqrt( 2.0 * bb2 ) ) ) * ( 1.0 + wt );
1709 bppbm = ( ( msd * msd * f5bppbm * bx2 ) /
1710 ( sqrt( 32.0 * bb2 ) * msq * msb * mtb * bbx2 ) ) *
1711 ( 1.0 - ( msd * bx2 / ( 2.0 * mtb * bbx2 ) ) );
1713 bpmbm = -1.0 * ( msd * f5bpmbm / ( sqrt( 2.0 * bb2 ) * msb * mtx ) ) *
1714 ( 1.0 - ( ( msd * msb * bx2 ) / ( 2.0 * mup * mtb * bbx2 ) ) +
1715 ( ( msd * bx2 * ( 1.0 - ( ( msd * bx2 ) / ( 2.0 * mtb * bbx2 ) ) ) ) /
1716 ( 4.0 * msq * bbx2 ) ) );
1718 *bpf = ( bppbm + bpmbm ) / 2.0;
1719 *bmf = ( bppbm - bpmbm ) / 2.0;
1728 temp = 2 + ( ( 2.0 * z ) / ( 1 - z ) ) * log( z );
1737 double lqcd2 = 0.04;
1741 if ( massx > 0.6 ) {
1742 if ( massq < 1.85 ) {
1747 log( massx * massx / lqcd2 );
1756 double lqcd2 = 0.04;
1761 if ( mass < 1.85 ) {
1766 log( mass * mass / lqcd2 );
1776 <<
"Not implemented :getbaryonff in EvtISGW2FF.\n";
1782 double*,
double*,
double*,
double* )
1785 <<
"Not implemented :getdiracff in EvtISGW2FF.\n";
1790 double*,
double*,
double*,
double*,
double*,
1794 <<
"Not implemented :getraritaff in EvtISGW2FF.\n";
double EvtGetas(double mass)
void EvtISGW2FF1P1(EvtId parent, EvtId daught, double t, double mass, double *rf, double *vf, double *spf, double *smf)
void EvtISGW2FF3P1(EvtId parent, EvtId daught, double t, double mass, double *lf, double *qf, double *cpf, double *cmf)
void gettensorff(EvtId parent, EvtId daught, double t, double mass, double *hf, double *kf, double *bpf, double *bmf) override
void EvtISGW2FF3S1(EvtId parent, EvtId daught, double t, double mass, double *ff, double *gf, double *apf, double *amf)
std::ostream & EvtGenReport(EvtGenSeverity severity, const char *facility=0)
void getraritaff(EvtId, EvtId, double, double, double *, double *, double *, double *, double *, double *, double *, double *) override
void getbaryonff(EvtId, EvtId, double, double, double *, double *, double *, double *) override
static double getMeanMass(EvtId i)
void EvtISGW2FF1S0(EvtId parent, EvtId daught, double t, double mass, double *fpf, double *fmf)
void EvtISGW2FF23S1(EvtId parent, EvtId daught, double t, double mass, double *fpf, double *gpf, double *app, double *apm)
void getdiracff(EvtId, EvtId, double, double, double *, double *, double *, double *, double *, double *) override
void getvectorff(EvtId parent, EvtId daught, double t, double mass, double *a1f, double *a2f, double *vf, double *a0f) override
double EvtGetGammaji(double z)
void EvtISGW2FF3P0(EvtId parent, EvtId daught, double t, double mass, double *upf, double *umf)
static EvtId getId(const std::string &name)
void EvtISGW2FF3P2(EvtId parent, EvtId daught, double t, double mass, double *h, double *k, double *bp, double *bm)
int contains(const EvtId id)
void EvtISGW2FF21S0(EvtId parent, EvtId daught, double t, double mass, double *fppf, double *fpmf)
void getscalarff(EvtId parent, EvtId daught, double t, double mass, double *fpf, double *f0f) override