22#include "EvtGenBase/EvtPatches.hh"
23#include "EvtGenBase/EvtPatches.hh"
24#include "EvtGenBase/EvtReport.hh"
25#include "EvtGenModels/EvtISGWFF.hh"
26#include "EvtGenBase/EvtPDL.hh"
27#include "EvtGenBase/EvtId.hh"
32void EvtISGWFF::getscalarff(
EvtId parent,
EvtId daught,
33 double t,
double mass,
double *fpf,
192 if (daught==PI0||daught==PIP||daught==PIM||daught==ETA||
193 daught==ETAPR||daught==D0||daught==D0B||daught==DP||
194 daught==DM||daught==KP||daught==KM||daught==K0||daught==K0L||
195 daught==KB||daught==DSP||daught==DSM||daught==K0S) {
197 EvtISGW1FF1S0(parent,daught,
t,
mass,fpf,&fmf);
200 if (daught==PI2S0||daught==PI2SP||daught==PI2SM||daught==ETA2S||
201 daught==D21S0P||daught==D21S0B||daught==D21S0N||daught==D21S00){
202 EvtISGW1FF21S0(parent,daught,
t,
mass,fpf,&fmf);
205 if (daught==A00||daught==A0P||daught==A0M||daught==F0||
206 daught==F0PR||daught==D3P0P||daught==D3P00||daught==D3P0B||
207 daught==D3P0N||daught==K0STM||daught==K0STB||daught==K0STP||
208 daught==D3P0SP||daught==D3P0SN||
210 EvtISGW1FF3P0(parent,daught,
t,
mass,fpf,&fmf);
213 *f0f = (fmf/((mb*mb-
mass*
mass)/
t))+(*fpf);
218 void EvtISGWFF::gettensorff(
EvtId parent,
EvtId daught,
219 double t,
double mass,
double *hf,
220 double *kf,
double *bpf,
double *bmf ){
376 EvtISGW1FF3P2(parent,daught,
t,
mass,hf,kf,bpf,bmf);
383 void EvtISGWFF::getvectorff(
EvtId parent,
EvtId daught,
384 double t,
double mass,
double *a1f,
385 double *a2f,
double *vf,
double *a0f ){
541 double ff,gf,apf,amf;
543 if (daught==DST0||daught==DSTP||daught==DSTM||daught==DSTB||
544 daught==OMEG||daught==RHO0||daught==RHOM||daught==RHOP||
545 daught==KSTP||daught==KSTM||daught==KST0||daught==KSTB||
546 daught==PHI||daught==DSSTP||daught==DSSTM) {
547 EvtISGW1FF3S1(parent,daught,
t,
mass,&ff,&gf,&apf,&amf);
549 if (daught==B10||daught==B1P||daught==B1M||daught==H1||
550 daught==H1PR||daught==D1P1P||daught==D1P10||daught==D1P1B||
551 daught==D1P1SP||daught==D1P1SN||
552 daught==D1P1N||daught==K10||daught==K1B||daught==K1P||
554 EvtISGW1FF1P1(parent,daught,
t,
mass,&ff,&gf,&apf,&amf);
556 if (daught==RHO2S0||daught==RHO2SP||daught==RHO2SM||daught==OMEG2S||
557 daught==D23S1P||daught==D23S1B||daught==D23S1N||daught==D23S10){
558 EvtISGW1FF23S1(parent,daught,
t,
mass,&ff,&gf,&apf,&amf);
560 if (daught==A10||daught==A1P||daught==A1M||daught==F1||
561 daught==F1PR||daught==D3P1P||daught==D3P10||daught==D3P1B||
562 daught==D3P1N||daught==K1STM||daught==K1STB||daught==K1STP||
563 daught==D3P1SP||daught==D3P1SN||
565 EvtISGW1FF3P1(parent,daught,
t,
mass,&ff,&gf,&apf,&amf);
574 *vf = (gf)*(mb+
mass);
575 *a1f = (ff)/(mb+
mass);
576 *a2f = -1.0*(apf)*(mb+
mass);
577 double a3f = ((mb+
mass)/(2.0*
mass))*(*a1f) -
580 *a0f = a3f - ( (
t*amf)/(2.0*
mass));
589void EvtISGWFF::EvtISGW1FF3P2 (
EvtId parent,
EvtId daugt,
590 double t,
double mass,
591 double *hf,
double *kf,
double *bpf,
double *bmf ) {
748 double msd(0.0), mx(0.0), mb(0.0);
749 double msq(0.0), bx2(0.0),mtx,f5;
750 double mum,mup,tm,bb2(0.0),bbx2;
751 double msb(0.0), kap;
753 if (parent==BM||parent==BP||parent==B0||parent==B0B) {
757 if (daugt==A20||daugt==A2P||daugt==A2M||daugt==F2||daugt==F2PR) {
762 if (daugt==D3P2P||daugt==D3P2N||daugt==D3P2B||daugt==D3P20) {
767 report(
ERROR,
"EvtGen") <<
"Not implemented daugt in get_isgw_ff_3P1.\n";
772 report(
ERROR,
"EvtGen") <<
"Not implemented parent in get_isgw_ff_3P1.\n";
781 mup=1.0/(1.0/msq+1.0/msb);
782 mum=1.0/(1.0/msq-1.0/msb);
786 if (
t>tm)
t = 0.99*tm;
789 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0)*
790 exp(-1.0*((msd*msd*(tm-
t)/(4.0*mtb*mtx*kap*bbx2))));
792 *hf = f5*(msd/(sqrt(8.0*bb2)*mtb))*((1.0/msq)-(msd*bb2/(2.0*mum*
795 *kf = f5*msd*sqrt(2.0/bb2);
797 *bpf = (-1.0*f5*msd/(sqrt(8.0*bb2)*msb*mtx))*(1.0-(msd*msb*bx2/(
798 2.0*mup*mtb*bbx2))+(msd*msb*bx2*(1.0-(msd*bx2/(2.0*mtb*bbx2)))/
799 (4.0*mtb*mum*bbx2)));
804void EvtISGWFF::EvtISGW1FF1S0 (
EvtId parent,
EvtId daugt,
805 double t,
double mass,
double *fpf,
double *fmf ) {
962 double msd(0.0), mx(0.0), mb(0.0);
963 double msq(0.0), bx2(0.0),mtx;
965 double msb(0.0),bb2(0.0),mup,mum,bbx2,tm;
967 if (parent==BM||parent==BP||parent==B0||parent==B0B) {
971 if (daugt==PIP||daugt==PIM||daugt==PI0||daugt==ETA||daugt==ETAPR) {
976 if (daugt==D0||daugt==DP||daugt==DM||daugt==D0B) {
981 report(
ERROR,
"EvtGen") <<
"Not implemented daugt in get_isgw_ff_1S0.\n";
986 report(
ERROR,
"EvtGen") <<
"Not implemented parent in get_isgw_ff_1S0.\n";
994 mup=1.0/(1.0/msq+1.0/msb);
995 mum=1.0/(1.0/msq-1.0/msb);
998 if (
t>tm )
t=0.99*tm;
1001 f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,3.0/2.0)*
1002 exp(-1.0*((msd*msd*(tm-
t)/(4.0*mtb*mtx*kap*bbx2))));
1004 *fpf = f3*(1+(msb/(2.0*mum))-(msb*msq*msd*bb2/(4.0*mup*mum*mtx*bbx2)));
1005 *fmf = f3*(1.0-(mtb+mtx)*(0.5/msq-(msd*bb2/(4.0*mup*mtx*bbx2))));
1012void EvtISGWFF::EvtISGW1FF3S1(
EvtId parent,
EvtId daugt,
double t,
1013 double mass,
double *
f,
double *g,
double *ap,
double *am){
1169 double msd(0.0),mup,msq(0.0),bb2(0.0),mum,mtx,bbx2;
1170 double bx2(0.0),msb(0.0),tm;
1171 double mb,mx,f3, kap;
1173 if (parent==BM||parent==BP||parent==B0||parent==B0B) {
1177 if (daugt==DSTP||daugt==DSTM||daugt==DSTB||daugt==DST0) {
1182 if (daugt==RHOP||daugt==RHOM||daugt==RHO0||daugt==OMEG) {
1187 report(
ERROR,
"EvtGen") <<
"Not implemented daugt in get_isgw_ff_3S1.\n";
1192 report(
ERROR,
"EvtGen") <<
"Not implemented parent in get_isgw_ff_3S1.\n";
1200 mup=1.0/(1.0/msq+1.0/msb);
1201 mum=1.0/(1.0/msq-1.0/msb);
1206 if (
t > tm )
t = 0.99*tm;
1209 f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,3.0/2.0)*
1210 exp(-1.0*((msd*msd*(tm-
t)/(4.0*mtb*mtx*kap*bbx2))));
1213 *g=0.5*f3*((1/msq)-(msd*bb2/(2.0*mum*mtx*bbx2)));
1214 *ap=(-1.0*f3/(2.0*mtx))*(1.0+(msd*(bb2-bx2)/(msb
1215 *(bb2+bx2)))-(msd*msd*bx2*bx2/(4.0*mum*mtb*bbx2*bbx2)));
1220void EvtISGWFF::EvtISGW1FF23S1 (
EvtId parent,
EvtId daugt,
1221 double t,
double mass,
double *fpf,
double *gpf,
1222 double *appf,
double *apmf ) {
1378 double msd(0.0), mx(0.0), mb(0.0);
1379 double msq(0.0), bx2(0.0),mtx;
1381 double mum,mup,bb2(0.0),bbx2,tm,msb(0.0);
1383 if (parent==BM||parent==BP||parent==B0||parent==B0B) {
1387 if (daugt==RHO2SP||daugt==RHO2SM||daugt==RHO2S0||daugt==OMEG2S) {
1392 if (daugt==D23S1N||daugt==D23S10||daugt==D23S1P||daugt==D23S1B) {
1397 report(
ERROR,
"EvtGen") <<
"Not implemented daugt in get_isgw_ff_23P1.\n";
1402 report(
ERROR,
"EvtGen") <<
"Not implemented parent in get_isgw_ff_23P1.\n";
1409 mup=1.0/(1.0/msq+1.0/msb);
1410 mum=1.0/(1.0/msq-1.0/msb);
1413 if (
t>tm)
t = 0.99*tm;
1415 double kap = 0.7*0.7;
1416 f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,3.0/2.0)*
1417 exp(-1.0*((msd*msd*(tm-
t)/(4.0*mtb*mtx*kap*bbx2))));
1419 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0)*
1420 exp(-1.0*((msd*msd*(tm-
t)/(4.0*mtb*mtx*kap*bbx2))));
1422 *fpf = sqrt(6.0)*f3*mtb*( ((bb2-bx2)/(bb2+bx2)) + ((msd*msd*bx2*
1423 (tm-
t))/(6.0*mtx*mtb*bbx2*kap*bbx2)));
1425 *gpf = sqrt(3.0/8.0)*f3*( ((((bb2-bx2)/(bb2+bx2)) + ((msd*msd*bx2*
1426 (tm-
t))/(6.0*mtx*mtb*bbx2*kap*bbx2)))*
1427 ((1.0/msq)-((msd*bb2)/(2.0*mum*mtx*bbx2)))) +
1428 ((msd*bb2*bx2)/(3.0*mum*mtx*bbx2*bbx2)));
1430 tt = (msd*msd*bx2*(tm-
t))/(mtx*mtb*bb2*kap*bbx2);
1432 *appf = (f5/(sqrt(6.0)*mtx))* ( ((3.0*mtb*bbx2/(2.0*msb*sqrt(bb2*bx2)))*
1433 (1.0 - ( (msd*msd*msb*bx2*bx2)/(4.0*mtb*mtb*mum*bbx2*bbx2)))) -
1434 ( (3.0*msd*sqrt(bx2/bb2))/(2.0*msb)) +
1435 ( (5.0*msd*sqrt(bx2*bb2)*(1.0 + 0.1*tt))/(2.0*msb*bbx2)) -
1436 ( (3.0*mtb*sqrt(bb2/bx2)*(1.0 + (tt/6.0)))/(2.0*msb)) +
1437 ( (7.0*msd*msd*sqrt(bb2/bx2)*bx2*bx2*(1.0 + (tt/14.0))) /
1438 (8.0*mtb*mum*bbx2*bbx2)));
1445void EvtISGWFF::EvtISGW1FF3P1 (
EvtId parent,
EvtId daugt,
1446 double t,
double mass,
1447 double *lf,
double *qf,
double *cpf,
double *cmf ) {
1603 double msd(0.0), mx(0.0), mb(0.0);
1604 double msq(0.0), bx2(0.0),mtx,f5;
1605 double msb(0.0),bb2(0.0),mup,mum,bbx2,tm;
1608 if (parent==BM||parent==BP||parent==B0||parent==B0B) {
1612 if (daugt==A10||daugt==A1P||daugt==A1M||daugt==F1||daugt==F1PR) {
1617 if (daugt==D3P1P||daugt==D3P1N||daugt==D3P1B||daugt==D3P10) {
1622 report(
ERROR,
"EvtGen") <<
"Not implemented daugt in get_isgw_ff_3P1.\n";
1627 report(
ERROR,
"EvtGen") <<
"Not implemented parent in get_isgw_ff_3P1.\n";
1636 mup=1.0/(1.0/msq+1.0/msb);
1637 mum=1.0/(1.0/msq-1.0/msb);
1640 if (
t>tm)
t = 0.99*tm;
1643 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0)*
1644 exp(-1.0*((msd*msd*(tm-
t)/(4.0*mtb*mtx*kap*bbx2))));
1646 *qf = (f5*msd)/(2.0*mtx*sqrt(bb2));
1648 *lf = -1.0*mtb*sqrt(bb2)*f5*(1/mum+(msd*(tm-
t)/(2.0*mtb*
1649 kap*bb2))*((1.0/msq)-(1.0*msd*bb2/(2.0*mum*mtx*bbx2))));
1651 *cpf = (f5*msd*msb/(4.0*mtb*sqrt(bb2)*mum))*(1.0-(msd*msq*bb2/(
1652 2.0*mtx*mum*bbx2)));
1659void EvtISGWFF::EvtISGW1FF3P0 (
EvtId parent,
EvtId daugt,
1660 double t,
double mass,
double *upf,
double *umf ) {
1816 double msd(0.0), mx(0.0), mb(0.0);
1817 double msq(0.0), bx2(0.0),mtx;
1819 double mum,mup,bb2(0.0),bbx2,msb(0.0),tm;
1821 if (parent==BM||parent==BP||parent==B0||parent==B0B) {
1825 if (daugt==A00||daugt==A0P||daugt==A0M||daugt==F0||daugt==F0PR) {
1830 if (daugt==D3P0P||daugt==D3P0N||daugt==D3P0B||daugt==D3P00) {
1835 report(
ERROR,
"EvtGen") <<
"Not implemented daugt in get_isgw_ff_3P0.\n";
1840 report(
ERROR,
"EvtGen") <<
"Not implemented parent in get_isgw_ff_3P0.\n";
1849 mup=1.0/(1.0/msq+1.0/msb);
1850 mum=1.0/(1.0/msq-1.0/msb);
1853 if (
t>tm)
t = 0.99*tm;
1855 double kap = 0.7*0.7;
1856 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0)*
1857 exp(-1.0*((msd*msd*(tm-
t)/(4.0*mtb*mtx*kap*bbx2))));
1859 *upf = f5*msd*msq*msb/(sqrt(6.0*bb2)*mtx*mum);
1866void EvtISGWFF::EvtISGW1FF1P1 (
EvtId parent,
EvtId daugt,
1867 double t,
double mass,
1868 double *vf,
double *rf,
double *spf,
double *smf ) {
2024 double msd(0.0), mx(0.0), mb(0.0);
2025 double msq(0.0), bx2(0.0),mtx,f5;
2027 double msb(0.0),bb2(0.0),bbx2,tm;
2029 if (parent==BM||parent==BP||parent==B0||parent==B0B) {
2034 if (daugt==H1||daugt==H1PR||daugt==B10||daugt==B1P||daugt==B1M) {
2039 if (daugt==D1P1P||daugt==D1P1N||daugt==D1P10||daugt==D1P1B) {
2044 report(
ERROR,
"EvtGen") <<
"Not implemented daugt in get_isgw_ff_3P1.\n";
2049 report(
ERROR,
"EvtGen") <<
"Not implemented parent in get_isgw_ff_3P1.\n";
2058 mup=1.0/(1.0/msq+1.0/msb);
2059 mum=1.0/(1.0/msq-1.0/msb);
2062 if (
t>tm)
t = 0.99*tm;
2065 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0)*
2066 exp(-1.0*((msd*msd*(tm-
t)/(4.0*mtb*mtx*kap*bbx2))));
2068 *vf = f5*(((mtb*sqrt(bb2))/(4.0*sqrt(2.0)*msb*msq*mtx)));
2069 *rf = f5*mtb*sqrt(bb2/2)*((1.0/mup));
2071 *spf = (f5*msd/(sqrt(2.0*bb2)*mtb))*(1.0+(msb/(2.0*mum))-
2072 (msb*msq*msd*bb2/(4.0*mup*mum*mtx*bbx2)));
2080void EvtISGWFF::EvtISGW1FF21S0 (
EvtId parent,
EvtId daugt,
2081 double t,
double mass,
double *fppf,
double *fpmf ) {
2237 double msd(0.0), mx(0.0), mb(0.0);
2238 double msq(0.0), bx2(0.0),mtx;
2241 double mum,mup,tm,bb2(0.0),bbx2;
2243 if (parent==BM||parent==BP||parent==B0||parent==B0B) {
2247 if (daugt==PI2S0||daugt==PI2SP||daugt==PI2SM||daugt==ETA2S){
2252 if (daugt==D21S00||daugt==D21S0P||daugt==D21S0N||daugt==D21S0B) {
2257 report(
ERROR,
"EvtGen") <<
"Not implemented daugt in get_isgw1_ff_21S0.\n";
2262 report(
ERROR,
"EvtGen") <<
"Not implemented parent in get_isgw1_ff_21S0.\n";
2271 mup=1.0/(1.0/msq+1.0/msb);
2272 mum=1.0/(1.0/msq-1.0/msb);
2275 if (
t>tm)
t = 0.99*tm;
2277 double kap = 0.7*0.7;
2278 f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,3.0/2.0)*
2279 exp(-1.0*((msd*msd*(tm-
t)/(4.0*mtb*mtx*kap*bbx2))));
2281 *fppf = f3*sqrt(3.0/8.0)*(msb/mup)*( ((bb2-bx2)/(bb2+bx2)) +
2282 (((msq*msd*bb2)/(3.0*mum*mtx*bbx2))*((7.0*bx2-3.0*bb2)/
2284 (((msd*msd*bx2*(tm-
t))/(6.0*mtx*mtb*bbx2*kap*bbx2))*
2285 (1.0 - ((msq*msd*bb2)/(2.0*mum*mtx*bbx2)))));
TFile f("ana_bhabha660a_dqa_mcPat_zy_old.root")
EvtComplex exp(const EvtComplex &c)
ostream & report(Severity severity, const char *facility)
static double getMeanMass(EvtId i)
static EvtId getId(const std::string &name)