EvtbTosllBallFF Class Reference

#include <EvtbTosllBallFF.hh>

Inheritance diagram for EvtbTosllBallFF:

EvtbTosllFF List of all members.

Public Member Functions

 EvtbTosllBallFF ()
void getScalarFF (EvtId parent, EvtId daught, double t, double mass, double &fp, double &f0, double &ft)
void getVectorFF (EvtId parent, EvtId daught, double t, double mass, double &a1, double &a2, double &a0, double &v, double &t1, double &t2, double &t3)

Detailed Description

Definition at line 29 of file EvtbTosllBallFF.hh.


Constructor & Destructor Documentation

EvtbTosllBallFF::EvtbTosllBallFF (  ) 

Definition at line 27 of file EvtbTosllBallFF.cc.

00027 {}


Member Function Documentation

void EvtbTosllBallFF::getScalarFF ( EvtId  parent,
EvtId  daught,
double  t,
double  mass,
double &  fp,
double &  f0,
double &  ft 
) [virtual]

Reimplemented from EvtbTosllFF.

Definition at line 30 of file EvtbTosllBallFF.cc.

References exp(), EvtPDL::getId(), EvtPDL::getMeanMass(), and deljobs::string.

00032                                                                    {
00033 
00034   int model = 1;
00035   
00036   double m=EvtPDL::getMeanMass(parent);
00037   double md=EvtPDL::getMeanMass(daught);
00038   
00039   double shat=t/(m*m);
00040   double shat2=shat*shat;
00041   double shat3=shat2*shat;
00042 
00043   if (daught == EvtPDL::getId(std::string("K+")) ||
00044       daught == EvtPDL::getId(std::string("K-")) ||
00045       daught == EvtPDL::getId(std::string("K_S0")) ||
00046       daught == EvtPDL::getId(std::string("K0")) ||
00047       daught == EvtPDL::getId(std::string("anti-K0")) ||
00048       daught == EvtPDL::getId(std::string("K_L0"))
00049      ) 
00050  {
00051    // B --> K form factors
00052   if (model == 1) {
00053         //this is Ali-Ball '01
00054     fp = 0.278*exp(1.568*shat+0.470*shat2+0.885*shat3);
00055     f0 = 0.278*exp(0.740*shat+0.080*shat2+0.425*shat3);
00056     ft = 0.300*exp(1.600*shat+0.501*shat2+0.796*shat3);
00057   }
00058   if (model == 2) {
00059         //this is Ali-Ball '99
00060     fp = 0.319*exp(1.465*shat+0.372*shat2+0.782*shat3);
00061     f0 = 0.319*exp(0.633*shat-0.095*shat2+0.591*shat3);
00062     ft = 0.355*exp(1.478*shat+0.373*shat2+0.700*shat3);
00063   }
00064   if (model == 3) {
00065         //QCD sum rules (Colangelo et al)
00066     fp = 0.25/(1.-t/(5.0*5.0));
00067     f0 = 0.25/(1.-t/(7.0*7.0));
00068     ft = - 0.14/((1.0 - t/(5.0*5.0))*(1.0 - t/(7.0*7.0)));
00069   }
00070   if (model == 4) {
00071         // Quark model  (Melikhov et al)         
00072     fp = 0.36/(1. - 0.048*t + 0.00063*t*t);
00073     double fm = -0.30/(1. - 0.050*t + 0.00061*t*t);
00074     f0 = fp + fm*(t/(m*m - md*md));
00075     ft  = -(m+md)*0.06/(1 -0.049*t + 0.00064*t*t);
00076   }
00077   if (model == 5) {
00078     fp = 0.341/(1. - 1.41*shat + 0.406*shat*shat);
00079     f0 = 0.341/(1. - 0.41*shat -0.361*shat*shat);
00080     ft = 0.374/(1. - 1.42*shat + 0.434*shat*shat);
00081   }
00082  }
00083  else if (daught == EvtPDL::getId(std::string("pi+")) ||
00084           daught == EvtPDL::getId(std::string("pi-")) ||
00085           daught == EvtPDL::getId(std::string("pi0")) ||
00086           daught == EvtPDL::getId(std::string("eta")) ||
00087           daught == EvtPDL::getId(std::string("eta'"))
00088          )  
00089  {
00090    // B --> pi form factors
00091     fp = 0.261/(1. - 2.03*shat + 1.293*shat*shat);
00092     f0 = 0.261/(1. - 0.27*shat  -0.752*shat*shat);
00093     ft = 0.296/(1. - 1.28*shat + 0.193*shat*shat);
00094  }
00095   // cout << "shat "<<shat<<"\t"<<"fp "<<fp<<"\t"<<"f0 "<<f0<<"\t"
00096   //    <<"ft "<<ft<<endl;
00097 
00098 }

void EvtbTosllBallFF::getVectorFF ( EvtId  parent,
EvtId  daught,
double  t,
double  mass,
double &  a1,
double &  a2,
double &  a0,
double &  v,
double &  t1,
double &  t2,
double &  t3 
) [virtual]

Reimplemented from EvtbTosllFF.

Definition at line 101 of file EvtbTosllBallFF.cc.

References exp(), EvtPDL::getId(), EvtPDL::getMeanMass(), and deljobs::string.

00104                                                                       {
00105 
00106   int model = 1;
00107   
00108   double m=EvtPDL::getMeanMass(parent);
00109   double md=EvtPDL::getMeanMass(daught);
00110   
00111   double shat=t/(m*m);
00112   double shat2=shat*shat;
00113 
00114   if (
00115       daught == EvtPDL::getId(std::string("K*+")) ||
00116       daught == EvtPDL::getId(std::string("K*-")) ||
00117       daught == EvtPDL::getId(std::string("K*0")) ||
00118       daught == EvtPDL::getId(std::string("anti-K*0"))
00119      ) 
00120  {
00121   if (model == 1) {
00122         //this is Ali-Ball '01
00123     a1 = 0.294*exp(0.656*shat+0.456*shat2);
00124     a2 = 0.246*exp(1.237*shat+0.822*shat2);
00125     a0 = 0.412*exp(1.543*shat+0.954*shat2);
00126     v  = 0.399*exp(1.537*shat+1.123*shat2);
00127     
00128     t1 = 0.334*exp(1.575*shat+1.140*shat2);
00129     t2 = 0.334*exp(0.562*shat+0.481*shat2);
00130     t3 = 0.234*exp(1.230*shat+1.089*shat2);
00131   }
00132   if (model == 2) {
00133         //this is Ali-Ball '99
00134     a1=0.337*exp(0.602*shat+0.258*shat2);
00135     a2=0.282*exp(1.172*shat+0.567*shat2);
00136     a0=0.471*exp(1.505*shat+0.710*shat2);
00137     v=0.457*exp(1.482*shat+1.015*shat2);
00138     
00139     t1=0.379*exp(1.519*shat+1.030*shat2);
00140     t2=0.379*exp(0.517*shat+0.426*shat2);
00141     t3=0.260*exp(1.129*shat+1.128*shat2);
00142   }
00143   if (model == 3) {
00144         //QCD sum rules (Colangelo et al)
00145     a1 = 0.30*(1 - 0.023*t);
00146     a2 = 0.40*(1 + 0.034*t);
00147     a0 = 0.3/(1.- t/(4.8*4.8));
00148     v = 0.47/(1.- t/(5.0*5.0));
00149     
00150     t1 = 0.19/(1.-t/(5.3*5.3));
00151     t2 = 0.19*(1. - 0.02*t);
00152     t3 = -0.7*(1. + 0.005*t); 
00153   }
00154 
00155   if (model == 4) {
00156         // Quark model  (Melikhov et al)         
00157     a1 = 1.6/(1 - 0.0288*t + 0.00028*t*t); a1 = a1/(m+md);
00158     a2 = (m+md)*0.036/(1. - 0.053*t + 0.00082*t*t);
00159     double aminus = 0.041/(1. - 0.055*t + 0.00088*t*t);
00160     double f =  1.60/(1. - 0.0288*t + 0.00028*t*t);
00161     double aplus = -0.036/(1. - 0.053*t + 0.00082*t*t);
00162     a0 = (t*aminus + f + (m*m-md*md)*aplus)/(2.0*md);
00163     v = (m+md)*0.048/(1. - 0.057*t + 0.00085*t*t);
00164 
00165     t1 = 0.28/(1. - 0.058*t + 0.0009*t*t);
00166     double gplus = -0.28/(1. - 0.058*t + 0.0009*t*t);
00167     double gminus = 0.24/(1. - 0.059*t + 0.00096*t*t);
00168     t2 = -gplus - (t*gminus)/(m*m-md*md);
00169     double h = 0.0037/(1. - 0.075*t + 0.0016*t*t);
00170     t3 = (m+md)*(m+md)*((gminus/(m*m-md*md) - h/2.));
00171         
00172   }
00173   if (model == 5) {
00174     a1 = 0.337/(1. - 0.60*shat - 0.023*shat*shat);
00175     a2 = 0.283/(1. - 1.18*shat + 0.281*shat*shat);
00176     a0 = 0.470/(1. - 1.55*shat + 0.680*shat*shat);
00177     v  = 0.458/(1. - 1.55*shat + 0.575*shat*shat);
00178     t1 = 0.379/(1. - 1.59*shat + 0.615*shat*shat);
00179     t2 = 0.379/(1. - 0.49*shat - 0.241*shat*shat);
00180     t3 = 0.261/(1. - 1.20*shat + 0.098*shat*shat);
00181   }
00182  }
00183  else if 
00184   (
00185    daught == EvtPDL::getId(std::string("rho+")) ||
00186    daught == EvtPDL::getId(std::string("rho-")) ||
00187    daught == EvtPDL::getId(std::string("rho0")) ||
00188    daught == EvtPDL::getId(std::string("omega"))
00189   ) 
00190    {
00191    // B --> rho form factors
00192     a1 = 0.261/(1. - 0.29*shat - 0.415*shat*shat);
00193     a2 = 0.223/(1. - 0.93*shat - 0.092*shat*shat);
00194     a0 = 0.372/(1. - 1.40*shat + 0.437*shat*shat);
00195     v  = 0.338/(1. - 1.37*shat + 0.315*shat*shat);
00196     t1 = 0.285/(1. - 1.41*shat + 0.361*shat*shat);
00197     t2 = 0.285/(1. - 0.28*shat - 0.500*shat*shat);
00198     t3 = 0.202/(1. - 1.06*shat - 0.076*shat*shat);
00199    }
00200   //cout << "shat "<<shat<<"\t"<<"a1 "<<a1<<"\t"<<"a2 "<<a2<<"\t"
00201   //   <<"a0 "<<a0<<endl;
00202   // cout << "\t"<<"v  "<<v<<"\t"<<"t1 "<<t1<<"\t"<<"t2 "<<t2<<"\t"
00203   //   <<"t3 "<<t3<<endl;
00204 }


Generated on Tue Nov 29 23:18:54 2016 for BOSS_7.0.2 by  doxygen 1.4.7