a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
EWSMcache.cpp
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 #include <cstdlib>
9 #include <iostream>
10 #include <iomanip>
11 #include <stdexcept>
12 #include <gsl/gsl_sf.h>
13 #include "EWSMcache.h"
14 
16 : SM(SM_i), PV(true)
17 {
18  FlagDebug = false;
19  FlagCacheInEWSMcache = true; // use caches in the current class
20  //FlagCacheInEWSMcache = false;// do not use caches in the current class (for test)
21 
22  log2 = log(2.0);
23 
24  /* zeta functions */
25  zeta2 = gsl_sf_zeta_int(2);
26  zeta3 = gsl_sf_zeta_int(3);
27  zeta4 = gsl_sf_zeta_int(4);
28  zeta5 = gsl_sf_zeta_int(5);
29 
30  /* Constants for three-loop contribution */
31  double Cl2_Pi_3 = Clausen.Cl2(M_PI / 3.0);
32  S2 = 4.0 / 9.0 / sqrt(3.0) * Cl2_Pi_3;
33  D3 = 6.0 * zeta3 - 15.0 / 4.0 * zeta4 - 6.0 * Cl2_Pi_3*Cl2_Pi_3;
34  B4 = -1.76280008707377;
35  //double Li4_1_2 = ??;
36  //B4 = 16.0*Li4_1_2 - 4.0*zeta2*log2*log2 + 2.0/3.0*pow(log2,4.0) - 13.0/2.0*zeta4;
37 
38  // Initializations of the cache
39  for (int i = 0; i < 12; ++i) {
40  mf_atMz_cache[i] = 0.0;
41  for (int j = 0; j < StandardModel::NumSMParamsForEWPO; ++j)
42  mf_atMz_params_cache[i][j] = 0.0;
43  }
44 }
45 
46 
48 
49 double EWSMcache::mf(const Particle f, const double mu, const orders order) const
50 {
51  if (f.is("TOP"))
52  return SM.getMtpole(); // the pole mass
53  else if (f.is("QUARK") && !FlagDebug) {
54  /* These codes are slow and not effective. */
55  //if (mu == SM.getMz()) {
56  // if (FlagCacheInEWSMcache && order == FULLNNLO)
57  // if (SM.checkSMparams(mf_atMz_params_cache[f.getIndex()]))
58  // return mf_atMz_cache[f.getIndex()];
59  // mf_atMz_cache[f.getIndex()] = SM.Mrun(mu, f.getMass_scale(), f.getMass(), order);
60  // return mf_atMz_cache[f.getIndex()];
61  //}
62  return SM.Mrun(mu, f.getMass_scale(), f.getMass(), order);
63  } else
64  return f.getMass();
65 }
66 
67 
69 
70 double EWSMcache::logMZtoME() const
71 {
72  int NumPar = 2;
73  double params[] = {SM.getMz(), mf(SM.getLeptons(SM.ELECTRON))};
74 
75  if (CacheCheck(logMZtoME_cache, NumPar, params))
76  return logMZtoME_cache[NumPar];
77  else {
78  double newResult = log(SM.getMz() / mf(SM.getLeptons(SM.ELECTRON)));
79  newCacheForDouble(logMZtoME_cache, NumPar, params, newResult);
80  return newResult;
81  }
82 }
83 
84 double EWSMcache::logMZtoMMU() const
85 {
86  int NumPar = 2;
87  double params[] = {SM.getMz(), mf(SM.getLeptons(SM.MU))};
88 
89  if (CacheCheck(logMZtoMMU_cache, NumPar, params))
90  return logMZtoMMU_cache[NumPar];
91  else {
92  double newResult = log(SM.getMz() / mf(SM.getLeptons(SM.MU)));
93  newCacheForDouble(logMZtoMMU_cache, NumPar, params, newResult);
94  return newResult;
95  }
96 }
97 
98 double EWSMcache::logMZtoMTAU() const
99 {
100  int NumPar = 2;
101  double params[] = {SM.getMz(), mf(SM.getLeptons(SM.TAU))};
102 
103  if (CacheCheck(logMZtoMTAU_cache, NumPar, params))
104  return logMZtoMTAU_cache[NumPar];
105  else {
106  double newResult = log(SM.getMz() / mf(SM.getLeptons(SM.TAU)));
107  newCacheForDouble(logMZtoMTAU_cache, NumPar, params, newResult);
108  return newResult;
109  }
110 }
111 
113 {
114  int NumPar = 2;
115  double params[] = {SM.getMz(), SM.getMtpole()};
116 
117  if (CacheCheck(logMZtoMTOP_cache, NumPar, params))
118  return logMZtoMTOP_cache[NumPar];
119  else {
120  double newResult = log(SM.getMz() / SM.getMtpole());
121  newCacheForDouble(logMZtoMTOP_cache, NumPar, params, newResult);
122  return newResult;
123  }
124 }
125 
127 {
128  int NumPar = 2;
129  double params[] = {SM.getMtpole(), SM.getMHl()};
130 
131  if (CacheCheck(logMTOPtoMH_cache, NumPar, params))
132  return logMTOPtoMH_cache[NumPar];
133  else {
134  double newResult = log(SM.getMtpole() / SM.getMHl());
135  newCacheForDouble(logMTOPtoMH_cache, NumPar, params, newResult);
136  return newResult;
137  }
138 }
139 
140 double EWSMcache::log_cW2(const double Mw_i) const
141 {
142  int NumPar = 2;
143  double params[] = {SM.getMz(), Mw_i};
144 
145  if (CacheCheck(log_cW2_cache, NumPar, params))
146  return log_cW2_cache[NumPar];
147  else {
148  double newResult = log(SM.cW2(Mw_i));
149  newCacheForDouble(log_cW2_cache, NumPar, params, newResult);
150  return newResult;
151  }
152 }
153 
154 double EWSMcache::Li2_MW2toMTOP2(const double Mw_i) const
155 {
156  int NumPar = 2;
157  double params[] = {Mw_i, SM.getMtpole()};
158 
159  if (CacheCheck(Li2_MW2toMTOP2_cache, NumPar, params))
160  return Li2_MW2toMTOP2_cache[NumPar];
161  else {
162  double newResult = PolyLog.Li2(Mw_i * Mw_i / SM.getMtpole() / SM.getMtpole()).real();
163  newCacheForDouble(Li2_MW2toMTOP2_cache, NumPar, params, newResult);
164  return newResult;
165  }
166 }
167 
168 double EWSMcache::Li3_MW2toMTOP2(const double Mw_i) const
169 {
170  int NumPar = 2;
171  double params[] = {Mw_i, SM.getMtpole()};
172 
173  if (CacheCheck(Li3_MW2toMTOP2_cache, NumPar, params))
174  return Li3_MW2toMTOP2_cache[NumPar];
175  else {
176  double newResult = PolyLog.Li3(Mw_i * Mw_i / SM.getMtpole() / SM.getMtpole());
177  newCacheForDouble(Li3_MW2toMTOP2_cache, NumPar, params, newResult);
178  return newResult;
179  }
180 }
181 
182 double EWSMcache::Li3_for_F1(const double Mw_i) const
183 {
184  int NumPar = 2;
185  double params[] = {Mw_i, SM.getMtpole()};
186 
187  if (CacheCheck(Li3_for_F1_cache, NumPar, params))
188  return Li3_for_F1_cache[NumPar];
189  else {
190  double tmp = Mw_i * Mw_i / SM.getMtpole() / SM.getMtpole();
191  double newResult = PolyLog.Li3(-tmp / (1.0 - tmp));
192  newCacheForDouble(Li3_for_F1_cache, NumPar, params, newResult);
193  return newResult;
194  }
195 }
196 
197 double EWSMcache::A0_Mz2_Mw2(const double Mw_i) const
198 {
199  int NumPar = 2;
200  double params[] = {SM.getMz(), Mw_i};
201 
202  if (CacheCheck(A0_Mz2_Mw2_cache, NumPar, params))
203  return A0_Mz2_Mw2_cache[NumPar];
204  else {
205  double newResult = PV.A0(SM.getMz() * SM.getMz(), Mw_i * Mw_i);
206  newCacheForDouble(A0_Mz2_Mw2_cache, NumPar, params, newResult);
207  return newResult;
208  }
209 }
210 
211 double EWSMcache::A0_Mz2_mh2() const
212 {
213  int NumPar = 2;
214  double params[] = {SM.getMz(), SM.getMHl()};
215 
216  if (CacheCheck(A0_Mz2_mh2_cache, NumPar, params))
217  return A0_Mz2_mh2_cache[NumPar];
218  else {
219  double newResult = PV.A0(SM.getMz() * SM.getMz(), SM.getMHl() * SM.getMHl());
220  newCacheForDouble(A0_Mz2_mh2_cache, NumPar, params, newResult);
221  return newResult;
222  }
223 }
224 
225 double EWSMcache::A0_Mw2_Mz2(const double Mw_i) const
226 {
227  int NumPar = 2;
228  double params[] = {Mw_i, SM.getMz()};
229 
230  if (CacheCheck(A0_Mw2_Mz2_cache, NumPar, params))
231  return A0_Mw2_Mz2_cache[NumPar];
232  else {
233  double newResult = PV.A0(Mw_i*Mw_i, SM.getMz() * SM.getMz());
234  newCacheForDouble(A0_Mw2_Mz2_cache, NumPar, params, newResult);
235  return newResult;
236  }
237 }
238 
239 double EWSMcache::A0_Mw2_mh2(const double Mw_i) const
240 {
241  int NumPar = 2;
242  double params[] = {Mw_i, SM.getMHl()};
243 
244  if (CacheCheck(A0_Mw2_mh2_cache, NumPar, params))
245  return A0_Mw2_mh2_cache[NumPar];
246  else {
247  double newResult = PV.A0(Mw_i*Mw_i, SM.getMHl() * SM.getMHl());
248  newCacheForDouble(A0_Mw2_mh2_cache, NumPar, params, newResult);
249  return newResult;
250  }
251 }
252 
253 double EWSMcache::A0_Mz2_Mz2() const
254 {
255  int NumPar = 1;
256  double params[] = {SM.getMz()};
257 
258  if (CacheCheck(A0_Mz2_Mz2_cache, NumPar, params))
259  return A0_Mz2_Mz2_cache[NumPar];
260  else {
261  double newResult = PV.A0(SM.getMz() * SM.getMz(), SM.getMz() * SM.getMz());
262  newCacheForDouble(A0_Mz2_Mz2_cache, NumPar, params, newResult);
263  return newResult;
264  }
265 }
266 
267 double EWSMcache::A0_Mw2_Mw2(const double Mw_i) const
268 {
269  int NumPar = 1;
270  double params[] = {Mw_i};
271 
272  if (CacheCheck(A0_Mw2_Mw2_cache, NumPar, params))
273  return A0_Mw2_Mw2_cache[NumPar];
274  else {
275  double newResult = PV.A0(Mw_i*Mw_i, Mw_i * Mw_i);
276  newCacheForDouble(A0_Mw2_Mw2_cache, NumPar, params, newResult);
277  return newResult;
278  }
279 }
280 
282 {
283  int NumPar = 3;
284  double params[] = {SM.getMz(), Mw_i, SM.getMHl()};
285 
286  if (CacheCheck(B0_Mz2_Mw2_mh2_Mw2_cache, NumPar, params))
288  B0_Mz2_Mw2_mh2_Mw2_cache[NumPar + 1], false);
289  else {
290  gslpp::complex newResult = PV.B0(SM.getMz() * SM.getMz(), Mw_i*Mw_i, SM.getMHl() * SM.getMHl(), Mw_i * Mw_i);
291  newCacheForComplex(B0_Mz2_Mw2_mh2_Mw2_cache, NumPar, params, newResult);
292  return newResult;
293  }
294 }
295 
297 {
298  int NumPar = 3;
299  double params[] = {SM.getMz(), SM.getMHl(), Mw_i};
300 
301  if (CacheCheck(B0_Mz2_0_mh2_Mw2_cache, NumPar, params))
302  return gslpp::complex(B0_Mz2_0_mh2_Mw2_cache[NumPar],
303  B0_Mz2_0_mh2_Mw2_cache[NumPar + 1], false);
304  else {
305  gslpp::complex newResult = PV.B0(SM.getMz() * SM.getMz(), 0.0, SM.getMHl() * SM.getMHl(), Mw_i * Mw_i);
306  newCacheForComplex(B0_Mz2_0_mh2_Mw2_cache, NumPar, params, newResult);
307  return newResult;
308  }
309 }
310 
312 {
313  int NumPar = 3;
314  double params[] = {Mw_i, SM.getMz(), SM.getMtpole()};
315 
316  if (CacheCheck(B0_Mw2_Mz2_Mt2_Mt2_cache, NumPar, params))
318  B0_Mw2_Mz2_Mt2_Mt2_cache[NumPar + 1], false);
319  else {
320  gslpp::complex newResult = PV.B0(Mw_i*Mw_i, SM.getMz() * SM.getMz(), SM.getMtpole() * SM.getMtpole(), SM.getMtpole() * SM.getMtpole());
321  newCacheForComplex(B0_Mw2_Mz2_Mt2_Mt2_cache, NumPar, params, newResult);
322  return newResult;
323  }
324 }
325 
327 {
328  int NumPar = 2;
329  double params[] = {SM.getMz(), Mw_i};
330 
331  if (CacheCheck(B0_Mz2_Mz2_Mw2_Mw2_cache, NumPar, params))
333  B0_Mz2_Mz2_Mw2_Mw2_cache[NumPar + 1], false);
334  else {
335  gslpp::complex newResult = PV.B0(SM.getMz() * SM.getMz(), SM.getMz() * SM.getMz(), Mw_i*Mw_i, Mw_i * Mw_i);
336  newCacheForComplex(B0_Mz2_Mz2_Mw2_Mw2_cache, NumPar, params, newResult);
337  return newResult;
338  }
339 }
340 
342 {
343  int NumPar = 2;
344  double params[] = {SM.getMz(), SM.getMHl()};
345 
346  if (CacheCheck(B0_Mz2_Mz2_mh2_Mz2_cache, NumPar, params))
348  B0_Mz2_Mz2_mh2_Mz2_cache[NumPar + 1], false);
349  else {
350  gslpp::complex newResult = PV.B0(SM.getMz() * SM.getMz(), SM.getMz() * SM.getMz(), SM.getMHl() * SM.getMHl(), SM.getMz() * SM.getMz());
351  newCacheForComplex(B0_Mz2_Mz2_mh2_Mz2_cache, NumPar, params, newResult);
352  return newResult;
353  }
354 }
355 
357 {
358  int NumPar = 2;
359  double params[] = {SM.getMz(), Mw_i};
360 
361  if (CacheCheck(B0_Mz2_Mw2_Mz2_Mw2_cache, NumPar, params))
363  B0_Mz2_Mw2_Mz2_Mw2_cache[NumPar + 1], false);
364  else {
365  gslpp::complex newResult = PV.B0(SM.getMz() * SM.getMz(), Mw_i*Mw_i, SM.getMz() * SM.getMz(), Mw_i * Mw_i);
366  newCacheForComplex(B0_Mz2_Mw2_Mz2_Mw2_cache, NumPar, params, newResult);
367  return newResult;
368  }
369 }
370 
372 {
373  int NumPar = 2;
374  double params[] = {SM.getMz(), Mw_i};
375 
376  if (CacheCheck(B0_Mz2_Mw2_0_Mw2_cache, NumPar, params))
377  return gslpp::complex(B0_Mz2_Mw2_0_Mw2_cache[NumPar],
378  B0_Mz2_Mw2_0_Mw2_cache[NumPar + 1], false);
379  else {
380  gslpp::complex newResult = PV.B0(SM.getMz() * SM.getMz(), Mw_i*Mw_i, 0.0, Mw_i * Mw_i);
381  newCacheForComplex(B0_Mz2_Mw2_0_Mw2_cache, NumPar, params, newResult);
382  return newResult;
383  }
384 }
385 
387 {
388  int NumPar = 2;
389  double params[] = {SM.getMz(), Mw_i};
390 
391  if (CacheCheck(B0_Mz2_0_Mz2_Mw2_cache, NumPar, params))
392  return gslpp::complex(B0_Mz2_0_Mz2_Mw2_cache[NumPar],
393  B0_Mz2_0_Mz2_Mw2_cache[NumPar + 1], false);
394  else {
395  gslpp::complex newResult = PV.B0(SM.getMz() * SM.getMz(), 0.0, SM.getMz() * SM.getMz(), Mw_i * Mw_i);
396  newCacheForComplex(B0_Mz2_0_Mz2_Mw2_cache, NumPar, params, newResult);
397  return newResult;
398  }
399 }
400 
402 {
403  int NumPar = 2;
404  double params[] = {SM.getMz(), Mw_i};
405 
406  if (CacheCheck(B0_Mz2_0_0_Mw2_cache, NumPar, params))
407  return gslpp::complex(B0_Mz2_0_0_Mw2_cache[NumPar],
408  B0_Mz2_0_0_Mw2_cache[NumPar + 1], false);
409  else {
410  gslpp::complex newResult = PV.B0(SM.getMz() * SM.getMz(), 0.0, 0.0, Mw_i * Mw_i);
411  newCacheForComplex(B0_Mz2_0_0_Mw2_cache, NumPar, params, newResult);
412  return newResult;
413  }
414 }
415 
417 {
418  int NumPar = 2;
419  double params[] = {Mw_i, SM.getMz()};
420 
421  if (CacheCheck(B0_Mw2_Mz2_Mw2_Mw2_cache, NumPar, params))
423  B0_Mw2_Mz2_Mw2_Mw2_cache[NumPar + 1], false);
424  else {
425  gslpp::complex newResult = PV.B0(Mw_i*Mw_i, SM.getMz() * SM.getMz(), Mw_i*Mw_i, Mw_i * Mw_i);
426  newCacheForComplex(B0_Mw2_Mz2_Mw2_Mw2_cache, NumPar, params, newResult);
427  return newResult;
428  }
429 }
430 
432 {
433  int NumPar = 2;
434  double params[] = {Mw_i, SM.getMz()};
435 
436  if (CacheCheck(B0_Mw2_Mw2_Mz2_Mw2_cache, NumPar, params))
438  B0_Mw2_Mw2_Mz2_Mw2_cache[NumPar + 1], false);
439  else {
440  gslpp::complex newResult = PV.B0(Mw_i*Mw_i, Mw_i*Mw_i, SM.getMz() * SM.getMz(), Mw_i * Mw_i);
441  newCacheForComplex(B0_Mw2_Mw2_Mz2_Mw2_cache, NumPar, params, newResult);
442  return newResult;
443  }
444 }
445 
447 {
448  int NumPar = 2;
449  double params[] = {Mw_i, SM.getMHl()};
450 
451  if (CacheCheck(B0_Mw2_Mw2_mh2_Mw2_cache, NumPar, params))
453  B0_Mw2_Mw2_mh2_Mw2_cache[NumPar + 1], false);
454  else {
455  gslpp::complex newResult = PV.B0(Mw_i*Mw_i, Mw_i*Mw_i, SM.getMHl() * SM.getMHl(), Mw_i * Mw_i);
456  newCacheForComplex(B0_Mw2_Mw2_mh2_Mw2_cache, NumPar, params, newResult);
457  return newResult;
458  }
459 }
460 
462 {
463  int NumPar = 1;
464  double params[] = {Mw_i};
465 
466  if (CacheCheck(B0_Mw2_Mw2_0_Mw2_cache, NumPar, params))
467  return gslpp::complex(B0_Mw2_Mw2_0_Mw2_cache[NumPar],
468  B0_Mw2_Mw2_0_Mw2_cache[NumPar + 1], false);
469  else {
470  gslpp::complex newResult = PV.B0(Mw_i*Mw_i, Mw_i*Mw_i, 0.0, Mw_i * Mw_i);
471  newCacheForComplex(B0_Mw2_Mw2_0_Mw2_cache, NumPar, params, newResult);
472  return newResult;
473  }
474 }
475 
477 {
478  int NumPar = 2;
479  double params[] = {SM.getMz(), mf(f, SM.getMz())};
480  int ind = f.getIndex();
481  if (CacheCheck(B0_Mz2_Mz2_mf2_mf2_cache[ind], NumPar, params))
482  return gslpp::complex(B0_Mz2_Mz2_mf2_mf2_cache[ind][NumPar],
483  B0_Mz2_Mz2_mf2_mf2_cache[ind][NumPar + 1], false);
484  else {
485  gslpp::complex newResult = PV.B0(SM.getMz() * SM.getMz(), SM.getMz() * SM.getMz(), mf2(f, SM.getMz()), mf2(f, SM.getMz()));
486  newCacheForComplex(B0_Mz2_Mz2_mf2_mf2_cache[ind], NumPar, params, newResult);
487  return newResult;
488  }
489 }
490 
492 {
493  int NumPar = 3;
494  double params[] = {SM.getMz(), SM.getMHl(), Mw_i};
495 
496  if (CacheCheck(B0p_Mz2_0_mh2_Mw2_cache, NumPar, params))
498  B0p_Mz2_0_mh2_Mw2_cache[NumPar + 1], false);
499  else {
500  gslpp::complex newResult = PV.B0p(SM.getMz() * SM.getMz(), 0.0, SM.getMHl() * SM.getMHl(), Mw_i * Mw_i);
501  newCacheForComplex(B0p_Mz2_0_mh2_Mw2_cache, NumPar, params, newResult);
502  return newResult;
503  }
504 }
505 
507 {
508  int NumPar = 2;
509  double params[] = {SM.getMz(), SM.getMHl()};
510 
511  if (CacheCheck(B0p_Mz2_Mz2_mh2_Mz2_cache, NumPar, params))
513  B0p_Mz2_Mz2_mh2_Mz2_cache[NumPar + 1], false);
514  else {
515  gslpp::complex newResult = PV.B0p(SM.getMz() * SM.getMz(), SM.getMz() * SM.getMz(), SM.getMHl() * SM.getMHl(), SM.getMz() * SM.getMz());
516  newCacheForComplex(B0p_Mz2_Mz2_mh2_Mz2_cache, NumPar, params, newResult);
517  return newResult;
518  }
519 }
520 
522 {
523  int NumPar = 2;
524  double params[] = {SM.getMz(), Mw_i};
525 
526  if (CacheCheck(B0p_Mz2_0_Mz2_Mw2_cache, NumPar, params))
528  B0p_Mz2_0_Mz2_Mw2_cache[NumPar + 1], false);
529  else {
530  gslpp::complex newResult = PV.B0p(SM.getMz() * SM.getMz(), 0.0, SM.getMz() * SM.getMz(), Mw_i * Mw_i);
531  newCacheForComplex(B0p_Mz2_0_Mz2_Mw2_cache, NumPar, params, newResult);
532  return newResult;
533  }
534 }
535 
537 {
538  int NumPar = 2;
539  double params[] = {SM.getMz(), Mw_i};
540 
541  if (CacheCheck(B0p_Mz2_Mz2_Mw2_Mw2_cache, NumPar, params))
543  B0p_Mz2_Mz2_Mw2_Mw2_cache[NumPar + 1], false);
544  else {
545  gslpp::complex newResult = PV.B0p(SM.getMz() * SM.getMz(), SM.getMz() * SM.getMz(), Mw_i*Mw_i, Mw_i * Mw_i);
546  newCacheForComplex(B0p_Mz2_Mz2_Mw2_Mw2_cache, NumPar, params, newResult);
547  return newResult;
548  }
549 }
550 
552 {
553  int NumPar = 2;
554  double params[] = {Mw_i, SM.getMz()};
555 
556  if (CacheCheck(B0p_Mw2_Mw2_Mz2_Mw2_cache, NumPar, params))
558  B0p_Mw2_Mw2_Mz2_Mw2_cache[NumPar + 1], false);
559  else {
560  gslpp::complex newResult = PV.B0p(Mw_i*Mw_i, Mw_i*Mw_i, SM.getMz() * SM.getMz(), Mw_i * Mw_i);
561  newCacheForComplex(B0p_Mw2_Mw2_Mz2_Mw2_cache, NumPar, params, newResult);
562  return newResult;
563  }
564 }
565 
567 {
568  int NumPar = 2;
569  double params[] = {Mw_i, SM.getMHl()};
570 
571  if (CacheCheck(B0p_Mw2_Mw2_mh2_Mw2_cache, NumPar, params))
573  B0p_Mw2_Mw2_mh2_Mw2_cache[NumPar + 1], false);
574  else {
575  gslpp::complex newResult = PV.B0p(Mw_i*Mw_i, Mw_i*Mw_i, SM.getMHl() * SM.getMHl(), Mw_i * Mw_i);
576  newCacheForComplex(B0p_Mw2_Mw2_mh2_Mw2_cache, NumPar, params, newResult);
577  return newResult;
578  }
579 }
580 
582 {
583  int NumPar = 1;
584  double params[] = {Mw_i};
585 
586  if (CacheCheck(B0p_Mw2_Mw2_0_Mw2_cache, NumPar, params))
588  B0p_Mw2_Mw2_0_Mw2_cache[NumPar + 1], false);
589  else {
590  gslpp::complex newResult = PV.B0p(Mw_i*Mw_i, Mw_i*Mw_i, 0.0, Mw_i * Mw_i);
591  newCacheForComplex(B0p_Mw2_Mw2_0_Mw2_cache, NumPar, params, newResult);
592  return newResult;
593  }
594 }
595 
597 {
598  int NumPar = 2;
599  double params[] = {SM.getMz(), mf(f, SM.getMz())};
600  int ind = f.getIndex();
601  if (CacheCheck(B0p_Mz2_Mz2_mf2_mf2_cache[ind], NumPar, params))
602  return gslpp::complex(B0p_Mz2_Mz2_mf2_mf2_cache[ind][NumPar],
603  B0p_Mz2_Mz2_mf2_mf2_cache[ind][NumPar + 1], false);
604  else {
605  gslpp::complex newResult = PV.B0p(SM.getMz() * SM.getMz(), SM.getMz() * SM.getMz(), mf2(f, SM.getMz()), mf2(f, SM.getMz()));
606  newCacheForComplex(B0p_Mz2_Mz2_mf2_mf2_cache[ind], NumPar, params, newResult);
607  return newResult;
608  }
609 }
610 
612 {
613  int NumPar = 3;
614  double mymf, mymfprime;
615  double Mz = SM.getMz();
616  if (gen < 3) {
617  mymf = mf(SM.getLeptons((QCD::lepton) (2 * gen)), Mz);
618  mymfprime = mf(SM.getLeptons((QCD::lepton) (2 * gen + 1)), Mz);
619  } else {
620  int genq = gen - 3;
621  mymf = mf(SM.getQuarks((QCD::quark) (2 * genq)), Mz);
622  mymfprime = mf(SM.getQuarks((QCD::quark) (2 * genq + 1)), Mz);
623  }
624  double params[] = {Mz, mymf, mymfprime};
625 
626  if (CacheCheck(B1_Mz2_0_mf2_mfprime2_cache[gen], NumPar, params))
627  return gslpp::complex(B1_Mz2_0_mf2_mfprime2_cache[gen][NumPar],
628  B1_Mz2_0_mf2_mfprime2_cache[gen][NumPar + 1], false);
629  else {
630  double mf2 = mymf*mymf;
631  double mfprime2 = mymfprime*mymfprime;
632  gslpp::complex newResult = PV.B1(Mz * Mz, 0.0, mf2, mfprime2);
633  newCacheForComplex(B1_Mz2_0_mf2_mfprime2_cache[gen], NumPar, params, newResult);
634  return newResult;
635  }
636 }
637 
639 {
640  int NumPar = 3;
641  double mymf, mymfprime;
642  double Mz = SM.getMz();
643  if (gen < 3) {
644  mymf = mf(SM.getLeptons((QCD::lepton) (2 * gen)), Mz);
645  mymfprime = mf(SM.getLeptons((QCD::lepton) (2 * gen + 1)), Mz);
646  } else {
647  int genq = gen - 3;
648  mymf = mf(SM.getQuarks((QCD::quark) (2 * genq)), Mz);
649  mymfprime = mf(SM.getQuarks((QCD::quark) (2 * genq + 1)), Mz);
650  }
651  double params[] = {Mz, mymf, mymfprime};
652 
653  if (CacheCheck(B1_Mz2_0_mfprime2_mf2_cache[gen], NumPar, params))
654  return gslpp::complex(B1_Mz2_0_mfprime2_mf2_cache[gen][NumPar],
655  B1_Mz2_0_mfprime2_mf2_cache[gen][NumPar + 1], false);
656  else {
657  double mf2 = mymf*mymf;
658  double mfprime2 = mymfprime*mymfprime;
659  gslpp::complex newResult = PV.B1(Mz * Mz, 0.0, mfprime2, mf2);
660  newCacheForComplex(B1_Mz2_0_mfprime2_mf2_cache[gen], NumPar, params, newResult);
661  return newResult;
662  }
663 }
664 
665 gslpp::complex EWSMcache::B1_Mz2_Mw2_mf2_mfprime2(const int gen, const double Mw_i) const
666 {
667  int NumPar = 4;
668  double mymf, mymfprime;
669  double Mz = SM.getMz();
670  if (gen < 3) {
671  mymf = mf(SM.getLeptons((QCD::lepton) (2 * gen)), Mz);
672  mymfprime = mf(SM.getLeptons((QCD::lepton) (2 * gen + 1)), Mz);
673  } else {
674  int genq = gen - 3;
675  mymf = mf(SM.getQuarks((QCD::quark) (2 * genq)), Mz);
676  mymfprime = mf(SM.getQuarks((QCD::quark) (2 * genq + 1)), Mz);
677  }
678  double params[] = {Mz, Mw_i, mymf, mymfprime};
679 
680  if (CacheCheck(B1_Mz2_Mw2_mf2_mfprime2_cache[gen], NumPar, params))
681  return gslpp::complex(B1_Mz2_Mw2_mf2_mfprime2_cache[gen][NumPar],
682  B1_Mz2_Mw2_mf2_mfprime2_cache[gen][NumPar + 1], false);
683  else {
684  double mf2 = mymf*mymf;
685  double mfprime2 = mymfprime*mymfprime;
686  gslpp::complex newResult = PV.B1(Mz * Mz, Mw_i*Mw_i, mf2, mfprime2);
687  newCacheForComplex(B1_Mz2_Mw2_mf2_mfprime2_cache[gen], NumPar, params, newResult);
688  return newResult;
689  }
690 }
691 
692 gslpp::complex EWSMcache::B1_Mz2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const
693 {
694  int NumPar = 4;
695  double mymf, mymfprime;
696  double Mz = SM.getMz();
697  if (gen < 3) {
698  mymf = mf(SM.getLeptons((QCD::lepton) (2 * gen)), Mz);
699  mymfprime = mf(SM.getLeptons((QCD::lepton) (2 * gen + 1)), Mz);
700  } else {
701  int genq = gen - 3;
702  mymf = mf(SM.getQuarks((QCD::quark) (2 * genq)), Mz);
703  mymfprime = mf(SM.getQuarks((QCD::quark) (2 * genq + 1)), Mz);
704  }
705  double params[] = {Mz, Mw_i, mymf, mymfprime};
706 
707  if (CacheCheck(B1_Mz2_Mw2_mfprime2_mf2_cache[gen], NumPar, params))
708  return gslpp::complex(B1_Mz2_Mw2_mfprime2_mf2_cache[gen][NumPar],
709  B1_Mz2_Mw2_mfprime2_mf2_cache[gen][NumPar + 1], false);
710  else {
711  double mf2 = mymf*mymf;
712  double mfprime2 = mymfprime*mymfprime;
713  gslpp::complex newResult = PV.B1(Mz * Mz, Mw_i*Mw_i, mfprime2, mf2);
714  newCacheForComplex(B1_Mz2_Mw2_mfprime2_mf2_cache[gen], NumPar, params, newResult);
715  return newResult;
716  }
717 }
718 
719 gslpp::complex EWSMcache::B1p_Mw2_Mw2_mf2_mfprime2(const int gen, const double Mw_i) const
720 {
721  int NumPar = 3;
722  double mymf, mymfprime;
723  double Mz = SM.getMz();
724  if (gen < 3) {
725  mymf = mf(SM.getLeptons((QCD::lepton) (2 * gen)), Mz);
726  mymfprime = mf(SM.getLeptons((QCD::lepton) (2 * gen + 1)), Mz);
727  } else {
728  int genq = gen - 3;
729  mymf = mf(SM.getQuarks((QCD::quark) (2 * genq)), Mz);
730  mymfprime = mf(SM.getQuarks((QCD::quark) (2 * genq + 1)), Mz);
731  }
732  double params[] = {Mw_i, mymf, mymfprime};
733 
734  if (CacheCheck(B1p_Mw2_Mw2_mf2_mfprime2_cache[gen], NumPar, params))
736  B1p_Mw2_Mw2_mf2_mfprime2_cache[gen][NumPar + 1], false);
737  else {
738  double mf2 = mymf*mymf;
739  double mfprime2 = mymfprime*mymfprime;
740  gslpp::complex newResult = PV.B1p(Mw_i*Mw_i, Mw_i*Mw_i, mf2, mfprime2);
741  newCacheForComplex(B1p_Mw2_Mw2_mf2_mfprime2_cache[gen], NumPar, params, newResult);
742  return newResult;
743  }
744 }
745 
746 gslpp::complex EWSMcache::B1p_Mw2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const
747 {
748  int NumPar = 3;
749  double mymf, mymfprime;
750  double Mz = SM.getMz();
751  if (gen < 3) {
752  mymf = mf(SM.getLeptons((QCD::lepton) (2 * gen)), Mz);
753  mymfprime = mf(SM.getLeptons((QCD::lepton) (2 * gen + 1)), Mz);
754  } else {
755  int genq = gen - 3;
756  mymf = mf(SM.getQuarks((QCD::quark) (2 * genq)), Mz);
757  mymfprime = mf(SM.getQuarks((QCD::quark) (2 * genq + 1)), Mz);
758  }
759  double params[] = {Mw_i, mymf, mymfprime};
760 
761  if (CacheCheck(B1p_Mw2_Mw2_mfprime2_mf2_cache[gen], NumPar, params))
763  B1p_Mw2_Mw2_mfprime2_mf2_cache[gen][NumPar + 1], false);
764  else {
765  double mf2 = mymf*mymf;
766  double mfprime2 = mymfprime*mymfprime;
767  gslpp::complex newResult = PV.B1p(Mw_i*Mw_i, Mw_i*Mw_i, mfprime2, mf2);
768  newCacheForComplex(B1p_Mw2_Mw2_mfprime2_mf2_cache[gen], NumPar, params, newResult);
769  return newResult;
770  }
771 }
772 
774 {
775  int NumPar = 2;
776  double params[] = {SM.getMz(), mf(f, SM.getMz())};
777  int ind = f.getIndex();
778  if (CacheCheck(Bf_Mz2_Mz2_mf2_mf2_cache[ind], NumPar, params))
779  return gslpp::complex(Bf_Mz2_Mz2_mf2_mf2_cache[ind][NumPar],
780  Bf_Mz2_Mz2_mf2_mf2_cache[ind][NumPar + 1], false);
781  else {
782  gslpp::complex newResult = PV.Bf(SM.getMz() * SM.getMz(), SM.getMz() * SM.getMz(), mf2(f, SM.getMz()), mf2(f, SM.getMz()));
783  newCacheForComplex(Bf_Mz2_Mz2_mf2_mf2_cache[ind], NumPar, params, newResult);
784  return newResult;
785  }
786 }
787 
789 {
790  int NumPar = 2;
791  double params[] = {SM.getMz(), mf(f, SM.getMz())};
792  if (params[1] == 0.0)
793  throw std::runtime_error("Error in EWSMcache::Bf_Mz_0_mf_mf()");
794  int ind = f.getIndex();
795  if (CacheCheck(Bf_Mz2_0_mf2_mf2_cache[ind], NumPar, params))
796  return gslpp::complex(Bf_Mz2_0_mf2_mf2_cache[ind][NumPar],
797  Bf_Mz2_0_mf2_mf2_cache[ind][NumPar + 1], false);
798  else {
799  gslpp::complex newResult = PV.Bf(SM.getMz() * SM.getMz(), 0.0, mf2(f, SM.getMz()), mf2(f, SM.getMz()));
800  newCacheForComplex(Bf_Mz2_0_mf2_mf2_cache[ind], NumPar, params, newResult);
801  return newResult;
802  }
803 }
804 
805 gslpp::complex EWSMcache::Bf_Mz2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const
806 {
807  int NumPar = 4;
808  double mymf, mymfprime;
809  double Mz = SM.getMz();
810  if (gen < 3) {
811  mymf = mf(SM.getLeptons((QCD::lepton) (2 * gen)), Mz);
812  mymfprime = mf(SM.getLeptons((QCD::lepton) (2 * gen + 1)), Mz);
813  } else {
814  int genq = gen - 3;
815  mymf = mf(SM.getQuarks((QCD::quark) (2 * genq)), Mz);
816  mymfprime = mf(SM.getQuarks((QCD::quark) (2 * genq + 1)), Mz);
817  }
818  double params[] = {Mz, Mw_i, mymf, mymfprime};
819  if (CacheCheck(Bf_Mz2_Mw2_mfprime2_mf2_cache[gen], NumPar, params))
820  return gslpp::complex(Bf_Mz2_Mw2_mfprime2_mf2_cache[gen][NumPar],
821  Bf_Mz2_Mw2_mfprime2_mf2_cache[gen][NumPar + 1], false);
822  else {
823  double mf2 = mymf*mymf;
824  double mfprime2 = mymfprime*mymfprime;
825  gslpp::complex newResult = PV.Bf(Mz * Mz, Mw_i*Mw_i, mfprime2, mf2);
826  newCacheForComplex(Bf_Mz2_Mw2_mfprime2_mf2_cache[gen], NumPar, params, newResult);
827  return newResult;
828  }
829 }
830 
832 {
833  int NumPar = 3;
834  double mymf, mymfprime;
835  double Mz = SM.getMz();
836  if (gen < 3) {
837  mymf = mf(SM.getLeptons((QCD::lepton) (2 * gen)), Mz);
838  mymfprime = mf(SM.getLeptons((QCD::lepton) (2 * gen + 1)), Mz);
839  } else {
840  int genq = gen - 3;
841  mymf = mf(SM.getQuarks((QCD::quark) (2 * genq)), Mz);
842  mymfprime = mf(SM.getQuarks((QCD::quark) (2 * genq + 1)), Mz);
843  }
844  double params[] = {Mz, mymf, mymfprime};
845 
846  if (CacheCheck(Bf_Mz2_0_mfprime2_mf2_cache[gen], NumPar, params))
847  return gslpp::complex(Bf_Mz2_0_mfprime2_mf2_cache[gen][NumPar],
848  Bf_Mz2_0_mfprime2_mf2_cache[gen][NumPar + 1], false);
849  else {
850  double mf2 = mymf*mymf;
851  double mfprime2 = mymfprime*mymfprime;
852  gslpp::complex newResult = PV.Bf(Mz * Mz, 0.0, mfprime2, mf2);
853  newCacheForComplex(Bf_Mz2_0_mfprime2_mf2_cache[gen], NumPar, params, newResult);
854  return newResult;
855  }
856 }
857 
858 gslpp::complex EWSMcache::Bf_Mw2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const
859 {
860  int NumPar = 3;
861  double mymf, mymfprime;
862  double Mz = SM.getMz();
863  if (gen < 3) {
864  mymf = mf(SM.getLeptons((QCD::lepton) (2 * gen)), Mz);
865  mymfprime = mf(SM.getLeptons((QCD::lepton) (2 * gen + 1)), Mz);
866  } else {
867  int genq = gen - 3;
868  mymf = mf(SM.getQuarks((QCD::quark) (2 * genq)), Mz);
869  mymfprime = mf(SM.getQuarks((QCD::quark) (2 * genq + 1)), Mz);
870  }
871  double params[] = {Mw_i, mymf, mymfprime};
872 
873  if (CacheCheck(Bf_Mw2_Mw2_mfprime2_mf2_cache[gen], NumPar, params))
874  return gslpp::complex(Bf_Mw2_Mw2_mfprime2_mf2_cache[gen][NumPar],
875  Bf_Mw2_Mw2_mfprime2_mf2_cache[gen][NumPar + 1], false);
876  else {
877  double mf2 = mymf*mymf;
878  double mfprime2 = mymfprime*mymfprime;
879  gslpp::complex newResult = PV.Bf(Mw_i*Mw_i, Mw_i*Mw_i, mfprime2, mf2);
880  newCacheForComplex(Bf_Mw2_Mw2_mfprime2_mf2_cache[gen], NumPar, params, newResult);
881  return newResult;
882  }
883 }
884 
886 {
887  int NumPar = 2;
888  double params[] = {SM.getMz(), mf(f, SM.getMz())};
889  int ind = f.getIndex();
890  if (CacheCheck(Bfp_Mz2_Mz2_mf2_mf2_cache[ind], NumPar, params))
891  return gslpp::complex(Bfp_Mz2_Mz2_mf2_mf2_cache[ind][NumPar],
892  Bfp_Mz2_Mz2_mf2_mf2_cache[ind][NumPar + 1], false);
893  else {
894  gslpp::complex newResult = PV.Bfp(SM.getMz() * SM.getMz(), SM.getMz() * SM.getMz(), mf2(f, SM.getMz()), mf2(f, SM.getMz()));
895  newCacheForComplex(Bfp_Mz2_Mz2_mf2_mf2_cache[ind], NumPar, params, newResult);
896  return newResult;
897  }
898 }
899 
900 gslpp::complex EWSMcache::Bfp_Mw2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const
901 {
902  int NumPar = 3;
903  double mymf, mymfprime;
904  double Mz = SM.getMz();
905  if (gen < 3) {
906  mymf = mf(SM.getLeptons((QCD::lepton) (2 * gen)), Mz);
907  mymfprime = mf(SM.getLeptons((QCD::lepton) (2 * gen + 1)), Mz);
908  } else {
909  int genq = gen - 3;
910  mymf = mf(SM.getQuarks((QCD::quark) (2 * genq)), Mz);
911  mymfprime = mf(SM.getQuarks((QCD::quark) (2 * genq + 1)), Mz);
912  }
913  double params[] = {Mw_i, mymf, mymfprime};
914 
915  if (CacheCheck(Bfp_Mw2_Mw2_mfprime2_mf2_cache[gen], NumPar, params))
917  Bfp_Mw2_Mw2_mfprime2_mf2_cache[gen][NumPar + 1], false);
918  else {
919  double mf2 = mymf*mymf;
920  double mfprime2 = mymfprime*mymfprime;
921  gslpp::complex newResult = PV.Bfp(Mw_i*Mw_i, Mw_i*Mw_i, mfprime2, mf2);
922  newCacheForComplex(Bfp_Mw2_Mw2_mfprime2_mf2_cache[gen], NumPar, params, newResult);
923  return newResult;
924  }
925 }
926 
928 {
929  int NumPar = 3;
930  double params[] = {SM.getMz(), Mw_i, SM.getMtpole()};
931 
932  if (CacheCheck(C0_Mz2_Mw2_Mt2_Mw2_cache, NumPar, params))
934  C0_Mz2_Mw2_Mt2_Mw2_cache[NumPar + 1], false);
935  else {
936  gslpp::complex newResult = PV.C0(SM.getMz() * SM.getMz(), Mw_i*Mw_i, SM.getMtpole() * SM.getMtpole(), Mw_i * Mw_i);
937  newCacheForComplex(C0_Mz2_Mw2_Mt2_Mw2_cache, NumPar, params, newResult);
938  return newResult;
939  }
940 }
941 
943 {
944  int NumPar = 3;
945  double params[] = {SM.getMz(), SM.getMtpole(), Mw_i};
946 
947  if (CacheCheck(C0_Mz2_Mt2_Mw2_Mt2_cache, NumPar, params))
949  C0_Mz2_Mt2_Mw2_Mt2_cache[NumPar + 1], false);
950  else {
951  gslpp::complex newResult = PV.C0(SM.getMz() * SM.getMz(), SM.getMtpole() * SM.getMtpole(), Mw_i*Mw_i, SM.getMtpole() * SM.getMtpole());
952  newCacheForComplex(C0_Mz2_Mt2_Mw2_Mt2_cache, NumPar, params, newResult);
953  return newResult;
954  }
955 }
956 
958 {
959  int NumPar = 2;
960  double params[] = {SM.getMz(), Mw_i};
961 
962  if (CacheCheck(C0_Mz2_0_Mw2_0_cache, NumPar, params))
963  return gslpp::complex(C0_Mz2_0_Mw2_0_cache[NumPar],
964  C0_Mz2_0_Mw2_0_cache[NumPar + 1], false);
965  else {
966  gslpp::complex newResult = PV.C0(SM.getMz() * SM.getMz(), 0.0, Mw_i*Mw_i, 0.0);
967  newCacheForComplex(C0_Mz2_0_Mw2_0_cache, NumPar, params, newResult);
968  return newResult;
969  }
970 }
971 
973 {
974  int NumPar = 2;
975  double params[] = {SM.getMz(), Mw_i};
976 
977  if (CacheCheck(C0_Mz2_Mw2_0_Mw2_cache, NumPar, params))
978  return gslpp::complex(C0_Mz2_Mw2_0_Mw2_cache[NumPar],
979  C0_Mz2_Mw2_0_Mw2_cache[NumPar + 1], false);
980  else {
981  gslpp::complex newResult = PV.C0(SM.getMz() * SM.getMz(), Mw_i*Mw_i, 0.0, Mw_i * Mw_i);
982  newCacheForComplex(C0_Mz2_Mw2_0_Mw2_cache, NumPar, params, newResult);
983  return newResult;
984  }
985 }
986 
988 {
989  int NumPar = 2;
990  double params[] = {Mw_i, SM.getMz()};
991 
992  if (CacheCheck(C0_Mw2_Mw2_0_Mz2_cache, NumPar, params))
993  return gslpp::complex(C0_Mw2_Mw2_0_Mz2_cache[NumPar],
994  C0_Mw2_Mw2_0_Mz2_cache[NumPar + 1], false);
995  else {
996  gslpp::complex newResult = PV.C0(Mw_i*Mw_i, Mw_i*Mw_i, 0.0, SM.getMz() * SM.getMz());
997  newCacheForComplex(C0_Mw2_Mw2_0_Mz2_cache, NumPar, params, newResult);
998  return newResult;
999  }
1000 }
1001 
1003 {
1004  int NumPar = 2;
1005  double params[] = {Mw_i, SM.getMz()};
1006 
1007  if (CacheCheck(C0_Mw2_0_Mz2_0_cache, NumPar, params))
1008  return gslpp::complex(C0_Mw2_0_Mz2_0_cache[NumPar],
1009  C0_Mw2_0_Mz2_0_cache[NumPar + 1], false);
1010  else {
1011  gslpp::complex newResult = PV.C0(Mw_i*Mw_i, 0.0, SM.getMz() * SM.getMz(), 0.0);
1012  newCacheForComplex(C0_Mw2_0_Mz2_0_cache, NumPar, params, newResult);
1013  return newResult;
1014  }
1015 }
1016 
1018 {
1019  int NumPar = 1;
1020  double params[] = {SM.getMz()};
1021 
1022  if (CacheCheck(C0_Mz2_0_Mz2_0_cache, NumPar, params))
1023  return gslpp::complex(C0_Mz2_0_Mz2_0_cache[NumPar],
1024  C0_Mz2_0_Mz2_0_cache[NumPar + 1], false);
1025  else {
1026  gslpp::complex newResult = PV.C0(SM.getMz() * SM.getMz(), 0.0, SM.getMz() * SM.getMz(), 0.0);
1027  newCacheForComplex(C0_Mz2_0_Mz2_0_cache, NumPar, params, newResult);
1028  return newResult;
1029  }
1030 }
1031 
1032 
1033 
1034 
QCD::TAU
Definition: QCD.h:316
EWSMcache::mf2
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
EWSMcache::B0p_Mz2_Mz2_Mw2_Mw2_cache
double B0p_Mz2_Mz2_Mw2_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:958
EWSMcache::B0p_Mw2_Mw2_0_Mw2_cache
double B0p_Mw2_Mw2_0_Mw2_cache[3]
A cache of a PV function.
Definition: EWSMcache.h:961
EWSMcache::log2
double log2
The constant .
Definition: EWSMcache.h:900
EWSMcache::Bf_Mz2_0_mf2_mf2_cache
double Bf_Mz2_0_mf2_mf2_cache[12][4]
A cache of a PV function.
Definition: EWSMcache.h:973
StandardModel::cW2
virtual double cW2(const double Mw_i) const
The square of the cosine of the weak mixing angle in the on-shell scheme, denoted as .
Definition: StandardModel.cpp:989
EWSMcache::A0_Mw2_mh2_cache
double A0_Mw2_mh2_cache[3]
A cache of a PV function.
Definition: EWSMcache.h:925
EWSMcache::C0_Mz2_0_Mw2_0
gslpp::complex C0_Mz2_0_Mw2_0(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:957
PVfunctions::A0
double A0(const double mu2, const double m2) const
.
Definition: PVfunctions.cpp:23
EWSMcache::C0_Mz2_Mt2_Mw2_Mt2
gslpp::complex C0_Mz2_Mt2_Mw2_Mt2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:942
EWSMcache::logMZtoMTOP_cache
double logMZtoMTOP_cache[3]
A cache of .
Definition: EWSMcache.h:912
EWSMcache::B0p_Mz2_Mz2_mf2_mf2
gslpp::complex B0p_Mz2_Mz2_mf2_mf2(const Particle f) const
A cache method.
Definition: EWSMcache.cpp:596
EWSMcache::Li2_MW2toMTOP2_cache
double Li2_MW2toMTOP2_cache[3]
A cache of .
Definition: EWSMcache.h:917
PVfunctions::B1p
gslpp::complex B1p(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:356
EWSMcache::zeta2
double zeta2
The constant .
Definition: EWSMcache.h:893
EWSMcache::B0p_Mz2_0_mh2_Mw2_cache
double B0p_Mz2_0_mh2_Mw2_cache[5]
A cache of a PV function.
Definition: EWSMcache.h:955
Particle::is
bool is(std::string name_i) const
Definition: Particle.cpp:23
EWSMcache::B0_Mz2_Mw2_mh2_Mw2_cache
double B0_Mz2_Mw2_mh2_Mw2_cache[5]
A cache of a PV function.
Definition: EWSMcache.h:940
Particle
A class for particles.
Definition: Particle.h:26
EWSMcache::B0_Mz2_0_Mz2_Mw2_cache
double B0_Mz2_0_Mz2_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:947
EWSMcache::Bfp_Mz2_Mz2_mf2_mf2
gslpp::complex Bfp_Mz2_Mz2_mf2_mf2(const Particle f) const
A cache method.
Definition: EWSMcache.cpp:885
PVfunctions::Bf
gslpp::complex Bf(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:265
EWSMcache::zeta5
double zeta5
The constant .
Definition: EWSMcache.h:896
EWSMcache::logMTOPtoMH
double logMTOPtoMH() const
A cache method.
Definition: EWSMcache.cpp:126
EWSMcache::Li3_for_F1_cache
double Li3_for_F1_cache[3]
A cache of .
Definition: EWSMcache.h:919
StandardModel::NumSMParamsForEWPO
static const int NumSMParamsForEWPO
The number of the SM parameters that are relevant to the EW precision observables.
Definition: StandardModel.h:1849
EWSMcache::logMZtoMMU_cache
double logMZtoMMU_cache[3]
A cache of .
Definition: EWSMcache.h:910
EWSMcache::Bf_Mz2_0_mfprime2_mf2
gslpp::complex Bf_Mz2_0_mfprime2_mf2(const int gen) const
A cache method.
Definition: EWSMcache.cpp:831
EWSMcache::B0_Mz2_Mz2_mf2_mf2_cache
double B0_Mz2_Mz2_mf2_mf2_cache[12][4]
A cache of a PV function.
Definition: EWSMcache.h:953
EWSMcache::B0_Mz2_0_0_Mw2_cache
double B0_Mz2_0_0_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:948
EWSMcache::C0_Mz2_Mw2_Mt2_Mw2_cache
double C0_Mz2_Mw2_Mt2_Mw2_cache[5]
A cache of a PV function.
Definition: EWSMcache.h:981
EWSMcache::C0_Mz2_Mw2_0_Mw2_cache
double C0_Mz2_Mw2_0_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:984
EWSMcache::C0_Mz2_Mw2_0_Mw2
gslpp::complex C0_Mz2_Mw2_0_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:972
EWSMcache::C0_Mw2_Mw2_0_Mz2
gslpp::complex C0_Mw2_Mw2_0_Mz2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:987
EWSMcache::A0_Mz2_Mw2_cache
double A0_Mz2_Mw2_cache[3]
A cache of a PV function.
Definition: EWSMcache.h:922
Polylogarithms::Li3
double Li3(const double x) const
The trilogarithm .
Definition: Polylogarithms.cpp:36
EWSMcache::newCacheForDouble
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
EWSMcache::logMZtoME_cache
double logMZtoME_cache[3]
A cache of .
Definition: EWSMcache.h:909
EWSMcache::Bf_Mz2_Mz2_mf2_mf2
gslpp::complex Bf_Mz2_Mz2_mf2_mf2(const Particle f) const
A cache method.
Definition: EWSMcache.cpp:773
Polylogarithms::Li2
gslpp::complex Li2(const double x) const
The dilogarithm with a real argument, .
Definition: Polylogarithms.cpp:22
EWSMcache::D3
double D3
The constant .
Definition: EWSMcache.h:898
EWSMcache::Bf_Mz2_0_mf2_mf2
gslpp::complex Bf_Mz2_0_mf2_mf2(const Particle f) const
A cache method.
Definition: EWSMcache.cpp:788
EWSMcache::Bfp_Mz2_Mz2_mf2_mf2_cache
double Bfp_Mz2_Mz2_mf2_mf2_cache[12][4]
A cache of a PV function.
Definition: EWSMcache.h:978
gslpp::complex
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
EWSMcache::B0_Mz2_Mz2_Mw2_Mw2
gslpp::complex B0_Mz2_Mz2_Mw2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:326
gslpp::log
complex log(const complex &z)
Definition: gslpp_complex.cpp:342
EWSMcache::B0_Mz2_Mw2_0_Mw2_cache
double B0_Mz2_Mw2_0_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:946
Particle::getMass_scale
double getMass_scale() const
A get method to access the scale at which the particle mass is defined.
Definition: Particle.h:133
EWSMcache::B0_Mz2_Mz2_mh2_Mz2_cache
double B0_Mz2_Mz2_mh2_Mz2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:944
EWSMcache::B0_Mz2_Mz2_mf2_mf2
gslpp::complex B0_Mz2_Mz2_mf2_mf2(const Particle f) const
A cache method.
Definition: EWSMcache.cpp:476
EWSMcache::B1p_Mw2_Mw2_mf2_mfprime2_cache
double B1p_Mw2_Mw2_mf2_mfprime2_cache[6][5]
A cache of a PV function.
Definition: EWSMcache.h:969
EWSMcache::Li3_for_F1
double Li3_for_F1(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:182
QCD::ELECTRON
Definition: QCD.h:312
EWSMcache::PV
const PVfunctions PV
An object of type PVfunctions.
Definition: EWSMcache.h:888
EWSMcache::Bf_Mw2_Mw2_mfprime2_mf2_cache
double Bf_Mw2_Mw2_mfprime2_mf2_cache[6][5]
A cache of a PV function.
Definition: EWSMcache.h:976
StandardModel
A model class for the Standard Model.
Definition: StandardModel.h:474
EWSMcache::B0p_Mz2_0_Mz2_Mw2_cache
double B0p_Mz2_0_Mz2_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:957
EWSMcache::zeta4
double zeta4
The constant .
Definition: EWSMcache.h:895
EWSMcache::B0p_Mz2_0_Mz2_Mw2
gslpp::complex B0p_Mz2_0_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:521
EWSMcache::Li3_MW2toMTOP2
double Li3_MW2toMTOP2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:168
EWSMcache::A0_Mz2_Mw2
double A0_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:197
EWSMcache::B0_Mz2_Mw2_0_Mw2
gslpp::complex B0_Mz2_Mw2_0_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:371
EWSMcache::log_cW2_cache
double log_cW2_cache[3]
A cache of .
Definition: EWSMcache.h:914
EWSMcache::B0_Mw2_Mw2_0_Mw2_cache
double B0_Mw2_Mw2_0_Mw2_cache[3]
A cache of a PV function.
Definition: EWSMcache.h:952
EWSMcache::mf_atMz_cache
double mf_atMz_cache[12]
A cache of the fermion masses at .
Definition: EWSMcache.h:933
EWSMcache::A0_Mw2_Mz2
double A0_Mw2_Mz2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:225
EWSMcache::B0p_Mw2_Mw2_Mz2_Mw2_cache
double B0p_Mw2_Mw2_Mz2_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:959
EWSMcache::PolyLog
const Polylogarithms PolyLog
An object of type Polylogarithms.
Definition: EWSMcache.h:890
EWSMcache::A0_Mz2_mh2
double A0_Mz2_mh2() const
A cache method.
Definition: EWSMcache.cpp:211
EWSMcache::logMZtoMMU
double logMZtoMMU() const
A cache method.
Definition: EWSMcache.cpp:84
EWSMcache::B0_Mw2_Mz2_Mw2_Mw2_cache
double B0_Mw2_Mz2_Mw2_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:949
Particle::getMass
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
EWSMcache::B1_Mz2_Mw2_mfprime2_mf2
gslpp::complex B1_Mz2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:692
EWSMcache::C0_Mz2_0_Mz2_0_cache
double C0_Mz2_0_Mz2_0_cache[3]
A cache of a PV function.
Definition: EWSMcache.h:987
EWSMcache::B1p_Mw2_Mw2_mfprime2_mf2_cache
double B1p_Mw2_Mw2_mfprime2_mf2_cache[6][5]
A cache of a PV function.
Definition: EWSMcache.h:970
EWSMcache::C0_Mz2_Mt2_Mw2_Mt2_cache
double C0_Mz2_Mt2_Mw2_Mt2_cache[5]
A cache of a PV function.
Definition: EWSMcache.h:982
EWSMcache::B1p_Mw2_Mw2_mfprime2_mf2
gslpp::complex B1p_Mw2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:746
ClausenFunctions::Cl2
double Cl2(const double phi) const
The Clausen function of index 2, .
Definition: ClausenFunctions.cpp:21
PVfunctions::C0
gslpp::complex C0(const double p2, const double m02, const double m12, const double m22) const
.
Definition: PVfunctions.cpp:469
EWSMcache::mf
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
EWSMcache::B4
double B4
The constant .
Definition: EWSMcache.h:899
EWSMcache::B1_Mz2_Mw2_mf2_mfprime2_cache
double B1_Mz2_Mw2_mf2_mfprime2_cache[6][6]
A cache of a PV function.
Definition: EWSMcache.h:966
EWSMcache::B0_Mw2_Mw2_Mz2_Mw2
gslpp::complex B0_Mw2_Mw2_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:431
gslpp::sqrt
complex sqrt(const complex &z)
Definition: gslpp_complex.cpp:385
EWSMcache::C0_Mw2_Mw2_0_Mz2_cache
double C0_Mw2_Mw2_0_Mz2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:985
EWSMcache::C0_Mz2_0_Mz2_0
gslpp::complex C0_Mz2_0_Mz2_0() const
A cache method.
Definition: EWSMcache.cpp:1017
EWSMcache::B1_Mz2_Mw2_mf2_mfprime2
gslpp::complex B1_Mz2_Mw2_mf2_mfprime2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:665
EWSMcache::A0_Mw2_Mz2_cache
double A0_Mw2_Mz2_cache[3]
A cache of a PV function.
Definition: EWSMcache.h:924
QCD::getMtpole
double getMtpole() const
A get method to access the pole mass of the top quark.
Definition: QCD.h:588
EWSMcache::B0_Mz2_Mw2_mh2_Mw2
gslpp::complex B0_Mz2_Mw2_mh2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:281
EWSMcache::EWSMcache
EWSMcache(const StandardModel &SM_i)
Constructor.
Definition: EWSMcache.cpp:15
EWSMcache.h
EWSMcache::B1_Mz2_0_mf2_mfprime2_cache
double B1_Mz2_0_mf2_mfprime2_cache[6][5]
A cache of a PV function.
Definition: EWSMcache.h:964
EWSMcache::C0_Mw2_0_Mz2_0
gslpp::complex C0_Mw2_0_Mz2_0(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:1002
EWSMcache::newCacheForComplex
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
EWSMcache::B1_Mz2_0_mf2_mfprime2
gslpp::complex B1_Mz2_0_mf2_mfprime2(const int gen) const
A cache method.
Definition: EWSMcache.cpp:611
EWSMcache::A0_Mz2_Mz2
double A0_Mz2_Mz2() const
A cache method.
Definition: EWSMcache.cpp:253
EWSMcache::B0_Mz2_Mz2_Mw2_Mw2_cache
double B0_Mz2_Mz2_Mw2_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:943
EWSMcache::B1_Mz2_0_mfprime2_mf2_cache
double B1_Mz2_0_mfprime2_mf2_cache[6][5]
A cache of a PV function.
Definition: EWSMcache.h:965
EWSMcache::S2
double S2
The constant .
Definition: EWSMcache.h:897
EWSMcache::B0p_Mz2_Mz2_mf2_mf2_cache
double B0p_Mz2_Mz2_mf2_mf2_cache[12][4]
A cache of a PV function.
Definition: EWSMcache.h:962
EWSMcache::logMZtoMTAU_cache
double logMZtoMTAU_cache[3]
A cache of .
Definition: EWSMcache.h:911
PVfunctions::B0p
gslpp::complex B0p(const double muIR2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:276
EWSMcache::B0_Mz2_0_mh2_Mw2_cache
double B0_Mz2_0_mh2_Mw2_cache[5]
A cache of a PV function.
Definition: EWSMcache.h:941
EWSMcache::B1_Mz2_Mw2_mfprime2_mf2_cache
double B1_Mz2_Mw2_mfprime2_mf2_cache[6][6]
A cache of a PV function.
Definition: EWSMcache.h:967
QCD::getQuarks
Particle getQuarks(const QCD::quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:534
EWSMcache::Bf_Mz2_Mz2_mf2_mf2_cache
double Bf_Mz2_Mz2_mf2_mf2_cache[12][4]
A cache of a PV function.
Definition: EWSMcache.h:972
EWSMcache::Bfp_Mw2_Mw2_mfprime2_mf2_cache
double Bfp_Mw2_Mw2_mfprime2_mf2_cache[6][5]
A cache of a PV function.
Definition: EWSMcache.h:979
EWSMcache::SM
const StandardModel & SM
A reference to an object of type StandardModel.
Definition: EWSMcache.h:887
EWSMcache::Bf_Mz2_Mw2_mfprime2_mf2
gslpp::complex Bf_Mz2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:805
QCD::quark
quark
An enum type for quarks.
Definition: QCD.h:323
EWSMcache::C0_Mw2_0_Mz2_0_cache
double C0_Mw2_0_Mz2_0_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:986
EWSMcache::A0_Mw2_mh2
double A0_Mw2_mh2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:239
EWSMcache::B0p_Mw2_Mw2_0_Mw2
gslpp::complex B0p_Mw2_Mw2_0_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:581
EWSMcache::B0_Mz2_Mw2_Mz2_Mw2_cache
double B0_Mz2_Mw2_Mz2_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:945
EWSMcache::B0_Mw2_Mw2_mh2_Mw2
gslpp::complex B0_Mw2_Mw2_mh2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:446
EWSMcache::A0_Mz2_Mz2_cache
double A0_Mz2_Mz2_cache[2]
A cache of a PV function.
Definition: EWSMcache.h:926
EWSMcache::Li2_MW2toMTOP2
double Li2_MW2toMTOP2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:154
EWSMcache::B0_Mw2_Mz2_Mt2_Mt2
gslpp::complex B0_Mw2_Mz2_Mt2_Mt2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:311
EWSMcache::B0_Mw2_Mz2_Mt2_Mt2_cache
double B0_Mw2_Mz2_Mt2_Mt2_cache[5]
A cache of a PV function.
Definition: EWSMcache.h:942
EWSMcache::C0_Mz2_Mw2_Mt2_Mw2
gslpp::complex C0_Mz2_Mw2_Mt2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:927
EWSMcache::Bf_Mz2_Mw2_mfprime2_mf2_cache
double Bf_Mz2_Mw2_mfprime2_mf2_cache[6][6]
A cache of a PV function.
Definition: EWSMcache.h:974
EWSMcache::logMZtoMTOP
double logMZtoMTOP() const
A cache method.
Definition: EWSMcache.cpp:112
orders
orders
An enum type for orders in QCD.
Definition: OrderScheme.h:31
EWSMcache::B0p_Mz2_Mz2_Mw2_Mw2
gslpp::complex B0p_Mz2_Mz2_Mw2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:536
EWSMcache::zeta3
double zeta3
The constant .
Definition: EWSMcache.h:894
EWSMcache::log_cW2
double log_cW2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:140
EWSMcache::logMZtoMTAU
double logMZtoMTAU() const
A cache method.
Definition: EWSMcache.cpp:98
EWSMcache::B0_Mw2_Mw2_mh2_Mw2_cache
double B0_Mw2_Mw2_mh2_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:951
EWSMcache::A0_Mw2_Mw2_cache
double A0_Mw2_Mw2_cache[2]
A cache of a PV function.
Definition: EWSMcache.h:927
EWSMcache::B0_Mw2_Mz2_Mw2_Mw2
gslpp::complex B0_Mw2_Mz2_Mw2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:416
StandardModel::getMz
double getMz() const
A get method to access the mass of the boson .
Definition: StandardModel.h:718
EWSMcache::FlagDebug
bool FlagDebug
A flag for debugging (false by default).
Definition: EWSMcache.h:884
EWSMcache::CacheCheck
bool CacheCheck(const double cache[], const int NumPar, const double params[]) const
A check method for caching.
Definition: EWSMcache.h:1008
EWSMcache::Li3_MW2toMTOP2_cache
double Li3_MW2toMTOP2_cache[3]
A cache of .
Definition: EWSMcache.h:918
EWSMcache::A0_Mw2_Mw2
double A0_Mw2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:267
EWSMcache::B0p_Mz2_Mz2_mh2_Mz2_cache
double B0p_Mz2_Mz2_mh2_Mz2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:956
EWSMcache::B0_Mz2_0_Mz2_Mw2
gslpp::complex B0_Mz2_0_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:386
EWSMcache::A0_Mz2_mh2_cache
double A0_Mz2_mh2_cache[3]
A cache of a PV function.
Definition: EWSMcache.h:923
EWSMcache::B0_Mz2_Mz2_mh2_Mz2
gslpp::complex B0_Mz2_Mz2_mh2_Mz2() const
A cache method.
Definition: EWSMcache.cpp:341
EWSMcache::B0_Mz2_0_mh2_Mw2
gslpp::complex B0_Mz2_0_mh2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:296
QCD::Mrun
double Mrun(const double mu, const double m, const orders order=FULLNNLO) const
Computes a running quark mass from .
Definition: QCD.cpp:1064
EWSMcache::mf_atMz_params_cache
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
EWSMcache::B0_Mz2_0_0_Mw2
gslpp::complex B0_Mz2_0_0_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:401
EWSMcache::B1_Mz2_0_mfprime2_mf2
gslpp::complex B1_Mz2_0_mfprime2_mf2(const int gen) const
A cache method.
Definition: EWSMcache.cpp:638
Particle::getIndex
int getIndex() const
Definition: Particle.h:160
EWSMcache::B0p_Mw2_Mw2_mh2_Mw2
gslpp::complex B0p_Mw2_Mw2_mh2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:566
PVfunctions::Bfp
gslpp::complex Bfp(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:458
EWSMcache::B0p_Mw2_Mw2_Mz2_Mw2
gslpp::complex B0p_Mw2_Mw2_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:551
StandardModel::getMHl
virtual double getMHl() const
A get method to retrieve the Higgs mass .
Definition: StandardModel.h:765
EWSMcache::B0p_Mw2_Mw2_mh2_Mw2_cache
double B0p_Mw2_Mw2_mh2_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:960
PVfunctions::B0
gslpp::complex B0(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:41
EWSMcache::B1p_Mw2_Mw2_mf2_mfprime2
gslpp::complex B1p_Mw2_Mw2_mf2_mfprime2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:719
PVfunctions::B1
gslpp::complex B1(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:120
EWSMcache::B0p_Mz2_0_mh2_Mw2
gslpp::complex B0p_Mz2_0_mh2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:491
EWSMcache::logMTOPtoMH_cache
double logMTOPtoMH_cache[3]
A cache of .
Definition: EWSMcache.h:913
EWSMcache::Bf_Mw2_Mw2_mfprime2_mf2
gslpp::complex Bf_Mw2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:858
EWSMcache::logMZtoME
double logMZtoME() const
A cache method.
Definition: EWSMcache.cpp:70
EWSMcache::FlagCacheInEWSMcache
bool FlagCacheInEWSMcache
A flag for caching (true by default).
Definition: EWSMcache.h:885
EWSMcache::B0_Mw2_Mw2_Mz2_Mw2_cache
double B0_Mw2_Mw2_Mz2_Mw2_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:950
EWSMcache::C0_Mz2_0_Mw2_0_cache
double C0_Mz2_0_Mw2_0_cache[4]
A cache of a PV function.
Definition: EWSMcache.h:983
EWSMcache::Bf_Mz2_0_mfprime2_mf2_cache
double Bf_Mz2_0_mfprime2_mf2_cache[6][5]
A cache of a PV function.
Definition: EWSMcache.h:975
EWSMcache::B0p_Mz2_Mz2_mh2_Mz2
gslpp::complex B0p_Mz2_Mz2_mh2_Mz2() const
A cache method.
Definition: EWSMcache.cpp:506
EWSMcache::B0_Mw2_Mw2_0_Mw2
gslpp::complex B0_Mw2_Mw2_0_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:461
QCD::MU
Definition: QCD.h:314
EWSMcache::B0_Mz2_Mw2_Mz2_Mw2
gslpp::complex B0_Mz2_Mw2_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:356
QCD::lepton
lepton
An enum type for leptons.
Definition: QCD.h:310
EWSMcache::Clausen
const ClausenFunctions Clausen
An object of type ClausenFunctions.
Definition: EWSMcache.h:889
EWSMcache::Bfp_Mw2_Mw2_mfprime2_mf2
gslpp::complex Bfp_Mw2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:900
StandardModel::getLeptons
Particle getLeptons(const QCD::lepton p) const
A get method to retrieve the member object of a lepton.
Definition: StandardModel.h:709