herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
AlphaS.h
1 // -*- C++ -*-
2 //
3 // AlphaS.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4 // Copyright (C) 2018-2019 The Herwig Collaboration
5 //
6 // Herwig is licenced under version 3 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef HERWIG_UtilAlphaS_H
10 #define HERWIG_UtilAlphaS_H
11 
12 namespace Herwig {
13 
14 namespace Math {
15 
22 inline double derivativeAlphaS(Energy q, Energy lam,
23  unsigned int nf, unsigned int nloop) {
24  using Constants::pi;
25  double lx = log(sqr(q/lam));
26  double b0 = 11. - 2./3.*nf;
27  double b1 = 51. - 19./3.*nf;
28  double b2 = 2857. - 5033./9.*nf + 325./27.*sqr(nf);
29  if(nloop==1)
30  return -4.*pi/(b0*sqr(lx));
31  else if(nloop==2)
32  return -4.*pi/(b0*sqr(lx))*(1.+2.*b1/sqr(b0)/lx*(1.-2.*log(lx)));
33  else
34  return -4.*pi/(b0*sqr(lx))*
35  (1. + 2.*b1/sqr(b0)/lx*(1.-2.*log(lx))
36  + 4.*sqr(b1)/(sqr(sqr(b0))*sqr(lx))*(1. - 2.*log(lx)
37  + 3.*(sqr(log(lx) - 0.5)+b2*b0/(8.*sqr(b1))-1.25)));
38 }
39 
46 inline double alphaS(Energy q, Energy lam,
47  unsigned int nf, unsigned int nloop) {
48  using Constants::pi;
49  double lx(log(sqr(q/lam)));
50  double b0 = 11. - 2./3.*nf;
51  double b1 = 51. - 19./3.*nf;
52  double b2 = 2857. - 5033./9.*nf + 325./27.*sqr(nf);
53  // one loop
54  if(nloop==1)
55  {return 4.*pi/(b0*lx);}
56  // two loop
57  else if(nloop==2) {
58  return 4.*pi/(b0*lx)*(1.-2.*b1/sqr(b0)*log(lx)/lx);
59  }
60  // three loop
61  else
62  {return 4.*pi/(b0*lx)*(1.-2.*b1/sqr(b0)*log(lx)/lx +
63  4.*sqr(b1)/(sqr(sqr(b0))*sqr(lx))*
64  (sqr(log(lx) - 0.5) + b2*b0/(8.*sqr(b1)) - 5./4.));}
65 }
66 
67 
68 }
69 
70 }
71 
72 #endif
double alphaS(Energy q, Energy lam, unsigned int nf, unsigned int nloop)
The 1,2,3-loop parametrization of .
Definition: AlphaS.h:46
constexpr double pi
constexpr auto sqr(const T &x) -> decltype(x *x)
double derivativeAlphaS(Energy q, Energy lam, unsigned int nf, unsigned int nloop)
The derivative of with respect to .
Definition: AlphaS.h:22
-*- C++ -*-