a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
EWSMcache.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2012 HEPfit Collaboration
3 *
4 *
5 * For the licensing terms see doc/COPYING.
6 */
7
8#ifndef EWSMCACHE_H
9#define EWSMCACHE_H
10
11#include <cmath>
12#include <PVfunctions.h>
13#include <Polylogarithms.h>
14#include <ClausenFunctions.h>
15#include "StandardModel.h"
16
40class EWSMcache {
41public:
42
47 EWSMcache(const StandardModel& SM_i);
48
49
51
56 const StandardModel& getSM() const
57 {
58 return SM;
59 }
60
69 {
70 this->FlagDebug = FlagDebug;
71 }
72
84 {
85 this->FlagCacheInEWSMcache = FlagCacheInEWSMcache;
86 }
87
88
90
97 //const StandardModel& getSM() const
98 //{
99 // return SM;
100 //}
101
106 const PVfunctions getPV() const
107 {
108 return PV;
109 }
110
116 {
117 return PolyLog;
118 }
119
125 {
126 return Clausen;
127 }
128
129
131 // get functions for constants
132
137 double getZeta2() const
138 {
139 return zeta2;
140 }
141
146 double getZeta3() const
147 {
148 return zeta3;
149 }
150
155 double getZeta4() const
156 {
157 return zeta4;
158 }
159
164 double getZeta5() const
165 {
166 return zeta5;
167 }
168
180 double getS2() const
181 {
182 return S2;
183 }
184
197 double getD3() const
198 {
199 return D3;
200 }
201
214 double getB4() const
215 {
216 return B4;
217 }
218
223 double getLog2() const
224 {
225 return log2;
226 }
227
228
230
243 double mf(const Particle f, const double mu = 0.0, const orders order = FULLNNLO) const;
244
257 double mf2(const Particle f, const double mu = 0.0, const orders order = FULLNNLO) const
258 {
259 double mf1 = mf(f, mu, order);
260 return ( mf1 * mf1);
261 }
262
268 double Q_f(const Particle f) const
269 {
270 return f.getCharge();
271 }
272
278 double I3_f(const Particle f) const
279 {
280 return f.getIsospin();
281 }
282
290 double v_f(const Particle f, const double Mw_i) const
291 {
292 return ( a_f(f) - 2.0 * Q_f(f) * SM.sW2(Mw_i));
293 }
294
301 double a_f(const Particle f) const
302 {
303 return ( f.getIsospin());
304 }
305
312 double sigma_f(const Particle f, const double Mw_i) const
313 {
314 return ( 1.0 - 2.0 * fabs(Q_f(f)) * SM.sW2(Mw_i));
315 }
316
323 double delta_f(const Particle f, const double Mw_i) const
324 {
325 return ( -2.0 * Q_f(f) * SM.sW2(Mw_i));
326 }
327
334 double f_AlphaToGF(const double Mw_i) const
335 {
336 return ( sqrt(2.0) * SM.getGF() * pow(SM.getMz(), 2.0) * SM.sW2(Mw_i) * SM.cW2(Mw_i) / M_PI / SM.getAle());
337 }
338
343 double Xt_GF() const
344 {
345 return ( SM.getGF() * SM.getMtpole() * SM.getMtpole() / 8.0 / sqrt(2.0) / M_PI / M_PI);
346 }
347
355 double Xt_alpha(const double Mw_i) const
356 {
357 return ( Xt_GF() / f_AlphaToGF(Mw_i));
358 }
359
366 double Als(const double mu, const orders order) const
367 {
368 return ( SM.Als(mu, order));
369 }
370
378 double alsMt() const
379 {
380 if (FlagDebug)
381 return ( 0.1074432788); // for debug
382 else
383 return ( SM.Als(SM.getMtpole(), FULLNNLO));
384 }
385
390 double Phi_QCD2() const
391 {
392 double r_QCD2 = SM.getMz() * SM.getMz() / 4.0 / SM.getMtpole() / SM.getMtpole();
393 return ( asin(sqrt(r_QCD2)));
394 }
395
400 double gamma_QCD2() const
401 {
402 double r_QCD2 = SM.getMz() * SM.getMz() / 4.0 / SM.getMtpole() / SM.getMtpole();
403 return ( log(2.0 * sqrt(r_QCD2)));
404 }
405
410 double h_QCD2() const
411 {
412 double r_QCD2 = SM.getMz() * SM.getMz() / 4.0 / SM.getMtpole() / SM.getMtpole();
413 return ( log(2.0 * sqrt(1.0 - r_QCD2)));
414 }
415
422 double logV1primeAndA1prime() const
423 {
424 gsl_complex OneMinusE2Iphi = gsl_complex_rect(1.0 - cos(2.0 * Phi_QCD2()),
425 -sin(2.0 * Phi_QCD2()));
426 gsl_complex OneMinusE4Iphi = gsl_complex_rect(1.0 - cos(4.0 * Phi_QCD2()),
427 -sin(4.0 * Phi_QCD2()));
428 return ( GSL_REAL(gsl_complex_log(OneMinusE2Iphi))
429 - 2.0 * GSL_REAL(gsl_complex_log(OneMinusE4Iphi)));
430 }
431
438 double Cl2_2Phi() const
439 {
440 double Phi = asin(SM.getMz() / 2.0 / SM.getMtpole());
441 return ( Clausen.Cl2(2.0 * Phi));
442 }
443
450 double Cl2_4Phi() const
451 {
452 double Phi = asin(SM.getMz() / 2.0 / SM.getMtpole());
453 return ( Clausen.Cl2(4.0 * Phi));
454 }
455
462 double Cl3_2Phi() const
463 {
464 double Phi = asin(SM.getMz() / 2.0 / SM.getMtpole());
465 return ( Clausen.Cl3(2.0 * Phi));
466 }
467
474 double Cl3_4Phi() const
475 {
476 double Phi = asin(SM.getMz() / 2.0 / SM.getMtpole());
477 return ( Clausen.Cl3(4.0 * Phi));
478 }
479
480
482 // Functions for the caches
483
488 double logMZtoME() const;
489
494 double logMZtoMMU() const;
495
500 double logMZtoMTAU() const;
501
506 double logMZtoMTOP() const;
507
512 double logMTOPtoMH() const;
513
519 double log_cW2(const double Mw_i) const;
520
526 double Li2_MW2toMTOP2(const double Mw_i) const;
527
533 double Li3_MW2toMTOP2(const double Mw_i) const;
534
540 double Li3_for_F1(const double Mw_i) const;
541
547 double A0_Mz2_Mw2(const double Mw_i) const;
548
553 double A0_Mz2_mh2() const;
554
560 double A0_Mw2_Mz2(const double Mw_i) const;
561
567 double A0_Mw2_mh2(const double Mw_i) const;
568
573 double A0_Mz2_Mz2() const;
574
580 double A0_Mw2_Mw2(const double Mw_i) const;
581
587 gslpp::complex B0_Mz2_Mw2_mh2_Mw2(const double Mw_i) const;
588
594 gslpp::complex B0_Mz2_0_mh2_Mw2(const double Mw_i) const;
595
601 gslpp::complex B0_Mw2_Mz2_Mt2_Mt2(const double Mw_i) const;
602
608 gslpp::complex B0_Mz2_Mz2_Mw2_Mw2(const double Mw_i) const;
609
614 gslpp::complex B0_Mz2_Mz2_mh2_Mz2() const;
615
621 gslpp::complex B0_Mz2_Mw2_Mz2_Mw2(const double Mw_i) const;
622
628 gslpp::complex B0_Mz2_Mw2_0_Mw2(const double Mw_i) const;
629
635 gslpp::complex B0_Mz2_0_Mz2_Mw2(const double Mw_i) const;
636
642 gslpp::complex B0_Mz2_0_0_Mw2(const double Mw_i) const;
643
649 gslpp::complex B0_Mw2_Mz2_Mw2_Mw2(const double Mw_i) const;
650
656 gslpp::complex B0_Mw2_Mw2_Mz2_Mw2(const double Mw_i) const;
657
663 gslpp::complex B0_Mw2_Mw2_mh2_Mw2(const double Mw_i) const;
664
670 gslpp::complex B0_Mw2_Mw2_0_Mw2(const double Mw_i) const;
671
677 gslpp::complex B0_Mz2_Mz2_mf2_mf2(const Particle f) const;
678
684 gslpp::complex B0p_Mz2_0_mh2_Mw2(const double Mw_i) const;
685
690 gslpp::complex B0p_Mz2_Mz2_mh2_Mz2() const;
691
697 gslpp::complex B0p_Mz2_0_Mz2_Mw2(const double Mw_i) const;
698
704 gslpp::complex B0p_Mz2_Mz2_Mw2_Mw2(const double Mw_i) const;
705
711 gslpp::complex B0p_Mw2_Mw2_Mz2_Mw2(const double Mw_i) const;
712
718 gslpp::complex B0p_Mw2_Mw2_mh2_Mw2(const double Mw_i) const;
719
725 gslpp::complex B0p_Mw2_Mw2_0_Mw2(const double Mw_i) const;
726
732 gslpp::complex B0p_Mz2_Mz2_mf2_mf2(const Particle f) const;
733
739 gslpp::complex B1_Mz2_0_mf2_mfprime2(const int gen) const;
740
746 gslpp::complex B1_Mz2_0_mfprime2_mf2(const int gen) const;
747
754 gslpp::complex B1_Mz2_Mw2_mf2_mfprime2(const int gen, const double Mw_i) const;
755
762 gslpp::complex B1_Mz2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const;
763
770 gslpp::complex B1p_Mw2_Mw2_mf2_mfprime2(const int gen, const double Mw_i) const;
771
778 gslpp::complex B1p_Mw2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const;
779
785 gslpp::complex Bf_Mz2_Mz2_mf2_mf2(const Particle f) const;
786
792 gslpp::complex Bf_Mz2_0_mf2_mf2(const Particle f) const;
793
800 gslpp::complex Bf_Mz2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const;
801
807 gslpp::complex Bf_Mz2_0_mfprime2_mf2(const int gen) const;
808
815 gslpp::complex Bf_Mw2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const;
816
822 gslpp::complex Bfp_Mz2_Mz2_mf2_mf2(const Particle f) const;
823
830 gslpp::complex Bfp_Mw2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const;
831
837 gslpp::complex C0_Mz2_Mw2_Mt2_Mw2(const double Mw_i) const;
838
844 gslpp::complex C0_Mz2_Mt2_Mw2_Mt2(const double Mw_i) const;
845
851 gslpp::complex C0_Mz2_0_Mw2_0(const double Mw_i) const;
852
858 gslpp::complex C0_Mz2_Mw2_0_Mw2(const double Mw_i) const;
859
865 gslpp::complex C0_Mw2_Mw2_0_Mz2(const double Mw_i) const;
866
872 gslpp::complex C0_Mw2_0_Mz2_0(const double Mw_i) const;
873
878 gslpp::complex C0_Mz2_0_Mz2_0() const;
879
880
882
883private:
886
891
892 // Constants
893 double zeta2;
894 double zeta3;
895 double zeta4;
896 double zeta5;
897 double S2;
898 double D3;
899 double B4;
900 double log2;
901
902
904 // Caches for double variables
905 // The size of the caches are equal to the number of relevant parameters
906 // plus one.
907
908 /* Logarithms */
909 mutable double logMZtoME_cache[3];
910 mutable double logMZtoMMU_cache[3];
911 mutable double logMZtoMTAU_cache[3];
912 mutable double logMZtoMTOP_cache[3];
913 mutable double logMTOPtoMH_cache[3];
914 mutable double log_cW2_cache[3];
915
916 /* Dilogarithm and Trilogarithm for two-loop QCD corrections */
917 mutable double Li2_MW2toMTOP2_cache[3];
918 mutable double Li3_MW2toMTOP2_cache[3];
919 mutable double Li3_for_F1_cache[3];
920
921 /* One-loop functions */
922 mutable double A0_Mz2_Mw2_cache[3];
923 mutable double A0_Mz2_mh2_cache[3];
924 mutable double A0_Mw2_Mz2_cache[3];
925 mutable double A0_Mw2_mh2_cache[3];
926 mutable double A0_Mz2_Mz2_cache[2];
927 mutable double A0_Mw2_Mw2_cache[2];
928
933 mutable double mf_atMz_cache[12];
934
936 // Caches for complex variables
937 // The size of the caches are equal to the number of relevant parameters
938 // plus one.
939
940 mutable double B0_Mz2_Mw2_mh2_Mw2_cache[5];
941 mutable double B0_Mz2_0_mh2_Mw2_cache[5];
942 mutable double B0_Mw2_Mz2_Mt2_Mt2_cache[5];
943 mutable double B0_Mz2_Mz2_Mw2_Mw2_cache[4];
944 mutable double B0_Mz2_Mz2_mh2_Mz2_cache[4];
945 mutable double B0_Mz2_Mw2_Mz2_Mw2_cache[4];
946 mutable double B0_Mz2_Mw2_0_Mw2_cache[4];
947 mutable double B0_Mz2_0_Mz2_Mw2_cache[4];
948 mutable double B0_Mz2_0_0_Mw2_cache[4];
949 mutable double B0_Mw2_Mz2_Mw2_Mw2_cache[4];
950 mutable double B0_Mw2_Mw2_Mz2_Mw2_cache[4];
951 mutable double B0_Mw2_Mw2_mh2_Mw2_cache[4];
952 mutable double B0_Mw2_Mw2_0_Mw2_cache[3];
953 mutable double B0_Mz2_Mz2_mf2_mf2_cache[12][4];
954
955 mutable double B0p_Mz2_0_mh2_Mw2_cache[5];
956 mutable double B0p_Mz2_Mz2_mh2_Mz2_cache[4];
957 mutable double B0p_Mz2_0_Mz2_Mw2_cache[4];
958 mutable double B0p_Mz2_Mz2_Mw2_Mw2_cache[4];
959 mutable double B0p_Mw2_Mw2_Mz2_Mw2_cache[4];
960 mutable double B0p_Mw2_Mw2_mh2_Mw2_cache[4];
961 mutable double B0p_Mw2_Mw2_0_Mw2_cache[3];
962 mutable double B0p_Mz2_Mz2_mf2_mf2_cache[12][4];
963
964 mutable double B1_Mz2_0_mf2_mfprime2_cache[6][5];
965 mutable double B1_Mz2_0_mfprime2_mf2_cache[6][5];
966 mutable double B1_Mz2_Mw2_mf2_mfprime2_cache[6][6];
967 mutable double B1_Mz2_Mw2_mfprime2_mf2_cache[6][6];
968
969 mutable double B1p_Mw2_Mw2_mf2_mfprime2_cache[6][5];
970 mutable double B1p_Mw2_Mw2_mfprime2_mf2_cache[6][5];
971
972 mutable double Bf_Mz2_Mz2_mf2_mf2_cache[12][4];
973 mutable double Bf_Mz2_0_mf2_mf2_cache[12][4];
974 mutable double Bf_Mz2_Mw2_mfprime2_mf2_cache[6][6];
975 mutable double Bf_Mz2_0_mfprime2_mf2_cache[6][5];
976 mutable double Bf_Mw2_Mw2_mfprime2_mf2_cache[6][5];
977
978 mutable double Bfp_Mz2_Mz2_mf2_mf2_cache[12][4];
979 mutable double Bfp_Mw2_Mw2_mfprime2_mf2_cache[6][5];
980
981 mutable double C0_Mz2_Mw2_Mt2_Mw2_cache[5];
982 mutable double C0_Mz2_Mt2_Mw2_Mt2_cache[5];
983 mutable double C0_Mz2_0_Mw2_0_cache[4];
984 mutable double C0_Mz2_Mw2_0_Mw2_cache[4];
985 mutable double C0_Mw2_Mw2_0_Mz2_cache[4];
986 mutable double C0_Mw2_0_Mz2_0_cache[4];
987 mutable double C0_Mz2_0_Mz2_0_cache[3];
988
989
991 // Methods for caching, which will be compiled as inline functions.
992
1008 bool CacheCheck(const double cache[],
1009 const int NumPar, const double params[]) const
1010 {
1011 if (!FlagCacheInEWSMcache) return false;
1012 bool bCache = true;
1013 for (int i = 0; i < NumPar; ++i)
1014 bCache &= (params[i] == cache[i]);
1015 return bCache;
1016 }
1017
1033 void newCacheForDouble(double cache[], const int NumPar,
1034 const double params[], const double newResult) const
1035 {
1036 if (!FlagCacheInEWSMcache) return;
1037 for (int i = 0; i < NumPar; ++i)
1038 cache[i] = params[i];
1039 cache[NumPar] = newResult;
1040 }
1041
1058 void newCacheForComplex(double cache[], const int NumPar,
1059 const double params[], const gslpp::complex newResult) const
1060 {
1061 if (!FlagCacheInEWSMcache) return;
1062 for (int i = 0; i < NumPar; ++i)
1063 cache[i] = params[i];
1064 cache[NumPar] = newResult.real();
1065 cache[NumPar + 1] = newResult.imag();
1066 }
1067
1068};
1069
1070#endif /* EWSMCACHE_H */
1071
@ FULLNNLO
Definition: OrderScheme.h:39
A class for the Clausen functions.
double Cl3(const double phi) const
The Clausen function of index 3, .
double Cl2(const double phi) const
The Clausen function of index 2, .
A class for cache variables used in computing radiative corrections to the EW precision observables.
Definition: EWSMcache.h:40
double Li2_MW2toMTOP2_cache[3]
A cache of .
Definition: EWSMcache.h:917
gslpp::complex B1_Mz2_Mw2_mf2_mfprime2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:673
double B0p_Mz2_Mz2_Mw2_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:958
double Xt_alpha(const double Mw_i) const
The quantity with the coupling .
Definition: EWSMcache.h:355
double B1_Mz2_0_mf2_mfprime2_cache[6][5]
A cache of a PV function.
Definition: EWSMcache.h:964
double B1p_Mw2_Mw2_mfprime2_mf2_cache[6][5]
A cache of a PV function.
Definition: EWSMcache.h:970
double logMZtoMTAU_cache[3]
A cache of .
Definition: EWSMcache.h:911
double B0p_Mw2_Mw2_0_Mw2_cache[3]
A cache of a PV function.
Definition: EWSMcache.h:961
double A0_Mz2_Mw2_cache[3]
A cache of a PV function.
Definition: EWSMcache.h:922
double a_f(const Particle f) const
The tree-level axial-vector coupling for , denoted as .
Definition: EWSMcache.h:301
gslpp::complex C0_Mw2_0_Mz2_0(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:1010
double B1p_Mw2_Mw2_mf2_mfprime2_cache[6][5]
A cache of a PV function.
Definition: EWSMcache.h:969
double A0_Mw2_Mz2_cache[3]
A cache of a PV function.
Definition: EWSMcache.h:924
double logMTOPtoMH() const
A cache method.
Definition: EWSMcache.cpp:134
double sigma_f(const Particle f, const double Mw_i) const
.
Definition: EWSMcache.h:312
double zeta2
The constant .
Definition: EWSMcache.h:893
double f_AlphaToGF(const double Mw_i) const
The conversion factor from to , denoted as .
Definition: EWSMcache.h:334
double A0_Mz2_Mz2_cache[2]
A cache of a PV function.
Definition: EWSMcache.h:926
double log_cW2_cache[3]
A cache of .
Definition: EWSMcache.h:914
gslpp::complex B0_Mw2_Mw2_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:439
double Cl3_4Phi() const
The constant .
Definition: EWSMcache.h:474
gslpp::complex B1p_Mw2_Mw2_mf2_mfprime2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:727
EWSMcache(const StandardModel &SM_i)
Constructor.
Definition: EWSMcache.cpp:15
double B0p_Mw2_Mw2_mh2_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:960
gslpp::complex B0p_Mz2_Mz2_Mw2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:544
double B0_Mz2_0_0_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:948
double B0_Mw2_Mz2_Mt2_Mt2_cache[5]
A cache of a PV function.
Definition: EWSMcache.h:942
const ClausenFunctions Clausen
An object of type ClausenFunctions.
Definition: EWSMcache.h:889
bool FlagDebug
A flag for debugging (false by default).
Definition: EWSMcache.h:884
double Bfp_Mz2_Mz2_mf2_mf2_cache[12][4]
A cache of a PV function.
Definition: EWSMcache.h:978
gslpp::complex Bf_Mz2_0_mf2_mf2(const Particle f) const
A cache method.
Definition: EWSMcache.cpp:796
double Li3_for_F1_cache[3]
A cache of .
Definition: EWSMcache.h:919
double B0_Mz2_Mw2_0_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:946
const ClausenFunctions getClausen() const
A get method to access the member object of type ClausenFunctions.
Definition: EWSMcache.h:124
double A0_Mz2_mh2() const
A cache method.
Definition: EWSMcache.cpp:219
gslpp::complex Bf_Mw2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:866
gslpp::complex B1_Mz2_0_mf2_mfprime2(const int gen) const
A cache method.
Definition: EWSMcache.cpp:619
gslpp::complex B0p_Mz2_0_mh2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:499
double Bf_Mz2_0_mf2_mf2_cache[12][4]
A cache of a PV function.
Definition: EWSMcache.h:973
const Polylogarithms getPolyLog() const
A get method to access the member object of type Polylogarithms.
Definition: EWSMcache.h:115
double zeta3
The constant .
Definition: EWSMcache.h:894
double A0_Mw2_mh2_cache[3]
A cache of a PV function.
Definition: EWSMcache.h:925
double B0p_Mw2_Mw2_Mz2_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:959
double getD3() const
A get method to access the constant .
Definition: EWSMcache.h:197
double Li2_MW2toMTOP2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:162
double logMZtoMTOP_cache[3]
A cache of .
Definition: EWSMcache.h:912
double log_cW2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:148
double logMTOPtoMH_cache[3]
A cache of .
Definition: EWSMcache.h:913
double logMZtoMTAU() const
A cache method.
Definition: EWSMcache.cpp:106
gslpp::complex B0_Mw2_Mz2_Mt2_Mt2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:319
double C0_Mz2_Mw2_Mt2_Mw2_cache[5]
A cache of a PV function.
Definition: EWSMcache.h:981
double B0_Mz2_Mw2_Mz2_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:945
double B0p_Mz2_Mz2_mf2_mf2_cache[12][4]
A cache of a PV function.
Definition: EWSMcache.h:962
double Bf_Mz2_Mz2_mf2_mf2_cache[12][4]
A cache of a PV function.
Definition: EWSMcache.h:972
double B0p_Mz2_0_Mz2_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:957
gslpp::complex B0_Mz2_Mw2_0_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:379
gslpp::complex B0_Mz2_0_0_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:409
gslpp::complex B1p_Mw2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:754
double C0_Mz2_0_Mw2_0_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:983
double getZeta4() const
A get method to access the value of the zeta function .
Definition: EWSMcache.h:155
double logMZtoME() const
A cache method.
Definition: EWSMcache.cpp:78
double zeta4
The constant .
Definition: EWSMcache.h:895
gslpp::complex B0_Mz2_Mz2_mf2_mf2(const Particle f) const
A cache method.
Definition: EWSMcache.cpp:484
double Als(const double mu, const orders order) const
The strong coupling .
Definition: EWSMcache.h:366
double B0_Mw2_Mz2_Mw2_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:949
double logMZtoMMU() const
A cache method.
Definition: EWSMcache.cpp:92
double zeta5
The constant .
Definition: EWSMcache.h:896
gslpp::complex C0_Mz2_0_Mz2_0() const
A cache method.
Definition: EWSMcache.cpp:1025
const Polylogarithms PolyLog
An object of type Polylogarithms.
Definition: EWSMcache.h:890
gslpp::complex B0_Mw2_Mw2_mh2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:454
bool CacheCheck(const double cache[], const int NumPar, const double params[]) const
A check method for caching.
Definition: EWSMcache.h:1008
double B0_Mz2_Mz2_mh2_Mz2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:944
gslpp::complex Bfp_Mw2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:908
double Cl2_2Phi() const
The constant .
Definition: EWSMcache.h:438
double A0_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:205
double B0_Mz2_0_mh2_Mw2_cache[5]
A cache of a PV function.
Definition: EWSMcache.h:941
double v_f(const Particle f, const double Mw_i) const
The tree-level vector coupling for , denoted as .
Definition: EWSMcache.h:290
gslpp::complex B0p_Mz2_0_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:529
gslpp::complex B0p_Mz2_Mz2_mh2_Mz2() const
A cache method.
Definition: EWSMcache.cpp:514
double Cl3_2Phi() const
The constant .
Definition: EWSMcache.h:462
double A0_Mz2_Mz2() const
A cache method.
Definition: EWSMcache.cpp:261
gslpp::complex B0_Mz2_Mw2_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:364
gslpp::complex C0_Mz2_Mw2_0_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:980
const PVfunctions PV
An object of type PVfunctions.
Definition: EWSMcache.h:888
double C0_Mw2_Mw2_0_Mz2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:985
gslpp::complex B1_Mz2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:700
double B0_Mw2_Mw2_0_Mw2_cache[3]
A cache of a PV function.
Definition: EWSMcache.h:952
double delta_f(const Particle f, const double Mw_i) const
.
Definition: EWSMcache.h:323
gslpp::complex C0_Mz2_0_Mw2_0(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:965
double C0_Mz2_0_Mz2_0_cache[3]
A cache of a PV function.
Definition: EWSMcache.h:987
gslpp::complex B0p_Mw2_Mw2_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:559
gslpp::complex Bfp_Mz2_Mz2_mf2_mf2(const Particle f) const
A cache method.
Definition: EWSMcache.cpp:893
double getZeta5() const
A get method to access the value of the zeta function .
Definition: EWSMcache.h:164
gslpp::complex B0p_Mw2_Mw2_mh2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:574
double getB4() const
A get method to access the constant .
Definition: EWSMcache.h:214
void newCacheForDouble(double cache[], const int NumPar, const double params[], const double newResult) const
A method to update a cache of the parameters and the quantity under consideration.
Definition: EWSMcache.h:1033
double logV1primeAndA1prime() const
A logarithm appearing in the functions and for two-loop QCD contribution.
Definition: EWSMcache.h:422
double Bf_Mz2_0_mfprime2_mf2_cache[6][5]
A cache of a PV function.
Definition: EWSMcache.h:975
gslpp::complex B0p_Mz2_Mz2_mf2_mf2(const Particle f) const
A cache method.
Definition: EWSMcache.cpp:604
double mf_atMz_params_cache[12][StandardModel::NumSMParamsForEWPO]
A cache array of a set of SM parameters, used together with mf_atMz_cache.
Definition: EWSMcache.h:932
double Li3_MW2toMTOP2_cache[3]
A cache of .
Definition: EWSMcache.h:918
double gamma_QCD2() const
The constant for two-loop QCD contribution.
Definition: EWSMcache.h:400
double C0_Mz2_Mt2_Mw2_Mt2_cache[5]
A cache of a PV function.
Definition: EWSMcache.h:982
double logMZtoMMU_cache[3]
A cache of .
Definition: EWSMcache.h:910
double B1_Mz2_0_mfprime2_mf2_cache[6][5]
A cache of a PV function.
Definition: EWSMcache.h:965
double B0_Mz2_Mz2_Mw2_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:943
double A0_Mz2_mh2_cache[3]
A cache of a PV function.
Definition: EWSMcache.h:923
double B0_Mw2_Mw2_mh2_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:951
double logMZtoMTOP() const
A cache method.
Definition: EWSMcache.cpp:120
gslpp::complex C0_Mz2_Mt2_Mw2_Mt2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:950
const PVfunctions getPV() const
A get method to access the member reference to the object of type StandardModel passed to the constru...
Definition: EWSMcache.h:106
gslpp::complex Bf_Mz2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:813
double getS2() const
A get method to access the constant .
Definition: EWSMcache.h:180
double getZeta3() const
A get method to access the value of the zeta function .
Definition: EWSMcache.h:146
double Xt_GF() const
The quantity with the coupling .
Definition: EWSMcache.h:343
gslpp::complex B0_Mz2_0_mh2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:304
double alsMt() const
The strong coupling at NNLO.
Definition: EWSMcache.h:378
double B0_Mz2_Mz2_mf2_mf2_cache[12][4]
A cache of a PV function.
Definition: EWSMcache.h:953
double getLog2() const
A get method to access the constant .
Definition: EWSMcache.h:223
double B1_Mz2_Mw2_mf2_mfprime2_cache[6][6]
A cache of a PV function.
Definition: EWSMcache.h:966
double B0_Mz2_Mw2_mh2_Mw2_cache[5]
A cache of a PV function.
Definition: EWSMcache.h:940
double log2
The constant .
Definition: EWSMcache.h:900
double Q_f(const Particle f) const
The charge of an SM fermion .
Definition: EWSMcache.h:268
double A0_Mw2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:275
gslpp::complex B0_Mz2_Mw2_mh2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:289
gslpp::complex C0_Mz2_Mw2_Mt2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:935
double B0p_Mz2_0_mh2_Mw2_cache[5]
A cache of a PV function.
Definition: EWSMcache.h:955
double logMZtoME_cache[3]
A cache of .
Definition: EWSMcache.h:909
void setFlagCacheInEWSMcache(bool FlagCacheInEWSMcache)
A set method to change the model flag CacheInEWSMcache in StandardModel.
Definition: EWSMcache.h:83
double C0_Mw2_0_Mz2_0_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:986
double mf2(const Particle f, const double mu=0.0, const orders order=FULLNNLO) const
The mass squared of an SM fermion.
Definition: EWSMcache.h:257
gslpp::complex B0_Mz2_Mz2_Mw2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:334
double B0_Mz2_0_Mz2_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:947
void newCacheForComplex(double cache[], const int NumPar, const double params[], const gslpp::complex newResult) const
A method to update a cache of the parameters and the quantity under consideration.
Definition: EWSMcache.h:1058
gslpp::complex B0_Mw2_Mz2_Mw2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:424
double S2
The constant .
Definition: EWSMcache.h:897
double Li3_for_F1(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:190
double C0_Mz2_Mw2_0_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:984
double mf(const Particle f, const double mu=0.0, const orders order=FULLNNLO) const
The mass of an SM fermion.
Definition: EWSMcache.cpp:49
gslpp::complex B0_Mz2_Mz2_mh2_Mz2() const
A cache method.
Definition: EWSMcache.cpp:349
gslpp::complex C0_Mw2_Mw2_0_Mz2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:995
double B1_Mz2_Mw2_mfprime2_mf2_cache[6][6]
A cache of a PV function.
Definition: EWSMcache.h:967
double h_QCD2() const
The constant for two-loop QCD contribution.
Definition: EWSMcache.h:410
double Li3_MW2toMTOP2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:176
double D3
The constant .
Definition: EWSMcache.h:898
double Phi_QCD2() const
The constant for two-loop QCD contribution.
Definition: EWSMcache.h:390
double B0p_Mz2_Mz2_mh2_Mz2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:956
double B4
The constant .
Definition: EWSMcache.h:899
double Bfp_Mw2_Mw2_mfprime2_mf2_cache[6][5]
A cache of a PV function.
Definition: EWSMcache.h:979
double Bf_Mw2_Mw2_mfprime2_mf2_cache[6][5]
A cache of a PV function.
Definition: EWSMcache.h:976
double Cl2_4Phi() const
The constant .
Definition: EWSMcache.h:450
double A0_Mw2_mh2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:247
bool FlagCacheInEWSMcache
A flag for caching (true by default).
Definition: EWSMcache.h:885
gslpp::complex Bf_Mz2_Mz2_mf2_mf2(const Particle f) const
A cache method.
Definition: EWSMcache.cpp:781
double A0_Mw2_Mw2_cache[2]
A cache of a PV function.
Definition: EWSMcache.h:927
gslpp::complex Bf_Mz2_0_mfprime2_mf2(const int gen) const
A cache method.
Definition: EWSMcache.cpp:839
gslpp::complex B1_Mz2_0_mfprime2_mf2(const int gen) const
A cache method.
Definition: EWSMcache.cpp:646
void setFlagDebug(bool FlagDebug)
A set method to change the internal boolean flag FlagDebug.
Definition: EWSMcache.h:68
double I3_f(const Particle f) const
The isospin of an SM fermion .
Definition: EWSMcache.h:278
gslpp::complex B0_Mw2_Mw2_0_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:469
double Bf_Mz2_Mw2_mfprime2_mf2_cache[6][6]
A cache of a PV function.
Definition: EWSMcache.h:974
double B0_Mw2_Mw2_Mz2_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:950
const StandardModel & SM
A reference to an object of type StandardModel.
Definition: EWSMcache.h:887
gslpp::complex B0_Mz2_0_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:394
double mf_atMz_cache[12]
A cache of the fermion masses at .
Definition: EWSMcache.h:933
gslpp::complex B0p_Mw2_Mw2_0_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:589
double A0_Mw2_Mz2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:233
double getZeta2() const
A get method to access the value of the zeta function .
Definition: EWSMcache.h:137
const StandardModel & getSM() const
Definition: EWSMcache.h:56
A class for Passarino-Veltman functions.
Definition: PVfunctions.h:44
A class for particles.
Definition: Particle.h:26
double getIsospin() const
A get method to access the particle isospin.
Definition: Particle.h:115
double getCharge() const
A get method to access the particle charge.
Definition: Particle.h:97
A class for the polylogarithms.
const double getMtpole() const
A get method to access the pole mass of the top quark.
Definition: QCD.h:600
A model class for the Standard Model.
const double getMz() const
A get method to access the mass of the boson .
const double getGF() const
A get method to retrieve the Fermi constant .
const double Als(const double mu, const orders order, const bool Nf_thr, const bool qed_flag) const
The running QCD coupling in the scheme including QED corrections.
virtual const double cW2(const double Mw_i) const
The square of the cosine of the weak mixing angle in the on-shell scheme, denoted as .
static const int NumSMParamsForEWPO
The number of the SM parameters that are relevant to the EW precision observables.
virtual const double sW2(const double Mw_i) const
The square of the sine of the weak mixing angle in the on-shell scheme, denoted as .
const double getAle() const
A get method to retrieve the fine-structure constant .
orders
An enum type for orders in QCD.
Definition: OrderScheme.h:33