APFEL 4.8.0
A PDF evolution library in C++
Loading...
Searching...
No Matches
constants.h
Go to the documentation of this file.
1//
2// APFEL++ 2017
3//
4// Author: Valerio Bertone: valerio.bertone@cern.ch
5//
6
7#pragma once
8
9#include <cmath>
10#include <vector>
11#include <array>
12
13namespace apfel
14{
22
30 enum FixedOrderAccuracy: int {LO = 0, NLO = 1, NNLO = 2, NNNLO = 3, N4LO = 4};
31 enum LogAccuracy: int {NNNLLp = -3, NNLLp = -2, NLLp = -1, LL = 0, NLL = 1, NNLL = 2, NNNLL = 3, N4LL = 4};
33
40 enum PartonSpecies: int {GLUON = 0, QUARK = 1, PHOTON = 2, CHARGEDLEPTON = 3, NEUTRINO = 4};
42
49
54 const double eps2 = 1e-2;
55 const double eps3 = 1e-3;
56 const double eps4 = 1e-4;
57 const double eps5 = 1e-5;
58 const double eps6 = 1e-6;
59 const double eps7 = 1e-7;
60 const double eps8 = 1e-8;
61 const double eps9 = 1e-9;
62 const double eps10 = 1e-10;
63 const double eps11 = 1e-11;
64 const double eps12 = 1e-12;
65 const double eps13 = 1e-13;
66 const double eps14 = 1e-14;
67 const double eps15 = 1e-15;
68 const double eps25 = 1e-25;
70
77 const std::array<std::vector<double>, 2> gl_x =
78 {
79 {
80 std::vector<double>{0.1834346424956498, 0.5255324099163289, 0.7966664774136267, 0.9602898564975362},
81 std::vector<double>{
82 0.0950125098376374, 0.2816035507792589, 0.4580167776572273, 0.6178762444026437,
83 0.7554044083550030, 0.8656312023878317, 0.9445750230732325, 0.9894009349916499
84 }
85 }
86 };
87 const std::array<std::vector<double>, 2> gl_w =
88 {
89 {
90 std::vector<double>{0.3626837833783619, 0.3137066458778872, 0.2223810344533744, 0.1012285362903762},
91 std::vector<double>{
92 0.1894506104550684, 0.1826034150449235, 0.1691565193950025, 0.1495959888165767,
93 0.1246289712555338, 0.0951585116824927, 0.0622535239386478, 0.0271524594117540
94 }
95 }
96 };
98
105 const std::array<std::vector<double>, 2> gk_x =
106 {
107 {
108 std::vector<double>{0.0000000000000000e+00, 4.0584515137739717e-01, 7.4153118559939444e-01, 9.4910791234275852e-01},
109 std::vector<double>{
110 0.0000000000000000e+00, 2.0778495500789847e-01, 4.0584515137739717e-01, 5.8608723546769113e-01,
111 7.4153118559939444e-01, 8.6486442335976907e-01, 9.4910791234275852e-01, 9.9145537112081264e-01
112 }
113 }
114 };
115 const std::array<std::vector<double>, 2> gk_w =
116 {
117 {
118 std::vector<double>{4.1795918367346939e-01, 3.8183005050511894e-01, 2.7970539148927667e-01, 1.2948496616886969e-01},
119 std::vector<double>{
120 2.0948214108472783e-01, 2.0443294007529889e-01, 1.9035057806478541e-01, 1.6900472663926790e-01,
121 1.4065325971552592e-01, 1.0479001032225018e-01, 6.3092092629978553e-02, 2.2935322010529225e-02
122 }
123 }
124 };
126
132 const double Pi2 = M_PI * M_PI;
133 const double FourPi = 4 * M_PI;
134 const double emc = 0.5772156649015329;
135 const double zeta2 = 1.6449340668482264; // Pi2 / 6;
136 const double zeta3 = 1.2020569031595943;
137 const double zeta4 = 1.0823232337111382; // Pi2 * Pi2 / 90;
138 const double zeta5 = 1.0369277551433699;
139 const double zeta6 = 1.0173430619844491; // Pi2 * Pi2 * Pi2 / 945
141
147 const double TR = 0.5;
148 const double CF = 4. / 3.;
149 const double CA = 3.;
150 const double NC = 3.;
153
160
166 const double ed = - 1. / 3.;
167 const double eu = 2. / 3.;
168 const double ed2 = 1. / 9.;
169 const double eu2 = 4. / 9.;
170 const std::vector<double> QCh = {ed, eu, ed, eu, ed, eu};
171 const std::vector<double> QCh2 = {ed2, eu2, ed2, eu2, ed2, eu2};
172 const std::vector<double> SumCh2 = {0., 1./9., 5./9., 2./3., 10./9., 11./9., 5./3.};
173 const std::vector<double> SumCh4 = {0., 1./81., 17./81., 18./81., 34./81., 35./81., 51./81.};
175
182 const std::vector<double> fl11ns = {-1, 0.5, 0, 0.5, 0.2, 0.5};
183 const std::vector<double> fl11sg = {1, 0.1, 0, 0.1, 0.018181818, 0.1};
185
193 const double ConvFact = 0.3893793721e9;
195
203 const double ZMass = 91.1876;
204 const double GammaZ = 2.4955;
206
214 const double WMass = 80.377;
215 const double GammaW = 2.085;
217
224 const double ProtonMass = 0.93827208816;
226
234 const double Sin2ThetaW = 0.23121;
236
243 const double GFermi = 1.1663788e-5;
245
252 const double alphaem = 7.2973525693e-3;
254
262 const double Vud = 0.97446;
263 const double Vus = 0.22452;
264 const double Vub = 0.00365;
265 const double Vcd = 0.22438;
266 const double Vcs = 0.97359;
267 const double Vcb = 0.04214;
268 const double Vtd = 0.00896;
269 const double Vts = 0.04133;
270 const double Vtb = 0.999105;
271 const double Vud2 = Vud * Vud;
272 const double Vus2 = Vus * Vus;
273 const double Vub2 = Vub * Vub;
274 const double Vcd2 = Vcd * Vcd;
275 const double Vcs2 = Vcs * Vcs;
276 const double Vcb2 = Vcb * Vcb;
277 const double Vtd2 = Vtd * Vtd;
278 const double Vts2 = Vts * Vts;
279 const double Vtb2 = Vtb * Vtb;
280 const std::vector<double> CKM = {Vud, Vus, Vub, Vcd, Vcs, Vcb, Vtd, Vts, Vtb};
281 const std::vector<double> CKM2 = {Vud2, Vus2, Vub2, Vcd2, Vcs2, Vcb2, Vtd2, Vts2, Vtb2};
284}
const double eps13
Definition constants.h:65
const double eps5
Definition constants.h:57
const double eps25
Definition constants.h:68
const std::array< std::vector< double >, 2 > gk_w
Definition constants.h:115
const double eps7
Definition constants.h:59
const double emc
Definition constants.h:134
const std::array< std::vector< double >, 2 > gk_x
Definition constants.h:105
const std::array< std::vector< double >, 2 > gl_w
Definition constants.h:87
const double zeta6
Definition constants.h:139
const double zeta2
Definition constants.h:135
const double eps4
Definition constants.h:56
const double eps14
Definition constants.h:66
const double eps15
Definition constants.h:67
const double eps10
Definition constants.h:62
const double eps11
Definition constants.h:63
const double CF
Definition constants.h:148
const double zeta5
Definition constants.h:138
const double eps12
Definition constants.h:64
const double eps6
Definition constants.h:58
const double eps8
Definition constants.h:60
const double FourPi
Definition constants.h:133
const double zeta3
Definition constants.h:136
const double CA
Definition constants.h:149
const double eps9
Definition constants.h:61
const double Pi2
Definition constants.h:132
const double TR
Definition constants.h:147
const double eps3
Definition constants.h:55
const double eps2
Definition constants.h:54
const double zeta4
Definition constants.h:137
const double NC
Definition constants.h:150
const std::array< std::vector< double >, 2 > gl_x
Definition constants.h:77
PartonSpecies
Definition constants.h:40
@ PHOTON
Definition constants.h:40
@ QUARK
Definition constants.h:40
@ NEUTRINO
Definition constants.h:40
@ GLUON
Definition constants.h:40
@ CHARGEDLEPTON
Definition constants.h:40
FixedOrderAccuracy
Definition constants.h:30
LogAccuracy
Definition constants.h:31
@ NLO
Definition constants.h:30
@ NNLO
Definition constants.h:30
@ N4LO
Definition constants.h:30
@ LO
Definition constants.h:30
@ NNNLO
Definition constants.h:30
@ NLLp
Definition constants.h:31
@ NLL
Definition constants.h:31
@ NNNLLp
Definition constants.h:31
@ NNLL
Definition constants.h:31
@ NNNLL
Definition constants.h:31
@ N4LL
Definition constants.h:31
@ LL
Definition constants.h:31
@ NNLLp
Definition constants.h:31
const double Vcd2
Definition constants.h:274
const double Vub
Definition constants.h:264
const double Vud
Definition constants.h:262
const double Vus2
Definition constants.h:272
const double ed
Definition constants.h:166
const std::vector< double > SumCh4
Definition constants.h:173
const std::vector< double > SumCh2
Definition constants.h:172
const double ed2
Definition constants.h:168
const double Vus
Definition constants.h:263
const std::vector< double > fl11ns
Definition constants.h:182
const std::vector< double > fl11sg
Definition constants.h:183
const std::vector< double > QCh2
Definition constants.h:171
const double Vcb
Definition constants.h:267
const std::vector< double > CKM2
Definition constants.h:281
const double Vcs2
Definition constants.h:275
const double Vud2
Definition constants.h:271
const std::vector< double > QCh
Definition constants.h:170
const double eu2
Definition constants.h:169
const double Vtb2
Definition constants.h:279
const double Vub2
Definition constants.h:273
const double ProtonMass
Definition constants.h:224
const std::vector< double > CKM
Definition constants.h:280
const double ZMass
Definition constants.h:203
const double Vcb2
Definition constants.h:276
const double Vts2
Definition constants.h:278
const double GammaW
Definition constants.h:215
const double Vcd
Definition constants.h:265
const double Sin2ThetaW
Definition constants.h:234
const double GammaZ
Definition constants.h:204
const double Vts
Definition constants.h:269
const double WMass
Definition constants.h:214
const double Vtd
Definition constants.h:268
const double Vtb
Definition constants.h:270
const double alphaem
Definition constants.h:252
const double ConvFact
Definition constants.h:193
const double GFermi
Definition constants.h:243
const double Vtd2
Definition constants.h:277
const double eu
Definition constants.h:167
const double Vcs
Definition constants.h:266
Namespace for all APFEL++ functions and classes.
Definition alphaqcd.h:14