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 );
74 _epsilon3 =
exp( lne3 );
92 double xb = ( 1 - x );
94 if (
x < 0 || x > 1 || z < xb || z > ( 1 + xb ) )
return 0;
99 double p2min = ( 0 > z - 1. ? 0 : z - 1. );
100 double p2max = ( 1. - x ) * ( z - 1. + x );
109 if (
p2 > _epsilon1 &&
p2 < _epsilon2 )
115 dG = 12. *
delta(
p2, p2min, p2max ) *
116 ( ( 1. + xb - z ) * ( z - xb ) * W1 + xb * ( z - xb ) * ( W4plus5 ) );
127 dG = 12. * ( ( 1. + xb - z ) * ( z - xb -
p2 ) * W1 + ( 1. - z +
p2 ) * W2 +
128 ( xb * ( z - xb ) -
p2 ) * ( W3 + W4 + W5 ) );
134 if ( xmin > 0 || xmax < 0 )
return 0.;
135 if ( _epsilon1 < x && x < _epsilon2 )
return 1. / ( _epsilon2 - _epsilon1 );
145 if ( z == 1 ) lz = -1.;
146 else lz = log( z ) / ( 1. - z );
154 double dl = 4. *
ddilog_( &mz ) + 4. * pow(
M_PI, 2 ) / 3.;
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 );
159 return ( 1. +
w * _alphas / 3. /
M_PI );
165 double t2 = 1. - 4. *
p2 / z2;
166 double t = sqrt( t2 );
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;
176 return w * _alphas / 3. /
M_PI;
182 double t2 = 1. - 4. *
p2 / z2;
183 double t = sqrt( t2 );
184 double w11 = ( 32. - 8. * z + z2 ) / 4. / z / t2;
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;
191 return (
w * _alphas / 3. /
M_PI );
196 double t2 = 1. - 4. *
p2 / z2;
198 double t = sqrt( t2 );
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;
210 return (
w * _alphas / 3. /
M_PI );
215 double t2 = 1. - 4. *
p2 / z2;
217 double t = sqrt( t2 );
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;
228 return w * _alphas / 3. /
M_PI;
235 if ( z == 1 )
w = -2;
236 else w = 2. * log( z ) / ( 1. - z );
238 return (
w * _alphas / 3. /
M_PI );
243 double t2 = 1. - 4. *
p2 / z2;
245 double t = sqrt( t2 );
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;
253 return (
w * _alphas / 3. /
M_PI );
EvtComplex exp(const EvtComplex &c)
double ddilog_(const double *)
double ddilog_(const double &sh)
double delta(const double &x, const double &xmin, const double &xmax)
double getdGdxdzdp(const double &x, const double &z, const double &p2)
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)
EvtVubdGamma(const double &alphas)