#include <EvtVubdGamma.hh>
|
double | delta (const double &x, const double &xmin, const double &xmax) |
|
double | getW1nodelta (const double &x, const double &z, const double &p2) |
|
double | getW2nodelta (const double &x, const double &z, const double &p2) |
|
double | getW3nodelta (const double &x, const double &z, const double &p2) |
|
double | getW4nodelta (const double &x, const double &z, const double &p2) |
|
double | getW5nodelta (const double &x, const double &z, const double &p2) |
|
double | getW1delta (const double &x, const double &z) |
|
double | getW4plus5delta (const double &x, const double &z) |
|
Definition at line 38 of file EvtVubdGamma.hh.
◆ EvtVubdGamma()
EvtVubdGamma::EvtVubdGamma |
( |
const double & |
alphas | ) |
|
Definition at line 52 of file EvtVubdGamma.cc.
53{
54 _alphas = alphas;
55
56
57
58
59
60
61
62
63
64
65
66
67
68 _epsilon1 = 1e-10;
69 _epsilon2 = 1e-5;
70 if ( alphas > 0 ) {
72 if ( lne3 > 0 )
73 lne3 = -7./4. - sqrt(lne3);
74 else
75 lne3 = -7./4.;
76 _epsilon3 =
exp(lne3);
77 }
78 else
79 _epsilon3 = 1;
80}
EvtComplex exp(const EvtComplex &c)
◆ ~EvtVubdGamma()
EvtVubdGamma::~EvtVubdGamma |
( |
| ) |
|
|
virtual |
◆ delta()
double EvtVubdGamma::delta |
( |
const double & |
x, |
|
|
const double & |
xmin, |
|
|
const double & |
xmax |
|
) |
| |
|
protected |
Definition at line 140 of file EvtVubdGamma.cc.
141{
142 if ( xmin > 0 || xmax < 0 ) return 0.;
143 if ( _epsilon1 < x && x < _epsilon2 ) return 1./(_epsilon2-_epsilon1);
144 return 0.0;
145}
◆ getdGdxdzdp()
double EvtVubdGamma::getdGdxdzdp |
( |
const double & |
x, |
|
|
const double & |
z, |
|
|
const double & |
p2 |
|
) |
| |
Definition at line 94 of file EvtVubdGamma.cc.
95{
96
97
99
100 if ( x < 0 || x > 1 || z < xb || z > (1+xb) )
101 return 0;
102
103
104
105
106 double p2min = (0>z-1.?0:z-1.);
107 double p2max = (1.-
x)*(z-1.+x);
108
109 if (p2 < p2min || p2 > p2max)
110 return 0;
111
112
113
114
115 double dG;
116
117 if ( p2 >_epsilon1 && p2< _epsilon2) {
118
121
122 dG = 12. *
delta(p2,p2min,p2max) * ((1.+xb-z) * (z-xb) * W1
123 + xb*(z-xb) * (W4plus5));
124 }
125 else {
126
132
133 dG = 12. * ((1.+xb-z) * (z-xb-p2) * W1
134 + (1.-z+p2) * W2
135 + (xb*(z-xb)-p2) * (W3+W4+W5));
136 }
137 return dG;
138}
double getW2nodelta(const double &x, const double &z, const double &p2)
double getW1nodelta(const double &x, const double &z, const double &p2)
double getW1delta(const double &x, const double &z)
double getW4plus5delta(const double &x, const double &z)
double getW3nodelta(const double &x, const double &z, const double &p2)
double getW5nodelta(const double &x, const double &z, const double &p2)
double getW4nodelta(const double &x, const double &z, const double &p2)
Referenced by EvtVub::decay(), and EvtVubHybrid::decay().
◆ getW1delta()
double EvtVubdGamma::getW1delta |
( |
const double & |
x, |
|
|
const double & |
z |
|
) |
| |
|
protected |
Definition at line 147 of file EvtVubdGamma.cc.
148{
149 double mz = 1.-z;
150
151
152
153 double lz;
154 if (z == 1) lz = -1.;
155 else lz = log(z)/(1.-z);
156
157
158
159
160
161
162
164
165 double w = -(8.*pow(log(z),2) - 10.*log(z) + 2.*lz + dl + 5.)
166 + (8.*log(z)-7.)*log(_epsilon3) - 2.*pow(log(_epsilon3),2);
167
168 return (1. +
w*_alphas/3./
M_PI);
169}
double ddilog_(const double &sh)
Referenced by getdGdxdzdp().
◆ getW1nodelta()
double EvtVubdGamma::getW1nodelta |
( |
const double & |
x, |
|
|
const double & |
z, |
|
|
const double & |
p2 |
|
) |
| |
|
protected |
Definition at line 171 of file EvtVubdGamma.cc.
172{
173
174 double z2 = z*z;
175 double t2 = 1.-4.*p2/z2;
177
179 if ( p2 > _epsilon2 )
180 w += 4./p2*(log((1.+
t)/(1.-
t))/
t + log(p2/z2))
181 + 1. - (8.-z)*(2.-z)/z2/t2
182 + ((2.-z)/2./z+(8.-z)*(2.-z)/2./z2/t2)*log((1.+
t)/(1.-
t))/
t;
183 if ( p2 > _epsilon3 )
184 w += (8.*log(z)-7.)/p2 - 4.*log(p2)/p2;
185
186 return w*_alphas/3./
M_PI;
187}
Referenced by getdGdxdzdp().
◆ getW2nodelta()
double EvtVubdGamma::getW2nodelta |
( |
const double & |
x, |
|
|
const double & |
z, |
|
|
const double & |
p2 |
|
) |
| |
|
protected |
Definition at line 189 of file EvtVubdGamma.cc.
190{
191
192 double z2 = z*z;
193 double t2 = 1.-4.*p2/z2;
195 double w11 = (32.-8.*z+z2)/4./z/t2;
196
198 if ( p2 > _epsilon2 )
199 w -= (z*t2/8. + (4.-z)/4. + w11/2.)*log((1.+
t)/(1.-
t))/
t;
200 if ( p2 > _epsilon2 )
201 w += (8.-z)/4. + w11;
202
203 return (
w*_alphas/3./
M_PI);
204}
Referenced by getdGdxdzdp().
◆ getW3nodelta()
double EvtVubdGamma::getW3nodelta |
( |
const double & |
x, |
|
|
const double & |
z, |
|
|
const double & |
p2 |
|
) |
| |
|
protected |
Definition at line 206 of file EvtVubdGamma.cc.
207{
208 double z2 = z*z;
209 double t2 = 1.-4.*p2/z2;
210 double t4 = t2*t2;
212
214
215 if ( p2 > _epsilon2 )
216 w += (z*t2/16. + 5.*(4.-z)/16. - (64.+56.*z-7.*z2)/16./z/t2
217 + 3.*(12.-z)/16./t4) * log((1.+
t)/(1.-
t))/
t;
218 if ( p2 > _epsilon2 )
219 w += -(8.-3.*z)/8. + (32.+22.*z-3.*z2)/4./z/t2 - 3.*(12.-z)/8./t4;
220
221 return (
w*_alphas/3./
M_PI);
222}
Referenced by getdGdxdzdp().
◆ getW4nodelta()
double EvtVubdGamma::getW4nodelta |
( |
const double & |
x, |
|
|
const double & |
z, |
|
|
const double & |
p2 |
|
) |
| |
|
protected |
Definition at line 224 of file EvtVubdGamma.cc.
225{
226 double z2 = z*z;
227 double t2 = 1.-4.*p2/z2;
228 double t4 = t2*t2;
230
232
233 if ( p2 > _epsilon2 )
234 w -= ((8.-3.*z)/4./z - (22.-3.*z)/2./z/t2 + 3.*(12.-z)/4./z/t4)
235 * log((1.+
t)/(1.-
t))/
t;
236 if ( p2 > _epsilon2 )
237 w += -1. - (32.-5.*z)/2./z/t2 + 3.*(12.-z)/2./z/t4 ;
238
239 return w*_alphas/3./
M_PI;
240}
Referenced by getdGdxdzdp().
◆ getW4plus5delta()
double EvtVubdGamma::getW4plus5delta |
( |
const double & |
x, |
|
|
const double & |
z |
|
) |
| |
|
protected |
◆ getW5nodelta()
double EvtVubdGamma::getW5nodelta |
( |
const double & |
x, |
|
|
const double & |
z, |
|
|
const double & |
p2 |
|
) |
| |
|
protected |
Definition at line 255 of file EvtVubdGamma.cc.
256{
257 double z2 = z*z;
258 double t2 = 1.-4.*p2/z2;
259 double t4 = t2*t2;
261
263 if ( p2 > _epsilon2 )
264 w += (1./4./z - (2.-z)/2./z2/t2 + 3.*(12.-z)/4./z2/t4)
265 * log((1.+
t)/(1.-
t))/
t;
266 if ( p2 > _epsilon2 )
267 w += -(8.+z)/2./z2/t2 - 3.*(12.-z)/2./z2/t4;
268
269
270 return (
w*_alphas/3./
M_PI);
271}
Referenced by getdGdxdzdp().
The documentation for this class was generated from the following files: