EvtBtoXsllUtil Class Reference

#include <EvtBtoXsllUtil.hh>

List of all members.

Public Member Functions

EvtComplex GetC7Eff0 (double sh, bool nnlo=true)
EvtComplex GetC7Eff1 (double sh, double mb, bool nnlo=true)
EvtComplex GetC9Eff0 (double sh, double mb, bool nnlo=true, bool btod=false)
EvtComplex GetC9Eff1 (double sh, double mb, bool nnlo=true, bool btod=false)
EvtComplex GetC10Eff (double sh, bool nnlo=true)
double dGdsProb (double mb, double ms, double ml, double s)
double dGdsdupProb (double mb, double ms, double ml, double s, double u)
double FermiMomentum (double pf)
double FermiMomentumProb (double pb, double pf)


Detailed Description

Definition at line 30 of file EvtBtoXsllUtil.hh.


Member Function Documentation

double EvtBtoXsllUtil::dGdsdupProb ( double  mb,
double  ms,
double  ml,
double  s,
double  u 
)

Definition at line 481 of file EvtBtoXsllUtil.cc.

References abs2(), conj(), ddilog_(), GetC10Eff(), GetC7Eff0(), GetC7Eff1(), GetC9Eff0(), GetC9Eff1(), and EvtConst::pi.

Referenced by EvtBtoXsll::decay(), and EvtBtoXsll::init().

00483 {
00484   // Compute the decay probability density function given a value of s and u
00485   // according to Ali-Hiller-Handoko-Morozumi's 1997 paper
00486   // see Appendix E
00487 
00488   bool btod = false;
00489   bool nnlo = true;
00490 
00491   double prob;
00492   double f1sp, f2sp, f3sp;
00493   //double u_ext;
00494   double mbeff = 4.8;
00495 
00496   //  double sh = s / (mb*mb);
00497   double sh  = s  / (mbeff*mbeff);
00498 
00499   EvtComplex c7eff0 = EvtBtoXsllUtil::GetC7Eff0(sh,nnlo);
00500   EvtComplex c7eff1 = EvtBtoXsllUtil::GetC7Eff1(sh,mbeff,nnlo);
00501   EvtComplex c9eff0 = EvtBtoXsllUtil::GetC9Eff0(sh,mbeff,nnlo,btod);
00502   EvtComplex c9eff1 = EvtBtoXsllUtil::GetC9Eff1(sh,mbeff,nnlo,btod);
00503   EvtComplex c10eff = EvtBtoXsllUtil::GetC10Eff(sh,nnlo);
00504 
00505   double alphas = 0.119/
00506      (1 + 0.119*log(pow(4.8,2)/pow(91.1867,2))*23.0/12.0/EvtConst::pi);
00507 
00508   double omega7 = -8.0/3.0*log(4.8/mb)
00509                   -4.0/3.0*ddilog_(sh) 
00510                   -2.0/9.0*EvtConst::pi*EvtConst::pi
00511                   -2.0/3.0*log(sh)*log(1.0-sh)
00512                   -log(1-sh)*(8.0+sh)/(2.0+sh)/3.0 
00513     -2.0/3.0*sh*(2.0 - 2.0*sh - sh*sh)*log(sh)/pow((1.0 - sh),2)/(2.0 + sh)
00514     -(16.0 - 11.0*sh - 17.0*sh*sh)/18.0/(2.0 + sh)/(1.0 - sh);
00515   double eta7 = 1.0 + alphas*omega7/EvtConst::pi;
00516 
00517   double omega79 = -4.0/3.0*log(4.8/mb)
00518                    -4.0/3.0*ddilog_(sh) 
00519                    -2.0/9.0*EvtConst::pi*EvtConst::pi
00520                    -2.0/3.0*log(sh)*log(1.0-sh)
00521                    -1.0/9.0*(2.0+7.0*sh)*log(1.0 - sh)/sh
00522                    -2.0/9.0*sh*(3.0 - 2.0*sh)*log(sh)/pow((1.0 - sh),2) 
00523                    +1.0/18.0*(5.0 - 9.0*sh)/(1.0 - sh);
00524   double eta79 = 1.0 + alphas*omega79/EvtConst::pi;
00525 
00526   double omega9 = - 2.0/9.0*EvtConst::pi*EvtConst::pi - 4.0/3.0*ddilog_(sh)
00527                  - 2.0/3.0*log(sh)*log(1.0-sh)
00528                  - (5.0+4.0*sh)/(3.0*(1.0+2.0*sh)) * log(1.0-sh)
00529                  - 2.0*sh*(1.0+sh)*(1.0-2.0*sh)
00530                  /(3.0*pow(1.0-sh,2)*(1.0+2.0*sh)) * log(sh)
00531                  + (5.0+9.0*sh-6.0*sh*sh)/(6.0*(1.0-sh)*(1.0+2.0*sh));
00532   double eta9 = 1.0 + alphas*omega9/EvtConst::pi;
00533 
00534   EvtComplex c7eff = eta7*c7eff0 + c7eff1;
00535   EvtComplex c9eff = eta9*c9eff0 + c9eff1;
00536   c10eff *= eta9;
00537 
00538   double c7c7  = abs2(c7eff);
00539   double c7c9  = real((eta79*c7eff0 + c7eff1)*conj(eta79*c9eff0 + c9eff1));
00540   double c7c10 = real((eta79*c7eff0 + c7eff1)*conj(eta9*c10eff));
00541   double c9c10 = real((eta9*c9eff0  + c9eff1)*conj(eta9*c10eff));
00542   double c9c9plusc10c10  = abs2(c9eff) + abs2(c10eff);
00543   //double c9c9minusc10c10 = abs2(c9eff) - abs2(c10eff);
00544 
00545   f1sp = ( pow(mb*mb-ms*ms,2) - s*s) * c9c9plusc10c10 
00546          + 4.0*( pow(mb,4) - ms*ms*mb*mb - pow(ms,4)*(1.0 - ms*ms/(mb*mb))
00547          - 8.0*s*ms*ms - s*s*(1.0 + ms*ms/(mb*mb) ))*mb*mb*c7c7/s
00548     // kludged mass term
00549          *(1.0 + 2.0*ml*ml/s)
00550          - 8.0*(s*(mb*mb + ms*ms) - pow(mb*mb-ms*ms,2)) * c7c9
00551     // kludged mass term
00552          *(1.0 + 2.0*ml*ml/s);
00553 
00554   f2sp = 4.0*s*c9c10 + 8.0*(mb*mb + ms*ms)*c7c10;
00555   f3sp = - (c9c9plusc10c10)
00556          + 4.0*(1.0 + pow(ms/mb,4)) * mb*mb*c7c7/s
00557     // kludged mass term
00558          *(1.0 + 2.0*ml*ml/s);
00559 
00560   prob = (f1sp + f2sp*u + f3sp*u*u)/ pow(mb,3);
00561 
00562   return prob;
00563 }

double EvtBtoXsllUtil::dGdsProb ( double  mb,
double  ms,
double  ml,
double  s 
)

Definition at line 352 of file EvtBtoXsllUtil.cc.

References abs2(), conj(), ddilog_(), F, f1, f2, GetC10Eff(), GetC7Eff0(), GetC7Eff1(), GetC9Eff0(), GetC9Eff1(), lambda, and EvtConst::pi.

Referenced by EvtBtoXsll::init().

00354 {
00355   // Compute the decay probability density function given a value of s
00356   // according to Ali-Lunghi-Greub-Hiller's 2002 paper
00357   // Note that the form given below is taken from
00358   // F.Kruger and L.M.Sehgal, Phys. Lett. B380, 199 (1996)
00359   // but the differential rate as a function of dilepton mass
00360   // in this latter paper reduces to Eq.(12) in ALGH's 2002 paper
00361   // for ml = 0 and ms = 0.
00362 
00363   bool btod = false;
00364   bool nnlo = true;
00365 
00366   double delta, lambda, prob;
00367   double f1, f2, f3, f4;
00368   double msh, mlh, sh;
00369   double mbeff = 4.8;
00370 
00371   mlh = ml / mb;
00372   msh = ms / mb;
00373   // set lepton and strange-quark masses to 0 if need to
00374   // be in strict agreement with ALGH 2002 paper
00375   //  mlh = 0.0; msh = 0.0;
00376   //  sh  = s  / (mb*mb);
00377   sh  = s  / (mbeff*mbeff);
00378 
00379   EvtComplex c7eff0 = EvtBtoXsllUtil::GetC7Eff0(sh,nnlo);
00380   EvtComplex c7eff1 = EvtBtoXsllUtil::GetC7Eff1(sh,mbeff,nnlo);
00381   EvtComplex c9eff0 = EvtBtoXsllUtil::GetC9Eff0(sh,mbeff,nnlo,btod);
00382   EvtComplex c9eff1 = EvtBtoXsllUtil::GetC9Eff1(sh,mbeff,nnlo,btod);
00383   EvtComplex c10eff = EvtBtoXsllUtil::GetC10Eff(sh,nnlo);
00384 
00385   double alphas = 0.119/
00386      (1 + 0.119*log(pow(4.8,2)/pow(91.1867,2))*23.0/12.0/EvtConst::pi);
00387 
00388   double omega7 = -8.0/3.0*log(4.8/mb)
00389                   -4.0/3.0*ddilog_(sh) 
00390                   -2.0/9.0*EvtConst::pi*EvtConst::pi
00391                   -2.0/3.0*log(sh)*log(1.0-sh)
00392                   -log(1-sh)*(8.0+sh)/(2.0+sh)/3.0 
00393     -2.0/3.0*sh*(2.0 - 2.0*sh - sh*sh)*log(sh)/pow((1.0 - sh),2)/(2.0 + sh)
00394     -(16.0 - 11.0*sh - 17.0*sh*sh)/18.0/(2.0 + sh)/(1.0 - sh);
00395   double eta7 = 1.0 + alphas*omega7/EvtConst::pi;
00396 
00397   double omega79 = -4.0/3.0*log(4.8/mb)
00398                    -4.0/3.0*ddilog_(sh) 
00399                    -2.0/9.0*EvtConst::pi*EvtConst::pi
00400                    -2.0/3.0*log(sh)*log(1.0-sh)
00401                    -1.0/9.0*(2.0+7.0*sh)*log(1.0 - sh)/sh
00402                    -2.0/9.0*sh*(3.0 - 2.0*sh)*log(sh)/pow((1.0 - sh),2) 
00403                    +1.0/18.0*(5.0 - 9.0*sh)/(1.0 - sh);
00404   double eta79 = 1.0 + alphas*omega79/EvtConst::pi;
00405 
00406   double omega9 = -2.0/9.0*EvtConst::pi*EvtConst::pi - 4.0/3.0*ddilog_(sh)
00407                  - 2.0/3.0*log(sh)*log(1.0-sh)
00408                  - (5.0+4.0*sh)/(3.0*(1.0+2.0*sh)) * log(1.0-sh)
00409                  - 2.0*sh*(1.0+sh)*(1.0-2.0*sh)
00410                  /(3.0*pow(1.0-sh,2)*(1.0+2.0*sh)) * log(sh)
00411                  + (5.0+9.0*sh-6.0*sh*sh)/(6.0*(1.0-sh)*(1.0+2.0*sh));
00412   double eta9 = 1.0 + alphas*omega9/EvtConst::pi;
00413 
00414   EvtComplex c7eff = eta7*c7eff0 + c7eff1;
00415   EvtComplex c9eff = eta9*c9eff0 + c9eff1;
00416   c10eff *= eta9;
00417 
00418   double c7c7 = abs2(c7eff);
00419   double c7c9 = real((eta79*c7eff0 + c7eff1)*conj(eta79*c9eff0 + c9eff1));
00420   double c9c9plusc10c10  = abs2(c9eff) + abs2(c10eff);
00421   double c9c9minusc10c10 = abs2(c9eff) - abs2(c10eff);
00422 
00423   // Power corrections according to ALGH 2002
00424   double lambda_1 = -0.2;
00425   double lambda_2 = 0.12;
00426   double C1 = -0.487;
00427   double C2 = 1.024;
00428   double mc = 0.29 * mb;
00429 
00430   EvtComplex F;
00431   double r = s / (4.0 * mc * mc);
00432   EvtComplex uniti(0.0,1.0);
00433   F = 3.0 / (2.0 * r);
00434   if (r < 1)
00435   {
00436     F *= 1.0/sqrt(r*(1.0-r))*atan(sqrt(r/(1.0-r)))-1.0;
00437   }
00438   else
00439   {
00440     F *= 0.5/sqrt(r*(r-1.0))*(log((1.0-sqrt(1.0-1.0/r))/(1.0+sqrt(1.0-1.0/r)))
00441                               +uniti*EvtConst::pi)-1.0;
00442   }
00443 
00444   double G1 = 1.0 + lambda_1 / (2.0 * mb * mb)
00445                   + 3.0 * (1.0 - 15.0*sh*sh + 10.0*sh*sh*sh)
00446                         / ((1.0 - sh)*(1.0 -sh)*(1.0 + 2.0*sh))
00447                         * lambda_2 / (2.0*mb*mb);
00448   double G2 = 1.0 + lambda_1 / (2.0 * mb * mb)
00449                   - 3.0 * (6.0 + 3.0*sh - 5.0*sh*sh*sh)
00450                         / ((1.0 - sh)*(1.0 -sh)*(2.0 + sh))
00451                         * lambda_2 / (2.0*mb*mb);
00452   double G3 = 1.0 + lambda_1 / (2.0 * mb * mb)
00453                   - (5.0 + 6.0*sh - 7.0*sh*sh)
00454                      / ((1.0 - sh)*(1.0 -sh))
00455                      * lambda_2 / (2.0*mb*mb);
00456   double Gc = -8.0/9.0 * (C2 - C1/6.0) * lambda_2/(mc*mc) 
00457     * real(F*(conj(c9eff)*(2.0+sh)+conj(c7eff)*(1.0 + 6.0*sh - sh*sh)/sh));
00458 
00459   // end of power corrections section
00460   // now back to Kruger & Sehgal expressions
00461 
00462   lambda = 1.0 + sh*sh + pow(msh,4) - 2.0*(sh + sh*msh*msh + msh*msh);
00463 
00464   f1 = pow(1.0-msh*msh,2) - sh*(1.0 + msh*msh);
00465   f2 = 2.0*(1.0 + msh*msh) * pow(1.0-msh*msh,2)
00466        - sh*(1.0 + 14.0*msh*msh + pow(msh,4)) - sh*sh*(1.0 + msh*msh);
00467   f3 = pow(1.0-msh*msh,2) + sh*(1.0 + msh*msh) - 2.0*sh*sh
00468        + lambda*2.0*mlh*mlh/sh;
00469   f4 = 1.0 - sh + msh*msh;
00470 
00471   delta = (  12.0*c7c9*f1*G3 + 4.0*c7c7*f2*G2/sh ) * (1.0 + 2.0*mlh*mlh/sh)
00472             + c9c9plusc10c10*f3*G1 
00473             + 6.0*mlh*mlh*c9c9minusc10c10*f4
00474             + Gc;
00475 
00476   prob =  sqrt(lambda*(1.0 - 4.0*mlh*mlh/sh)) * delta;
00477 
00478   return prob;
00479 }

double EvtBtoXsllUtil::FermiMomentum ( double  pf  ) 

Definition at line 565 of file EvtBtoXsllUtil.cc.

References FermiMomentumProb(), and EvtRandom::Flat().

Referenced by EvtBtoXsll::decay().

00566 {
00567   // Pick a value for the b-quark Fermi motion momentum
00568   // according to Ali's Gaussian model
00569 
00570   double pb, pbmax, xbox, ybox;
00571   pb    = 0.0;
00572   pbmax = 5.0 * pf;
00573 
00574   while (pb == 0.0)
00575   {
00576     xbox = EvtRandom::Flat(pbmax);
00577     ybox = EvtRandom::Flat();
00578     if (ybox < FermiMomentumProb(xbox, pf)) { pb = xbox;}
00579   }
00580 
00581   return pb;
00582 }

double EvtBtoXsllUtil::FermiMomentumProb ( double  pb,
double  pf 
)

Definition at line 584 of file EvtBtoXsllUtil.cc.

References exp().

Referenced by FermiMomentum().

00585 {
00586   // Compute probability according to Ali's Gaussian model
00587   // the function chosen has a convenient maximum value of 1 for pb = pf
00588 
00589   double prsq = (pb*pb)/(pf*pf);
00590   double prob = prsq * exp(1.0 - prsq);
00591 
00592   return prob;
00593 }

EvtComplex EvtBtoXsllUtil::GetC10Eff ( double  sh,
bool  nnlo = true 
)

Definition at line 339 of file EvtBtoXsllUtil.cc.

Referenced by dGdsdupProb(), and dGdsProb().

00340 {
00341 
00342   if (!nnlo) return -4.669;
00343   double A10;
00344   A10 = -4.592 + 0.379;
00345 
00346   EvtComplex c10eff;
00347   c10eff = A10;
00348 
00349   return c10eff;
00350 }

EvtComplex EvtBtoXsllUtil::GetC7Eff0 ( double  sh,
bool  nnlo = true 
)

Definition at line 43 of file EvtBtoXsllUtil.cc.

Referenced by dGdsdupProb(), and dGdsProb().

00044 {
00045   // This function returns the zeroth-order alpha_s part of C7
00046 
00047   if (!nnlo) return -0.313;
00048 
00049   double A7;
00050 
00051   // use energy scale of 2.5 GeV as a computational trick (G.Hiller)
00052   // at least for shat > 0.25
00053   A7 = -0.353 + 0.023;
00054 
00055   EvtComplex c7eff;
00056   if (sh > 0.25)
00057   { 
00058     c7eff = A7;
00059     return c7eff;
00060   }
00061 
00062   // change energy scale to 5.0 for full NNLO calculation below shat = 0.25
00063   A7 = -0.312 + 0.008;
00064   c7eff = A7;
00065 
00066   return c7eff;
00067 }

EvtComplex EvtBtoXsllUtil::GetC7Eff1 ( double  sh,
double  mb,
bool  nnlo = true 
)

Definition at line 69 of file EvtBtoXsllUtil.cc.

References EvtConst::pi.

Referenced by dGdsdupProb(), and dGdsProb().

00070 {
00071   // This function returns the first-order alpha_s part of C7
00072 
00073   if (!nnlo) return 0.0;
00074   double logsh;
00075   logsh = log(sh);
00076 
00077   EvtComplex uniti(0.0,1.0);
00078 
00079   EvtComplex c7eff = 0.0;
00080   if (sh > 0.25)
00081   { 
00082     return c7eff;
00083   }
00084 
00085   // change energy scale to 5.0 for full NNLO calculation below shat = 0.25
00086   double muscale = 5.0;
00087   double alphas = 0.215;
00088   //double A7 = -0.312 + 0.008;
00089   double A8 = -0.148;
00090   //double A9 = 4.174 + (-0.035);
00091   //double A10 = -4.592 + 0.379;
00092   double C1 = -0.487;
00093   double C2 = 1.024;
00094   //double T9 = 0.374 + 0.252;
00095   //double U9 = 0.033 + 0.015;
00096   //double W9 = 0.032 + 0.012;
00097   double Lmu = log(muscale/mbeff);
00098 
00099   EvtComplex F71;
00100   EvtComplex f71;
00101   EvtComplex k7100(-0.68192,-0.074998);
00102   EvtComplex k7101(0.0,0.0);
00103   EvtComplex k7110(-0.23935,-0.12289);
00104   EvtComplex k7111(0.0027424,0.019676);
00105   EvtComplex k7120(-0.0018555,-0.175);
00106   EvtComplex k7121(0.022864,0.011456);
00107   EvtComplex k7130(0.28248,-0.12783);
00108   EvtComplex k7131(0.029027,-0.0082265);
00109   f71 = k7100 + k7101*logsh + sh*(k7110 + k7111*logsh) +
00110         sh*sh*(k7120 + k7121*logsh) + 
00111         sh*sh*sh*(k7130 + k7131*logsh); 
00112   F71 = (-208.0/243.0)*Lmu + f71;
00113 
00114   EvtComplex F72;
00115   EvtComplex f72;
00116   EvtComplex k7200(4.0915,0.44999);
00117   EvtComplex k7201(0.0,0.0);
00118   EvtComplex k7210(1.4361,0.73732);
00119   EvtComplex k7211(-0.016454,-0.11806);
00120   EvtComplex k7220(0.011133,1.05);
00121   EvtComplex k7221(-0.13718,-0.068733);
00122   EvtComplex k7230(-1.6949,0.76698);
00123   EvtComplex k7231(-0.17416,0.049359);
00124   f72 = k7200 + k7201*logsh + sh*(k7210 + k7211*logsh) +
00125         sh*sh*(k7220 + k7221*logsh) + 
00126         sh*sh*sh*(k7230 + k7231*logsh); 
00127   F72 = (416.0/81.0)*Lmu + f72;
00128   
00129   EvtComplex F78;
00130   F78 = (-32.0/9.0)*Lmu + 8.0*EvtConst::pi*EvtConst::pi/27.0 + (-44.0/9.0) 
00131         + (-8.0*EvtConst::pi/9.0)*uniti +
00132         (4.0/3.0*EvtConst::pi*EvtConst::pi - 40.0/3.0)*sh +
00133         (32.0*EvtConst::pi*EvtConst::pi/9.0 - 316.0/9.0)*sh*sh +
00134         (200.0*EvtConst::pi*EvtConst::pi/27.0 - 658.0/9.0)*sh*sh*sh +
00135     (-8.0*logsh/9.0)*(sh + sh*sh + sh*sh*sh);
00136         
00137   c7eff = - alphas/(4.0*EvtConst::pi)*(C1*F71 + C2*F72 + A8*F78);
00138 
00139   return c7eff;
00140 }

EvtComplex EvtBtoXsllUtil::GetC9Eff0 ( double  sh,
double  mb,
bool  nnlo = true,
bool  btod = false 
)

Definition at line 143 of file EvtBtoXsllUtil.cc.

References rb::hc, and EvtConst::pi.

Referenced by dGdsdupProb(), and dGdsProb().

00145 {
00146   // This function returns the zeroth-order alpha_s part of C9
00147 
00148   if (!nnlo) return 4.344;
00149   double logsh;
00150   logsh = log(sh);
00151   double mch = 0.29;
00152 
00153   
00154   double muscale;
00155   muscale = 2.5;
00156   double alphas;
00157   alphas = 0.267;
00158   double A8;
00159   A8 = -0.164;
00160   double A9;
00161   A9 = 4.287 + (-0.218);
00162   double A10;
00163   A10 = -4.592 + 0.379;
00164   double C1;
00165   C1 = -0.697;
00166   double C2;
00167   C2 = 1.046;
00168   double T9;
00169   T9 = 0.114 + 0.280;
00170   double U9;
00171   U9 = 0.045 + 0.023;
00172   double W9;
00173   W9 = 0.044 + 0.016;
00174   
00175   double Lmu;
00176   Lmu = log(muscale/mbeff);
00177 
00178 
00179   EvtComplex uniti(0.0,1.0);
00180 
00181   EvtComplex hc;
00182   double xarg;
00183   xarg = 4.0*mch/sh;
00184   hc = -4.0/9.0*log(mch*mch) + 8.0/27.0 + 4.0*xarg/9.0;
00185   if (xarg < 1.0)
00186   { 
00187     hc = hc - 2.0/9.0*(2.0 + xarg)*sqrt(fabs(1.0 - xarg))*
00188       (log((sqrt(1.0 - xarg)+1.0)/(sqrt(1.0 - xarg) - 1.0)) - 
00189        uniti*EvtConst::pi);
00190   } 
00191   else
00192   {
00193     hc = hc - 2.0/9.0*(2.0 + xarg)*sqrt(fabs(1.0 - xarg))*
00194       2.0*atan(1.0/sqrt(xarg - 1.0));
00195   }
00196 
00197   EvtComplex h1;
00198   xarg = 4.0/sh;
00199   h1 = 8.0/27.0 + 4.0*xarg/9.0;
00200   if (xarg < 1.0)
00201   { 
00202     h1 = h1 - 2.0/9.0*(2.0 + xarg)*sqrt(fabs(1.0 - xarg))*
00203       (log((sqrt(1.0 - xarg)+1.0)/(sqrt(1.0 - xarg) - 1.0)) - 
00204        uniti*EvtConst::pi);
00205   } 
00206   else
00207   {
00208     h1 = h1 - 2.0/9.0*(2.0 + xarg)*sqrt(fabs(1.0 - xarg))*
00209       2.0*atan(1.0/sqrt(xarg - 1.0));
00210   }
00211 
00212   EvtComplex h0;
00213   h0 = 8.0/27.0 - 4.0*log(2.0)/9.0 + 4.0*uniti*EvtConst::pi/9.0;
00214 
00215 
00216   // X=V_{ud}^* V_ub / V_{td}^* V_tb * (4/3 C_1 +C_2) * (h(\hat m_c^2, hat s)-
00217   // h(\hat m_u^2, hat s))
00218   EvtComplex Vudstar(1.0 - 0.2279*0.2279/2.0, 0.0);
00219   EvtComplex Vub((0.118+0.273)/2.0, -1.0*(0.305+0.393)/2.0);
00220   EvtComplex Vtdstar(1.0 - (0.118+0.273)/2.0,(0.305+0.393)/2.0);
00221   EvtComplex Vtb(1.0,0.0);
00222 
00223   EvtComplex Xd;
00224   Xd = (Vudstar * Vub / Vtdstar * Vtb) * (4.0/3.0*C1 + C2) * (hc - h0);
00225 
00226   EvtComplex c9eff = 4.344;
00227   if (sh > 0.25)
00228   { 
00229     c9eff =  A9 + T9*hc + U9*h1 + W9*h0;
00230     if (btod)
00231     {
00232       c9eff += Xd; 
00233     }
00234     return c9eff;
00235   }
00236 
00237   // change energy scale to 5.0 for full NNLO calculation below shat = 0.25
00238   muscale = 5.0;
00239   alphas = 0.215;
00240   A9 = 4.174 + (-0.035);
00241   C1 = -0.487;
00242   C2 = 1.024;
00243   A8 = -0.148;
00244   T9 = 0.374 + 0.252;
00245   U9 = 0.033 + 0.015;
00246   W9 = 0.032 + 0.012;
00247   Lmu = log(muscale/mbeff);
00248 
00249   Xd = (Vudstar * Vub / Vtdstar * Vtb) * (4.0/3.0*C1 + C2) * (hc - h0);
00250 
00251   c9eff = A9 + T9*hc + U9*h1 + W9*h0;
00252 
00253   if (btod)
00254   {
00255     c9eff += Xd; 
00256   }
00257 
00258   return c9eff;
00259 }

EvtComplex EvtBtoXsllUtil::GetC9Eff1 ( double  sh,
double  mb,
bool  nnlo = true,
bool  btod = false 
)

Definition at line 261 of file EvtBtoXsllUtil.cc.

References EvtConst::pi.

Referenced by dGdsdupProb(), and dGdsProb().

00263 {
00264   // This function returns the first-order alpha_s part of C9
00265 
00266   if (!nnlo) return 0.0;
00267   double logsh;
00268   logsh = log(sh);
00269   double mch = 0.29;
00270 
00271   EvtComplex uniti(0.0,1.0);
00272 
00273   EvtComplex c9eff = 0.0;
00274   if (sh > 0.25)
00275   { 
00276     return c9eff;
00277   }
00278 
00279   // change energy scale to 5.0 for full NNLO calculation below shat = 0.25
00280   double muscale = 5.0;
00281   double alphas = 0.215;
00282   double C1 = -0.487;
00283   double C2 = 1.024;
00284   double A8 = -0.148;
00285   double Lmu = log(muscale/mbeff);
00286 
00287   EvtComplex F91;
00288   EvtComplex f91;
00289   EvtComplex k9100(-11.973,0.16371);
00290   EvtComplex k9101(-0.081271,-0.059691);
00291   EvtComplex k9110(-28.432,-0.25044);
00292   EvtComplex k9111(-0.040243,0.016442);
00293   EvtComplex k9120(-57.114,-0.86486);
00294   EvtComplex k9121(-0.035191,0.027909);
00295   EvtComplex k9130(-128.8,-2.5243);
00296   EvtComplex k9131(-0.017587,0.050639);
00297   f91 = k9100 + k9101*logsh + sh*(k9110 + k9111*logsh) +
00298         sh*sh*(k9120 + k9121*logsh) + 
00299         sh*sh*sh*(k9130 + k9131*logsh); 
00300   F91 = (-1424.0/729.0 + 16.0*uniti*EvtConst::pi/243.0 
00301          + 64.0/27.0*log(mch))*Lmu - 16.0*Lmu*logsh/243.0 +
00302         (16.0/1215.0 - 32.0/135.0/mch/mch)*Lmu*sh +
00303         (4.0/2835.0 - 8.0/315.0/mch/mch/mch/mch)*Lmu*sh*sh +
00304     (16.0/76545.0 - 32.0/8505.0/mch/mch/mch/mch/mch/mch)*
00305     Lmu*sh*sh*sh -256.0*Lmu*Lmu/243.0 + f91;
00306 
00307   EvtComplex F92;
00308   EvtComplex f92;
00309   EvtComplex k9200(6.6338,-0.98225);
00310   EvtComplex k9201(0.48763,0.35815);
00311   EvtComplex k9210(3.3585,1.5026);
00312   EvtComplex k9211(0.24146,-0.098649);
00313   EvtComplex k9220(-1.1906,5.1892);
00314   EvtComplex k9221(0.21115,-0.16745);
00315   EvtComplex k9230(-17.12,15.146);
00316   EvtComplex k9231(0.10552,-0.30383);
00317   f92 = k9200 + k9201*logsh + sh*(k9210 + k9211*logsh) +
00318         sh*sh*(k9220 + k9221*logsh) + 
00319         sh*sh*sh*(k9230 + k9231*logsh); 
00320   F92 = (256.0/243.0 - 32.0*uniti*EvtConst::pi/81.0 
00321          - 128.0/9.0*log(mch))*Lmu + 32.0*Lmu*logsh/81.0 +
00322         (-32.0/405.0 + 64.0/45.0/mch/mch)*Lmu*sh +
00323         (-8.0/945.0 + 16.0/105.0/mch/mch/mch/mch)*Lmu*sh*sh +
00324     (-32.0/25515.0 + 64.0/2835.0/mch/mch/mch/mch/mch/mch)*
00325     Lmu*sh*sh*sh + 512.0*Lmu*Lmu/81.0 + f92;
00326   
00327   EvtComplex F98;
00328   F98 = 104.0/9.0 - 32.0*EvtConst::pi*EvtConst::pi/27.0 + 
00329         (1184.0/27.0 - 40.0*EvtConst::pi*EvtConst::pi/9.0)*sh +
00330         (14212.0/135.0 - 32.0*EvtConst::pi*EvtConst::pi/3.0)*sh*sh +
00331     (193444.0/945.0 - 560.0*EvtConst::pi*EvtConst::pi/27.0)*sh*sh*sh +
00332         16.0*logsh/9.0*(1.0 + sh + sh*sh + sh*sh*sh);
00333 
00334   c9eff = - alphas/(4.0*EvtConst::pi)*(C1*F91 + C2*F92 + A8*F98);
00335 
00336   return c9eff;
00337 }


Generated on Tue Nov 29 23:18:55 2016 for BOSS_7.0.2 by  doxygen 1.4.7