#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.
52 {
53 _alphas = alphas;
54
55
56
57
58
59
60
61
62
63
64
65
66
67 _epsilon1 = 1e-10;
68 _epsilon2 = 1e-5;
69 if ( alphas > 0 )
70 {
71 double lne3 = 9. / 16. - 2 *
M_PI *
M_PI / 3. + 6 *
M_PI / 4 / alphas;
72 if ( lne3 > 0 ) lne3 = -7. / 4. - sqrt( lne3 );
73 else lne3 = -7. / 4.;
74 _epsilon3 =
exp( lne3 );
75 }
76 else _epsilon3 = 1;
77}
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 133 of file EvtVubdGamma.cc.
133 {
134 if ( xmin > 0 || xmax < 0 ) return 0.;
135 if ( _epsilon1 <
x &&
x < _epsilon2 )
return 1. / ( _epsilon2 - _epsilon1 );
136 return 0.0;
137}
Referenced by getdGdxdzdp().
◆ getdGdxdzdp()
| double EvtVubdGamma::getdGdxdzdp |
( |
const double & | x, |
|
|
const double & | z, |
|
|
const double & | p2 ) |
Definition at line 89 of file EvtVubdGamma.cc.
89 {
90
91
92 double xb = ( 1 -
x );
93
94 if (
x < 0 || x > 1 || z < xb || z > ( 1 + xb ) )
return 0;
95
96
97
98
99 double p2min = ( 0 > z - 1. ? 0 : z - 1. );
100 double p2max = ( 1. -
x ) * ( z - 1. +
x );
101
103
104
105
106
107 double dG;
108
109 if (
p2 > _epsilon1 &&
p2 < _epsilon2 )
110 {
111
114
115 dG = 12. *
delta(
p2, p2min, p2max ) *
116 ( ( 1. + xb - z ) * ( z - xb ) * W1 + xb * ( z - xb ) * ( W4plus5 ) );
117 }
118 else
119 {
120
126
127 dG = 12. * ( ( 1. + xb - z ) * ( z - xb -
p2 ) * W1 + ( 1. - z +
p2 ) * W2 +
128 ( xb * ( z - xb ) -
p2 ) * ( W3 + W4 + W5 ) );
129 }
130 return dG;
131}
double delta(const double &x, const double &xmin, const double &xmax)
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)
◆ getW1delta()
| double EvtVubdGamma::getW1delta |
( |
const double & | x, |
|
|
const double & | z ) |
|
protected |
Definition at line 139 of file EvtVubdGamma.cc.
139 {
140 double mz = 1. - z;
141
142
143
144 double lz;
145 if ( z == 1 ) lz = -1.;
146 else lz = log( z ) / ( 1. - z );
147
148
149
150
151
152
153
154 double dl = 4. *
ddilog_( &mz ) + 4. * pow(
M_PI, 2 ) / 3.;
155
156 double w = -( 8. * pow( log( z ), 2 ) - 10. * log( z ) + 2. * lz + dl + 5. ) +
157 ( 8. * log( z ) - 7. ) * log( _epsilon3 ) - 2. * pow( log( _epsilon3 ), 2 );
158
159 return ( 1. +
w * _alphas / 3. /
M_PI );
160}
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 162 of file EvtVubdGamma.cc.
162 {
163
164 double z2 = z * z;
165 double t2 = 1. - 4. *
p2 / z2;
166 double t = sqrt( t2 );
167
169 if (
p2 > _epsilon2 )
170 w += 4. /
p2 * ( log( ( 1. +
t ) / ( 1. -
t ) ) /
t + log(
p2 / z2 ) ) + 1. -
171 ( 8. - z ) * ( 2. - z ) / z2 / t2 +
172 ( ( 2. - z ) / 2. / z + ( 8. - z ) * ( 2. - z ) / 2. / z2 / t2 ) *
173 log( ( 1. +
t ) / ( 1. -
t ) ) /
t;
174 if (
p2 > _epsilon3 )
w += ( 8. * log( z ) - 7. ) /
p2 - 4. * log(
p2 ) /
p2;
175
176 return w * _alphas / 3. /
M_PI;
177}
Referenced by getdGdxdzdp().
◆ getW2nodelta()
| double EvtVubdGamma::getW2nodelta |
( |
const double & | x, |
|
|
const double & | z, |
|
|
const double & | p2 ) |
|
protected |
Definition at line 179 of file EvtVubdGamma.cc.
179 {
180
181 double z2 = z * z;
182 double t2 = 1. - 4. *
p2 / z2;
183 double t = sqrt( t2 );
184 double w11 = ( 32. - 8. * z + z2 ) / 4. / z / t2;
185
187 if (
p2 > _epsilon2 )
188 w -= ( z * t2 / 8. + ( 4. - z ) / 4. + w11 / 2. ) * log( ( 1. +
t ) / ( 1. -
t ) ) /
t;
189 if (
p2 > _epsilon2 )
w += ( 8. - z ) / 4. + w11;
190
191 return (
w * _alphas / 3. /
M_PI );
192}
Referenced by getdGdxdzdp().
◆ getW3nodelta()
| double EvtVubdGamma::getW3nodelta |
( |
const double & | x, |
|
|
const double & | z, |
|
|
const double & | p2 ) |
|
protected |
Definition at line 194 of file EvtVubdGamma.cc.
194 {
195 double z2 = z * z;
196 double t2 = 1. - 4. *
p2 / z2;
197 double t4 = t2 * t2;
198 double t = sqrt( t2 );
199
201
202 if (
p2 > _epsilon2 )
203 w += ( z * t2 / 16. + 5. * ( 4. - z ) / 16. - ( 64. + 56. * z - 7. * z2 ) / 16. / z / t2 +
204 3. * ( 12. - z ) / 16. / t4 ) *
205 log( ( 1. +
t ) / ( 1. -
t ) ) /
t;
206 if (
p2 > _epsilon2 )
207 w += -( 8. - 3. * z ) / 8. + ( 32. + 22. * z - 3. * z2 ) / 4. / z / t2 -
208 3. * ( 12. - z ) / 8. / t4;
209
210 return (
w * _alphas / 3. /
M_PI );
211}
Referenced by getdGdxdzdp().
◆ getW4nodelta()
| double EvtVubdGamma::getW4nodelta |
( |
const double & | x, |
|
|
const double & | z, |
|
|
const double & | p2 ) |
|
protected |
Definition at line 213 of file EvtVubdGamma.cc.
213 {
214 double z2 = z * z;
215 double t2 = 1. - 4. *
p2 / z2;
216 double t4 = t2 * t2;
217 double t = sqrt( t2 );
218
220
221 if (
p2 > _epsilon2 )
222 w -= ( ( 8. - 3. * z ) / 4. / z - ( 22. - 3. * z ) / 2. / z / t2 +
223 3. * ( 12. - z ) / 4. / z / t4 ) *
224 log( ( 1. +
t ) / ( 1. -
t ) ) /
t;
225 if (
p2 > _epsilon2 )
226 w += -1. - ( 32. - 5. * z ) / 2. / z / t2 + 3. * ( 12. - z ) / 2. / z / t4;
227
228 return w * _alphas / 3. /
M_PI;
229}
Referenced by getdGdxdzdp().
◆ getW4plus5delta()
| double EvtVubdGamma::getW4plus5delta |
( |
const double & | x, |
|
|
const double & | z ) |
|
protected |
Definition at line 231 of file EvtVubdGamma.cc.
231 {
232
234
235 if ( z == 1 )
w = -2;
236 else w = 2. * log( z ) / ( 1. - z );
237
238 return (
w * _alphas / 3. /
M_PI );
239}
Referenced by getdGdxdzdp().
◆ getW5nodelta()
| double EvtVubdGamma::getW5nodelta |
( |
const double & | x, |
|
|
const double & | z, |
|
|
const double & | p2 ) |
|
protected |
Definition at line 241 of file EvtVubdGamma.cc.
241 {
242 double z2 = z * z;
243 double t2 = 1. - 4. *
p2 / z2;
244 double t4 = t2 * t2;
245 double t = sqrt( t2 );
246
248 if (
p2 > _epsilon2 )
249 w += ( 1. / 4. / z - ( 2. - z ) / 2. / z2 / t2 + 3. * ( 12. - z ) / 4. / z2 / t4 ) *
250 log( ( 1. +
t ) / ( 1. -
t ) ) /
t;
251 if (
p2 > _epsilon2 )
w += -( 8. + z ) / 2. / z2 / t2 - 3. * ( 12. - z ) / 2. / z2 / t4;
252
253 return (
w * _alphas / 3. /
M_PI );
254}
Referenced by getdGdxdzdp().
The documentation for this class was generated from the following files: