Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
QCDHelper.h
Go to the documentation of this file.
1#ifndef QCDHELPER_H
2#define QCDHELPER_H
3
4#include <array>
5#include <string>
6
7#include "Parameters.h"
8#include "Math.h"
10
43 static constexpr int Nc = 3;
45 static constexpr double C_F = (Nc * Nc - 1.) / (2. * Nc);
47 static constexpr double C_A = Nc;
48
54 static constexpr std::array<std::array<double, 3>, 6> beta {{{31. / 3, 134. / 3, 2309.8},
55 {29. / 3, 115. / 3, 1786.7},
56 {9 , 32 , 1287.6},
57 {25. / 3, 77. / 3 , 812.7 },
58 {23. / 3, 58. / 3 , 361.81},
59 {7 , 13 , -65 }}};
60
66 static constexpr std::array<std::array<double, 3>, 6> gamma {{{2, 8.1388, 34.408},
67 {2, 7.8611, 29.678},
68 {2, 7.5833, 24.840},
69 {2, 7.3055, 19.894},
70 {2, 7.0277, 14.839},
71 {2, 6.75 , 9.6773}}};
72};
73
88class QCDHelper {
89private:
91 static inline MassType m_b_type {MassType::POLE};
93 static inline MassType m_t_type {MassType::POLE};
94
96 static double get_lambda(double mu, MassType mass_b_type, MassType mass_t_type);
97
99 static std::vector<double> getOrderedMasses(MassType mass_b_type, MassType mass_t_type);
100
102 static double match_lambda(double target_alpha, double Q, int nf);
103
105 static double alpha_s_explicit(double mu, double lambda, int nf);
106
108 static double runMass(double mass, double Q_i, double Q_f, int nf, MassType m_b_type, MassType m_t_type);
109
111 static double R(double alpha, int nf);
112
114 static double calc_mc_pole(double lambda_4);
116 static double calc_mc_pole_one_loop(double lambda_4);
118 static double calc_mb_pole(double lambda_5);
120 static double calc_mb_pole_one_loop(double lambda_5);
122 static double calc_mb_kinematic(double mb_mb, double lambda_3);
124 static double calc_mb_1S(double lambda_4, double mb_pole);
126 static double calc_mt_mt(double lambda6_mt_pole, double lambda_5);
127
128public:
133
147 static void Init();
148
160 static double alpha_s(double mu, MassType mass_b_type = MassType::POLE, MassType mass_t_type = MassType::POLE);
161
175 static double msbar_mass(int pdg_code, double mu, MassType mass_b_type = MassType::POLE, MassType mass_t_type = MassType::POLE);
176
188 static int get_nf(double mu, MassType mass_b_type = MassType::POLE, MassType mass_t_type = MassType::POLE);
189};
190
191#endif // QCDHELPER_H
Provides static utilities to create, manage, and update dependent blocks and dependent parameters.
MassType
Model-dependent parameter repository and initialization strategies.
Static utility class for QCD running and derived QCD block construction.
Definition QCDHelper.h:88
static double alpha_s(double mu, MassType mass_b_type=MassType::POLE, MassType mass_t_type=MassType::POLE)
Computes the strong coupling constant α_s at scale μ.
Definition QCDHelper.cpp:52
static double msbar_mass(int pdg_code, double mu, MassType mass_b_type=MassType::POLE, MassType mass_t_type=MassType::POLE)
Computes the MS-bar running mass of a quark at scale μ.
Definition QCDHelper.cpp:64
static void Init()
Initializes the QCD dependent block.
Definition QCDHelper.cpp:3
static QCDConstants * constants
Pointer to QCD constants (to conform with IQCDProvider interface).
Definition QCDHelper.h:132
static int get_nf(double mu, MassType mass_b_type=MassType::POLE, MassType mass_t_type=MassType::POLE)
Returns the number of active flavors n_f at scale μ.
static QCDConstants _static_constants
Static storage for QCD constants.
Definition QCDHelper.h:130
Collection of QCD-specific constants and coefficients.
Definition QCDHelper.h:41
static constexpr double C_F
Fundamental Casimir C_F = (N_c^2 - 1) / (2 N_c).
Definition QCDHelper.h:45
static constexpr int Nc
Number of colors.
Definition QCDHelper.h:43
static constexpr std::array< std::array< double, 3 >, 6 > beta
β-function coefficients β_0, β_1, β_2 for nf = 1..6.
Definition QCDHelper.h:54
static constexpr double C_A
Adjoint Casimir C_A = N_c.
Definition QCDHelper.h:47
static constexpr std::array< std::array< double, 3 >, 6 > gamma
γ-function coefficients γ_0, γ_1, γ_2 for nf = 1..6.
Definition QCDHelper.h:66