37#include "EvtGenBase/EvtPatches.hh"
38#include "EvtGenModels/EvtVubdGamma.hh"
73 lne3 = -7./4. - sqrt(lne3);
76 _epsilon3 =
exp(lne3);
100 if ( x < 0 || x > 1 || z < xb || z > (1+xb) )
106 double p2min = (0>z-1.?0:z-1.);
107 double p2max = (1.-
x)*(z-1.+
x);
109 if (p2 < p2min || p2 > p2max)
117 if ( p2 >_epsilon1 && p2< _epsilon2) {
122 dG = 12. *
delta(p2,p2min,p2max) * ((1.+xb-z) * (z-xb) * W1
123 + xb*(z-xb) * (W4plus5));
133 dG = 12. * ((1.+xb-z) * (z-xb-p2) * W1
135 + (xb*(z-xb)-p2) * (W3+W4+W5));
142 if ( xmin > 0 || xmax < 0 )
return 0.;
143 if ( _epsilon1 <
x &&
x < _epsilon2 )
return 1./(_epsilon2-_epsilon1);
154 if (z == 1) lz = -1.;
155 else lz = log(z)/(1.-z);
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);
168 return (1. +
w*_alphas/3./
M_PI);
175 double t2 = 1.-4.*p2/z2;
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;
186 return w*_alphas/3./
M_PI;
193 double t2 = 1.-4.*p2/z2;
195 double w11 = (32.-8.*z+z2)/4./z/t2;
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;
203 return (
w*_alphas/3./
M_PI);
209 double t2 = 1.-4.*p2/z2;
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;
221 return (
w*_alphas/3./
M_PI);
227 double t2 = 1.-4.*p2/z2;
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 ;
239 return w*_alphas/3./
M_PI;
250 w = 2.*log(z)/(1.-z);
252 return (
w*_alphas/3./
M_PI);
258 double t2 = 1.-4.*p2/z2;
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;
270 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)