]>
Commit | Line | Data |
---|---|---|
da0e9ce3 | 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: EvtMelikhovFF.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/EvtMelikhovFF.hh" | |
25 | #include "EvtGenBase/EvtId.hh" | |
26 | #include <string> | |
27 | #include <math.h> | |
28 | #include "EvtGenBase/EvtPDL.hh" | |
29 | #include <stdlib.h> | |
30 | ||
31 | EvtMelikhovFF::EvtMelikhovFF(double arg1) { | |
32 | ||
33 | whichfit = int(arg1+0.1); | |
34 | return; | |
35 | } | |
36 | ||
37 | void EvtMelikhovFF::getvectorff(EvtId parent,EvtId, | |
38 | double t, double mass, double *a1f, | |
39 | double *a2f, double *vf, double *a0f ){ | |
40 | ||
41 | double ma1(0.0),ra1(0.0),na1(0.0); | |
42 | double ma2(0.0),ra2(0.0),na2(0.0); | |
43 | double mv(0.0),rv(0.0),nv(0.0); | |
44 | ||
45 | if ( whichfit==1) { | |
46 | ma1 = 7.07; | |
47 | ra1 = 0.27; | |
48 | na1 = 2.65; | |
49 | ma2 = 6.13; | |
50 | ra2 = 0.25; | |
51 | na2 = 2.17; | |
52 | mv = 6.28; | |
53 | rv = 0.30; | |
54 | nv = 2.36; | |
55 | } | |
56 | if ( whichfit==2) { | |
57 | ma1 = 6.78; | |
58 | ra1 = 0.20; | |
59 | na1 = 2.65; | |
60 | ma2 = 6.00; | |
61 | ra2 = 0.19; | |
62 | na2 = 2.34; | |
63 | mv = 6.22; | |
64 | rv = 0.20; | |
65 | nv = 2.46; | |
66 | } | |
67 | if ( whichfit==3) { | |
68 | ma1 = 6.50; | |
69 | ra1 = 0.21; | |
70 | na1 = 2.70; | |
71 | ma2 = 5.90; | |
72 | ra2 = 0.20; | |
73 | na2 = 2.45; | |
74 | mv = 5.90; | |
75 | rv = 0.21; | |
76 | nv = 2.35; | |
77 | } | |
78 | if ( whichfit==4) { | |
79 | ma1 = 5.68; | |
80 | ra1 = 0.29; | |
81 | na1 = 1.67; | |
82 | ma2 = 5.36; | |
83 | ra2 = 0.28; | |
84 | na2 = 1.67; | |
85 | mv = 5.46; | |
86 | rv = 0.29; | |
87 | nv = 1.73; | |
88 | } | |
89 | ||
90 | double mb=EvtPDL::getMeanMass(parent); | |
91 | //double w = ((mb*mb)+(mass*mass)-t)/(2.0*mb*mass); | |
92 | ||
93 | double melr = mass/mb; | |
94 | double mely = t/(mb*mb); | |
95 | ||
96 | ||
97 | *a1f = ((1.0+melr*melr-mely)/(1+melr))*ra1/pow(1.0-(t/(ma1*ma1)),na1); | |
98 | *a2f = (1+melr)*((1.0-melr*melr-mely)/((1+melr)*(1+melr)-mely)) | |
99 | *ra2/pow(1.0-(t/(ma2*ma2)),na2); | |
100 | *vf = (1+melr)*rv/pow(1.0-(t/(mv*mv)),nv); | |
101 | *a0f = 0.0; | |
102 | ||
103 | return; | |
104 | } | |
105 | ||
106 | ||
107 | void EvtMelikhovFF::getscalarff(EvtId, EvtId, double, double, double*, | |
108 | double*){ | |
109 | ||
110 | report(ERROR,"EvtGen") << "Not implemented :getvectorff in EvtMelikhovFF.\n"; | |
111 | ::abort(); | |
112 | ||
113 | } | |
114 | ||
115 | ||
116 | ||
117 | void EvtMelikhovFF::gettensorff(EvtId, EvtId, double, double, double*, | |
118 | double*, double*, double*){ | |
119 | ||
120 | report(ERROR,"EvtGen") << "Not implemented :gettensorff in EvtMelikhovFF.\n"; | |
121 | ::abort(); | |
122 | ||
123 | } | |
124 | ||
125 | ||
126 | ||
127 | void EvtMelikhovFF::getbaryonff(EvtId, EvtId, double, double, double*, | |
128 | double*, double*, double*){ | |
129 | ||
130 | report(ERROR,"EvtGen") << "Not implemented :getbaryonff in EvtMelikhovFF.\n"; | |
131 | ::abort(); | |
132 | ||
133 | } | |
134 |