LCOV - code coverage report
Current view: top level - TEvtGen/EvtGen/EvtGenModels - EvtISGW2FF.cpp (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 796 0.0 %
Date: 2016-06-14 17:26:59 Functions: 0 17 0.0 %

          Line data    Source code
       1             : //--------------------------------------------------------------------------
       2             : //
       3             : // Environment:
       4             : //      This software is part of the EvtGen package developed jointly
       5             : //      for the BaBar and CLEO collaborations.  If you use all or part
       6             : //      of it, please give an appropriate acknowledgement.
       7             : //
       8             : // Copyright Information: See EvtGen/COPYRIGHT
       9             : //      Copyright (C) 1998      Caltech, UCSB
      10             : //
      11             : // Module: EvtISGW2FF.cc
      12             : //
      13             : // Description: Routine to implement semileptonic form factors
      14             : //              according to the model ISGW2
      15             : //
      16             : // Modification history:
      17             : //
      18             : //    DJL     April 17, 1998        Module created
      19             : //
      20             : //------------------------------------------------------------------------
      21             : // 
      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"
      30             : #include <string>
      31             : #include <math.h>
      32             : #include <stdlib.h>
      33             : using std::endl;
      34             : 
      35             : void EvtISGW2FF::getscalarff(EvtId parent,EvtId daught,
      36             :                        double t, double mass, double *fpf,
      37             :                             double *f0f ) {
      38             : 
      39             :   //added by Lange Jan4,2000
      40           0 :   static EvtId D0=EvtPDL::getId("D0");
      41           0 :   static EvtId D0B=EvtPDL::getId("anti-D0");
      42           0 :   static EvtId DP=EvtPDL::getId("D+");
      43           0 :   static EvtId DM=EvtPDL::getId("D-");
      44             : 
      45           0 :   static EvtId D3P0P=EvtPDL::getId("D_0*+");
      46           0 :   static EvtId D3P0N=EvtPDL::getId("D_0*-");
      47           0 :   static EvtId D3P00=EvtPDL::getId("D_0*0");
      48           0 :   static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
      49             : 
      50           0 :   static EvtId D21S0P=EvtPDL::getId("D(2S)+");
      51           0 :   static EvtId D21S0N=EvtPDL::getId("D(2S)-");
      52           0 :   static EvtId D21S00=EvtPDL::getId("D(2S)0");
      53           0 :   static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
      54             : 
      55           0 :   static EvtId ETA2S=EvtPDL::getId("eta(2S)");
      56             : 
      57           0 :   static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
      58           0 :   static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
      59           0 :   static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
      60             : 
      61           0 :   static EvtId PIP=EvtPDL::getId("pi+");
      62           0 :   static EvtId PIM=EvtPDL::getId("pi-");
      63           0 :   static EvtId PI0=EvtPDL::getId("pi0");
      64             : 
      65             : 
      66           0 :   static EvtId A0P=EvtPDL::getId("a_0+");
      67           0 :   static EvtId A0M=EvtPDL::getId("a_0-");
      68           0 :   static EvtId A00=EvtPDL::getId("a_00");
      69             : 
      70           0 :   static EvtId F0=EvtPDL::getId("f_0");
      71           0 :   static EvtId F0PR=EvtPDL::getId("f'_0");
      72             : 
      73           0 :   static EvtId ETA=EvtPDL::getId("eta");
      74           0 :   static EvtId ETAPR=EvtPDL::getId("eta'");
      75             : 
      76           0 :   static EvtId KP=EvtPDL::getId("K+");
      77           0 :   static EvtId KM=EvtPDL::getId("K-");
      78           0 :   static EvtId K0=EvtPDL::getId("K0");
      79           0 :   static EvtId KB=EvtPDL::getId("anti-K0");
      80           0 :   static EvtId K0S=EvtPDL::getId("K_S0");
      81           0 :   static EvtId K0L=EvtPDL::getId("K_L0");
      82             : 
      83           0 :   static EvtId K0STP=EvtPDL::getId("K_0*+");
      84           0 :   static EvtId K0STM=EvtPDL::getId("K_0*-");
      85           0 :   static EvtId K0ST0=EvtPDL::getId("K_0*0");
      86           0 :   static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
      87             : 
      88           0 :   static EvtId DSP=EvtPDL::getId("D_s+");
      89           0 :   static EvtId DSM=EvtPDL::getId("D_s-");
      90             : 
      91           0 :   static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
      92           0 :   static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
      93             : 
      94           0 :   double fmf;
      95           0 :   double mb=EvtPDL::getMeanMass(parent);
      96             : 
      97           0 :   if (daught==PI0||daught==PIP||daught==PIM||daught==ETA||
      98           0 :       daught==ETAPR||daught==D0||daught==D0B||daught==DP||
      99           0 :       daught==DM||daught==KP||daught==KM||daught==K0||daught==K0S||
     100           0 :       daught==K0L||daught==KB||daught==DSP||daught==DSM) {
     101             : 
     102           0 :       EvtISGW2FF1S0(parent,daught,t,mass,fpf,&fmf);
     103           0 :   }
     104             :       
     105           0 :   if (daught==PI2S0||daught==PI2SP||daught==PI2SM||daught==ETA2S||
     106           0 :       daught==D21S0P||daught==D21S0B||daught==D21S0N||daught==D21S00){
     107           0 :       EvtISGW2FF21S0(parent,daught,t,mass,fpf,&fmf);
     108           0 :   }
     109             :   
     110           0 :   if (daught==A00||daught==A0P||daught==A0M||daught==F0||
     111           0 :       daught==F0PR||daught==D3P0P||daught==D3P00||daught==D3P0B||
     112           0 :       daught==D3P0N||daught==K0STM||daught==K0STB||daught==K0STP||
     113           0 :       daught==D3P0SP||daught==D3P0SN||
     114           0 :       daught==K0ST0) {
     115           0 :     EvtISGW2FF3P0(parent,daught,t,mass,fpf,&fmf);
     116           0 :   }
     117             : 
     118           0 :   *f0f = (fmf/((mb*mb-mass*mass)/t))+(*fpf);
     119             : 
     120             :   return ;
     121           0 : }
     122             : 
     123             :  void EvtISGW2FF::gettensorff(EvtId parent,EvtId daught,
     124             :                        double t, double mass, double *hf,
     125             :                              double *kf, double *bpf, double *bmf ){
     126             : 
     127             :   //added by Lange Jan4,2000
     128           0 :     EvtISGW2FF3P2(parent,daught,t,mass,hf,kf,bpf,bmf);
     129             : 
     130           0 :     return;
     131             : 
     132             :  }
     133             : 
     134             : 
     135             :  void EvtISGW2FF::getvectorff(EvtId parent,EvtId daught,
     136             :                        double t, double mass, double *a1f,
     137             :                              double *a2f, double *vf, double *a0f ){
     138           0 :    double ff,gf,apf,amf;
     139             : 
     140             :   //added by Lange Jan4,2000
     141             : 
     142           0 :   static EvtId DST0=EvtPDL::getId("D*0");
     143           0 :   static EvtId DSTB=EvtPDL::getId("anti-D*0");
     144           0 :   static EvtId DSTP=EvtPDL::getId("D*+");
     145           0 :   static EvtId DSTM=EvtPDL::getId("D*-");
     146             : 
     147             : 
     148           0 :   static EvtId D1P1P=EvtPDL::getId("D_1+");
     149           0 :   static EvtId D1P1N=EvtPDL::getId("D_1-");
     150           0 :   static EvtId D1P10=EvtPDL::getId("D_10");
     151           0 :   static EvtId D1P1B=EvtPDL::getId("anti-D_10");
     152             : 
     153           0 :   static EvtId D3P1P=EvtPDL::getId("D'_1+");
     154           0 :   static EvtId D3P1N=EvtPDL::getId("D'_1-");
     155           0 :   static EvtId D3P10=EvtPDL::getId("D'_10");
     156           0 :   static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
     157             : 
     158           0 :   static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
     159           0 :   static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
     160           0 :   static EvtId D23S10=EvtPDL::getId("D*(2S)0");
     161           0 :   static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
     162             : 
     163           0 :   static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
     164           0 :   static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
     165           0 :   static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
     166           0 :   static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
     167             : 
     168           0 :   static EvtId RHOP=EvtPDL::getId("rho+");
     169           0 :   static EvtId RHOM=EvtPDL::getId("rho-");
     170           0 :   static EvtId RHO0=EvtPDL::getId("rho0");
     171             : 
     172           0 :   static EvtId A1P=EvtPDL::getId("a_1+");
     173           0 :   static EvtId A1M=EvtPDL::getId("a_1-");
     174           0 :   static EvtId A10=EvtPDL::getId("a_10");
     175             : 
     176           0 :   static EvtId B1P=EvtPDL::getId("b_1+");
     177           0 :   static EvtId B1M=EvtPDL::getId("b_1-");
     178           0 :   static EvtId B10=EvtPDL::getId("b_10");
     179             : 
     180           0 :   static EvtId H1=EvtPDL::getId("h_1");
     181           0 :   static EvtId H1PR=EvtPDL::getId("h'_1");
     182             : 
     183           0 :   static EvtId F1=EvtPDL::getId("f_1");
     184           0 :   static EvtId F1PR=EvtPDL::getId("f'_1");
     185             : 
     186           0 :   static EvtId OMEG=EvtPDL::getId("omega");
     187           0 :   static EvtId KSTP=EvtPDL::getId("K*+");
     188           0 :   static EvtId KSTM=EvtPDL::getId("K*-");
     189           0 :   static EvtId KST0=EvtPDL::getId("K*0");
     190           0 :   static EvtId KSTB=EvtPDL::getId("anti-K*0");
     191             : 
     192           0 :   static EvtId K1P=EvtPDL::getId("K_1+");
     193           0 :   static EvtId K1M=EvtPDL::getId("K_1-");
     194           0 :   static EvtId K10=EvtPDL::getId("K_10");
     195           0 :   static EvtId K1B=EvtPDL::getId("anti-K_10");
     196             : 
     197           0 :   static EvtId K1STP=EvtPDL::getId("K'_1+");
     198           0 :   static EvtId K1STM=EvtPDL::getId("K'_1-");
     199           0 :   static EvtId K1ST0=EvtPDL::getId("K'_10");
     200           0 :   static EvtId K1STB=EvtPDL::getId("anti-K'_10");
     201             : 
     202           0 :   static EvtId PHI=EvtPDL::getId("phi");
     203             : 
     204           0 :   static EvtId D1P1SP=EvtPDL::getId("D_s1+");
     205           0 :   static EvtId D1P1SN=EvtPDL::getId("D_s1-");
     206             : 
     207           0 :   static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
     208           0 :   static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
     209             : 
     210           0 :   static EvtId DSSTP=EvtPDL::getId("D_s*+");
     211           0 :   static EvtId DSSTM=EvtPDL::getId("D_s*-");
     212             : 
     213           0 :    if (daught==DST0||daught==DSTP||daught==DSTM||daught==DSTB||
     214           0 :        daught==OMEG||daught==RHO0||daught==RHOM||daught==RHOP||
     215           0 :        daught==KSTP||daught==KSTM||daught==KST0||daught==KSTB||
     216           0 :        daught==PHI||daught==DSSTP||daught==DSSTM) {
     217           0 :      EvtISGW2FF3S1(parent,daught,t,mass,&ff,&gf,&apf,&amf);
     218           0 :    }
     219           0 :    if (daught==B10||daught==B1P||daught==B1M||daught==H1||
     220           0 :        daught==H1PR||daught==D1P1P||daught==D1P10||daught==D1P1B||
     221           0 :        daught==D1P1SP||daught==D1P1SN||
     222           0 :        daught==D1P1N||daught==K10||daught==K1B||daught==K1P||
     223           0 :        daught==K1M) {
     224           0 :      EvtISGW2FF1P1(parent,daught,t,mass,&ff,&gf,&apf,&amf);
     225           0 :    }
     226           0 :    if (daught==RHO2S0||daught==RHO2SP||daught==RHO2SM||daught==OMEG2S||
     227           0 :        daught==D23S1P||daught==D23S1B||daught==D23S1N||daught==D23S10){
     228           0 :      EvtISGW2FF23S1(parent,daught,t,mass,&ff,&gf,&apf,&amf);
     229           0 :    }
     230           0 :    if (daught==A10||daught==A1P||daught==A1M||daught==F1||
     231           0 :                   daught==F1PR||daught==D3P1P||daught==D3P10||daught==D3P1B||
     232           0 :        daught==D3P1N||daught==K1STM||daught==K1STB||daught==K1STP||
     233           0 :        daught==D3P1SP||daught==D3P1SN||
     234           0 :        daught==K1ST0) {
     235           0 :      EvtISGW2FF3P1(parent,daught,t,mass,&ff,&gf,&apf,&amf);
     236           0 :    }
     237             : 
     238             :    // Need to stuff in some factors to make these the ffs that
     239             :    // is used elsewhere...
     240             : 
     241           0 :    double mb=EvtPDL::getMeanMass(parent);
     242             :   
     243             : 
     244           0 :    *vf = (gf)*(mb+mass);
     245           0 :    *a1f = (ff)/(mb+mass);
     246           0 :    *a2f = -1.0*(apf)*(mb+mass);
     247             : 
     248           0 :    double a3f = ((mb+mass)/(2.0*mass))*(*a1f) -
     249           0 :         ((mb-mass)/(2.0*mass))*(*a2f);
     250             : 
     251           0 :    *a0f = a3f + ( (t*amf)/(2.0*mass));
     252             : 
     253             :    return;
     254           0 :  }
     255             : 
     256             : 
     257             : 
     258             : void EvtISGW2FF::EvtISGW2FF1S0 (EvtId parent,EvtId daugt,
     259             :                           double t, double mass, double *fpf, double *fmf ) {
     260             : 
     261             :   double mtb, mbb(0.0);
     262             :   double msd(0.0), mx,mb,nf(0.0),nfp(0.0); 
     263             :   double msq(0.0),bx2(0.0),mbx(0.0),mtx;
     264             :   double zji,cji,gammaji,chiji,betaji_fppfm;
     265             :   double rfppfm,rfpmfm,f3fppfm,f3fpmfm,fppfm,fpmfm,ai,f3; 
     266             :   double mqm,msb(0.0),bb2(0.0),mup,bbx2,tm,r2,betaji_fpmfm;
     267             : 
     268           0 :   EvtId prnt=parent;
     269           0 :   EvtId dgt=daugt;
     270             : 
     271             :   //added by Lange Jan4,2000
     272           0 :   static EvtIdSet theB("B+","B-","B0","anti-B0");
     273             : 
     274           0 :   static EvtId D0=EvtPDL::getId("D0");
     275           0 :   static EvtId D0B=EvtPDL::getId("anti-D0");
     276           0 :   static EvtId DP=EvtPDL::getId("D+");
     277           0 :   static EvtId DM=EvtPDL::getId("D-");
     278             : 
     279           0 :   static EvtId PIP=EvtPDL::getId("pi+");
     280           0 :   static EvtId PIM=EvtPDL::getId("pi-");
     281           0 :   static EvtId PI0=EvtPDL::getId("pi0");
     282             : 
     283           0 :   static EvtId ETA=EvtPDL::getId("eta");
     284           0 :   static EvtId ETAPR=EvtPDL::getId("eta'");
     285             : 
     286           0 :   static EvtId KP=EvtPDL::getId("K+");
     287           0 :   static EvtId KM=EvtPDL::getId("K-");
     288           0 :   static EvtId K0=EvtPDL::getId("K0");
     289           0 :   static EvtId KB=EvtPDL::getId("anti-K0");
     290           0 :   static EvtId K0S=EvtPDL::getId("K_S0");
     291           0 :   static EvtId K0L=EvtPDL::getId("K_L0");
     292             : 
     293           0 :   static EvtId DSP=EvtPDL::getId("D_s+");
     294           0 :   static EvtId DSM=EvtPDL::getId("D_s-");
     295             : 
     296           0 :   static EvtId BSB=EvtPDL::getId("anti-B_s0");
     297           0 :   static EvtId BS0=EvtPDL::getId("B_s0");
     298             : 
     299           0 :   if (theB.contains(prnt)) {
     300             :     
     301             :     msb=5.2;
     302             :     msd=0.33;
     303             :     bb2=0.431*0.431;
     304             :     mbb=5.31;
     305             :     nf = 4.0;
     306             :    
     307           0 :     if (dgt==PI0||dgt==PIP||dgt==PIM||dgt==ETA||dgt==ETAPR) {
     308             : 
     309             :       msq=0.33;
     310             :       bx2=0.406*0.406;
     311             :       mbx=0.75*0.770+0.25*0.14;
     312             :       nfp = 0.0;
     313           0 :     }
     314             :     else{
     315           0 :       if (dgt==D0||dgt==D0B||dgt==DP||dgt==DM) {
     316             :         msq=1.82;
     317             :         bx2=0.45*0.45;
     318             :         mbx=0.75*2.01+0.25*1.87;
     319             :         nfp = 3.0;
     320           0 :       }
     321             :       else{
     322           0 :       report(Severity::Error,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
     323             :       }
     324             :     }
     325             :   }
     326             :   else{
     327           0 :     if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
     328             :       msb=1.82;
     329             :       msd=0.33;
     330             :       bb2=0.45*0.45;
     331             :       mbb=1.963;
     332             :       nf = 3.0;
     333             : 
     334           0 :       if (dgt==PIP||dgt==PIM||dgt==PI0||dgt==ETA||dgt==ETAPR) {
     335             :         msq=0.33;
     336             :         bx2=0.406*0.406;
     337             :         mbx=0.75*0.770+0.25*0.14;
     338             :         nfp = 0.0;
     339           0 :       }
     340             :       else{
     341           0 :         if (dgt==K0||dgt==K0S||dgt==K0L||dgt==KB||dgt==KP||dgt==KM) {
     342             :           msq=0.55;
     343             :           bx2=0.44*0.44;
     344             :           mbx=0.75*0.892+0.25*0.49767;
     345             :           nfp = 2.0;
     346           0 :         }
     347             :         else{
     348           0 :       report(Severity::Error,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
     349             :         }
     350             :       }
     351             :     }
     352             :     else{
     353           0 :       if (prnt==DSP||prnt==DSM){
     354             :         msb=1.82;
     355             :         msd=0.55;
     356             :         bb2=0.56*0.56;
     357             :         mbb=1.968;
     358             :         nf = 3.0;
     359             :     
     360           0 :         if  (dgt==K0||dgt==K0S||dgt==K0L||dgt==KB) {
     361             :       
     362             :           msq=0.33;
     363             :           bx2=0.44*0.44;
     364             :           mbx=0.75*0.770+0.25*0.14;
     365             :           nfp = 0.0;
     366           0 :         }
     367             :         else{
     368           0 :           if  (dgt==PI0||dgt==ETA||dgt==ETAPR) {
     369             :             msq=0.33;
     370             :             bx2=0.53*0.53;
     371             :             mbx=0.75*0.892+0.25*0.49767;
     372             :             nfp = 0.0;
     373           0 :           }
     374             :           else{
     375             : 
     376           0 :             report(Severity::Error,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
     377             :           }
     378             :         }
     379             :       }
     380             :     else{
     381             :       //BS -> cs constants added by djl on Jan. 21,1998
     382           0 :       if (prnt==BS0||prnt==BSB){
     383             : 
     384             :         msb=5.2;
     385             :         msd=0.55;
     386             :         bb2=0.54*0.54;
     387             :         mbb=5.38;
     388             :         nf = 4.0;
     389             :     
     390           0 :         if  (dgt==DSP||dgt==DSM) {
     391             :       
     392             :           msq=1.82;
     393             :           bx2=0.56*0.56;
     394             :           mbx=0.75*2.11+0.25*1.97;
     395             :           nfp = 3.0;
     396           0 :         }
     397           0 :         else if  (dgt==KP||dgt==KM) {
     398             :       
     399             :           msq=0.55;
     400             :           bx2=0.44*0.44;
     401             :           mbx=0.75*0.892+0.25*0.49767;
     402             :           nfp = 2.0;
     403           0 :         }
     404             :         else{
     405           0 :             report(Severity::Error,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
     406             :           }
     407             :         }
     408             :     
     409             :       else{
     410           0 :         report(Severity::Error,"EvtGen") << "Not implemented parent in get_isgw_ff_1S0.\n";
     411           0 :         report(Severity::Error,"EvtGen") << "Parent:"<<parent.getId()<<endl;
     412             :       }
     413             :     }
     414             :     }
     415             :   }
     416             : 
     417           0 :   mtb = msb + msd;
     418           0 :   mtx = msq + msd;
     419           0 :   mb=EvtPDL::getMeanMass(parent);
     420             :   mx=mass;
     421             :   
     422           0 :   mup=1.0/(1.0/msq+1.0/msb);
     423           0 :   bbx2=0.5*(bb2+bx2);
     424           0 :   tm=(mb-mx)*(mb-mx);
     425           0 :   if ( t>tm ) t=0.99*tm;
     426             :   
     427             :   mqm = 0.1;
     428           0 :   r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) + 
     429           0 :     (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
     430           0 :     log(EvtGetas(mqm,mqm)/EvtGetas(msq,msq));
     431             :   
     432           0 :   f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,1.5) /
     433           0 :     ((1.0+r2*(tm-t)/12.0)*(1.0+r2*(tm-t)/12.0));
     434             :   
     435             : //  for w use wt def with physical masses.
     436             : //  report(Severity::Error,"EvtGen") << "before w\n";
     437             :   
     438           0 :   ai = -1.0* ( 6.0/( 33.0 - 2.0*nf));  
     439           0 :   cji = pow(( EvtGetas( msb,msb ) / EvtGetas( msq,msq ) ),ai);
     440             :   
     441           0 :   zji = msq / msb;
     442             :   
     443           0 :   gammaji = EvtGetGammaji( zji );
     444           0 :   chiji = -1.0 - ( gammaji / ( 1- zji ));
     445           0 :   betaji_fppfm = gammaji - (2.0/3.0)*chiji;
     446           0 :   betaji_fpmfm = gammaji + (2.0/3.0)*chiji;
     447           0 :   rfppfm = cji *(1.0 + betaji_fppfm*EvtGetas( msq,sqrt(msb*msq) )/EvtConst::pi);
     448           0 :   rfpmfm = cji *(1.0 + betaji_fpmfm*EvtGetas( msq,sqrt(msb*msq) )/EvtConst::pi);
     449           0 :   f3fppfm = f3*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),0.5);
     450           0 :   f3fpmfm = f3*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),-0.5);
     451           0 :   fppfm = f3fppfm* rfppfm * ( 2.0 - ( ( mtx/msq)*(1- ( (msd*msq*bb2)
     452           0 :                                                        /(2.0*mup*mtx*bbx2)))));
     453           0 :   fpmfm = f3fpmfm* rfpmfm * ( mtb/msq) * ( 1 - ( ( msd*msq*bb2)/
     454             :                                                  ( 2.0*mup*mtx*bbx2)));
     455             :   
     456           0 :   *fpf = (fppfm + fpmfm)/2.0;
     457           0 :   *fmf = (fppfm - fpmfm)/2.0;
     458             :   
     459             :   return;  
     460           0 : } //get_ff_isgw_1s0
     461             : 
     462             : 
     463             : 
     464             : 
     465             : 
     466             : void  EvtISGW2FF::EvtISGW2FF3S1(EvtId parent,EvtId daugt,double t,double mass,
     467             :       double *f,double *g,double *ap,double *am){
     468             : 
     469             :   //added by Lange Jan4,2000
     470           0 :   static EvtId BP=EvtPDL::getId("B+");
     471           0 :   static EvtId BM=EvtPDL::getId("B-");
     472           0 :   static EvtId B0=EvtPDL::getId("B0");
     473           0 :   static EvtId B0B=EvtPDL::getId("anti-B0");
     474             : 
     475           0 :   static EvtId DST0=EvtPDL::getId("D*0");
     476           0 :   static EvtId DSTB=EvtPDL::getId("anti-D*0");
     477           0 :   static EvtId DSTP=EvtPDL::getId("D*+");
     478           0 :   static EvtId DSTM=EvtPDL::getId("D*-");
     479           0 :   static EvtId D0=EvtPDL::getId("D0");
     480           0 :   static EvtId D0B=EvtPDL::getId("anti-D0");
     481           0 :   static EvtId DP=EvtPDL::getId("D+");
     482           0 :   static EvtId DM=EvtPDL::getId("D-");
     483             : 
     484           0 :   static EvtId RHOP=EvtPDL::getId("rho+");
     485           0 :   static EvtId RHOM=EvtPDL::getId("rho-");
     486           0 :   static EvtId RHO0=EvtPDL::getId("rho0");
     487           0 :   static EvtId OMEG=EvtPDL::getId("omega");
     488             : 
     489           0 :   static EvtId KSTP=EvtPDL::getId("K*+");
     490           0 :   static EvtId KSTM=EvtPDL::getId("K*-");
     491           0 :   static EvtId KST0=EvtPDL::getId("K*0");
     492           0 :   static EvtId KSTB=EvtPDL::getId("anti-K*0");
     493             : 
     494           0 :   static EvtId PHI=EvtPDL::getId("phi");
     495           0 :   static EvtId DSP=EvtPDL::getId("D_s+");
     496           0 :   static EvtId DSM=EvtPDL::getId("D_s-");
     497             : 
     498           0 :   static EvtId DSSTP=EvtPDL::getId("D_s*+");
     499           0 :   static EvtId DSSTM=EvtPDL::getId("D_s*-");
     500             : 
     501           0 :   static EvtId BSB=EvtPDL::getId("anti-B_s0");
     502           0 :   static EvtId BS0=EvtPDL::getId("B_s0");
     503             : 
     504             :   double cf(0.0),mtb,wt,msd(0.0),mup,f3f,msq(0.0),bb2(0.0),mum,mtx,bbx2,f3g;
     505             :   double cji,bx2(0.0),f3appam,msb(0.0),tm,mbb(0.0),mbx(0.0);
     506             :   double f3apmam,appam,apmam,mb,mx,f3;
     507             :   double r_f,r_g,r_apmam, betaji_f,betaji_g;
     508             :   double betaji_appam, betaji_apmam;
     509             :   double mqm,r2,chiji,zji,ai,nf(0.0),nfp(0.0),gammaji;
     510             : 
     511           0 :   EvtId prnt=parent;
     512           0 :   EvtId dgt=daugt;
     513             : 
     514           0 :   if (parent==B0||parent==B0B||parent==BP||parent==BM) {
     515             : 
     516             :     msb=5.2;
     517             :     msd=0.33;
     518             :     bb2=0.431*0.431;
     519             :     mbb=5.31;
     520             :     nf = 4.0;
     521             :     
     522           0 :     if (dgt==DST0||dgt==DSTP||dgt==DSTM||dgt==DSTB) {
     523             : 
     524             :       cf=0.989;
     525             :       msq=1.82;
     526             :       bx2=0.38*0.38;
     527             :       mbx=0.75*2.01+0.25*1.87;
     528             :       nfp = 3.0;
     529           0 :     }  
     530             :     else{
     531           0 :       if (dgt==OMEG||dgt==RHO0||dgt==RHOM||dgt==RHOP) {
     532             :         
     533             :         cf=0.905;
     534             :         msq=0.33;
     535             :         bx2=0.299*0.299;
     536             :         mbx=0.75*0.770+0.25*0.14;
     537             :         nfp = 0.0;
     538           0 :       }
     539             :       else{
     540           0 :         report(Severity::Error,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_3S1.\n";
     541             :       }
     542             :     }
     543             :   }
     544             :   else{
     545           0 :     if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
     546             :       
     547             :       msb=1.82;
     548             :       msd=0.33;
     549             :       bb2=0.45*0.45;
     550             :       mbb=1.963;
     551             :       nf = 3.0;
     552             : 
     553           0 :       if (dgt==KSTP||dgt==KSTM||dgt==KST0||dgt==KSTB) {
     554             :         
     555             :         cf=0.928;
     556             :         msq=0.55;
     557             :         bx2=0.33*0.33;
     558             :         mbx=0.75*0.892+0.25*0.494;
     559             :         nfp = 2.0;
     560           0 :       }
     561             :       else{
     562           0 :         if (dgt==RHO0||dgt==OMEG||dgt==RHOM||dgt==RHOP) {
     563             :           cf=0.889;
     564             :           msq=0.33;
     565             :           bx2=0.299*0.299;
     566             :           mbx=0.75*0.770+0.25*0.14;
     567             :           nfp = 0.0;
     568           0 :         }
     569             :         else{
     570           0 :           report(Severity::Error,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_3S1.\n";
     571             :         }
     572             :       }
     573             :     }
     574             :     else{
     575           0 :       if (prnt==DSP||prnt==DSM){
     576             :     
     577             :         msb=1.82;
     578             :         msd=0.55;
     579             :         bb2=0.56*0.56;
     580             :         mbb=1.968;
     581             :         nf = 3.0;
     582             :         
     583           0 :         if  (dgt==KSTB||dgt==KST0) {
     584             : 
     585             :           cf=0.8731;
     586             :           msq=0.55;
     587             :           bx2=0.33*0.33;
     588             :           mbx=0.87;
     589             :           nfp = 2.0;
     590           0 :         }
     591             :         else{
     592           0 :           if(dgt==PHI){
     593             :             cf=0.911;
     594             :             msq=0.55;
     595             :             bx2=0.37*0.37;
     596             :             mbx=0.97;
     597             :             nfp = 2.0;
     598           0 :           }
     599             :           else{
     600           0 :         report(Severity::Error,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_3S1.\n";
     601             :           }
     602             :         }
     603             :       }
     604             :     else{
     605             :       //BS -> cs constants added by djl on Jan. 21,1998
     606           0 :       if (prnt==BS0||prnt==BSB){
     607             : 
     608             :         msb=5.2;
     609             :         msd=0.55;
     610             :         bb2=0.54*0.54;
     611             :         mbb=5.38;
     612             :         nf = 4.0;
     613             :     
     614           0 :         if  (dgt==DSSTP||dgt==DSSTM) {
     615             :       
     616             :           cf=0.984;
     617             :           msq=1.82;
     618             :           bx2=0.49*0.49;
     619             :           mbx=0.75*2.11+0.25*1.97;
     620             :           nfp = 3.0;
     621           0 :         }
     622           0 :         else if (dgt==KSTP||dgt==KSTM||dgt==KST0||dgt==KSTB) {
     623             :         
     624             :           cf=0.928;
     625             :           msq=0.55;
     626             :           bx2=0.33*0.33;
     627             :           mbx=0.75*0.892+0.25*0.494;
     628             :           nfp = 2.0;
     629           0 :         }
     630             :         else{
     631           0 :             report(Severity::Error,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
     632             :           }
     633             :         }
     634             :       
     635             :       else{
     636           0 :         report(Severity::Error,"EvtGen") << "Not implemented parent in get_isgw2_ff_3S1.\n";
     637             :       }
     638             :     }
     639             :     }
     640             :   }
     641             : 
     642             : 
     643           0 :   mtb=msb+msd;
     644           0 :   mtx=msq+msd;
     645             :   
     646           0 :   mup=1.0/(1.0/msq+1.0/msb);
     647           0 :   mum=1.0/(1.0/msq-1.0/msb);
     648           0 :   bbx2=0.5*(bb2+bx2);
     649           0 :   mb=EvtPDL::getMeanMass(parent);
     650             :   mx=mass;
     651           0 :   tm=(mb-mx)*(mb-mx);
     652           0 :   if ( t > tm ) t = 0.99*tm;
     653             : 
     654           0 :   wt=1.0+(tm-t)/(2.0*mbb*mbx);
     655             :   mqm = 0.1;
     656             :   
     657           0 :   r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) + 
     658           0 :     (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
     659           0 :     log(EvtGetas(mqm,mqm)/EvtGetas(msq,msq));
     660             :  
     661           0 :   ai = -1.0* ( 6.0/( 33.0 - 2.0*nf));  
     662             :   
     663           0 :   cji = pow(( EvtGetas( msb,msb ) / EvtGetas( msq,msq ) ),ai);
     664           0 :   zji = msq / msb;
     665             : 
     666           0 :   gammaji = EvtGetGammaji( zji );
     667             : 
     668           0 :   chiji = -1.0 - ( gammaji / ( 1- zji ));
     669             :   
     670           0 :   betaji_g = (2.0/3.0)+gammaji;
     671           0 :   betaji_f = (-2.0/3.0)+gammaji;
     672           0 :   betaji_appam = -1.0-chiji+(4.0/(3.0*(1.0-zji)))+
     673           0 :                  (2.0*(1+zji)*gammaji/(3.0*(1.0-zji)*(1.0-zji)));
     674             :   
     675           0 :   betaji_apmam = (1.0/3.0)-chiji-(4.0/(3.0*(1.0-zji)))-
     676           0 :                  (2.0*(1+zji)*gammaji/(3.0*(1.0-zji)*(1.0-zji)))+
     677             :                  gammaji;
     678             : 
     679           0 :   r_g = cji*(1+(betaji_g*EvtGetas( msq,sqrt(mb*msq) )/(EvtConst::pi)));
     680           0 :   r_f = cji*(1+(betaji_f*EvtGetas( msq,sqrt(mb*msq) )/(EvtConst::pi)));
     681           0 :   r_apmam = cji*(1+(betaji_apmam*EvtGetas( msq,sqrt(mb*msq) )/(EvtConst::pi)));
     682             : 
     683             :   
     684           0 :   f3=sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,1.5)/
     685           0 :     ((1.0+r2*(tm-t)/12.0)*(1.0+r2*(tm-t)/12.0));
     686             :   
     687           0 :   f3f=sqrt(mbx*mbb/(mtx*mtb))*f3;
     688           0 :   f3g=sqrt(mtx*mtb/(mbx*mbb))*f3;
     689           0 :   f3appam=sqrt(mtb*mtb*mtb*mbx/(mbb*mbb*mbb*mtx))*f3;
     690             :   f3apmam=sqrt(mtx*mtb/(mbx*mbb))*f3;
     691           0 :   *f=cf*mtb*(1+wt+msd*(wt-1)/(2*mup))*f3f*r_f;
     692           0 :   *g=0.5*(1/msq-msd*bb2/(2*mum*mtx*bbx2))*f3g*r_g;
     693             :   
     694           0 :   appam=cji*(msd*bx2*(1-msd*bx2/(2*mtb*bbx2))/ 
     695           0 :              ((1+wt)*msq*msb*bbx2)-
     696           0 :              betaji_appam*EvtGetas( msq,sqrt(msq*mb) )/
     697           0 :              (mtb*EvtConst::pi))*f3appam;
     698             :   
     699           0 :   apmam=-1.0*(mtb/msb-msd*bx2/(2*mup*bbx2)+wt*msd*mtb*bx2*
     700           0 :               (1-msd*bx2/(2*mtb*bbx2))/((wt+1)*msq*msb*bbx2))*
     701           0 :     f3apmam*r_apmam/mtx;
     702             :   
     703           0 :   *ap=0.5*(appam+apmam);
     704           0 :   *am=0.5*(appam-apmam);
     705             :   return;
     706           0 : }
     707             : 
     708             : 
     709             : void EvtISGW2FF::EvtISGW2FF21S0 (EvtId parent,EvtId daugt,
     710             :        double t, double mass, double *fppf, double *fpmf ) {
     711             : 
     712             :   //added by Lange Jan4,2000
     713           0 :   static EvtId BP=EvtPDL::getId("B+");
     714           0 :   static EvtId BM=EvtPDL::getId("B-");
     715           0 :   static EvtId B0=EvtPDL::getId("B0");
     716           0 :   static EvtId B0B=EvtPDL::getId("anti-B0");
     717             : 
     718           0 :   static EvtId D0=EvtPDL::getId("D0");
     719           0 :   static EvtId D0B=EvtPDL::getId("anti-D0");
     720           0 :   static EvtId DP=EvtPDL::getId("D+");
     721           0 :   static EvtId DM=EvtPDL::getId("D-");
     722             : 
     723           0 :   static EvtId D21S0P=EvtPDL::getId("D(2S)+");
     724           0 :   static EvtId D21S0N=EvtPDL::getId("D(2S)-");
     725           0 :   static EvtId D21S00=EvtPDL::getId("D(2S)0");
     726           0 :   static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
     727             :   
     728           0 :   static EvtId ETA2S=EvtPDL::getId("eta(2S)");
     729             : 
     730           0 :   static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
     731           0 :   static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
     732           0 :   static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
     733             : 
     734             :   double mtb, mbb(0.0);
     735             :   double msd(0.0), mx,mb,nfp(0.0); 
     736             :   double msq(0.0),bx2(0.0),mbx(0.0),mtx;
     737             :   double f3fppfm,f3fpmfm,fppfm,fpmfm,f3;
     738             :   double mqm,msb(0.0);
     739             :   double r2,wt,tm,bb2(0.0),bbx2;
     740             :   double tau,udef,vdef;
     741             : 
     742           0 :   EvtId prnt=parent;
     743           0 :   EvtId dgt=daugt;
     744             : 
     745           0 :   if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
     746             :     
     747             :     msb=5.2;
     748             :     msd=0.33;
     749             :     bb2=0.431*0.431;
     750             :     mbb=0.75*5.325+0.25*5.279;
     751             : 
     752           0 :     if (dgt==PI2S0||dgt==PI2SP||dgt==PI2SM||dgt==ETA2S) {
     753             : 
     754             :       msq=0.33;
     755             :       bx2=0.406*0.406;
     756             :       mbx=0.75*1.45+0.25*1.300;
     757             :       nfp = 0.0;
     758           0 :     }
     759             :     else{
     760           0 :       if (dgt==D21S0P||dgt==D21S0B||dgt==D21S0N||dgt==D21S00) {
     761             :         msq=1.82;
     762             :         bx2=0.45*0.45;
     763             :         mbx=0.75*2.64+0.25*2.58;
     764             :         nfp=3.0;
     765           0 :       }
     766             :       else{
     767             : 
     768           0 :       report(Severity::Error,"EvtGen") << "Not implemented daugt in get_EvtISGW2_ff_21S0.\n";
     769             :       }
     770             :     }
     771             :   }
     772             :   else{
     773           0 :     if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
     774             :       msb=1.82;
     775             :       msd=0.33;
     776             :       bb2=0.45*0.45;
     777             :       mbb=1.963;
     778           0 :       if (dgt==PI2SP||dgt==PI2SM||dgt==PI2S0||dgt==ETA2S) {
     779             :         msq=0.33;
     780             :         bx2=0.406*0.406;
     781             :         mbx=0.75*1.45+0.25*1.300;
     782             :         nfp = 0.0;
     783           0 :       }
     784             :       else{
     785           0 :         report(Severity::Error,"EvtGen") << "Not implemented daugt in get_EvtISGW2_ff_21S0.\n";
     786             :       }
     787             :     }
     788             :     else{
     789           0 :       report(Severity::Error,"EvtGen") << "Not implemented parent in get_EvtISGW2_ff_21S0.\n";
     790             :     }
     791             :   }
     792             :   
     793           0 :   mtb = msb + msd;
     794           0 :   mtx = msq + msd;
     795             :   
     796           0 :   mb = EvtPDL::getMeanMass( parent );
     797             :   mx = mass;
     798             : 
     799           0 :   bbx2=0.5*(bb2+bx2);
     800           0 :   tm=(mb-mx)*(mb-mx);
     801           0 :   if (t>tm) t = 0.99*tm;
     802           0 :   wt=1.0+(tm-t)/(2.0*mbb*mbx);
     803             :   
     804             :   mqm = 0.1;
     805           0 :   r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) + 
     806           0 :     (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
     807           0 :     log(EvtGetas(mqm)/EvtGetas(msq));
     808             :   
     809           0 :   f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,3.0/2.0) /
     810           0 :     (pow((1.0+r2*(tm-t)/24.0),4.0));
     811             :   
     812           0 :   f3fppfm = f3*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),0.5);
     813           0 :   f3fpmfm = f3*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),-0.5);
     814             :   
     815           0 :   tau = msd*msd*bx2*(wt-1)/(bb2*bbx2);
     816           0 :   udef = (( bb2-bx2)/(2.0*bbx2)) + ((bb2*tau)/(3.0*bbx2));
     817           0 :   vdef = (bb2*(1.0+(msq/msb))/(6.0*bbx2))*(7.0 - ((bb2/bbx2)*(5+tau)));
     818             : 
     819           0 :   fppfm = f3fppfm*sqrt(1.5)*((1.0-(msd/msq))*udef-(msd*vdef/msq));
     820           0 :   fpmfm = f3fpmfm*sqrt(1.5)*(mtb/msq)*(udef+(msd*vdef/mtx));
     821             : 
     822           0 :   *fppf = (fppfm + fpmfm) /2.0;
     823           0 :   *fpmf = (fppfm - fpmfm) /2.0;
     824             :   return;
     825             : 
     826           0 : } //get_ff_isgw_21s0
     827             : 
     828             : 
     829             : void EvtISGW2FF::EvtISGW2FF23S1 (EvtId parent,EvtId daugt,
     830             :        double t, double mass, double *fpf, double *gpf, 
     831             :        double *appf, double *apmf ) {
     832             : 
     833             :   //added by Lange Jan4,2000
     834           0 :   static EvtId BP=EvtPDL::getId("B+");
     835           0 :   static EvtId BM=EvtPDL::getId("B-");
     836           0 :   static EvtId B0=EvtPDL::getId("B0");
     837           0 :   static EvtId B0B=EvtPDL::getId("anti-B0");
     838             : 
     839           0 :   static EvtId D0=EvtPDL::getId("D0");
     840           0 :   static EvtId D0B=EvtPDL::getId("anti-D0");
     841           0 :   static EvtId DP=EvtPDL::getId("D+");
     842           0 :   static EvtId DM=EvtPDL::getId("D-");
     843             : 
     844           0 :   static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
     845           0 :   static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
     846           0 :   static EvtId D23S10=EvtPDL::getId("D*(2S)0");
     847           0 :   static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
     848             : 
     849           0 :   static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
     850           0 :   static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
     851           0 :   static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
     852           0 :   static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
     853             : 
     854             :   double mtb,  mbb(0.0);
     855             :   double msd(0.0), mx,mb,nfp(0.0); 
     856             :   double msq(0.0),bx2(0.0),mbx(0.0),mtx;
     857             :   double f3appam,f3apmam,f3,appam,apmam,f3fp,f3gp;
     858             :   double udef,tau,mum,bb2(0.0),bbx2,tm,wt,mqm,r2,msb(0.0);
     859             :   double cfp(0.0);
     860             : 
     861           0 :   EvtId prnt=parent;
     862           0 :   EvtId dgt=daugt;
     863             : 
     864           0 :   if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
     865             : 
     866             :     msb=5.2;
     867             :     msd=0.33;
     868             :     bb2=0.431*0.431;
     869             :     mbb=0.75*5.325+0.25*5.279;
     870             : 
     871           0 :     if (dgt==RHO2S0||dgt==RHO2SP||dgt==RHO2SM||dgt==OMEG2S) {
     872             :       
     873             :       cfp=0.776;
     874             :       msq=0.33;
     875             :       bx2=0.299*0.299;
     876             :       mbx=0.75*1.45+0.25*1.300;
     877             :       nfp = 0.0;
     878             : 
     879           0 :     }
     880             :     else{
     881           0 :       if (dgt==D23S1N||dgt==D23S1P||dgt==D23S1B||dgt==D23S10) {
     882             :         cfp=0.929;
     883             :         msq=1.82;
     884             :         bx2=0.38*0.38;
     885             :         mbx=0.75*2.64+0.25*2.58;
     886             :         nfp=3.0;
     887           0 :       }
     888             :       else{
     889           0 :       report(Severity::Error,"EvtGen") << "Not implemented daugt in get_isgw_ff_23P1.\n";
     890             :       }
     891             :     }
     892             :   }
     893             :   else{
     894           0 :     if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
     895             :       msb=1.82;
     896             :       msd=0.33;
     897             :       bb2=0.45*0.45;
     898             :       mbb=1.963;
     899             : 
     900           0 :       if (dgt==RHO2S0||dgt==RHO2SP||dgt==RHO2SM||dgt==OMEG2S) {
     901             :         cfp=0.74;
     902             :         msq=0.33;
     903             :         bx2=0.299*0.299;
     904             :         mbx=0.75*1.45+0.25*1.300;
     905             :         nfp = 0.0;
     906           0 :       }
     907             :       else{      
     908           0 :         report(Severity::Error,"EvtGen") << "Not implemented daugt in get_isgw_ff_23P1.\n";
     909             :       }
     910             :     }
     911             :     else{
     912           0 :       report(Severity::Error,"EvtGen") << "Not implemented parent in get_isgw_ff_23P1.\n";
     913             :     }
     914             :   }
     915             : 
     916           0 :   mtb = msb + msd;
     917           0 :   mtx = msq + msd;
     918           0 :   mb = EvtPDL::getMeanMass( parent );
     919             :   mx = mass;
     920             :   
     921           0 :   mum=1.0/(1.0/msq-1.0/msb);
     922           0 :   bbx2=0.5*(bb2+bx2);
     923           0 :   tm=(mb-mx)*(mb-mx);
     924             : 
     925           0 :   if (t>tm) t = 0.99*tm;
     926           0 :   wt=1.0+(tm-t)/(2.0*mbb*mbx);
     927             :   
     928             :   mqm = 0.1;
     929           0 :   r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) + 
     930           0 :      (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
     931           0 :      log(EvtGetas(mqm)/EvtGetas(msq));
     932             : 
     933           0 :   f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,3.0/2.0) /
     934           0 :        (pow((1.0+r2*(tm-t)/24.0),4.0));
     935             :   
     936           0 :   f3fp = f3*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),0.5);
     937           0 :   f3gp = f3*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
     938           0 :   f3appam = f3*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),0.5);
     939             :   f3apmam = f3*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
     940             : 
     941           0 :   tau = msd*msd*bx2*(wt-1.0)/(bb2*bbx2);
     942           0 :   udef = (( bb2-bx2)/(2.0*bbx2));
     943           0 :   udef = udef + ((bb2*tau)/(3.0*bbx2));
     944             : 
     945           0 :   *fpf = cfp*sqrt(1.5)*mtb*(1.0+wt)*udef*f3fp;
     946             : 
     947           0 :   *gpf = sqrt(3.0/8.0)*f3gp*(((1.0/msq)-((msd*bb2)/(2.0*mum*mtx*bbx2)))*
     948           0 :         udef + ( (msd*bb2*bx2)/(3.0*mum*mtx*bbx2*bbx2)));
     949             :        
     950           0 :   appam = f3appam*sqrt(2.0/3.0)*(bb2/(msq*msb*bbx2))*((-7.0*msd*msd*bx2*
     951           0 :           bx2*(1.0+(tau/7.0))/(8.0*mtb*bbx2*bbx2))+(5.0*msd*bx2*(1.0+
     952           0 :           (tau/5.0))/(4.0*bbx2))+(3.0*msd*msd*bx2*bx2/(8.0*mtb*bb2*bbx2))-
     953           0 :           (3.0*msd*bx2/(4.0*bb2)));
     954             :          
     955           0 :   apmam = f3apmam*sqrt(3.0/2.0)*(mtb/(msb*mtx))*(1.0-(bb2*(1.0+(tau/7.0))/
     956           0 :           bbx2)-(msd*bx2*(1.0-(5.0*bb2*(1.0+(tau/5.0))/(3.0*bbx2)))
     957           0 :           /(2.0*mtb*bbx2))-(7.0*msd*msd*bb2*bx2/(12.0*msq*mtb*bbx2*bbx2))*
     958           0 :           (1.0-(bx2/bbx2)+(bb2*tau/(7.0*bbx2))));
     959             : 
     960           0 :   *appf = (appam + apmam) /2.0;
     961           0 :   *apmf = (appam - apmam) /2.0;
     962             :   return;
     963           0 : } //get_ff_isgw_23s1
     964             : 
     965             : void EvtISGW2FF::EvtISGW2FF1P1 (EvtId parent,EvtId daugt,
     966             :        double t, double mass, double *rf, double *vf, 
     967             :        double *spf, double *smf ) {
     968             :   //added by Lange Jan4,2000
     969           0 :   static EvtId BP=EvtPDL::getId("B+");
     970           0 :   static EvtId BM=EvtPDL::getId("B-");
     971           0 :   static EvtId B0=EvtPDL::getId("B0");
     972           0 :   static EvtId B0B=EvtPDL::getId("anti-B0");
     973             : 
     974           0 :   static EvtId D0=EvtPDL::getId("D0");
     975           0 :   static EvtId D0B=EvtPDL::getId("anti-D0");
     976           0 :   static EvtId DP=EvtPDL::getId("D+");
     977           0 :   static EvtId DM=EvtPDL::getId("D-");
     978             : 
     979           0 :   static EvtId D1P1P=EvtPDL::getId("D_1+");
     980           0 :   static EvtId D1P1N=EvtPDL::getId("D_1-");
     981           0 :   static EvtId D1P10=EvtPDL::getId("D_10");
     982           0 :   static EvtId D1P1B=EvtPDL::getId("anti-D_10");
     983             : 
     984           0 :   static EvtId B1P=EvtPDL::getId("b_1+");
     985           0 :   static EvtId B1M=EvtPDL::getId("b_1-");
     986           0 :   static EvtId B10=EvtPDL::getId("b_10");
     987             : 
     988           0 :   static EvtId H1=EvtPDL::getId("h_1");
     989           0 :   static EvtId H1PR=EvtPDL::getId("h'_1");
     990             : 
     991           0 :   static EvtId K1P=EvtPDL::getId("K_1+");
     992           0 :   static EvtId K1M=EvtPDL::getId("K_1-");
     993           0 :   static EvtId K10=EvtPDL::getId("K_10");
     994           0 :   static EvtId K1B=EvtPDL::getId("anti-K_10");
     995             : 
     996           0 :   static EvtId D1P1SP=EvtPDL::getId("D_s1+");
     997           0 :   static EvtId D1P1SN=EvtPDL::getId("D_s1-");
     998             : 
     999           0 :   static EvtId BSB=EvtPDL::getId("anti-B_s0");
    1000           0 :   static EvtId BS0=EvtPDL::getId("B_s0");
    1001             : 
    1002             :   double mtb, mbb(0.0);
    1003             :   double msd(0.0), mx,mb,nfp(0.0); 
    1004             :   double msq(0.0),bx2(0.0),mbx(0.0),mtx,f5;
    1005             :   double f5sppsm,f5spmsm;
    1006             :   double f5v,f5r,mup,mum,vv,rr,spmsm,sppsm;
    1007             :   double mqm,msb(0.0),bb2(0.0),bbx2,tm,wt,r2;
    1008           0 :   EvtId prnt=parent;
    1009           0 :   EvtId dgt=daugt;
    1010           0 :   if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
    1011             :     msb=5.2;
    1012             :     msd=0.33;
    1013             :     bb2=0.431*0.431;
    1014             :     mbb=5.31;
    1015           0 :     if (dgt==B10||dgt==B1P||dgt==B1M||dgt==H1||dgt==H1PR) {
    1016             :       msq=0.33;
    1017             :       bx2=0.275*0.275;
    1018             :       mbx=(3.0*1.123+0.98+5.0*1.32+3.0*1.26)/12.0;
    1019             :       nfp = 0.0;
    1020           0 :     }
    1021             :     else{
    1022           0 :       if (dgt==D1P1P||dgt==D1P10||dgt==D1P1B||dgt==D1P1N) {
    1023             :         msq=1.82;
    1024             :         bx2=0.33*0.33;
    1025             :         mbx=(5.0*2.46+3.0*2.42)/8.0;
    1026             :         nfp = 3.0;
    1027           0 :       }
    1028             :       else{
    1029           0 :         report(Severity::Error,"EvtGen") << "Not implemented daugt in get_isgw_ff_1P1.\n";
    1030             :       }
    1031             :     }
    1032             :   }
    1033             :   else{
    1034           0 :     if (prnt==DM||prnt==DP||prnt==D0B||prnt==D0) {
    1035             :       msb=1.82;
    1036             :       msd=0.33;
    1037             :       bb2=0.45*0.45;
    1038             :       mbb=1.963;
    1039           0 :       if (dgt==B10||dgt==B1P||dgt==B1M||dgt==H1||dgt==H1PR) {
    1040             :         msq=0.33;
    1041             :         bx2=0.275*0.275;
    1042             :         mbx=(3.0*1.123+0.98+5.0*1.32+3.0*1.26)/12.0;
    1043             :         nfp = 0.0;
    1044           0 :       }
    1045             :       else{
    1046           0 :         if (dgt==K10||dgt==K1B||dgt==K1P||dgt==K1M) {
    1047             :           msq=0.55;
    1048             :           bx2=0.30*0.30;
    1049             :           mbx=(3.0*1.27+1.43+5.0*1.43+3.0*1.4)/12.0;
    1050             :           nfp = 2.0;
    1051           0 :         }
    1052             :         else{
    1053           0 :           report(Severity::Error,"EvtGen") << "Not implemented daugt in get_isgw_ff_1P1.\n";
    1054             :         }
    1055             :       }
    1056             :     }
    1057             :     else{
    1058             :       //BS -> cs constants added by djl on Jan. 21,1998
    1059           0 :       if (prnt==BS0||prnt==BSB){
    1060             : 
    1061             :         msb=5.2;
    1062             :         msd=0.55;
    1063             :         bb2=0.54*0.54;
    1064             :         mbb=5.38;
    1065             :     
    1066           0 :         if  (dgt==D1P1SP||dgt==D1P1SN) {
    1067             :       
    1068             :           msq=1.82;
    1069             :           bx2=0.41*0.41;
    1070             :           mbx=(5.0*2.61+3.0*2.54)/8.0;
    1071             :           nfp = 3.0;
    1072           0 :         }
    1073           0 :         else if (dgt==K10||dgt==K1B||dgt==K1P||dgt==K1M) {
    1074             :           msq=0.55;
    1075             :           bx2=0.30*0.30;
    1076             :           mbx=(3.0*1.27+1.43+5.0*1.43+3.0*1.4)/12.0;
    1077             :           nfp = 2.0;
    1078           0 :         }
    1079             :         else{
    1080           0 :             report(Severity::Error,"EvtGen") << "Not implemented daugt:"
    1081           0 :                          <<daugt.getId()<<" in get_isgw_ff_1S0.\n";
    1082             :         }
    1083             :       }
    1084             :     
    1085             :     else{
    1086           0 :       report(Severity::Error,"EvtGen") << "Not implemented parent in get_isgw_ff_1P1.\n";
    1087             :     }
    1088             :     }
    1089             :   }
    1090             : 
    1091             : 
    1092           0 :   mtb = msb + msd;
    1093           0 :   mtx = msq + msd;
    1094             :   
    1095           0 :   mb = EvtPDL::getMeanMass( parent );
    1096             :   mx = mass;
    1097             :   
    1098           0 :   mup=1.0/(1.0/msq+1.0/msb);
    1099           0 :   mum=1.0/(1.0/msq-1.0/msb);
    1100           0 :   bbx2=0.5*(bb2+bx2);
    1101           0 :   tm=(mb-mx)*(mb-mx);
    1102           0 :   if (t>tm) t = 0.99*tm;
    1103           0 :   wt=1.0+(tm-t)/(2.0*mbb*mbx);
    1104             :   
    1105             :   mqm = 0.1;
    1106           0 :   r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2)+
    1107           0 :     (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
    1108           0 :     log(EvtGetas(mqm,mqm)/EvtGetas(msq,msq));
    1109             :   
    1110           0 :   f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0) /
    1111           0 :     (pow((1.0+r2*(tm-t)/18.0),3.0));
    1112             :   
    1113           0 :   f5v = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
    1114           0 :   f5r = f5*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),0.5);
    1115           0 :   f5sppsm = f5*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),0.5);
    1116             :   f5spmsm = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
    1117             :   
    1118           0 :   if (msq == msd) { 
    1119           0 :     vv = f5v*(((mtb*sqrt(bb2))/(4.0*sqrt(2.0)*msb*msq*mtx)) +
    1120           0 :               (((wt-1)*msd)/(6.0*sqrt(2.0*bb2)*mtx)));
    1121             :     
    1122           0 :     rr = f5r*mtb*sqrt(bb2/2)*((1.0/mup)+((msd*mtx*(wt-1)*(wt-1))/
    1123           0 :                                  (3.0*msq*bb2)));
    1124             :     
    1125           0 :     sppsm = msd*f5sppsm/(sqrt(2.0*bb2)*mtb)*(1.0-(msd/msq)+((msd*bb2)/
    1126           0 :                                     (2.0*mup*bbx2)));
    1127             :     
    1128           0 :     spmsm = msd*f5spmsm/(sqrt(2.0*bb2)*msq)*(((4-wt)/3.0)- ( (msd*msq*bb2)/
    1129           0 :                                      (2.0*mtx*mup*bbx2)));
    1130             :     
    1131           0 :   } else {
    1132           0 :     vv = -1.0*msd*f5v/(2.0*sqrt(3.0*bb2)*mtx)*
    1133           0 :       ((wt+1)/2.0+bb2*mtb/(2.0*msd*msq*msb));
    1134             :     
    1135           0 :     rr = -2.0*mtb*sqrt(bb2/3.0)*f5r*(1.0/msq + mtx*msd*(wt-1)/(2.0*bb2)*
    1136           0 :                      ((wt+1)/(2.0*msq)-msd*bb2/(2.0*mum*mtx*bbx2)));
    1137             :     
    1138           0 :     sppsm = -1.0*sqrt(3.0)*msd*f5sppsm/(2.0*sqrt(bb2)*mtb)*(1 - msd/(3.0*msq) -
    1139           0 :                             msd*bb2/(3.0*bbx2)*(1.0/(2.0*mum)-1.0/mup));
    1140             :     
    1141           0 :     spmsm = -1.0*msd*f5spmsm/(2.0*sqrt(3.0*bb2)*mtx)*((2-wt)*mtx/msq +
    1142           0 :                            msd*bb2/bbx2*(1.0/(2.0*mum)-1.0/mup));        
    1143             : 
    1144             :   }
    1145             : 
    1146             :   //smooth out the mass(meson) dependence a little
    1147           0 :   double parMass=EvtPDL::getMeanMass(prnt);
    1148           0 :   double q2max = parMass*parMass + mass*mass - 2.0*parMass*mass;
    1149           0 :   double massNom= EvtPDL::getMeanMass(dgt);
    1150           0 :   double q2maxNom = parMass*parMass + massNom*massNom - 2.0*parMass*massNom;
    1151           0 :   double q2maxin=sqrt(q2maxNom/q2max);
    1152           0 :   if ( q2maxin > 1000. ) q2maxin=1000.;
    1153             : 
    1154           0 :   vv*=q2maxin;
    1155           0 :   rr*=q2maxin;
    1156           0 :   sppsm*=q2maxin;
    1157           0 :   spmsm*=q2maxin;
    1158             : 
    1159           0 :   *vf = vv;
    1160           0 :   *rf = rr;
    1161           0 :   *spf = (sppsm + spmsm)/2.0;
    1162           0 :   *smf = (sppsm - spmsm)/2.0;
    1163             :   return;
    1164           0 : } //get_ff_isgw_1p1
    1165             : 
    1166             : 
    1167             : void EvtISGW2FF::EvtISGW2FF3P1 (EvtId parent,EvtId daugt, 
    1168             :        double t, double mass, double *lf, double *qf, 
    1169             :        double *cpf, double *cmf ) {
    1170             : 
    1171             :   //added by Lange Jan4,2000
    1172           0 :   static EvtId BP=EvtPDL::getId("B+");
    1173           0 :   static EvtId BM=EvtPDL::getId("B-");
    1174           0 :   static EvtId B0=EvtPDL::getId("B0");
    1175           0 :   static EvtId B0B=EvtPDL::getId("anti-B0");
    1176             : 
    1177           0 :   static EvtId D0=EvtPDL::getId("D0");
    1178           0 :   static EvtId D0B=EvtPDL::getId("anti-D0");
    1179           0 :   static EvtId DP=EvtPDL::getId("D+");
    1180           0 :   static EvtId DM=EvtPDL::getId("D-");
    1181             : 
    1182           0 :   static EvtId D3P1P=EvtPDL::getId("D'_1+");
    1183           0 :   static EvtId D3P1N=EvtPDL::getId("D'_1-");
    1184           0 :   static EvtId D3P10=EvtPDL::getId("D'_10");
    1185           0 :   static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
    1186             : 
    1187           0 :   static EvtId A1P=EvtPDL::getId("a_1+");
    1188           0 :   static EvtId A1M=EvtPDL::getId("a_1-");
    1189           0 :   static EvtId A10=EvtPDL::getId("a_10");
    1190             : 
    1191           0 :   static EvtId F1=EvtPDL::getId("f_1");
    1192           0 :   static EvtId F1PR=EvtPDL::getId("f'_1");
    1193             : 
    1194           0 :   static EvtId K1STP=EvtPDL::getId("K'_1+");
    1195           0 :   static EvtId K1STM=EvtPDL::getId("K'_1-");
    1196           0 :   static EvtId K1ST0=EvtPDL::getId("K'_10");
    1197           0 :   static EvtId K1STB=EvtPDL::getId("anti-K'_10");
    1198             : 
    1199           0 :   static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
    1200           0 :   static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
    1201             : 
    1202           0 :   static EvtId BSB=EvtPDL::getId("anti-B_s0");
    1203           0 :   static EvtId BS0=EvtPDL::getId("B_s0");
    1204             : 
    1205             :   double mtb,  mbb(0.0);
    1206             :   double msd(0.0), mx,mb,nfp(0.0); 
    1207             :   double msq(0.0),bx2(0.0),mbx(0.0),mtx;
    1208             :   double f5cppcm,f5cpmcm,f5,ql,ll,cppcm,cpmcm,f5q,f5l;
    1209             :   double mqm,msb(0.0),bb2(0.0),mum,bbx2,tm,wt,r2;
    1210           0 :   EvtId prnt=parent;
    1211           0 :   EvtId dgt=daugt;
    1212             : 
    1213           0 :   if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
    1214             : 
    1215             :     msb=5.2;
    1216             :     msd=0.33;
    1217             :     bb2=0.431*0.431;
    1218             :     mbb=5.31;
    1219             : 
    1220           0 :     if (dgt==A10||dgt==A1P||dgt==A1M||dgt==F1||dgt==F1PR) {
    1221             : 
    1222             :       msq=0.33;
    1223             :       bx2=0.275*0.275;
    1224             :       mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
    1225             :       nfp = 0.0;
    1226           0 :     }
    1227             :     else{
    1228           0 :       if (dgt==D3P1P||dgt==D3P1N||dgt==D3P10||dgt==D3P1B) {
    1229             :         msq=1.82;
    1230             :         bx2=0.33*0.33;
    1231             :         mbx=(3.0*2.49+2.40)/4.0;
    1232             :         nfp = 3.0;
    1233           0 :       }
    1234             :       else{
    1235           0 :         report(Severity::Error,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_3P1.\n";
    1236             :       }
    1237             :     }
    1238             :   }
    1239             :   else{
    1240           0 :     if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
    1241             :     
    1242             :       msb=1.82;
    1243             :       msd=0.33;
    1244             :       bb2=0.45*0.45;
    1245             :       mbb=1.963;
    1246             : 
    1247           0 :       if (dgt==F1||dgt==F1PR||dgt==A10||dgt==A1P||dgt==A1M) {
    1248             : 
    1249             :         msq=0.33;
    1250             :         bx2=0.275*0.275;
    1251             :         mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
    1252             :         nfp = 0.0;
    1253           0 :       }
    1254             :       else{
    1255           0 :         if (dgt==K1STM||dgt==K1STB||dgt==K1STP||dgt==K1ST0) {
    1256             :           msq=0.55;
    1257             :           bx2=0.30*0.30;
    1258             :           mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
    1259             :           nfp = 2.0;
    1260           0 :         }
    1261             :         else{
    1262           0 :           report(Severity::Error,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_3P1.\n";
    1263             :         }
    1264             :       }
    1265             :     }
    1266             :     else{
    1267             :       //BS -> cs constants added by djl on Jan. 21,1998
    1268           0 :       if (prnt==BS0||prnt==BSB){
    1269             : 
    1270             :         msb=5.2;
    1271             :         msd=0.55;
    1272             :         bb2=0.54*0.54;
    1273             :         mbb=5.38;
    1274             :     
    1275           0 :         if  (dgt==D3P1SP||dgt==D3P1SN) {
    1276             :       
    1277             :           msq=1.82;
    1278             :           bx2=0.41*0.41;
    1279             :           mbx=(3.0*2.54+2.46)/4.0;
    1280             :           nfp = 3.0;
    1281           0 :         }
    1282           0 :         else if (dgt==K1STM||dgt==K1STB||dgt==K1STP||dgt==K1ST0) {
    1283             :           msq=0.55;
    1284             :           bx2=0.30*0.30;
    1285             :           mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
    1286             :           nfp = 2.0;
    1287           0 :         }
    1288             :         else{
    1289           0 :             report(Severity::Error,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
    1290             :           }
    1291             :         }
    1292             :     
    1293             :     else{
    1294           0 :       report(Severity::Error,"EvtGen") << "Not implemented parent in get_isgw_ff_3P1.\n";
    1295             :     }
    1296             :     }
    1297             :   }
    1298             : 
    1299             : 
    1300             :   
    1301           0 :   mtb = msb + msd;
    1302           0 :   mtx = msq + msd;
    1303             :   
    1304           0 :   mb = EvtPDL::getMeanMass( parent );
    1305             :   mx = mass;
    1306             :   
    1307           0 :   mum=1.0/(1.0/msq-1.0/msb);
    1308           0 :   bbx2=0.5*(bb2+bx2);
    1309           0 :   tm=(mb-mx)*(mb-mx);
    1310           0 :   if (t>tm) t = 0.99*tm;
    1311           0 :   wt=1.0+(tm-t)/(2.0*mbb*mbx);
    1312             :   
    1313             :   mqm = 0.1;
    1314           0 :   r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) + 
    1315           0 :     (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
    1316           0 :     log(EvtGetas(mqm)/EvtGetas(msq));
    1317             :   
    1318           0 :   f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0) /
    1319           0 :     (pow((1.0+r2*(tm-t)/18.0),3.0));
    1320             : 
    1321           0 :   f5q = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
    1322           0 :   f5l = f5*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),0.5);
    1323           0 :   f5cppcm = f5*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),0.5);
    1324             :   f5cpmcm = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
    1325             :   
    1326           0 :   if (msq == msd) { 
    1327             :     
    1328           0 :     ql = -1.0*(msd*(5.0+wt)*f5q/(2.0*mtx*sqrt(bb2)*6.0));
    1329             :   
    1330           0 :     ll = -1.0*mtb*sqrt(bb2)*f5l*(1/mum+ ( (msd*mtx*(wt-1)/bb2)*
    1331           0 :          ( (5.0+wt)/(6.0*msq)-(msd*bb2)/(2.0*mum*mtx*bbx2))));
    1332             :     
    1333           0 :     cppcm = (-1.0*(msd*mtx*f5cppcm/(2.0*msq*mtb*sqrt(bb2)))*
    1334           0 :             (1-(msd*msq*bb2)/(2.0*mtx*mum*bbx2)));
    1335             :     
    1336           0 :     cpmcm = 1.0*(msd*mtx*f5cpmcm/(2.0*msq*mtb*sqrt(bb2)))*
    1337           0 :             (((wt+2.0)/3.0)-(msd*msq*bb2)/(2.0*mtx*mum*bbx2))
    1338           0 :             *(mtb/mtx);
    1339           0 :   } else {
    1340             : 
    1341           0 :     ql = f5q*sqrt(1.0/6.0)*msd/(sqrt(bb2)*mtx)*
    1342           0 :         (1.0-bb2*mtb/(4.0*msd*msq*msb));
    1343           0 :     ll = f5l*sqrt(2.0/3.0)*mtb*sqrt(bb2)*(1.0/(2.0*msq) - 3.0/(2.0*msb) +
    1344           0 :          msd*mtx*(wt-1)/bb2*(1.0/msq-msd*bb2/(2.0*mum*mtx*bbx2)));  
    1345           0 :     cppcm = msd*msd*bx2*f5cppcm/(sqrt(6.0)*mtb*msq*sqrt(bb2)*bbx2);
    1346           0 :     cpmcm = -sqrt(2.0/3.0)*msd*f5cpmcm/(sqrt(bb2)*mtx)*
    1347           0 :       (1+msd*bx2/(2.0*msq*bbx2));
    1348             :   }
    1349             : 
    1350             :   //smooth out the mass(meson) dependence a little
    1351           0 :   double parMass=EvtPDL::getMeanMass(prnt);
    1352           0 :   double q2max = parMass*parMass + mass*mass - 2.0*parMass*mass;
    1353           0 :   double massNom= EvtPDL::getMeanMass(dgt);
    1354           0 :   double q2maxNom = parMass*parMass + massNom*massNom - 2.0*parMass*massNom;
    1355           0 :   double q2maxin=sqrt(q2maxNom/q2max);
    1356           0 :   if ( q2maxin > 1000. ) q2maxin=1000.;
    1357           0 :   ql*=q2maxin;
    1358           0 :   ll*=q2maxin;
    1359           0 :   cppcm*=q2maxin;
    1360           0 :   cpmcm*=q2maxin;
    1361             : 
    1362           0 :   *qf = ql;
    1363           0 :   *lf = ll;
    1364           0 :   *cpf = (cppcm + cpmcm)/2.0;
    1365           0 :   *cmf = (cppcm - cpmcm)/2.0;
    1366             :   return;
    1367           0 : } //get_ff_isgw_3p1
    1368             : 
    1369             : 
    1370             : void EvtISGW2FF::EvtISGW2FF3P0 (EvtId parent,EvtId daugt,
    1371             :        double t, double mass, double *upf, double *umf ) {
    1372             : 
    1373             :   //added by Lange Jan4,2000
    1374           0 :   static EvtId BP=EvtPDL::getId("B+");
    1375           0 :   static EvtId BM=EvtPDL::getId("B-");
    1376           0 :   static EvtId B0=EvtPDL::getId("B0");
    1377           0 :   static EvtId B0B=EvtPDL::getId("anti-B0");
    1378             : 
    1379           0 :   static EvtId D0=EvtPDL::getId("D0");
    1380           0 :   static EvtId D0B=EvtPDL::getId("anti-D0");
    1381           0 :   static EvtId DP=EvtPDL::getId("D+");
    1382           0 :   static EvtId DM=EvtPDL::getId("D-");
    1383             : 
    1384           0 :   static EvtId D3P0P=EvtPDL::getId("D_0*+");
    1385           0 :   static EvtId D3P0N=EvtPDL::getId("D_0*-");
    1386           0 :   static EvtId D3P00=EvtPDL::getId("D_0*0");
    1387           0 :   static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
    1388             : 
    1389           0 :   static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
    1390           0 :   static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
    1391             : 
    1392           0 :   static EvtId A0P=EvtPDL::getId("a_0+");
    1393           0 :   static EvtId A0M=EvtPDL::getId("a_0-");
    1394           0 :   static EvtId A00=EvtPDL::getId("a_00");
    1395             : 
    1396           0 :   static EvtId F0=EvtPDL::getId("f_0");
    1397           0 :   static EvtId F0PR=EvtPDL::getId("f'_0");
    1398             : 
    1399           0 :   static EvtId K0STP=EvtPDL::getId("K_0*+");
    1400           0 :   static EvtId K0STM=EvtPDL::getId("K_0*-");
    1401           0 :   static EvtId K0ST0=EvtPDL::getId("K_0*0");
    1402           0 :   static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
    1403             : 
    1404           0 :   static EvtId DSP=EvtPDL::getId("D_s+");
    1405           0 :   static EvtId DSM=EvtPDL::getId("D_s-");
    1406             : 
    1407           0 :   static EvtId BSB=EvtPDL::getId("anti-B_s0");
    1408           0 :   static EvtId BS0=EvtPDL::getId("B_s0");
    1409             : 
    1410             :   double mtb, mbb(0.0);
    1411             :   double msd(0.0), mx,mb,nfp(0.0); 
    1412             :   double msq(0.0),bx2(0.0),mbx(0.0),mtx;
    1413             :   double f5uppum,f5upmum,uppum,upmum,f5;
    1414             :   double mqm,r2,bb2(0.0),bbx2,msb(0.0),tm;
    1415             : 
    1416           0 :   EvtId prnt=parent;
    1417           0 :   EvtId dgt=daugt;
    1418             : 
    1419           0 :   if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
    1420             :       
    1421             :     msb=5.2;
    1422             :     msd=0.33;
    1423             :     bb2=0.431*0.431;
    1424             :     mbb=5.31;
    1425           0 :     if (dgt==A00||dgt==A0P||dgt==A0M||dgt==F0||dgt==F0PR) {
    1426             : 
    1427             :       msq=0.33;
    1428             :       bx2=0.275*0.275;
    1429             :       mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
    1430             :       nfp = 0.0;
    1431           0 :     }
    1432             :     else{
    1433           0 :       if (dgt==D3P0P||dgt==D3P0N||dgt==D3P00||dgt==D3P0B) {
    1434             :         msq=1.82;
    1435             :         bx2=0.33*0.33;
    1436             :         mbx=(3.0*2.49+2.40)/4.0;
    1437             :         nfp = 3.0;
    1438           0 :       }
    1439             :       else{
    1440           0 :         report(Severity::Error,"EvtGen") << "Not implemented daugt in get_EvtISGW2_ff_3P0.\n";
    1441             :       }
    1442             :     }
    1443             :   }
    1444             :   else{
    1445           0 :     if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
    1446             : 
    1447             :       msb=1.82;
    1448             :       msd=0.33;
    1449             :       bb2=0.45*0.45;
    1450             :       mbb=1.963;
    1451           0 :       if (dgt==F0||dgt==F0PR||dgt==A00||dgt==A0P||dgt==A0M) {
    1452             :         msq=0.33;
    1453             :         bx2=0.275*0.275;
    1454             :         mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
    1455             :         nfp = 0.0;
    1456           0 :       }
    1457             :       else{
    1458           0 :         if (dgt==K0STM||dgt==K0STB||dgt==K0STP||dgt==K0ST0) {
    1459             :           msq=0.55;
    1460             :           bx2=0.30*0.30;
    1461             :           mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
    1462             :           nfp = 2.0;
    1463           0 :         }
    1464             :         else{
    1465           0 :           report(Severity::Error,"EvtGen") << "Not implemented daugt in get_EvtISGW2_ff_3P0.\n";
    1466             :         }
    1467             :       }
    1468             :     }
    1469             :     else{
    1470           0 :       if (prnt==DSP||prnt==DSM){
    1471             :         msb=1.82;
    1472             :         msd=0.55;
    1473             :         bb2=0.56*0.56;
    1474             :         mbb=1.968;
    1475             :         
    1476           0 :         if (dgt==F0||dgt==F0PR||dgt==A00||dgt==A0P||dgt==A0M) {
    1477             :           msq=0.55;
    1478             :           bx2=0.33*0.33;
    1479             :           mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
    1480             :           nfp = 2.0;
    1481           0 :         }
    1482             :         else{
    1483           0 :           if (dgt==K0STM||dgt==K0STB||dgt==K0STP||dgt==K0ST0) {
    1484             :             msq=0.33;
    1485             :             bx2=0.30*0.30;
    1486             :             mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
    1487             :             nfp = 0.0;
    1488           0 :           }
    1489             :           else{
    1490           0 :             report(Severity::Error,"EvtGen") << "Not implemented daugt in get_EvtISGW2_ff_3P0.\n";
    1491             :           }
    1492             :         }
    1493             :       }
    1494             :       else{
    1495             :         //BS -> cs constants added by djl on Jan. 21,1998
    1496           0 :         if (prnt==BS0||prnt==BSB){
    1497             : 
    1498             :           msb=5.2;
    1499             :           msd=0.55;
    1500             :           bb2=0.54*0.54;
    1501             :           mbb=5.38;
    1502             :           
    1503           0 :           if  (dgt==D3P0SP||dgt==D3P0SN) {
    1504             :             
    1505             :             msq=1.82;
    1506             :             bx2=0.41*0.41;
    1507             :             mbx=(3.0*2.54+2.46)/4.0;
    1508             :             nfp = 3.0;
    1509           0 :           }
    1510           0 :           else if (dgt==K0STM||dgt==K0STB||dgt==K0STP||dgt==K0ST0) {
    1511             :             msq=0.55;
    1512             :             bx2=0.30*0.30;
    1513             :             mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
    1514             :             nfp = 2.0;
    1515           0 :           }
    1516             :           else{
    1517           0 :             report(Severity::Error,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
    1518             :           }
    1519             :         }
    1520             :         else{
    1521           0 :           report(Severity::Error,"EvtGen") << "Not implemented parent in get_EvtISGW2_ff_3P0.\n";
    1522             :         }
    1523             :       }
    1524             :     }
    1525             :   }
    1526             :   
    1527             : 
    1528           0 :   mtb = msb + msd;
    1529           0 :   mtx = msq + msd;
    1530             :   
    1531           0 :   mb = EvtPDL::getMeanMass( parent );
    1532             :   mx = mass;
    1533             : 
    1534           0 :   bbx2=0.5*(bb2+bx2);
    1535           0 :   tm=(mb-mx)*(mb-mx);
    1536           0 :   if (t>tm) t = 0.99*tm;
    1537             :   
    1538             :   mqm = 0.1;
    1539           0 :   r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) + 
    1540           0 :      (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
    1541           0 :      log(EvtGetas(mqm)/EvtGetas(msq));
    1542             : 
    1543           0 :   f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0) /
    1544           0 :        (pow((1.0+r2*(tm-t)/18.0),3.0));
    1545             : 
    1546           0 :   f5uppum = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),0.5);
    1547           0 :   f5upmum = f5*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),-0.5);
    1548             : 
    1549           0 :   uppum = -1.0*f5uppum*sqrt(2.0/(3.0*bb2))*msd;
    1550           0 :   upmum = 1.0*f5upmum*sqrt(2.0/(3.0*bb2))*msd*mtb/mtx;
    1551             : 
    1552           0 :   *upf = (uppum + upmum)/2.0;
    1553           0 :   *umf = (uppum - upmum)/2.0;
    1554             : 
    1555             :   return;
    1556             : 
    1557           0 : }
    1558             : 
    1559             : 
    1560             : void EvtISGW2FF::EvtISGW2FF3P2 (EvtId parent,EvtId daugt,
    1561             :        double t, double mass, double *hf, double *kf, 
    1562             :        double *bpf, double *bmf ) {
    1563             :   
    1564             :   //added by Lange Jan4,2000
    1565           0 :   static EvtId BP=EvtPDL::getId("B+");
    1566           0 :   static EvtId BM=EvtPDL::getId("B-");
    1567           0 :   static EvtId B0=EvtPDL::getId("B0");
    1568           0 :   static EvtId B0B=EvtPDL::getId("anti-B0");
    1569             : 
    1570           0 :   static EvtId D0=EvtPDL::getId("D0");
    1571           0 :   static EvtId D0B=EvtPDL::getId("anti-D0");
    1572           0 :   static EvtId DP=EvtPDL::getId("D+");
    1573           0 :   static EvtId DM=EvtPDL::getId("D-");
    1574             : 
    1575           0 :   static EvtId D3P2P=EvtPDL::getId("D_2*+");
    1576           0 :   static EvtId D3P2N=EvtPDL::getId("D_2*-");
    1577           0 :   static EvtId D3P20=EvtPDL::getId("D_2*0");
    1578           0 :   static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
    1579             : 
    1580           0 :   static EvtId A2P=EvtPDL::getId("a_2+");
    1581           0 :   static EvtId A2M=EvtPDL::getId("a_2-");
    1582           0 :   static EvtId A20=EvtPDL::getId("a_20");
    1583             : 
    1584           0 :   static EvtId F2=EvtPDL::getId("f_2");
    1585           0 :   static EvtId F2PR=EvtPDL::getId("f'_2");
    1586             : 
    1587           0 :   static EvtId K2STP=EvtPDL::getId("K_2*+");
    1588           0 :   static EvtId K2STM=EvtPDL::getId("K_2*-");
    1589           0 :   static EvtId K2ST0=EvtPDL::getId("K_2*0");
    1590           0 :   static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
    1591             : 
    1592           0 :   static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
    1593           0 :   static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
    1594             : 
    1595           0 :   static EvtId BSB=EvtPDL::getId("anti-B_s0");
    1596           0 :   static EvtId BS0=EvtPDL::getId("B_s0");
    1597             : 
    1598             : 
    1599             :   double mtb, mbb(0.0);
    1600             :   double msd(0.0), mx,mb,nfp(0.0); 
    1601             :   double msq(0.0),bx2(0.0),mbx(0.0),mtx,f5;
    1602             :   double f5h,f5k,f5bppbm,f5bpmbm,bppbm,bpmbm;
    1603             :   double mqm,mum,mup,tm,wt,r2,bb2(0.0),bbx2;
    1604             :   double msb(0.0);
    1605           0 :   EvtId prnt=parent;
    1606           0 :   EvtId dgt=daugt;
    1607             : 
    1608           0 :   if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
    1609             :     
    1610             :     msb=5.2;
    1611             :     msd=0.33;
    1612             :     bb2=0.431*0.431;
    1613             :     mbb=5.31;
    1614             : 
    1615           0 :     if (dgt==A20||dgt==A2P||dgt==A2M||dgt==F2||dgt==F2PR) {
    1616             : 
    1617             :       msq=0.33;
    1618             :       bx2=0.275*0.275;
    1619             :       mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
    1620             :       nfp = 0.0;
    1621             : 
    1622           0 :     }
    1623             : 
    1624             :     else{
    1625           0 :       if (dgt==D3P2P||dgt==D3P2N||dgt==D3P20||dgt==D3P2B) {
    1626             : 
    1627             :         msq=1.82;
    1628             :         bx2=0.33*0.33;
    1629             :         mbx=(5.0*2.46+3.0*2.42)/8.0;
    1630             :         nfp = 3.0;
    1631           0 :       }
    1632             :       else{
    1633             : 
    1634           0 :         report(Severity::Error,"EvtGen") << "Not implemented daugt in get_isgw_ff_3P2.\n";
    1635             :       }
    1636             :     }
    1637             :   }
    1638             :   else{
    1639           0 :     if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
    1640             :       
    1641             :       msb=1.82;
    1642             :       msd=0.33;
    1643             :       bb2=0.45*0.45;
    1644             :       mbb=1.963;
    1645           0 :       if (dgt==F2||dgt==F2PR||dgt==A20||dgt==A2P||dgt==A2M) {
    1646             :         msq=0.33;
    1647             :         bx2=0.275*0.275;
    1648             :         mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
    1649             :         nfp = 0.0;
    1650           0 :       }
    1651             :       else{
    1652           0 :         if (dgt==K2STM||dgt==K2STB||dgt==K2STP||dgt==K2ST0) {
    1653             :           msq=0.55;
    1654             :           bx2=0.30*0.30;
    1655             :           mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
    1656             :           nfp = 2.0;
    1657           0 :         }
    1658             :         else{
    1659           0 :           report(Severity::Error,"EvtGen") << "Not implemented daugt in get_isgw_ff_3P2.\n";
    1660             :         }
    1661             :       }
    1662             :     }
    1663             :     else{
    1664             :       //BS -> cs constants added by djl on Jan. 21,1998
    1665           0 :       if (prnt==BS0||prnt==BSB){
    1666             : 
    1667             :         msb=5.2;
    1668             :         msd=0.55;
    1669             :         bb2=0.54*0.54;
    1670             :         mbb=5.38;
    1671             :     
    1672           0 :         if  (dgt==D3P2SP||dgt==D3P2SN) {
    1673             :       
    1674             :           msq=1.82;
    1675             :           bx2=0.41*0.41;
    1676             :           mbx=(5.0*2.61+3.0*2.54)/8.0;
    1677             :           nfp = 3.0;
    1678           0 :         }
    1679           0 :         else if (dgt==K2STM||dgt==K2STB||dgt==K2STP||dgt==K2ST0) {
    1680             :           msq=0.55;
    1681             :           bx2=0.30*0.30;
    1682             :           mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
    1683             :           nfp = 2.0;
    1684           0 :         }
    1685             :         else{
    1686           0 :             report(Severity::Error,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
    1687             :           }
    1688             :       }
    1689             :     
    1690             :     else{
    1691           0 :       report(Severity::Error,"EvtGen") << "Not implemented parent in get_isgw_ff_3P2.\n";
    1692             :     }
    1693             :     }
    1694             :   }
    1695           0 :   mtb = msb + msd;
    1696           0 :   mtx = msq + msd;
    1697             :   
    1698           0 :   mb = EvtPDL::getMeanMass( parent );
    1699             :   mx = mass;
    1700           0 :   mup=1.0/(1.0/msq+1.0/msb);
    1701           0 :   mum=1.0/(1.0/msq-1.0/msb);
    1702           0 :   bbx2=0.5*(bb2+bx2);
    1703           0 :   tm=(mb-mx)*(mb-mx);
    1704           0 :   if (t>tm) t = 0.99*tm;
    1705           0 :   wt=1.0+(tm-t)/(2.0*mbb*mbx);
    1706             :   
    1707             :   mqm = 0.1;
    1708           0 :   r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2)+
    1709           0 :     (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
    1710           0 :     log(EvtGetas(mqm)/EvtGetas(msq));
    1711             : 
    1712           0 :   f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0) /
    1713           0 :        (pow((1.0+r2*(tm-t)/18.0),3.0));
    1714             :   
    1715           0 :   f5h = f5*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),-0.5);
    1716           0 :   f5k = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),0.5);
    1717           0 :   f5bppbm = f5*pow(( mbb / mtb ),-2.5)*pow((mbx/mtx),0.5);
    1718             :   f5bpmbm = f5*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),-0.5);
    1719             :   
    1720           0 :   *hf = f5h*(msd/(sqrt(8.0*bb2)*mtb))*((1.0/msq)-(msd*bb2/(2.0*mum*
    1721           0 :         mtx*bbx2)));
    1722             :   
    1723           0 :   *kf = f5k*(msd/(sqrt(2.0*bb2)))*(1.0+wt);
    1724             :   
    1725           0 :   bppbm = ((msd*msd*f5bppbm*bx2)/(sqrt(32.0*bb2)*msq*msb*mtb*bbx2))*
    1726           0 :           (1.0-(msd*bx2/(2.0*mtb*bbx2)));
    1727             : 
    1728           0 :   bpmbm = -1.0*(msd*f5bpmbm/(sqrt(2.0*bb2)*msb*mtx))*(1.0-
    1729           0 :           ((msd*msb*bx2)/(2.0*mup*mtb*bbx2))+((msd*bx2*(1.0-
    1730           0 :           ((msd*bx2)/(2.0*mtb*bbx2))))/(4.0*msq*bbx2)));
    1731             : 
    1732           0 :   *bpf = (bppbm + bpmbm)/2.0;
    1733           0 :   *bmf = (bppbm - bpmbm)/2.0;
    1734             :   return;
    1735           0 : } //get_ff_isgw_1p1
    1736             : 
    1737             : 
    1738             : double EvtISGW2FF::EvtGetGammaji ( double z )
    1739             : 
    1740             : {
    1741             : double temp;
    1742             : 
    1743           0 :    temp = 2+((2.0*z)/(1-z))*log(z);
    1744           0 :    temp = -1.0*temp;
    1745             : 
    1746           0 :    return temp;
    1747             : 
    1748             : } //EvtGetGammaji
    1749             : 
    1750             : 
    1751             : 
    1752             : double EvtISGW2FF::EvtGetas ( double massq, double massx )
    1753             : {
    1754             :   double lqcd2 = 0.04;
    1755             :   double nflav = 4;
    1756             :   double temp = 0.6;
    1757             :   
    1758           0 :   if ( massx > 0.6 ) {
    1759           0 :     if ( massq < 1.85 ) {
    1760           0 :       nflav = 3.0;}
    1761             :     
    1762           0 :     temp = 12.0*EvtConst::pi / ( 33.0 - 2.0*nflav) /
    1763           0 :       log( massx*massx/lqcd2);
    1764           0 :   }
    1765           0 :   return temp;
    1766             :   
    1767             : } //EvtGetas
    1768             : 
    1769             : double EvtISGW2FF::EvtGetas ( double mass )
    1770             :      
    1771             : {
    1772             :   double lqcd2 = 0.04;
    1773             :   double nflav = 4;
    1774             :   double temp = 0.6;
    1775             :   
    1776           0 :   if ( mass > 0.6 ) {
    1777           0 :     if ( mass < 1.85 ) {
    1778           0 :       nflav = 3.0;}
    1779             :     
    1780           0 :     temp = 12.0*EvtConst::pi / ( 33.0 - 2.0*nflav) /
    1781           0 :       log( mass*mass/lqcd2);
    1782           0 :   }
    1783           0 :   return temp;
    1784             :   
    1785             : } //EvtGetas
    1786             : 
    1787             : 
    1788             : void EvtISGW2FF::getbaryonff(EvtId, EvtId, double, double, double*, 
    1789             :                              double*, double*, double*){
    1790             :   
    1791           0 :   report(Severity::Error,"EvtGen") << "Not implemented :getbaryonff in EvtISGW2FF.\n";  
    1792             : 
    1793           0 :   ::abort();
    1794             : 
    1795             : }
    1796             : 
    1797             : void EvtISGW2FF::getdiracff(EvtId, EvtId, double, double, double*, double*,
    1798             :                             double*, double*, double*, double*) {
    1799             :   
    1800           0 :   report(Severity::Error,"EvtGen") << "Not implemented :getdiracff in EvtISGW2FF.\n";
    1801           0 :   ::abort();
    1802             : 
    1803             : }
    1804             : 
    1805             : void EvtISGW2FF::getraritaff(EvtId, EvtId, double, double, double*, double*, 
    1806             :                              double*, double*, double*, double*, double*, double*) {
    1807             :   
    1808           0 :   report(Severity::Error,"EvtGen") << "Not implemented :getraritaff in EvtISGW2FF.\n";
    1809           0 :   ::abort();
    1810             : 
    1811             : }

Generated by: LCOV version 1.11