22#include "EvtGenBase/EvtPatches.hh"
23#include "EvtGenBase/EvtPatches.hh"
24#include "EvtGenBase/EvtReport.hh"
25#include "EvtGenModels/EvtISGW2FF.hh"
26#include "EvtGenBase/EvtPDL.hh"
27#include "EvtGenBase/EvtId.hh"
28#include "EvtGenBase/EvtIdSet.hh"
29#include "EvtGenBase/EvtConst.hh"
36 double t,
double mass,
double *fpf,
191 if (daught==PI0||daught==PIP||daught==PIM||daught==ETA||
192 daught==ETAPR||daught==D0||daught==D0B||daught==DP||
193 daught==DM||daught==KP||daught==KM||daught==K0||daught==K0S||
194 daught==K0L||daught==KB||daught==DSP||daught==DSM) {
196 EvtISGW2FF1S0(parent,daught,
t,
mass,fpf,&fmf);
199 if (daught==PI2S0||daught==PI2SP||daught==PI2SM||daught==ETA2S||
200 daught==D21S0P||daught==D21S0B||daught==D21S0N||daught==D21S00){
201 EvtISGW2FF21S0(parent,daught,
t,
mass,fpf,&fmf);
204 if (daught==A00||daught==A0P||daught==A0M||daught==F0||
205 daught==F0PR||daught==D3P0P||daught==D3P00||daught==D3P0B||
206 daught==D3P0N||daught==K0STM||daught==K0STB||daught==K0STP||
207 daught==D3P0SP||daught==D3P0SN||
209 EvtISGW2FF3P0(parent,daught,
t,
mass,fpf,&fmf);
212 *f0f = (fmf/((mb*mb-
mass*
mass)/
t))+(*fpf);
218 double t,
double mass,
double *hf,
219 double *kf,
double *bpf,
double *bmf ){
375 EvtISGW2FF3P2(parent,daught,
t,
mass,hf,kf,bpf,bmf);
383 double t,
double mass,
double *a1f,
384 double *a2f,
double *vf,
double *a0f ){
385 double ff,gf,apf,amf;
541 if (daught==DST0||daught==DSTP||daught==DSTM||daught==DSTB||
542 daught==OMEG||daught==RHO0||daught==RHOM||daught==RHOP||
543 daught==KSTP||daught==KSTM||daught==KST0||daught==KSTB||
544 daught==PHI||daught==DSSTP||daught==DSSTM) {
545 EvtISGW2FF3S1(parent,daught,
t,
mass,&ff,&gf,&apf,&amf);
547 if (daught==B10||daught==B1P||daught==B1M||daught==H1||
548 daught==H1PR||daught==D1P1P||daught==D1P10||daught==D1P1B||
549 daught==D1P1SP||daught==D1P1SN||
550 daught==D1P1N||daught==K10||daught==K1B||daught==K1P||
552 EvtISGW2FF1P1(parent,daught,
t,
mass,&ff,&gf,&apf,&amf);
554 if (daught==RHO2S0||daught==RHO2SP||daught==RHO2SM||daught==OMEG2S||
555 daught==D23S1P||daught==D23S1B||daught==D23S1N||daught==D23S10){
556 EvtISGW2FF23S1(parent,daught,
t,
mass,&ff,&gf,&apf,&amf);
558 if (daught==A10||daught==A1P||daught==A1M||daught==F1||
559 daught==F1PR||daught==D3P1P||daught==D3P10||daught==D3P1B||
560 daught==D3P1N||daught==K1STM||daught==K1STB||daught==K1STP||
561 daught==D3P1SP||daught==D3P1SN||
563 EvtISGW2FF3P1(parent,daught,
t,
mass,&ff,&gf,&apf,&amf);
572 *vf = (gf)*(mb+
mass);
573 *a1f = (ff)/(mb+
mass);
574 *a2f = -1.0*(apf)*(mb+
mass);
576 double a3f = ((mb+
mass)/(2.0*
mass))*(*a1f) -
579 *a0f = a3f + ( (
t*amf)/(2.0*
mass));
586void EvtISGW2FF::EvtISGW2FF1S0 (
EvtId parent,
EvtId daugt,
587 double t,
double mass,
double *fpf,
double *fmf ) {
589 double mtb, mbb(0.0);
590 double msd(0.0), mx,mb,nf(0.0),nfp(0.0);
591 double msq(0.0),bx2(0.0),mbx(0.0),mtx;
592 double zji,cji,
w,gammaji,chiji,betaji_fppfm;
593 double rfppfm,rfpmfm,f3fppfm,f3fpmfm,fppfm,fpmfm,al,
ai,rcji,f3;
594 double mqm,msb(0.0),bb2(0.0),mup,mum,bbx2,tm,wt,r2,betaji_fpmfm;
607 static EvtIdSet theB(
"B+",
"B-",
"B0",
"anti-B0");
750 if (theB.contains(prnt)) {
758 if (dgt==PI0||dgt==PIP||dgt==PIM||dgt==ETA||dgt==ETAPR) {
762 mbx=0.75*0.770+0.25*0.14;
766 if (dgt==D0||dgt==D0B||dgt==DP||dgt==DM) {
769 mbx=0.75*2.01+0.25*1.87;
773 report(
ERROR,
"EvtGen") <<
"Not implemented daugt:"<<daugt.
getId()<<
" in get_isgw_ff_1S0.\n";
778 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
785 if (dgt==PIP||dgt==PIM||dgt==PI0||dgt==ETA||dgt==ETAPR) {
788 mbx=0.75*0.770+0.25*0.14;
792 if (dgt==K0||dgt==K0S||dgt==K0L||dgt==KB||dgt==KP||dgt==KM) {
795 mbx=0.75*0.892+0.25*0.49767;
799 report(
ERROR,
"EvtGen") <<
"Not implemented daugt:"<<daugt.
getId()<<
" in get_isgw_ff_1S0.\n";
804 if (prnt==DSP||prnt==DSM){
811 if (dgt==K0||dgt==K0S||dgt==K0L||dgt==KB) {
815 mbx=0.75*0.770+0.25*0.14;
819 if (dgt==PI0||dgt==ETA||dgt==ETAPR) {
822 mbx=0.75*0.892+0.25*0.49767;
827 report(
ERROR,
"EvtGen") <<
"Not implemented daugt:"<<daugt.
getId()<<
" in get_isgw_ff_1S0.\n";
833 if (prnt==BS0||prnt==BSB){
841 if (dgt==DSP||dgt==DSM) {
845 mbx=0.75*2.11+0.25*1.97;
848 else if (dgt==KP||dgt==KM) {
852 mbx=0.75*0.892+0.25*0.49767;
856 report(
ERROR,
"EvtGen") <<
"Not implemented daugt:"<<daugt.
getId()<<
" in get_isgw_ff_1S0.\n";
861 report(
ERROR,
"EvtGen") <<
"Not implemented parent in get_isgw_ff_1S0.\n";
873 mup=1.0/(1.0/msq+1.0/msb);
874 mum=1.0/(1.0/msq-1.0/msb);
877 if (
t>tm )
t=0.99*tm;
878 wt=1.0+(tm-
t)/(2.0*mbb*mbx);
881 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
882 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
883 log(EvtGetas(mqm,mqm)/EvtGetas(msq,msq));
885 f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,1.5) /
886 ((1.0+r2*(tm-
t)/12.0)*(1.0+r2*(tm-
t)/12.0));
891 w = 1.0 + (( tm -
t ) / ( 2.0* mb * mx ));
892 rcji = ( 1/sqrt(
w*
w -1 ))*log(
w + sqrt(
w*
w -1 ));
893 al = (8.0 / ( 33.0 - 2.0*nfp ))*(
w*rcji -1.0 );
894 ai = -1.0* ( 6.0/( 33.0 - 2.0*nf));
895 cji = pow(( EvtGetas( msb,msb ) / EvtGetas( msq,msq ) ),
ai);
899 gammaji = EvtGetGammaji( zji );
900 chiji = -1.0 - ( gammaji / ( 1- zji ));
901 betaji_fppfm = gammaji - (2.0/3.0)*chiji;
902 betaji_fpmfm = gammaji + (2.0/3.0)*chiji;
903 rfppfm = cji *(1.0 + betaji_fppfm*EvtGetas( msq,sqrt(msb*msq) )/
EvtConst::pi);
904 rfpmfm = cji *(1.0 + betaji_fpmfm*EvtGetas( msq,sqrt(msb*msq) )/
EvtConst::pi);
905 f3fppfm = f3*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),0.5);
906 f3fpmfm = f3*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),-0.5);
907 fppfm = f3fppfm* rfppfm * ( 2.0 - ( ( mtx/msq)*(1- ( (msd*msq*bb2)
908 /(2.0*mup*mtx*bbx2)))));
909 fpmfm = f3fpmfm* rfpmfm * ( mtb/msq) * ( 1 - ( ( msd*msq*bb2)/
910 ( 2.0*mup*mtx*bbx2)));
912 *fpf = (fppfm + fpmfm)/2.0;
913 *fmf = (fppfm - fpmfm)/2.0;
922void EvtISGW2FF::EvtISGW2FF3S1(
EvtId parent,
EvtId daugt,
double t,
double mass,
923 double *
f,
double *g,
double *ap,
double *am){
1079 double cf(0.0),mtb,wt,msd(0.0),mup,f3f,msq(0.0),bb2(0.0),mum,mtx,bbx2,f3g;
1080 double cji,bx2(0.0),f3appam,msb(0.0),tm,mbb(0.0),mbx(0.0);
1081 double f3apmam,appam,apmam,mb,mx,f3;
1082 double r_f,r_g,r_appam,r_apmam, betaji_f,betaji_g;
1083 double betaji_appam, betaji_apmam;
1084 double w,mqm,r2,chiji,zji,
ai,al,rcji,nf(0.0),nfp(0.0),gammaji;
1089 if (parent==B0||parent==B0B||parent==BP||parent==BM) {
1097 if (dgt==DST0||dgt==DSTP||dgt==DSTM||dgt==DSTB) {
1102 mbx=0.75*2.01+0.25*1.87;
1106 if (dgt==OMEG||dgt==RHO0||dgt==RHOM||dgt==RHOP) {
1111 mbx=0.75*0.770+0.25*0.14;
1115 report(
ERROR,
"EvtGen") <<
"Not implemented daugt:"<<daugt.
getId()<<
" in get_isgw_ff_3S1.\n";
1120 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
1128 if (dgt==KSTP||dgt==KSTM||dgt==KST0||dgt==KSTB) {
1133 mbx=0.75*0.892+0.25*0.494;
1137 if (dgt==RHO0||dgt==OMEG||dgt==RHOM||dgt==RHOP) {
1141 mbx=0.75*0.770+0.25*0.14;
1145 report(
ERROR,
"EvtGen") <<
"Not implemented daugt:"<<daugt.
getId()<<
" in get_isgw_ff_3S1.\n";
1150 if (prnt==DSP||prnt==DSM){
1158 if (dgt==KSTB||dgt==KST0) {
1175 report(
ERROR,
"EvtGen") <<
"Not implemented daugt:"<<daugt.
getId()<<
" in get_isgw_ff_3S1.\n";
1181 if (prnt==BS0||prnt==BSB){
1189 if (dgt==DSSTP||dgt==DSSTM) {
1194 mbx=0.75*2.11+0.25*1.97;
1197 else if (dgt==KSTP||dgt==KSTM||dgt==KST0||dgt==KSTB) {
1202 mbx=0.75*0.892+0.25*0.494;
1206 report(
ERROR,
"EvtGen") <<
"Not implemented daugt:"<<daugt.
getId()<<
" in get_isgw_ff_1S0.\n";
1211 report(
ERROR,
"EvtGen") <<
"Not implemented parent in get_isgw2_ff_3S1.\n";
1221 mup=1.0/(1.0/msq+1.0/msb);
1222 mum=1.0/(1.0/msq-1.0/msb);
1227 if (
t > tm )
t = 0.99*tm;
1229 wt=1.0+(tm-
t)/(2.0*mbb*mbx);
1232 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
1233 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
1234 log(EvtGetas(mqm,mqm)/EvtGetas(msq,msq));
1236 w = 1.0 + (( tm -
t ) / ( 2.0* mb * mx ));
1238 rcji = ( 1/sqrt(
w*
w -1 ))*log(
w + sqrt(
w*
w -1 ));
1240 al = (8.0 / ( 33.0 - 2.0*nfp ))*(
w*rcji -1.0 );
1242 ai = -1.0* ( 6.0/( 33.0 - 2.0*nf));
1244 cji = pow(( EvtGetas( msb,msb ) / EvtGetas( msq,msq ) ),
ai);
1247 gammaji = EvtGetGammaji( zji );
1249 chiji = -1.0 - ( gammaji / ( 1- zji ));
1251 betaji_g = (2.0/3.0)+gammaji;
1252 betaji_f = (-2.0/3.0)+gammaji;
1253 betaji_appam = -1.0-chiji+(4.0/(3.0*(1.0-zji)))+
1254 (2.0*(1+zji)*gammaji/(3.0*(1.0-zji)*(1.0-zji)));
1256 betaji_apmam = (1.0/3.0)-chiji-(4.0/(3.0*(1.0-zji)))-
1257 (2.0*(1+zji)*gammaji/(3.0*(1.0-zji)*(1.0-zji)))+
1260 r_g = cji*(1+(betaji_g*EvtGetas( msq,sqrt(mb*msq) )/(
EvtConst::pi)));
1261 r_f = cji*(1+(betaji_f*EvtGetas( msq,sqrt(mb*msq) )/(
EvtConst::pi)));
1262 r_appam = cji*(1+(betaji_appam*EvtGetas( msq,sqrt(mb*msq) )/(
EvtConst::pi)));
1263 r_apmam = cji*(1+(betaji_apmam*EvtGetas( msq,sqrt(mb*msq) )/(
EvtConst::pi)));
1266 f3=sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,1.5)/
1267 ((1.0+r2*(tm-
t)/12.0)*(1.0+r2*(tm-
t)/12.0));
1269 f3f=sqrt(mbx*mbb/(mtx*mtb))*f3;
1270 f3g=sqrt(mtx*mtb/(mbx*mbb))*f3;
1271 f3appam=sqrt(mtb*mtb*mtb*mbx/(mbb*mbb*mbb*mtx))*f3;
1272 f3apmam=sqrt(mtx*mtb/(mbx*mbb))*f3;
1273 *
f=cf*mtb*(1+wt+msd*(wt-1)/(2*mup))*f3f*r_f;
1274 *g=0.5*(1/msq-msd*bb2/(2*mum*mtx*bbx2))*f3g*r_g;
1276 appam=cji*(msd*bx2*(1-msd*bx2/(2*mtb*bbx2))/
1277 ((1+wt)*msq*msb*bbx2)-
1278 betaji_appam*EvtGetas( msq,sqrt(msq*mb) )/
1281 apmam=-1.0*(mtb/msb-msd*bx2/(2*mup*bbx2)+wt*msd*mtb*bx2*
1282 (1-msd*bx2/(2*mtb*bbx2))/((wt+1)*msq*msb*bbx2))*
1283 f3apmam*r_apmam/mtx;
1285 *ap=0.5*(appam+apmam);
1286 *am=0.5*(appam-apmam);
1291void EvtISGW2FF::EvtISGW2FF21S0 (
EvtId parent,
EvtId daugt,
1292 double t,
double mass,
double *fppf,
double *fpmf ) {
1448 double mtb, mbb(0.0);
1449 double msd(0.0), mx,mb,nf,nfp(0.0);
1450 double msq(0.0),bx2(0.0),mbx(0.0),mtx;
1451 double f3fppfm,f3fpmfm,fppfm,fpmfm,f3;
1452 double mqm,msb(0.0);
1453 double mum,mup,r2,wt,tm,bb2(0.0),bbx2;
1454 double tau,udef,vdef;
1459 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
1464 mbb=0.75*5.325+0.25*5.279;
1467 if (dgt==PI2S0||dgt==PI2SP||dgt==PI2SM||dgt==ETA2S) {
1471 mbx=0.75*1.45+0.25*1.300;
1475 if (dgt==D21S0P||dgt==D21S0B||dgt==D21S0N||dgt==D21S00) {
1478 mbx=0.75*2.64+0.25*2.58;
1483 report(
ERROR,
"EvtGen") <<
"Not implemented daugt in get_EvtISGW2_ff_21S0.\n";
1488 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
1494 if (dgt==PI2SP||dgt==PI2SM||dgt==PI2S0||dgt==ETA2S) {
1497 mbx=0.75*1.45+0.25*1.300;
1501 report(
ERROR,
"EvtGen") <<
"Not implemented daugt in get_EvtISGW2_ff_21S0.\n";
1505 report(
ERROR,
"EvtGen") <<
"Not implemented parent in get_EvtISGW2_ff_21S0.\n";
1515 mup=1.0/(1.0/msq+1.0/msb);
1516 mum=1.0/(1.0/msq-1.0/msb);
1519 if (
t>tm)
t = 0.99*tm;
1520 wt=1.0+(tm-
t)/(2.0*mbb*mbx);
1523 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
1524 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
1525 log(EvtGetas(mqm)/EvtGetas(msq));
1527 f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,3.0/2.0) /
1528 (pow((1.0+r2*(tm-
t)/24.0),4.0));
1530 f3fppfm = f3*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),0.5);
1531 f3fpmfm = f3*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),-0.5);
1533 tau = msd*msd*bx2*(wt-1)/(bb2*bbx2);
1534 udef = (( bb2-bx2)/(2.0*bbx2)) + ((bb2*tau)/(3.0*bbx2));
1535 vdef = (bb2*(1.0+(msq/msb))/(6.0*bbx2))*(7.0 - ((bb2/bbx2)*(5+tau)));
1537 fppfm = f3fppfm*sqrt(1.5)*((1.0-(msd/msq))*udef-(msd*vdef/msq));
1538 fpmfm = f3fpmfm*sqrt(1.5)*(mtb/msq)*(udef+(msd*vdef/mtx));
1540 *fppf = (fppfm + fpmfm) /2.0;
1541 *fpmf = (fppfm - fpmfm) /2.0;
1547void EvtISGW2FF::EvtISGW2FF23S1 (
EvtId parent,
EvtId daugt,
1548 double t,
double mass,
double *fpf,
double *gpf,
1549 double *appf,
double *apmf ) {
1705 double mtb, mbb(0.0);
1706 double msd(0.0), mx,mb,nf,nfp(0.0);
1707 double msq(0.0),bx2(0.0),mbx(0.0),mtx;
1708 double f3appam,f3apmam,f3,appam,apmam,f3fp,f3gp;
1709 double udef,tau,mum,mup,bb2(0.0),bbx2,tm,wt,mqm,r2,msb(0.0);
1715 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
1720 mbb=0.75*5.325+0.25*5.279;
1723 if (dgt==RHO2S0||dgt==RHO2SP||dgt==RHO2SM||dgt==OMEG2S) {
1728 mbx=0.75*1.45+0.25*1.300;
1733 if (dgt==D23S1N||dgt==D23S1P||dgt==D23S1B||dgt==D23S10) {
1737 mbx=0.75*2.64+0.25*2.58;
1741 report(
ERROR,
"EvtGen") <<
"Not implemented daugt in get_isgw_ff_23P1.\n";
1746 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
1753 if (dgt==RHO2S0||dgt==RHO2SP||dgt==RHO2SM||dgt==OMEG2S) {
1757 mbx=0.75*1.45+0.25*1.300;
1761 report(
ERROR,
"EvtGen") <<
"Not implemented daugt in get_isgw_ff_23P1.\n";
1765 report(
ERROR,
"EvtGen") <<
"Not implemented parent in get_isgw_ff_23P1.\n";
1774 mup=1.0/(1.0/msq+1.0/msb);
1775 mum=1.0/(1.0/msq-1.0/msb);
1779 if (
t>tm)
t = 0.99*tm;
1780 wt=1.0+(tm-
t)/(2.0*mbb*mbx);
1783 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
1784 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
1785 log(EvtGetas(mqm)/EvtGetas(msq));
1787 f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,3.0/2.0) /
1788 (pow((1.0+r2*(tm-
t)/24.0),4.0));
1790 f3fp = f3*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),0.5);
1791 f3gp = f3*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
1792 f3appam = f3*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),0.5);
1793 f3apmam = f3*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
1795 tau = msd*msd*bx2*(wt-1.0)/(bb2*bbx2);
1796 udef = (( bb2-bx2)/(2.0*bbx2));
1797 udef = udef + ((bb2*tau)/(3.0*bbx2));
1799 *fpf = cfp*sqrt(1.5)*mtb*(1.0+wt)*udef*f3fp;
1801 *gpf = sqrt(3.0/8.0)*f3gp*(((1.0/msq)-((msd*bb2)/(2.0*mum*mtx*bbx2)))*
1802 udef + ( (msd*bb2*bx2)/(3.0*mum*mtx*bbx2*bbx2)));
1804 appam = f3appam*sqrt(2.0/3.0)*(bb2/(msq*msb*bbx2))*((-7.0*msd*msd*bx2*
1805 bx2*(1.0+(tau/7.0))/(8.0*mtb*bbx2*bbx2))+(5.0*msd*bx2*(1.0+
1806 (tau/5.0))/(4.0*bbx2))+(3.0*msd*msd*bx2*bx2/(8.0*mtb*bb2*bbx2))-
1807 (3.0*msd*bx2/(4.0*bb2)));
1809 apmam = f3apmam*sqrt(3.0/2.0)*(mtb/(msb*mtx))*(1.0-(bb2*(1.0+(tau/7.0))/
1810 bbx2)-(msd*bx2*(1.0-(5.0*bb2*(1.0+(tau/5.0))/(3.0*bbx2)))
1811 /(2.0*mtb*bbx2))-(7.0*msd*msd*bb2*bx2/(12.0*msq*mtb*bbx2*bbx2))*
1812 (1.0-(bx2/bbx2)+(bb2*tau/(7.0*bbx2))));
1814 *appf = (appam + apmam) /2.0;
1815 *apmf = (appam - apmam) /2.0;
1819void EvtISGW2FF::EvtISGW2FF1P1 (
EvtId parent,
EvtId daugt,
1820 double t,
double mass,
double *rf,
double *vf,
1821 double *spf,
double *smf ) {
1977 double mtb, mbb(0.0);
1978 double msd(0.0), mx,mb,nf,nfp(0.0);
1979 double msq(0.0),bx2(0.0),mbx(0.0),mtx,f5;
1980 double f5sppsm,f5spmsm;
1981 double f5v,f5r,mup,mum,vv,rr,spmsm,sppsm;
1982 double mqm,msb(0.0),bb2(0.0),bbx2,tm,wt,r2;
1985 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
1991 if (dgt==B10||dgt==B1P||dgt==B1M||dgt==H1||dgt==H1PR) {
1994 mbx=(3.0*1.123+0.98+5.0*1.32+3.0*1.26)/12.0;
1998 if (dgt==D1P1P||dgt==D1P10||dgt==D1P1B||dgt==D1P1N) {
2001 mbx=(5.0*2.46+3.0*2.42)/8.0;
2005 report(
ERROR,
"EvtGen") <<
"Not implemented daugt in get_isgw_ff_1P1.\n";
2010 if (prnt==DM||prnt==DP||prnt==D0B||prnt==D0) {
2016 if (dgt==B10||dgt==B1P||dgt==B1M||dgt==H1||dgt==H1PR) {
2019 mbx=(3.0*1.123+0.98+5.0*1.32+3.0*1.26)/12.0;
2023 if (dgt==K10||dgt==K1B||dgt==K1P||dgt==K1M) {
2026 mbx=(3.0*1.27+1.43+5.0*1.43+3.0*1.4)/12.0;
2030 report(
ERROR,
"EvtGen") <<
"Not implemented daugt in get_isgw_ff_1P1.\n";
2036 if (prnt==BS0||prnt==BSB){
2044 if (dgt==D1P1SP||dgt==D1P1SN) {
2048 mbx=(5.0*2.61+3.0*2.54)/8.0;
2051 else if (dgt==K10||dgt==K1B||dgt==K1P||dgt==K1M) {
2054 mbx=(3.0*1.27+1.43+5.0*1.43+3.0*1.4)/12.0;
2058 report(
ERROR,
"EvtGen") <<
"Not implemented daugt:"
2059 <<daugt.
getId()<<
" in get_isgw_ff_1S0.\n";
2064 report(
ERROR,
"EvtGen") <<
"Not implemented parent in get_isgw_ff_1P1.\n";
2076 mup=1.0/(1.0/msq+1.0/msb);
2077 mum=1.0/(1.0/msq-1.0/msb);
2080 if (
t>tm)
t = 0.99*tm;
2081 wt=1.0+(tm-
t)/(2.0*mbb*mbx);
2084 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2)+
2085 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
2086 log(EvtGetas(mqm,mqm)/EvtGetas(msq,msq));
2088 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0) /
2089 (pow((1.0+r2*(tm-
t)/18.0),3.0));
2091 f5v = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
2092 f5r = f5*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),0.5);
2093 f5sppsm = f5*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),0.5);
2094 f5spmsm = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
2097 vv = f5v*(((mtb*sqrt(bb2))/(4.0*sqrt(2.0)*msb*msq*mtx)) +
2098 (((wt-1)*msd)/(6.0*sqrt(2.0*bb2)*mtx)));
2100 rr = f5r*mtb*sqrt(bb2/2)*((1.0/mup)+((msd*mtx*(wt-1)*(wt-1))/
2103 sppsm = msd*f5sppsm/(sqrt(2.0*bb2)*mtb)*(1.0-(msd/msq)+((msd*bb2)/
2106 spmsm = msd*f5spmsm/(sqrt(2.0*bb2)*msq)*(((4-wt)/3.0)- ( (msd*msq*bb2)/
2107 (2.0*mtx*mup*bbx2)));
2110 vv = -1.0*msd*f5v/(2.0*sqrt(3.0*bb2)*mtx)*
2111 ((wt+1)/2.0+bb2*mtb/(2.0*msd*msq*msb));
2113 rr = -2.0*mtb*sqrt(bb2/3.0)*f5r*(1.0/msq + mtx*msd*(wt-1)/(2.0*bb2)*
2114 ((wt+1)/(2.0*msq)-msd*bb2/(2.0*mum*mtx*bbx2)));
2116 sppsm = -1.0*sqrt(3.0)*msd*f5sppsm/(2.0*sqrt(bb2)*mtb)*(1 - msd/(3.0*msq) -
2117 msd*bb2/(3.0*bbx2)*(1.0/(2.0*mum)-1.0/mup));
2119 spmsm = -1.0*msd*f5spmsm/(2.0*sqrt(3.0*bb2)*mtx)*((2-wt)*mtx/msq +
2120 msd*bb2/bbx2*(1.0/(2.0*mum)-1.0/mup));
2126 double q2max = parMass*parMass +
mass*
mass - 2.0*parMass*
mass;
2128 double q2maxNom = parMass*parMass + massNom*massNom - 2.0*parMass*massNom;
2129 double q2maxin=sqrt(q2maxNom/q2max);
2130 if ( q2maxin > 1000. ) q2maxin=1000.;
2139 *spf = (sppsm + spmsm)/2.0;
2140 *smf = (sppsm - spmsm)/2.0;
2145void EvtISGW2FF::EvtISGW2FF3P1 (
EvtId parent,
EvtId daugt,
2146 double t,
double mass,
double *lf,
double *qf,
2147 double *cpf,
double *cmf ) {
2302 double mtb, mbb(0.0);
2303 double msd(0.0), mx,mb,nf,nfp(0.0);
2304 double msq(0.0),bx2(0.0),mbx(0.0),mtx;
2305 double f5cppcm,f5cpmcm,f5,ql,ll,cppcm,cpmcm,f5q,f5l;
2306 double mqm,msb(0.0),bb2(0.0),mup,mum,bbx2,tm,wt,r2;
2310 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
2318 if (dgt==A10||dgt==A1P||dgt==A1M||dgt==F1||dgt==F1PR) {
2322 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
2326 if (dgt==D3P1P||dgt==D3P1N||dgt==D3P10||dgt==D3P1B) {
2329 mbx=(3.0*2.49+2.40)/4.0;
2333 report(
ERROR,
"EvtGen") <<
"Not implemented daugt:"<<daugt.
getId()<<
" in get_isgw_ff_3P1.\n";
2338 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
2346 if (dgt==F1||dgt==F1PR||dgt==A10||dgt==A1P||dgt==A1M) {
2350 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
2354 if (dgt==K1STM||dgt==K1STB||dgt==K1STP||dgt==K1ST0) {
2357 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
2361 report(
ERROR,
"EvtGen") <<
"Not implemented daugt:"<<daugt.
getId()<<
" in get_isgw_ff_3P1.\n";
2367 if (prnt==BS0||prnt==BSB){
2375 if (dgt==D3P1SP||dgt==D3P1SN) {
2379 mbx=(3.0*2.54+2.46)/4.0;
2382 else if (dgt==K1STM||dgt==K1STB||dgt==K1STP||dgt==K1ST0) {
2385 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
2389 report(
ERROR,
"EvtGen") <<
"Not implemented daugt:"<<daugt.
getId()<<
" in get_isgw_ff_1S0.\n";
2394 report(
ERROR,
"EvtGen") <<
"Not implemented parent in get_isgw_ff_3P1.\n";
2407 mup=1.0/(1.0/msq+1.0/msb);
2408 mum=1.0/(1.0/msq-1.0/msb);
2411 if (
t>tm)
t = 0.99*tm;
2412 wt=1.0+(tm-
t)/(2.0*mbb*mbx);
2415 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
2416 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
2417 log(EvtGetas(mqm)/EvtGetas(msq));
2419 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0) /
2420 (pow((1.0+r2*(tm-
t)/18.0),3.0));
2422 f5q = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
2423 f5l = f5*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),0.5);
2424 f5cppcm = f5*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),0.5);
2425 f5cpmcm = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
2429 ql = -1.0*(msd*(5.0+wt)*f5q/(2.0*mtx*sqrt(bb2)*6.0));
2431 ll = -1.0*mtb*sqrt(bb2)*f5l*(1/mum+ ( (msd*mtx*(wt-1)/bb2)*
2432 ( (5.0+wt)/(6.0*msq)-(msd*bb2)/(2.0*mum*mtx*bbx2))));
2434 cppcm = (-1.0*(msd*mtx*f5cppcm/(2.0*msq*mtb*sqrt(bb2)))*
2435 (1-(msd*msq*bb2)/(2.0*mtx*mum*bbx2)));
2437 cpmcm = 1.0*(msd*mtx*f5cpmcm/(2.0*msq*mtb*sqrt(bb2)))*
2438 (((wt+2.0)/3.0)-(msd*msq*bb2)/(2.0*mtx*mum*bbx2))
2442 ql = f5q*sqrt(1.0/6.0)*msd/(sqrt(bb2)*mtx)*
2443 (1.0-bb2*mtb/(4.0*msd*msq*msb));
2444 ll = f5l*sqrt(2.0/3.0)*mtb*sqrt(bb2)*(1.0/(2.0*msq) - 3.0/(2.0*msb) +
2445 msd*mtx*(wt-1)/bb2*(1.0/msq-msd*bb2/(2.0*mum*mtx*bbx2)));
2446 cppcm = msd*msd*bx2*f5cppcm/(sqrt(6.0)*mtb*msq*sqrt(bb2)*bbx2);
2447 cpmcm = -sqrt(2.0/3.0)*msd*f5cpmcm/(sqrt(bb2)*mtx)*
2448 (1+msd*bx2/(2.0*msq*bbx2));
2453 double q2max = parMass*parMass +
mass*
mass - 2.0*parMass*
mass;
2455 double q2maxNom = parMass*parMass + massNom*massNom - 2.0*parMass*massNom;
2456 double q2maxin=sqrt(q2maxNom/q2max);
2457 if ( q2maxin > 1000. ) q2maxin=1000.;
2465 *cpf = (cppcm + cpmcm)/2.0;
2466 *cmf = (cppcm - cpmcm)/2.0;
2471void EvtISGW2FF::EvtISGW2FF3P0 (
EvtId parent,
EvtId daugt,
2472 double t,
double mass,
double *upf,
double *umf ) {
2628 double mtb, mbb(0.0);
2629 double msd(0.0), mx,mb,nf,nfp(0.0);
2630 double msq(0.0),bx2(0.0),mbx(0.0),mtx;
2631 double f5uppum,f5upmum,uppum,upmum,f5;
2632 double mqm,mum,mup,wt,r2,bb2(0.0),bbx2,msb(0.0),tm;
2637 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
2644 if (dgt==A00||dgt==A0P||dgt==A0M||dgt==F0||dgt==F0PR) {
2648 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
2652 if (dgt==D3P0P||dgt==D3P0N||dgt==D3P00||dgt==D3P0B) {
2655 mbx=(3.0*2.49+2.40)/4.0;
2659 report(
ERROR,
"EvtGen") <<
"Not implemented daugt in get_EvtISGW2_ff_3P0.\n";
2664 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
2671 if (dgt==F0||dgt==F0PR||dgt==A00||dgt==A0P||dgt==A0M) {
2674 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
2678 if (dgt==K0STM||dgt==K0STB||dgt==K0STP||dgt==K0ST0) {
2681 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
2685 report(
ERROR,
"EvtGen") <<
"Not implemented daugt in get_EvtISGW2_ff_3P0.\n";
2690 if (prnt==DSP||prnt==DSM){
2697 if (dgt==F0||dgt==F0PR||dgt==A00||dgt==A0P||dgt==A0M) {
2700 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
2704 if (dgt==K0STM||dgt==K0STB||dgt==K0STP||dgt==K0ST0) {
2707 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
2711 report(
ERROR,
"EvtGen") <<
"Not implemented daugt in get_EvtISGW2_ff_3P0.\n";
2717 if (prnt==BS0||prnt==BSB){
2725 if (dgt==D3P0SP||dgt==D3P0SN) {
2729 mbx=(3.0*2.54+2.46)/4.0;
2732 else if (dgt==K0STM||dgt==K0STB||dgt==K0STP||dgt==K0ST0) {
2735 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
2739 report(
ERROR,
"EvtGen") <<
"Not implemented daugt:"<<daugt.
getId()<<
" in get_isgw_ff_1S0.\n";
2743 report(
ERROR,
"EvtGen") <<
"Not implemented parent in get_EvtISGW2_ff_3P0.\n";
2756 mup=1.0/(1.0/msq+1.0/msb);
2757 mum=1.0/(1.0/msq-1.0/msb);
2760 if (
t>tm)
t = 0.99*tm;
2761 wt=1.0+(tm-
t)/(2.0*mbb*mbx);
2764 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
2765 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
2766 log(EvtGetas(mqm)/EvtGetas(msq));
2768 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0) /
2769 (pow((1.0+r2*(tm-
t)/18.0),3.0));
2771 f5uppum = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),0.5);
2772 f5upmum = f5*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),-0.5);
2774 uppum = -1.0*f5uppum*sqrt(2.0/(3.0*bb2))*msd;
2775 upmum = 1.0*f5upmum*sqrt(2.0/(3.0*bb2))*msd*mtb/mtx;
2777 *upf = (uppum + upmum)/2.0;
2778 *umf = (uppum - upmum)/2.0;
2785void EvtISGW2FF::EvtISGW2FF3P2 (
EvtId parent,
EvtId daugt,
2786 double t,
double mass,
double *hf,
double *kf,
2787 double *bpf,
double *bmf ) {
2945 double mtb, mbb(0.0);
2946 double msd(0.0), mx,mb,nf,nfp(0.0);
2947 double msq(0.0),bx2(0.0),mbx(0.0),mtx,f5;
2948 double f5h,f5k,f5bppbm,f5bpmbm,bppbm,bpmbm;
2949 double mqm,mum,mup,tm,wt,r2,bb2(0.0),bbx2;
2954 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
2962 if (dgt==A20||dgt==A2P||dgt==A2M||dgt==F2||dgt==F2PR) {
2966 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
2972 if (dgt==D3P2P||dgt==D3P2N||dgt==D3P20||dgt==D3P2B) {
2976 mbx=(5.0*2.46+3.0*2.42)/8.0;
2981 report(
ERROR,
"EvtGen") <<
"Not implemented daugt in get_isgw_ff_3P2.\n";
2986 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
2993 if (dgt==F2||dgt==F2PR||dgt==A20||dgt==A2P||dgt==A2M) {
2996 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
3000 if (dgt==K2STM||dgt==K2STB||dgt==K2STP||dgt==K2ST0) {
3003 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
3007 report(
ERROR,
"EvtGen") <<
"Not implemented daugt in get_isgw_ff_3P2.\n";
3013 if (prnt==BS0||prnt==BSB){
3021 if (dgt==D3P2SP||dgt==D3P2SN) {
3025 mbx=(5.0*2.61+3.0*2.54)/8.0;
3028 else if (dgt==K2STM||dgt==K2STB||dgt==K2STP||dgt==K2ST0) {
3031 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
3035 report(
ERROR,
"EvtGen") <<
"Not implemented daugt:"<<daugt.
getId()<<
" in get_isgw_ff_1S0.\n";
3040 report(
ERROR,
"EvtGen") <<
"Not implemented parent in get_isgw_ff_3P2.\n";
3049 mup=1.0/(1.0/msq+1.0/msb);
3050 mum=1.0/(1.0/msq-1.0/msb);
3053 if (
t>tm)
t = 0.99*tm;
3054 wt=1.0+(tm-
t)/(2.0*mbb*mbx);
3057 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2)+
3058 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
3059 log(EvtGetas(mqm)/EvtGetas(msq));
3061 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0) /
3062 (pow((1.0+r2*(tm-
t)/18.0),3.0));
3064 f5h = f5*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),-0.5);
3065 f5k = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),0.5);
3066 f5bppbm = f5*pow(( mbb / mtb ),-2.5)*pow((mbx/mtx),0.5);
3067 f5bpmbm = f5*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),-0.5);
3069 *hf = f5h*(msd/(sqrt(8.0*bb2)*mtb))*((1.0/msq)-(msd*bb2/(2.0*mum*
3072 *kf = f5k*(msd/(sqrt(2.0*bb2)))*(1.0+wt);
3074 bppbm = ((msd*msd*f5bppbm*bx2)/(sqrt(32.0*bb2)*msq*msb*mtb*bbx2))*
3075 (1.0-(msd*bx2/(2.0*mtb*bbx2)));
3077 bpmbm = -1.0*(msd*f5bpmbm/(sqrt(2.0*bb2)*msb*mtx))*(1.0-
3078 ((msd*msb*bx2)/(2.0*mup*mtb*bbx2))+((msd*bx2*(1.0-
3079 ((msd*bx2)/(2.0*mtb*bbx2))))/(4.0*msq*bbx2)));
3081 *bpf = (bppbm + bpmbm)/2.0;
3082 *bmf = (bppbm - bpmbm)/2.0;
3087double EvtISGW2FF::EvtGetGammaji (
double z )
3092 temp = 2+((2.0*z)/(1-z))*log(z);
3101double EvtISGW2FF::EvtGetas (
double massq,
double massx )
3103 double lqcd2 = 0.04;
3107 if ( massx > 0.6 ) {
3108 if ( massq < 1.85 ) {
3112 log( massx*massx/lqcd2);
3118double EvtISGW2FF::EvtGetas (
double mass )
3121 double lqcd2 = 0.04;
3126 if (
mass < 1.85 ) {
3138 double*,
double*,
double*){
3140 report(
ERROR,
"EvtGen") <<
"Not implemented :getbaryonff in EvtISGW2FF.\n";
TFile f("ana_bhabha660a_dqa_mcPat_zy_old.root")
ostream & report(Severity severity, const char *facility)
void getscalarff(EvtId parent, EvtId daught, double t, double mass, double *fpf, double *f0f)
void getvectorff(EvtId parent, EvtId daught, double t, double mass, double *a1f, double *a2f, double *vf, double *a0f)
void gettensorff(EvtId parent, EvtId daught, double t, double mass, double *hf, double *kf, double *bpf, double *bmf)
void getbaryonff(EvtId, EvtId, double, double, double *, double *, double *, double *)
static double getMeanMass(EvtId i)
static EvtId getId(const std::string &name)