00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "EvtGenBase/EvtPatches.hh"
00022 #include "EvtGenBase/EvtPatches.hh"
00023 #include "EvtGenBase/EvtReport.hh"
00024 #include "EvtGenModels/EvtHQETFF.hh"
00025 #include "EvtGenBase/EvtId.hh"
00026 #include <string>
00027 #include "EvtGenBase/EvtPDL.hh"
00028 #include <math.h>
00029
00030
00031
00032 EvtHQETFF::EvtHQETFF(double hqetrho2, double hqetr1, double hqetr2, double quadTerm) {
00033
00034 rho2 = hqetrho2;
00035 r1 = hqetr1;
00036 r2 = hqetr2;
00037 c = quadTerm;
00038
00039 return;
00040 }
00041
00042 EvtHQETFF::EvtHQETFF(double hqetrho2, double quadTerm) {
00043
00044 rho2 = hqetrho2;
00045 c = quadTerm;
00046
00047 return;
00048 }
00049
00050
00051 void EvtHQETFF::getscalarff(EvtId parent,EvtId daught,
00052 double t, double mass, double *f0p, double *f0m) {
00053
00054
00055 double mb=EvtPDL::getMeanMass(parent);
00056 double w = ((mb*mb)+(mass*mass)-t)/(2.0*mb*mass);
00057
00058
00059
00060
00061 double ha1 = 1-rho2*(w-1)+c*(w-1)*(w-1);
00062
00063 *f0p=ha1;
00064 *f0m = 0.0;
00065
00066 return;
00067 }
00068
00069 void EvtHQETFF::getvectorff(EvtId parent,EvtId daught,
00070 double t, double mass, double *a1f,
00071 double *a2f, double *vf, double *a0f ){
00072
00073
00074 double mb=EvtPDL::getMeanMass(parent);
00075 double w = ((mb*mb)+(mass*mass)-t)/(2.0*mb*mass);
00076
00077
00078
00079
00080 double rstar = ( 2.0*sqrt(mb*mass))/(mb+mass);
00081 double ha1 = 1-rho2*(w-1);
00082
00083 *a1f = (1.0 - (t/((mb+mass)*(mb+mass))))*ha1;
00084 *a1f = (*a1f)/rstar;
00085 *a2f = (r2/rstar)*ha1;
00086 *vf = (r1/rstar)*ha1;
00087 *a0f = 0.0;
00088
00089 return;
00090 }
00091