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: EvtHQETFF.cc
12 : //
13 : // Description: B->Xu l nu with the Ball/Zwicky decay model
14 : // Xu is a vector (rho, rho0, omega)
15 : //
16 : // Modification history:
17 : //
18 : // Wells Wulsin 2008 Aug 14 Module created
19 : //
20 : //------------------------------------------------------------------------
21 : //
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"
27 : #include <string>
28 : #include "EvtGenBase/EvtPDL.hh"
29 : #include <math.h>
30 : #include <stdlib.h>
31 :
32 0 : EvtBToVlnuBallFF::EvtBToVlnuBallFF(double r2_A1,
33 : double mfit2_A1,
34 : double r1_A2,
35 : double r2_A2,
36 : double mfit2_A2,
37 : double r1_V,
38 : double r2_V,
39 0 : double mfit2_V) {
40 :
41 0 : _r2_A1 = r2_A1;
42 0 : _mfit2_A1 = mfit2_A1;
43 0 : _r1_A2 = r1_A2;
44 0 : _r2_A2 = r2_A2;
45 0 : _mfit2_A2 = mfit2_A2;
46 0 : _r1_V = r1_V;
47 0 : _r2_V = r2_V;
48 0 : _mfit2_V = mfit2_V;
49 :
50 0 : return;
51 0 : }
52 :
53 :
54 : void EvtBToVlnuBallFF::getvectorff(EvtId parent,EvtId /*daught*/,
55 : double t, double /*mass*/, double *a1f,
56 : double *a2f, double *vf, double *a0f ){
57 :
58 : // FF calculations taken from the LCSR calculation of
59 : // P. Ball, R. Zwicky, Phys.~Rev.~{\bf D71} 014029 (2005), hep-ph/0412079.
60 :
61 : //Define mBstar
62 0 : EvtId Bplus = EvtPDL::getId("B+");
63 0 : EvtId Bminus = EvtPDL::getId("B-");
64 0 : double mBstar = EvtPDL::getMeanMass(EvtPDL::getId("B*0"));
65 0 : if (parent==Bplus || parent==Bminus) mBstar = EvtPDL::getMeanMass(EvtPDL::getId("B*+"));
66 :
67 : double q2 = t;
68 0 : *a1f = _r2_A1/(1.-q2/_mfit2_A1);
69 0 : *a2f = _r1_A2/(1.-q2/_mfit2_A2) + _r2_A2/pow(1.-q2/_mfit2_A2,2.);
70 0 : *vf = _r1_V /(1.-q2/mBstar/mBstar) + _r2_V/(1.-q2/_mfit2_V);
71 0 : *a0f = 0.0;
72 :
73 : return;
74 :
75 : // OLD STUFF from HQETFF
76 :
77 : // double mb=EvtPDL::getMeanMass(parent);
78 : // double w = ((mb*mb)+(mass*mass)-t)/(2.0*mb*mass);
79 :
80 : // Form factors have a general form, with parameters passed in
81 : // from the arguements.
82 :
83 : // double rstar = ( 2.0*sqrt(mb*mass))/(mb+mass);
84 : // double ha1 = 1-rho2*(w-1);
85 :
86 : // *a1f = (1.0 - (t/((mb+mass)*(mb+mass))))*ha1;
87 : // *a1f = (*a1f)/rstar;
88 : // *a2f = (r2/rstar)*ha1;
89 : // *vf = (r1/rstar)*ha1;
90 :
91 0 : }
92 :
93 :
94 : void EvtBToVlnuBallFF::getscalarff(EvtId, EvtId, double, double, double*,
95 : double*){
96 :
97 0 : report(Severity::Error,"EvtGen") << "Not implemented :getvectorff in EvtBToVlnuBallFF.\n";
98 0 : ::abort();
99 :
100 : }
101 :
102 :
103 :
104 : void EvtBToVlnuBallFF::gettensorff(EvtId, EvtId, double, double, double*,
105 : double*, double*, double*){
106 :
107 0 : report(Severity::Error,"EvtGen") << "Not implemented :gettensorff in EvtBToVlnuBallFF.\n";
108 0 : ::abort();
109 :
110 : }
111 :
112 :
113 :
114 : void EvtBToVlnuBallFF::getbaryonff(EvtId, EvtId, double, double, double*,
115 : double*, double*, double*){
116 :
117 0 : report(Severity::Error,"EvtGen") << "Not implemented :getbaryonff in EvtBToVlnuBallFF.\n";
118 0 : ::abort();
119 :
120 : }
121 :
122 :
123 : void EvtBToVlnuBallFF::getdiracff(EvtId, EvtId, double, double, double*, double*,
124 : double*, double*, double*, double*) {
125 :
126 0 : report(Severity::Error,"EvtGen") << "Not implemented :getdiracff in EvtBToVlnuBallFF.\n";
127 0 : ::abort();
128 :
129 : }
130 :
131 : void EvtBToVlnuBallFF::getraritaff(EvtId, EvtId, double, double, double*, double*,
132 : double*, double*, double*, double*, double*, double*) {
133 :
134 0 : report(Severity::Error,"EvtGen") << "Not implemented :getraritaff in EvtBToVlnuBallFF.\n";
135 0 : ::abort();
136 :
137 : }
|