PDFxTMDLib  1.0.0
YamlCouplingInfo.h
Go to the documentation of this file.
1 #pragma once
3 #include <map>
4 #include <optional>
5 #include <vector>
6 
7 namespace PDFxTMD
8 {
9 
10 enum class AlphasType
11 {
12  None,
13  ipol,
14  analytic,
15  ode
16 };
17 
19 {
20  fixed,
21  variable
22 };
23 
25 {
27  std::vector<double> mu_vec;
28  std::vector<double> alphas_vec;
29  double alphasLambda3 = -1;
30  double alphasLambda4 = -1;
31  double alphasLambda5 = -1;
32  double MZ = 91.1876;
33  double AlphaS_MZ = -1;
34  double AlphaS_Reference = -1;
35  double AlphaS_MassReference = -1;
36  std::map<PartonFlavor, double> quarkThreshhold;
37  std::map<PartonFlavor, double> quarkMasses;
41 };
42 
43 // Calculate the number of active quark flavours at energy scale Q2
44 std::pair<std::optional<YamlCouplingInfo>, ErrorType> YamlCouplingInfoReader(
45  const std::string &yamlInfoPath);
46 int numFlavorsQ2(double q2, const YamlCouplingInfo &couplingInfo, int nfMin = -1, int nfMax = -1);
47 // Calculate a beta function given the number of active flavours
48 double beta(OrderQCD qcdOrder, int nf);
49 
50 // Calculate beta functions given the number of active flavours
51 std::vector<double> betas(int nf);
52 } // namespace PDFxTMD
#define DEFULT_NUM_FLAVORS
Definition: PartonUtils.h:18
Definition: AllFlavorsShape.h:14
int numFlavorsQ2(double q2, const YamlCouplingInfo &couplingInfo, int nfMin=-1, int nfMax=-1)
ErrorType
Definition: PartonUtils.h:42
OrderQCD
Definition: PartonUtils.h:50
AlphasType
Definition: YamlCouplingInfo.h:11
AlphasFlavorScheme
Definition: YamlCouplingInfo.h:19
std::vector< double > betas(int nf)
double beta(OrderQCD qcdOrder, int nf)
std::pair< std::optional< YamlCouplingInfo >, ErrorType > YamlCouplingInfoReader(const std::string &yamlInfoPath)
Definition: YamlCouplingInfo.h:25
double alphasLambda5
Definition: YamlCouplingInfo.h:31
std::vector< double > mu_vec
Definition: YamlCouplingInfo.h:27
AlphasFlavorScheme flavorScheme
Definition: YamlCouplingInfo.h:38
std::vector< double > alphas_vec
Definition: YamlCouplingInfo.h:28
double AlphaS_MZ
Definition: YamlCouplingInfo.h:33
int AlphaS_NumFlavors
Definition: YamlCouplingInfo.h:39
double AlphaS_Reference
Definition: YamlCouplingInfo.h:34
double alphasLambda3
Definition: YamlCouplingInfo.h:29
double MZ
Definition: YamlCouplingInfo.h:32
double AlphaS_MassReference
Definition: YamlCouplingInfo.h:35
double alphasLambda4
Definition: YamlCouplingInfo.h:30
AlphasType alphaCalcMethod
Definition: YamlCouplingInfo.h:40
std::map< PartonFlavor, double > quarkThreshhold
Definition: YamlCouplingInfo.h:36
std::map< PartonFlavor, double > quarkMasses
Definition: YamlCouplingInfo.h:37
OrderQCD alphasOrder
Definition: YamlCouplingInfo.h:26