#include <EvtbTosllBallFF.hh>
Inheritance diagram for EvtbTosllBallFF:
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) |
Definition at line 29 of file EvtbTosllBallFF.hh.
EvtbTosllBallFF::EvtbTosllBallFF | ( | ) |
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 }