/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/Mcgpj/Mcgpj-00-01-04/src/code/src/TPiKFun.C

Go to the documentation of this file.
00001 #include <iostream>
00002 #include "TPiKFun.h"
00003 #include "TLi2.h"
00004 #include "TGlobal.h"
00005 #include "TRadGlobal.h"
00006 
00007 /*
00008 double TPiKFun::Eval_b(const double &s){
00009   // b-function from JHEP10(1997) 006 page 3 equation 2.5
00010   double r      = gGlobal->Get_MF2()*0.25*gGlobal->Get_s()/s;
00011   double rho    =-log(r);
00012   double beta   = sqrt(1-4*r);
00013   double beta1p = 1+beta;
00014   double beta1m = 1-beta;
00015   double rbeta  = beta1m/beta1p;
00016   double ibeta  = 1/beta;
00017   double logb   = log(beta);
00018   double logb1  = log(0.5*beta1p);
00019   double A      = -TLi2::Eval(-rbeta) + TLi2::Eval(rbeta) - gConst->Pi2()/12 + 
00020     rho*logb1 - 2*rho*logb + 1.5*logb1*logb1 - 0.5*logb*logb - 3*logb*logb1 +
00021     rho + 2*logb1;
00022   double K_even = -1 + 0.5*beta1m*ibeta*rho + ibeta*logb1 + 0.5*(1+beta*beta)*ibeta*A;
00023   return K_even;
00024 }
00025 */
00026 
00027 double TPiKFun::Eval_even(const double &s, const double &c){
00028   // b-function from errata of JHEP10(1997) 006
00029   double r      = gGlobal->Get_MF2()*0.25*gGlobal->Get_s()/s;
00030   double rho    =-log(r);
00031   double beta   = sqrt(1-4*r);
00032   double beta1p = 1 + beta;
00033   double beta1m = 1 - beta;
00034   double rbeta  = beta1m/beta1p;
00035   double ibeta  = 1/beta;
00036   double A      = rho + gConst->Pi2()/6 - log(rbeta)*log(0.5*ibeta*ibeta*beta1p) + 2*TLi2::Eval(rbeta);
00037   double k_even = -1 + 0.5*beta1m*ibeta*rho + (2 + beta*beta)*ibeta*log(0.5*beta1p) + 0.5*(1+beta*beta)*ibeta*A;
00038   return k_even;
00039 }
00040 
00041 double TPiKFun::Eval_odd(const double &s, const double &c){
00042   double r      = gGlobal->Get_MF2()*0.25*gGlobal->Get_s()/s;
00043   double rho    =-log(r);
00044   double beta2  = 1 - 4*r;
00045   double betas2 = beta2*(1-c*c);
00046   double i2betas2 = 1/(2*betas2);
00047   double beta   = sqrt(beta2);
00048   double ibeta  = 1/beta;
00049 
00050   double d      =-0.25*ibeta*(1-beta)*(1-beta)*(rho*rho + gConst->Pi2()/3)
00051     + ibeta*(1 + beta2)*(-rho*log(0.5*(1 + beta)) - 
00052                          TLi2::Eval(-(1-beta)/(1+beta)) + 2*TLi2::Eval(0.5*(1-beta)));
00053 
00054   double betac  = beta*c;
00055   double betc1m = 1 - betac;
00056   double l_m    = log(0.5*betc1m);
00057   double l_m2   = 0.5*l_m*l_m;
00058   double t1     = (1-beta2)/(2*betc1m);
00059   double a      = l_m2 - log(1 - t1)*(rho + l_m ) + TLi2::Eval(t1);
00060   double li2t1  = TLi2::Eval(1 - t1);
00061   double li2t2  = TLi2::Eval(betas2/(1 + beta2 - 2*betac));
00062 
00063   double res_plus = l_m2 - li2t1 + li2t2 + i2betas2*(a*(1 - beta2) + betc1m*(-2*a + d));
00064 
00065   //changing sign of theta cosine
00066   betac  = -betac;
00067   betc1m = 1 - betac;
00068   l_m    = log(0.5*betc1m);
00069   l_m2   = 0.5*l_m*l_m;
00070   t1     = (1-beta2)/(2*betc1m);
00071   a      = l_m2 - log(1 - t1)*(rho + l_m ) + TLi2::Eval(t1);
00072   li2t1  = TLi2::Eval(1 - t1);
00073   li2t2  = TLi2::Eval(betas2/(1 + beta2 - 2*betac));
00074   double res_minus= l_m2 - li2t1 + li2t2 + i2betas2*(a*(1 - beta2) + betc1m*(-2*a + d));
00075 
00076   return res_plus - res_minus + Eval_int_odd(beta,c);
00077 }
00078 
00079 double TPiKFun::Eval_odd_ultra(const double &c){
00080   // Ultra-relativistic limit of odd part of K-function 
00081   double st_h2 = 0.5*(1-c);
00082   double st_h  = sqrt(st_h2);
00083   double ct_h2 = 0.5*(1+c);
00084   double ct_h  = sqrt(ct_h2);
00085   double lst_h = log(st_h);
00086   double lct_h = log(ct_h);
00087   /*
00088   std::cout<<c<<" "
00089            <<st_h2<<" "
00090            <<ct_h2<<" "
00091            <<st_h<<" "
00092            <<ct_h<<" "
00093            <<lst_h<<" "
00094            <<lct_h<<" "
00095            <<std::endl;
00096   */
00097   return (2-1/ct_h2)*lst_h*lst_h - (2-1/st_h2)*lct_h*lct_h - TLi2::Eval(st_h2) + TLi2::Eval(ct_h2);
00098 }
00099 
00100 double TPiKFun::Eval_even_odd(const double &s, const double &c){
00101   // b-function from errata of JHEP10(1997) 006
00102   double r      = gGlobal->Get_MF2()*0.25*gGlobal->Get_s()/s;
00103   double rho    =-log(r);
00104   double beta2  = 1 - 4*r;
00105   double beta   = sqrt(beta2);
00106   double beta1p = 1 + beta;
00107   double beta1m = 1 - beta;
00108   double rbeta  = beta1m/beta1p;
00109   double ibeta  = 1/beta;
00110   double lgbeta = log(0.5*beta1p);
00111   double A      = rho + gConst->Pi2()/6.0 - log(rbeta)*log(0.5*ibeta*ibeta*beta1p) + 2*TLi2::Eval(rbeta);
00112   double k_even = -1 + 0.5*beta1m*ibeta*rho + (2 + beta*beta)*ibeta*lgbeta + 0.5*(1+beta*beta)*ibeta*A;
00113 
00114   double betas2 = beta2*(1-c*c);
00115   double i2betas2 = 1/(2*betas2);
00116 
00117   double d      =-0.25*ibeta*beta1m*beta1m*(rho*rho + gConst->Pi2()/3)
00118     + ibeta*(1 + beta2)*(-rho*lgbeta - TLi2::Eval(-rbeta) + 2*TLi2::Eval(0.5*beta1m));
00119 
00120   double betac  = beta*c;
00121   double betc1m = 1 - betac;
00122   double l_m    = log(0.5*betc1m);
00123   double l_m2   = 0.5*l_m*l_m;
00124   double t1     = (1-beta2)/(2*betc1m);
00125   double a      = l_m2 - log(1 - t1)*(rho + l_m ) + TLi2::Eval(t1);
00126   double li2t1  = TLi2::Eval(1 - t1);
00127   double li2t2  = TLi2::Eval(betas2/(1 + beta2 - 2*betac));
00128 
00129   double res_plus = l_m2 - li2t1 + li2t2 + i2betas2*(a*(1 - beta2) + betc1m*(-2*a + d));
00130 
00131   //changing sign of theta cosine
00132   betac  = -betac;
00133   betc1m = 1 - betac;
00134   l_m    = log(0.5*betc1m);
00135   l_m2   = 0.5*l_m*l_m;
00136   t1     = (1-beta2)/(2*betc1m);
00137   a      = l_m2 - log(1 - t1)*(rho + l_m ) + TLi2::Eval(t1);
00138   li2t1  = TLi2::Eval(1 - t1);
00139   li2t2  = TLi2::Eval(betas2/(1 + beta2 - 2*betac));
00140   double res_minus= l_m2 - li2t1 + li2t2 + i2betas2*(a*(1 - beta2) + betc1m*(-2*a + d));
00141 
00142   return k_even + res_plus - res_minus + Eval_int_odd(beta,c);
00143 }

Generated on Tue Nov 29 23:12:42 2016 for BOSS_7.0.2 by  doxygen 1.4.7