QCDLoop
One-loop scalar Feynman integrals
|
Standard Tools for the library. More...
#include <tools.h>
Public Member Functions | |
Tools () | |
The Constructor. | |
~Tools () | |
The Destructor. | |
bool | iszero (TMass const &psq) const |
Check for zeros. More... | |
TOutput | cLn (TOutput const &z, TScale const &isig) const |
Log of complex argument with explicit sign for imag part. More... | |
TOutput | cLn (TScale const &x, TScale const &isig) const |
TOutput | fndd (int const &n, TOutput const &x, TScale const &iep) const |
The fndd function. More... | |
TOutput | Lnrat (TOutput const &x, TOutput const &y) const |
Computes the ratio of logs. More... | |
TOutput | Lnrat (TScale const &x, TScale const &y) const |
TMass | ddilog (TMass const &x) const |
Computes the dilog function for real argument. More... | |
TOutput | denspence (TOutput const &z, TScale const &isig) const |
Spence's function. More... | |
TOutput | spencer (TOutput const &zrat1, TOutput const &zrat2, TScale const &ieps1, TScale const &ieps2) const |
Spence's function for ratio arguments. More... | |
TOutput | xspence (TOutput const (&z1)[2], TScale const (&im1)[2], TOutput const &z2, TScale const &im2) const |
Difference of complex Spence's function. More... | |
TOutput | cspence (TOutput const &z1, TScale const &im1, TOutput const &z2, TScale const &im2) const |
Complex Spence's function. More... | |
TOutput | Li2omrat (TScale const &x, TScale const &y) const |
Expression for dilog(1-(x-i*ep)/(y-i*ep)). More... | |
TOutput | Li2omrat (TOutput const &x, TOutput const &y, TScale const &ieps1=-1, TScale const &ieps2=-1) const |
TOutput | Li2omx2 (TScale const &v, TScale const &w, TScale const &x, TScale const &y) const |
Expression for dilog(1-(v-i*ep)*(w-i*ep)/(x-i*ep)/(y-i*ep)). More... | |
TOutput | Li2omx2 (TOutput const &v, TOutput const &w, TOutput const &x, TOutput const &y, TScale const &ieps1=-1, TScale const &ieps2=-1) const |
TOutput | cLi2omx2 (TOutput const &z1, TOutput const &z2, TScale const &ieps1=-1, TScale const &ieps2=-1) const |
TOutput | Li2omx (TMass const &x1, TMass const &x2, TScale const &ieps1, TScale const &ieps2) const |
Calculate Li[2](1-(x1+ieps1)*(x2+ieps2)) More... | |
TOutput | cLi2omx3 (TOutput const &z1, TOutput const &z2, TOutput const &z3, TScale const &ieps1, TScale const &ieps2, TScale const &ieps3) const |
Calculate Li[2](1-(z1+ieps1)*(z2+ieps2)*(z3+ieps3)) More... | |
TOutput | L0 (TMass const &x, TMass const &y) const |
TOutput | L1 (TMass const &x, TMass const &y) const |
TOutput | R3int (TOutput const &p, TOutput const &s1, TOutput const &s2, TOutput const &t1) const |
TOutput | R3int (TOutput const &p, TOutput const &s1, TOutput const &s2, TOutput const &t1, TOutput const &t2, TOutput const &t3, TOutput const &t4) const |
TOutput | R2int (TOutput const &a, TOutput const &b, TOutput const &y0) const |
TOutput | Rint (TOutput const &y, TOutput const &z, TScale const &ieps) const |
void | R (TOutput &r, TOutput &d, TOutput const &q) const |
Tools<TOutput, TMass, TScale>::R. More... | |
TOutput | Zlogint (TOutput const &z, TScale const &ieps) const |
Tools<TOutput, TMass, TScale>::qlZlogint. More... | |
TOutput | ltspence (int const &i_in, TOutput const &z_in, TScale const &s) const |
TOutput | li2series (TOutput const &z, TScale const &isig) const |
TOutput | ltli2series (TOutput const &z1, TScale const &s) const |
TOutput | eta2 (TOutput const &a, TOutput const &b) const |
TOutput | eta3 (TOutput const &a, TOutput const &b, TOutput const &c) const |
TOutput | eta5 (TOutput const &a, TOutput const &b, TOutput const &c, TOutput const &d, TOutput const &e) const |
TOutput | xetatilde (TOutput const (&z1)[2], TScale const (&im1)[2], TOutput const &z2, TScale const &im2, TOutput const (&l1)[2]) const |
TOutput | xeta (TOutput const (&z1)[2], TScale const (&im1)[2], TOutput const &z2, TScale const &im2, TScale const &im12, TOutput const (&l1)[2]) const |
int | eta (TOutput const &z1, TScale const &s1, TOutput const &z2, TScale const &s2, TScale const &s12) const |
int | etatilde (TOutput const &c1, TScale const &im1x, TOutput const &c2, TScale const &im2x) const |
void | kfn (TOutput(&res)[3], TScale &ieps, TMass const &xpi, TMass const &xm, TMass const &xmp) const |
The K-function. More... | |
void | solveabc (TMass const &a, TMass const &b, TMass const &c, TOutput(&z)[2]) const |
Solution of the quadratic equation. More... | |
void | solveabcd (TOutput const &a, TOutput const &b, TOutput const &c, TOutput const &d, TOutput(&z)[2]) const |
Solution of the quadratic equation passing the discriminant. More... | |
void | solveabcd (TOutput const &a, TOutput const &b, TOutput const &c, TOutput(&z)[2]) const |
void | ratgam (TOutput &ratp, TOutput &ratm, TScale &ieps, TMass const &p3sq, TMass const &m3sq, TMass const &m4sq) const |
Ratio function. More... | |
void | ratreal (TMass const &si, TMass const &ta, TMass &rat, TScale &ieps) const |
Ratio function. More... | |
Standard Tools for the library.
The container of common functions used by Topology.
TOutput ql::Tools< TOutput, TMass, TScale >::cLi2omx2 | ( | TOutput const & | z1, |
TOutput const & | z2, | ||
TScale const & | ieps1 = -1 , |
||
TScale const & | ieps2 = -1 |
||
) | const |
Calculates Li[2](1-(z1+ieps1)*(z2+ieps2)) for complex z1,z2 Using +Li2(1-z1*z2) for z1*z2<1 and -Li2(1-1/(z1*z2))-1/2*(ln(z1)+ln(z2))^2 for z1*z2>1
z1 | input argument |
z2 | input argument |
ieps1 | sign of z1 |
ieps2 | sign of z2 |
TOutput ql::Tools< TOutput, TMass, TScale >::cLi2omx3 | ( | TOutput const & | z1, |
TOutput const & | z2, | ||
TOutput const & | z3, | ||
TScale const & | ieps1, | ||
TScale const & | ieps2, | ||
TScale const & | ieps3 | ||
) | const |
Calculate Li[2](1-(z1+ieps1)*(z2+ieps2)*(z3+ieps3))
Generalization of cLi2omx2 for 3 arguments.
TOutput ql::Tools< TOutput, TMass, TScale >::cLn | ( | TOutput const & | z, |
TScale const & | isig | ||
) | const |
Log of complex argument with explicit sign for imag part.
Computes the log of a complex number z. If the imag(z)=0 and real(z)<0 and extra ipi term is included.
z | the complex argument of the logarithm |
isig | the sign of the imaginary part |
TOutput ql::Tools< TOutput, TMass, TScale >::cLn | ( | TScale const & | x, |
TScale const & | isig | ||
) | const |
Computes the log of a real number x. If the x<0 and extra ipi term is included.
x | the real argument of the logarithm |
isig | the sign of the imaginary part |
TOutput ql::Tools< TOutput, TMass, TScale >::cspence | ( | TOutput const & | z1, |
TScale const & | im1, | ||
TOutput const & | z2, | ||
TScale const & | im2 | ||
) | const |
Complex Spence's function.
z1 | input argument |
im1 | sign of z1 |
z2 | input argument |
im2 | sign of z2 |
TMass ql::Tools< TOutput, TMass, TScale >::ddilog | ( | TMass const & | x | ) | const |
Computes the dilog function for real argument.
The dilog function for real argument
x | the argument of the dilog |
TOutput ql::Tools< TOutput, TMass, TScale >::denspence | ( | TOutput const & | z, |
TScale const & | isig | ||
) | const |
Spence's function.
z | the argument |
isig | the sign of z |
int ql::Tools< TOutput, TMass, TScale >::eta | ( | TOutput const & | z1, |
TScale const & | s1, | ||
TOutput const & | z2, | ||
TScale const & | s2, | ||
TScale const & | s12 | ||
) | const |
z1 | |
s1 | |
z2 | |
s2 | |
s12 |
TOutput ql::Tools< TOutput, TMass, TScale >::eta2 | ( | TOutput const & | a, |
TOutput const & | b | ||
) | const |
a | |
b |
TOutput ql::Tools< TOutput, TMass, TScale >::eta3 | ( | TOutput const & | a, |
TOutput const & | b, | ||
TOutput const & | c | ||
) | const |
a | |
b | |
c |
int ql::Tools< TOutput, TMass, TScale >::etatilde | ( | TOutput const & | c1, |
TScale const & | im1x, | ||
TOutput const & | c2, | ||
TScale const & | im2x | ||
) | const |
c1 | |
im1x | |
c2 | |
im2x |
TOutput ql::Tools< TOutput, TMass, TScale >::fndd | ( | int const & | n, |
TOutput const & | x, | ||
TScale const & | iep | ||
) | const |
bool ql::Tools< TOutput, TMass, TScale >::iszero | ( | TMass const & | psq | ) | const |
Check for zeros.
Compares the Abs(psq) to the cutoff
msq | the input to be tested |
void ql::Tools< TOutput, TMass, TScale >::kfn | ( | TOutput(&) | res[3], |
TScale & | ieps, | ||
TMass const & | xpi, | ||
TMass const & | xm, | ||
TMass const & | xmp | ||
) | const |
The K-function.
Calculate the K-function give in Eq. 2.7 of [1]
\[ K(p^2,m,m_p) = \frac{1-\sqrt{1-4m m_p / (z-(m-m_p)^2)}}{1+\sqrt{1-4m m_p / (z-(m-m_p)^2)}} \]
and fill x[0] = -K, x[1] = 1+K, x[2] = 1-K, the roots are allowed to be imaginary. ieps gives the sign of the imaginary part of -K: 1 -> +i*eps
TOutput ql::Tools< TOutput, TMass, TScale >::L0 | ( | TMass const & | x, |
TMass const & | y | ||
) | const |
x | input argument |
y | input argument |
TOutput ql::Tools< TOutput, TMass, TScale >::L1 | ( | TMass const & | x, |
TMass const & | y | ||
) | const |
x | input argument |
y | input argument |
TOutput ql::Tools< TOutput, TMass, TScale >::Li2omrat | ( | TScale const & | x, |
TScale const & | y | ||
) | const |
Expression for dilog(1-(x-i*ep)/(y-i*ep)).
x | numerator |
y | denominator |
TOutput ql::Tools< TOutput, TMass, TScale >::Li2omx | ( | TMass const & | x1, |
TMass const & | x2, | ||
TScale const & | ieps1, | ||
TScale const & | ieps2 | ||
) | const |
Calculate Li[2](1-(x1+ieps1)*(x2+ieps2))
Calculate Li[2](1-(x1+ieps1)*(x2+ieps2)) for real x1,x2 Using +Li2(1-x1*x2) for x1*x2<1 and -Li2(1-1/(x1*x2))-1/2*(ln(x1)+ln(x2))^2 for x1*x2>1
x1 | numerator |
x2 | denominator |
ieps1 | sign of x1 |
ieps2 | sign of x2 |
TOutput ql::Tools< TOutput, TMass, TScale >::Li2omx2 | ( | TScale const & | v, |
TScale const & | w, | ||
TScale const & | x, | ||
TScale const & | y | ||
) | const |
Expression for dilog(1-(v-i*ep)*(w-i*ep)/(x-i*ep)/(y-i*ep)).
expression for dilog(1-(v-i*ep)*(w-i*ep)/(x-i*ep)/(y-i*ep)) for real v,w,x and y
v | numerator |
w | numerator |
x | denominator |
y | denominator |
TOutput ql::Tools< TOutput, TMass, TScale >::Li2omx2 | ( | TOutput const & | v, |
TOutput const & | w, | ||
TOutput const & | x, | ||
TOutput const & | y, | ||
TScale const & | ieps1 = -1 , |
||
TScale const & | ieps2 = -1 |
||
) | const |
Calculates Li[2](1-(z1+ieps1)*(z2+ieps2)) for complex z1,z2 Using +Li2(1-z1*z2) for z1*z2<1 and -Li2(1-1/(z1*z2))-1/2*(ln(z1)+ln(z2))^2 for z1*z2>1
z1 | input argument |
z2 | input argument |
ieps1 | sign of z1 |
ieps2 | sign of z2 |
TOutput ql::Tools< TOutput, TMass, TScale >::li2series | ( | TOutput const & | z, |
TScale const & | isig | ||
) | const |
z | |
isig |
TOutput ql::Tools< TOutput, TMass, TScale >::Lnrat | ( | TOutput const & | x, |
TOutput const & | y | ||
) | const |
Computes the ratio of logs.
Computes \({\rm Lnrat}(x,y) = \log(x-i \epsilon)-\log(y-i \epsilon)\)
x | TMass object for the numerator |
y | TMass object for the denumerator |
TOutput ql::Tools< TOutput, TMass, TScale >::ltli2series | ( | TOutput const & | z1, |
TScale const & | s | ||
) | const |
z1 | |
s |
TOutput ql::Tools< TOutput, TMass, TScale >::ltspence | ( | int const & | i_in, |
TOutput const & | z_in, | ||
TScale const & | s | ||
) | const |
i_in | |
z_in | |
s |
void ql::Tools< TOutput, TMass, TScale >::R | ( | TOutput & | r, |
TOutput & | d, | ||
TOutput const & | q | ||
) | const |
TOutput ql::Tools< TOutput, TMass, TScale >::R2int | ( | TOutput const & | a, |
TOutput const & | b, | ||
TOutput const & | y0 | ||
) | const |
Finite Triangle Li2 sum.
TOutput ql::Tools< TOutput, TMass, TScale >::R3int | ( | TOutput const & | a, |
TOutput const & | s1, | ||
TOutput const & | s2, | ||
TOutput const & | t1 | ||
) | const |
Finite Triangle Li2 sum.
TOutput ql::Tools< TOutput, TMass, TScale >::R3int | ( | TOutput const & | a, |
TOutput const & | s1, | ||
TOutput const & | s2, | ||
TOutput const & | t1, | ||
TOutput const & | t2, | ||
TOutput const & | t3, | ||
TOutput const & | t4 | ||
) | const |
Finite Triangle Li2 sum.
void ql::Tools< TOutput, TMass, TScale >::ratgam | ( | TOutput & | ratp, |
TOutput & | ratm, | ||
TScale & | ieps, | ||
TMass const & | p3sq, | ||
TMass const & | m3sq, | ||
TMass const & | m4sq | ||
) | const |
Ratio function.
Calculate the function
\[ R(p^2,m,m_p) = \frac{p_3^2+m_4^2-m_3^2+\sqrt{(p_3^2+m_4^2-m_3^2)^2-4 p_3^2 m_4^2}}{-p_3^2+m_4^2-m_3^2+\sqrt{(p_3^2+m_4^2-m_3^2)^2-4 p_3^2 m_4^2}} \]
where the roots are allowed to be imaginary.
void ql::Tools< TOutput, TMass, TScale >::ratreal | ( | TMass const & | si, |
TMass const & | ta, | ||
TMass & | rat, | ||
TScale & | ieps | ||
) | const |
Ratio function.
Calculate the function
\[ R = \frac{\sigma-i \epsilon}{\tau-i \epsilon} \]
where sigma and tau are real and ieps give the sign if i*pi.
TOutput ql::Tools< TOutput, TMass, TScale >::Rint | ( | TOutput const & | y, |
TOutput const & | z, | ||
TScale const & | ieps | ||
) | const |
y | |
z | |
ieps |
void ql::Tools< TOutput, TMass, TScale >::solveabc | ( | TMass const & | a, |
TMass const & | b, | ||
TMass const & | c, | ||
TOutput(&) | z[2] | ||
) | const |
Solution of the quadratic equation.
Solution of a quadratic equation a*z^2+b*z+c=0.
a | coefficient |
b | coefficient |
c | coefficient |
l | result [-im,+im] |
void ql::Tools< TOutput, TMass, TScale >::solveabcd | ( | TOutput const & | a, |
TOutput const & | b, | ||
TOutput const & | c, | ||
TOutput const & | d, | ||
TOutput(&) | z[2] | ||
) | const |
Solution of the quadratic equation passing the discriminant.
Solution of a quadratic equation a*z^2+b*z+c=0, with a give input discriminant.
a | coefficient |
b | coefficient |
c | coefficient |
d | discriminant |
l | result [-im,+im] |
void ql::Tools< TOutput, TMass, TScale >::solveabcd | ( | TOutput const & | a, |
TOutput const & | b, | ||
TOutput const & | c, | ||
TOutput(&) | z[2] | ||
) | const |
Solution of a quadratic equation a*z^2+b*z+c=0, with a give input discriminant.
a | coefficient |
b | coefficient |
c | coefficient |
d | discriminant |
l | result [-im,+im] |
TOutput ql::Tools< TOutput, TMass, TScale >::spencer | ( | TOutput const & | zrat1, |
TOutput const & | zrat2, | ||
TScale const & | ieps1, | ||
TScale const & | ieps2 | ||
) | const |
Spence's function for ratio arguments.
zrat1 | first argument |
zrat2 | second argument |
ieps1 | sign for zrat1 |
ieps2 | sign for zrat2 |
TOutput ql::Tools< TOutput, TMass, TScale >::xeta | ( | TOutput const (&) | z1[2], |
TScale const (&) | im1[2], | ||
TOutput const & | z2, | ||
TScale const & | im2, | ||
TScale const & | im12, | ||
TOutput const (&) | l1[2] | ||
) | const |
z2 | |
im2 | |
im12 |
TOutput ql::Tools< TOutput, TMass, TScale >::xetatilde | ( | TOutput const (&) | z1[2], |
TScale const (&) | im1[2], | ||
TOutput const & | z2, | ||
TScale const & | im2, | ||
TOutput const (&) | l1[2] | ||
) | const |
z2 | |
im2 |
TOutput ql::Tools< TOutput, TMass, TScale >::xspence | ( | TOutput const (&) | z1[2], |
TScale const (&) | im1[2], | ||
TOutput const & | z2, | ||
TScale const & | im2 | ||
) | const |
Difference of complex Spence's function.
z2 | input arguments |
im2 | input signs. |
TOutput ql::Tools< TOutput, TMass, TScale >::Zlogint | ( | TOutput const & | z, |
TScale const & | ieps | ||
) | const |
Tools<TOutput, TMass, TScale>::qlZlogint.
z | |
ieps |