ePDF  1.1.0
A QED evolution library
alphaem.h
Go to the documentation of this file.
1 //
2 // ePDF
3 //
4 
5 #pragma once
6 
7 #include <yaml-cpp/yaml.h>
8 #include <vector>
9 #include <string>
10 #include <math.h>
11 
12 namespace ePDF
13 {
17  class AlphaQED
18  {
19  public:
24  AlphaQED(YAML::Node const& config);
25 
35  AlphaQED(std::string const& method, std::string const& po,
36  double const& aref, double const& Qref,
37  int const& NL, int const& NF);
38 
45  double Evolve(double const& Q) const;
46 
51  double operator()(double const& Q) const { return 4 * M_PI * Evolve(Q); };
52 
57  double EvolveAnalytic(double const& Q) const;
58 
63  double EvolveNumerical(double const& Q) const;
64 
68  double Beta0QED() const;
69  double Beta1QED() const;
70 
74  bool IsFixed() const;
75 
80  double FBetaQED(double const& alpha) const;
81 
82  private:
83  std::string const m_method;
84  std::string const m_po;
85  double const m_aref;
86  double const m_Qref;
87  int const m_NL;
88  int const m_NF;
89 
93  int const m_nstep = 10;
95  double const m_sxth = 0.166666666666666;
97 
101  std::vector<double> m_sumch2 = { 0.0, 1.0/9.0, 5.0/9.0, 2.0/3.0,
102  10.0/9.0, 11.0/9.0, 5.0/3.0
103  };
104 
108  std::vector<double> m_sumch4 = { 0.0, 1.0/81.0, 17.0/81.0, 18.0/81.0,
109  34.0/81.0, 35.0/81.0, 51.0/81.0
110  };
111  };
112 }
ePDF::AlphaQED::m_NL
const int m_NL
Number of active charged leptons.
Definition: alphaem.h:87
ePDF::AlphaQED::m_NF
const int m_NF
Number of active quarks.
Definition: alphaem.h:88
ePDF::AlphaQED::m_nstep
const int m_nstep
Definition: alphaem.h:94
ePDF::AlphaQED
The "Alpha QED" class.
Definition: alphaem.h:17
ePDF::AlphaQED::Beta0QED
double Beta0QED() const
The beta function coefficients.
ePDF::AlphaQED::m_method
const std::string m_method
Evolution method.
Definition: alphaem.h:83
ePDF::AlphaQED::operator()
double operator()(double const &Q) const
Operator to return alpha at the scale Q.
Definition: alphaem.h:51
ePDF::AlphaQED::AlphaQED
AlphaQED(YAML::Node const &config)
The "Alpha QED" constructor.
ePDF::AlphaQED::m_sumch2
std::vector< double > m_sumch2
Sum of the electric charges squared.
Definition: alphaem.h:101
ePDF::AlphaQED::m_sxth
const double m_sxth
Definition: alphaem.h:95
ePDF::AlphaQED::Evolve
double Evolve(double const &Q) const
Function that return the evolved alpha according to the chose method.
ePDF::AlphaQED::m_aref
const double m_aref
Reference value of alpha.
Definition: alphaem.h:85
ePDF::AlphaQED::Beta1QED
double Beta1QED() const
ePDF::AlphaQED::IsFixed
bool IsFixed() const
Whether alpha is fixed or runs.
ePDF::AlphaQED::m_Qref
const double m_Qref
Reference scale.
Definition: alphaem.h:86
ePDF::AlphaQED::FBetaQED
double FBetaQED(double const &alpha) const
The beta function.
ePDF
Definition: alphaem.h:12
ePDF::AlphaQED::EvolveAnalytic
double EvolveAnalytic(double const &Q) const
Function that return the alpha analytically.
ePDF::AlphaQED::m_po
const std::string m_po
Perturbative order.
Definition: alphaem.h:84
ePDF::AlphaQED::m_sumch4
std::vector< double > m_sumch4
Sum of the electric charges to the fourth.
Definition: alphaem.h:108
ePDF::AlphaQED::EvolveNumerical
double EvolveNumerical(double const &Q) const
Function that return the alpha numerically.