]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenModels/EvtHQETFF.cxx
AliDecayer realisation for the EvtGen code and EvtGen itself.
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / EvtHQETFF.cxx
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 EvtHQETFF::EvtHQETFF(double hqetrho2, double hqetr1, double hqetr2, double quadTerm) {
33
34   rho2 = hqetrho2;
35   r1 = hqetr1;
36   r2 = hqetr2;
37   c = quadTerm;
38
39   return;
40 }
41
42 EvtHQETFF::EvtHQETFF(double hqetrho2, double quadTerm) {
43
44   rho2 = hqetrho2;
45   c = quadTerm;
46
47   return;
48 }
49
50
51 void EvtHQETFF::getscalarff(EvtId parent,EvtId,
52                             double t, double mass, double *f0p, double *f0m) {
53
54
55   double mb=EvtPDL::getMeanMass(parent);
56   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   double ha1 = 1-rho2*(w-1)+c*(w-1)*(w-1);
62
63   *f0p=ha1;
64   *f0m = 0.0;
65
66   return;
67  }
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   double mb=EvtPDL::getMeanMass(parent);
75   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   double rstar = ( 2.0*sqrt(mb*mass))/(mb+mass);
81   double ha1 = 1-rho2*(w-1);
82
83   *a1f = (1.0 - (t/((mb+mass)*(mb+mass))))*ha1;
84   *a1f = (*a1f)/rstar;
85   *a2f = (r2/rstar)*ha1;
86   *vf = (r1/rstar)*ha1;
87   *a0f = 0.0;
88
89   return;
90  }
91
92
93 void EvtHQETFF::gettensorff(EvtId, EvtId, double, double, double*, 
94                                double*, double*, double*){
95   
96   report(ERROR,"EvtGen") << "Not implemented :gettensorff in EvtHQETFF.\n";  
97   ::abort();
98
99 }
100
101
102
103 void EvtHQETFF::getbaryonff(EvtId, EvtId, double, double, double*, 
104                                double*, double*, double*){
105   
106   report(ERROR,"EvtGen") << "Not implemented :getbaryonff in EvtHQETFF.\n";  
107   ::abort();
108
109 }
110