1 //--------------------------------------------------------------------------
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.
8 // Copyright Information: See EvtGen/COPYRIGHT
9 // Copyright (C) 1998 Caltech, UCSB
11 // Module: EvtHQETFF.cc
13 // Description: B->Xu l nu with the Ball/Zwicky decay model
14 // Xu is a vector (rho, rho0, omega)
16 // Modification history:
18 // Wells Wulsin 2008 Aug 14 Module created
20 //------------------------------------------------------------------------
22 #include "EvtGenBase/EvtPatches.hh"
23 #include "EvtGenBase/EvtPatches.hh"
24 #include "EvtGenBase/EvtReport.hh"
25 #include "EvtGenModels/EvtBToVlnuBallFF.hh"
26 #include "EvtGenBase/EvtId.hh"
28 #include "EvtGenBase/EvtPDL.hh"
32 EvtBToVlnuBallFF::EvtBToVlnuBallFF(double r2_A1,
54 void EvtBToVlnuBallFF::getvectorff(EvtId parent,EvtId /*daught*/,
55 double t, double /*mass*/, double *a1f,
56 double *a2f, double *vf, double *a0f ){
58 // FF calculations taken from the LCSR calculation of
59 // P. Ball, R. Zwicky, Phys.~Rev.~{\bf D71} 014029 (2005), hep-ph/0412079.
62 EvtId Bplus = EvtPDL::getId("B+");
63 EvtId Bminus = EvtPDL::getId("B-");
64 double mBstar = EvtPDL::getMeanMass(EvtPDL::getId("B*0"));
65 if (parent==Bplus || parent==Bminus) mBstar = EvtPDL::getMeanMass(EvtPDL::getId("B*+"));
68 *a1f = _r2_A1/(1.-q2/_mfit2_A1);
69 *a2f = _r1_A2/(1.-q2/_mfit2_A2) + _r2_A2/pow(1.-q2/_mfit2_A2,2.);
70 *vf = _r1_V /(1.-q2/mBstar/mBstar) + _r2_V/(1.-q2/_mfit2_V);
75 // OLD STUFF from HQETFF
77 // double mb=EvtPDL::getMeanMass(parent);
78 // double w = ((mb*mb)+(mass*mass)-t)/(2.0*mb*mass);
80 // Form factors have a general form, with parameters passed in
81 // from the arguements.
83 // double rstar = ( 2.0*sqrt(mb*mass))/(mb+mass);
84 // double ha1 = 1-rho2*(w-1);
86 // *a1f = (1.0 - (t/((mb+mass)*(mb+mass))))*ha1;
87 // *a1f = (*a1f)/rstar;
88 // *a2f = (r2/rstar)*ha1;
89 // *vf = (r1/rstar)*ha1;
94 void EvtBToVlnuBallFF::getscalarff(EvtId, EvtId, double, double, double*,
97 report(ERROR,"EvtGen") << "Not implemented :getvectorff in EvtBToVlnuBallFF.\n";
104 void EvtBToVlnuBallFF::gettensorff(EvtId, EvtId, double, double, double*,
105 double*, double*, double*){
107 report(ERROR,"EvtGen") << "Not implemented :gettensorff in EvtBToVlnuBallFF.\n";
114 void EvtBToVlnuBallFF::getbaryonff(EvtId, EvtId, double, double, double*,
115 double*, double*, double*){
117 report(ERROR,"EvtGen") << "Not implemented :getbaryonff in EvtBToVlnuBallFF.\n";
123 void EvtBToVlnuBallFF::getdiracff(EvtId, EvtId, double, double, double*, double*,
124 double*, double*, double*, double*) {
126 report(ERROR,"EvtGen") << "Not implemented :getdiracff in EvtBToVlnuBallFF.\n";
131 void EvtBToVlnuBallFF::getraritaff(EvtId, EvtId, double, double, double*, double*,
132 double*, double*, double*, double*, double*, double*) {
134 report(ERROR,"EvtGen") << "Not implemented :getraritaff in EvtBToVlnuBallFF.\n";