GM2Calc 2.3.0
Loading...
Searching...
No Matches
gm2_uncertainty.cpp
Go to the documentation of this file.
1// ====================================================================
2// This file is part of GM2Calc.
3//
4// GM2Calc is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published
6// by the Free Software Foundation, either version 3 of the License,
7// or (at your option) any later version.
8//
9// GM2Calc is distributed in the hope that it will be useful, but
10// WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12// General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with GM2Calc. If not, see
16// <http://www.gnu.org/licenses/>.
17// ====================================================================
18
20#include "gm2calc/gm2_1loop.hpp"
21#include "gm2calc/gm2_2loop.hpp"
22
23#include <cmath>
24
25/**
26 * \file gm2_uncertainty.cpp
27 *
28 * Contains functions necessary to calculate theory uncertainty
29 * associated with amu.
30 */
31
32namespace gm2calc {
33
34/**
35 * Calculates uncertainty associated with amu(0-loop) including
36 * tan(beta) resummation.
37 *
38 * The estimated uncertainty is the magnitude amu(1-loop) (including
39 * tan(beta) resummation).
40 *
41 * @param model model parameters (unused tag type)
42 * @param amu_1L 1-loop contribution to amu
43 *
44 * @return uncertainty for amu(0-loop) w/ tan(beta) resummation
45 */
47{
48 return std::abs(amu_1L);
49}
50
51/**
52 * Calculates uncertainty associated with amu(0-loop) including
53 * tan(beta) resummation.
54 *
55 * @param model model parameters
56 *
57 * @return uncertainty for amu(0-loop) w/ tan(beta) resummation
58 */
65
66/**
67 * Calculates uncertainty associated with amu(1-loop) including
68 * tan(beta) resummation.
69 *
70 * The estimated uncertainty is the sum of magnitude amu(2-loop)
71 * (including tan(beta) resummation) and the 2-loop uncertainty.
72 *
73 * @param model model parameters
74 * @param amu_2L 2-loop contribution to amu
75 *
76 * @return uncertainty for amu(1-loop) w/ tan(beta) resummation
77 */
79{
81
82 return std::abs(amu_2L) + std::abs(delta_amu_2L);
83}
84
85/**
86 * Calculates uncertainty associated with amu(1-loop) including
87 * tan(beta) resummation.
88 *
89 * @param model model parameters
90 *
91 * @return uncertainty for amu(1-loop) w/ tan(beta) resummation
92 */
99
100/**
101 * Calculates uncertainty associated with amu(2-loop) using Eq (4).
102 *
103 * Eq. (4) takes into account the unknown two-loop contributions and
104 * the employed approximation for the 2L(a) contributions.
105 *
106 * @param model model parameters
107 *
108 * @return uncertainty for amu(2-loop)
109 */
111{
112 const double amu_2La_Cha = amu2LaCha(model);
113 const double amu_2La_Sferm = amu2LaSferm(model);
114
115 return 2.3e-10 + 0.3 * (std::abs(amu_2La_Cha) + std::abs(amu_2La_Sferm));
116}
117
118} // namespace gm2calc
contains the MSSMNoFV parameters in the on-shell scheme
double calculate_uncertainty_amu_1loop(const THDM &, double, double)
calculates uncertainty for amu(1-loop)
double amu2LaSferm(const MSSMNoFV_onshell &model)
Calculates 2-loop contribution to amu, where a sfermion loop has been inserted into a 1-loop Standard...
void svd_eigen(const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Eigen::Matrix< Scalar, M, M > *u, Eigen::Matrix< Scalar, N, N > *vh)
double calculate_amu_2loop(const MSSMNoFV_onshell &model)
Calculates best 2-loop SUSY contribution to a_mu with tan(beta) resummation.
double amu2LaCha(const MSSMNoFV_onshell &model)
Calculates 2-loop contribution to amu, where a chargino loop has been inserted into a 1-loop Standard...
double calculate_uncertainty_amu_2loop(const THDM &, double, double)
calculates uncertainty for amu(2-loop)
double calculate_amu_1loop(const MSSMNoFV_onshell &model)
Calculates full 1-loop SUSY contribution to (g-2), Eq (45) of arXiv:hep-ph/0609168.
Definition gm2_1loop.cpp:74
double calculate_uncertainty_amu_0loop(const THDM &, double, double)
calculates uncertainty for amu(0-loop)