Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-06-02 08:51:45

0001 /*
0002  * evolution.h
0003  *
0004  *  Created on: Aug 6, 2019
0005  *      Author: partons
0006  */
0007 
0008 #ifndef INCLUDE_GPDSUBTRACTIONCONSTANTDLMSTW21EVOLUTION_H_
0009 #define INCLUDE_GPDSUBTRACTIONCONSTANTDLMSTW21EVOLUTION_H_
0010 
0011 #include <stddef.h>
0012 #include <cmath>
0013 #include <vector>
0014 
0015 namespace PARTONS {
0016 namespace GPDSubtractionConstantDLMSTW21Evolution {
0017 
0018 /**
0019  * Color factors.
0020  */
0021 const double c_cf = 4. / 3.;
0022 const double c_tf = 0.5;
0023 const double c_ca = 3.;
0024 
0025 /**
0026  * Quark masses (squared).
0027  */
0028 const double c_m_u2 = pow(2.2 / 1.E3, 2);
0029 const double c_m_d2 = pow(4.7 / 1.E3, 2);
0030 const double c_m_s2 = pow(96. / 1.E3, 2);
0031 const double c_m_c2 = pow(1.28, 2);
0032 const double c_m_b2 = pow(4.18, 2);
0033 const double c_m_t2 = pow(173.1, 2);
0034 
0035 /**
0036  * Number of active flavors.
0037  */
0038 size_t getNActiveFlavors(double muF2);
0039 
0040 /**
0041  * Threshold for a given number of active flavors.
0042  */
0043 double getThreshold2(size_t nf);
0044 
0045 /**
0046  * Lambda_QCD.
0047  */
0048 double lambdaQCD(size_t nf);
0049 
0050 /**
0051  * Lambda_QCD.
0052  */
0053 double lambdaQCD(double muF2);
0054 
0055 /**
0056  * Beta coefficient.
0057  */
0058 double beta(size_t i, size_t nf);
0059 
0060 /**
0061  * Running coupling.
0062  */
0063 double alphaS(double muF2);
0064 
0065 /**
0066  * Anomalous dimension.
0067  */
0068 double evolutionGamma(double n, int sign, size_t nf);
0069 
0070 /**
0071  * Gluon evolution coefficients denoted as a_n^\pm.
0072  */
0073 double evolutionA(size_t n, int sign, size_t nf);
0074 
0075 /**
0076  * Evolve quark non-singlet ignoring quark's thresholds.
0077  * dQuarkDiff is a diffrence of twho d^q.
0078  */
0079 double evolveQuarkDiff(double muF2, double muF20, double dQuarkDiff, size_t n,
0080         size_t nf);
0081 /**
0082  * Evolve quark singlet ignoring quark's thresholds.
0083  * dQuarkSum is a sum of d^q.
0084  */
0085 double evolveQuarkSum(double muF2, double muF20, double dQuarkSum,
0086         double dGluon, size_t n, size_t nf);
0087 
0088 /**
0089  * Evolve gluons ignoring quark's thresholds.
0090  * dQuarkSum is a sum of d^q.
0091  */
0092 double evolveGluon(double muF2, double muF20, double dQuarkSum, double dGluon,
0093         size_t n, size_t nf);
0094 
0095 /**
0096  * Evolve quarks and gluons ignoring quark's thresholds.
0097  * dPartons is a vector of dGluon, dQuark1, dQuark2, ...
0098  */
0099 std::vector<double> evolveQuarkGluon(double mu2, double mu20,
0100         std::vector<double> dPartons, size_t n, size_t nf);
0101 
0102 /**
0103  * Evolve quarks and gluons including quark's thresholds.
0104  * dPartons is a vector of dGluon, dQuark1, dQuark2, ...
0105  */
0106 std::vector<double> evolveQuarkGluon(double mu2, double mu20,
0107         std::vector<double> dPartons, size_t n);
0108 }
0109 }
0110 
0111 #endif /* INCLUDE_GPDSUBTRACTIONCONSTANTDLMSTW21EVOLUTION_H_ */