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: form factors for B->D*lnu according to HQET
14 : //
15 : // Modification history:
16 : //
17 : // DJL April 17, 1998 Module created
18 : //
19 : //------------------------------------------------------------------------
20 : //
21 : #include "EvtGenBase/EvtPatches.hh"
22 : #include "EvtGenBase/EvtPatches.hh"
23 : #include "EvtGenBase/EvtReport.hh"
24 : #include "EvtGenModels/EvtHQETFF.hh"
25 : #include "EvtGenBase/EvtId.hh"
26 : #include <string>
27 : #include "EvtGenBase/EvtPDL.hh"
28 : #include <math.h>
29 : #include <stdlib.h>
30 :
31 :
32 0 : EvtHQETFF::EvtHQETFF(double hqetrho2, double hqetr1, double hqetr2, double quadTerm) {
33 :
34 0 : rho2 = hqetrho2;
35 0 : r1 = hqetr1;
36 0 : r2 = hqetr2;
37 0 : c = quadTerm;
38 :
39 0 : return;
40 0 : }
41 :
42 0 : EvtHQETFF::EvtHQETFF(double hqetrho2, double quadTerm) {
43 :
44 0 : rho2 = hqetrho2;
45 0 : c = quadTerm;
46 :
47 0 : return;
48 0 : }
49 :
50 :
51 : void EvtHQETFF::getscalarff(EvtId parent,EvtId,
52 : double t, double mass, double *f0p, double *f0m) {
53 :
54 :
55 0 : double mb=EvtPDL::getMeanMass(parent);
56 0 : double w = ((mb*mb)+(mass*mass)-t)/(2.0*mb*mass);
57 :
58 : // Form factors have a general form, with parameters passed in
59 : // from the arguements.
60 :
61 0 : double ha1 = 1-rho2*(w-1)+c*(w-1)*(w-1);
62 :
63 0 : *f0p=ha1;
64 0 : *f0m = 0.0;
65 :
66 : return;
67 0 : }
68 :
69 : void EvtHQETFF::getvectorff(EvtId parent,EvtId,
70 : double t, double mass, double *a1f,
71 : double *a2f, double *vf, double *a0f ){
72 :
73 :
74 0 : double mb=EvtPDL::getMeanMass(parent);
75 0 : double w = ((mb*mb)+(mass*mass)-t)/(2.0*mb*mass);
76 :
77 : // Form factors have a general form, with parameters passed in
78 : // from the arguements.
79 :
80 0 : double rstar = ( 2.0*sqrt(mb*mass))/(mb+mass);
81 0 : double ha1 = 1-rho2*(w-1);
82 :
83 0 : *a1f = (1.0 - (t/((mb+mass)*(mb+mass))))*ha1;
84 0 : *a1f = (*a1f)/rstar;
85 0 : *a2f = (r2/rstar)*ha1;
86 0 : *vf = (r1/rstar)*ha1;
87 0 : *a0f = 0.0;
88 :
89 : return;
90 0 : }
91 :
92 :
93 : void EvtHQETFF::gettensorff(EvtId, EvtId, double, double, double*,
94 : double*, double*, double*){
95 :
96 0 : report(Severity::Error,"EvtGen") << "Not implemented :gettensorff in EvtHQETFF.\n";
97 0 : ::abort();
98 :
99 : }
100 :
101 :
102 :
103 : void EvtHQETFF::getbaryonff(EvtId, EvtId, double, double, double*,
104 : double*, double*, double*){
105 :
106 0 : report(Severity::Error,"EvtGen") << "Not implemented :getbaryonff in EvtHQETFF.\n";
107 0 : ::abort();
108 :
109 : }
110 :
111 :
112 : void EvtHQETFF::getdiracff(EvtId, EvtId, double, double, double*, double*,
113 : double*, double*, double*, double*) {
114 :
115 0 : report(Severity::Error,"EvtGen") << "Not implemented :getdiracff in EvtHQETFF.\n";
116 0 : ::abort();
117 :
118 : }
119 :
120 : void EvtHQETFF::getraritaff(EvtId, EvtId, double, double, double*, double*,
121 : double*, double*, double*, double*, double*, double*) {
122 :
123 0 : report(Severity::Error,"EvtGen") << "Not implemented :getraritaff in EvtHQETFF.\n";
124 0 : ::abort();
125 :
126 : }
|