GM2Calc
2.3.0
Loading...
Searching...
No Matches
src
THDM
gm2_2loop.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
19
#include "
gm2calc/gm2_2loop.hpp
"
20
#include "
gm2calc/THDM.hpp
"
21
#include "
THDM/gm2_2loop_helpers.hpp
"
22
23
namespace
gm2calc
{
24
25
/**
26
* Calculates 2-loop bosonic contribution to a_mu in the THDM.
27
*
28
* @param model THDM model parameters, masses and mixings
29
* @return 2-loop contribution to a_mu
30
*/
31
double
calculate_amu_2loop_bosonic
(
const
THDM
&
model
)
32
{
33
thdm::THDM_B_parameters
pars_b
;
34
pars_b
.
alpha_em
=
model
.get_alpha_em();
35
pars_b
.mm =
model
.get_MFe(1);
36
pars_b
.mw =
model
.get_MVWm();
37
pars_b
.mz =
model
.get_MVZ();
38
pars_b
.mhSM =
model
.get_sm().get_mh();
39
pars_b
.mA =
model
.get_MAh(1);
40
pars_b
.mHp =
model
.get_MHm(1);
41
pars_b
.mh =
model
.get_Mhh();
42
pars_b
.tb =
model
.get_tan_beta();
43
pars_b
.zetal =
model
.get_zeta_l();
44
pars_b
.cos_beta_minus_alpha =
model
.get_cos_beta_minus_alpha();
45
pars_b
.lambda5 =
model
.get_LambdaFive();
46
pars_b
.lambda67 =
model
.get_LambdaSixSeven();
47
48
return
amu2L_B(
pars_b
);
49
}
50
51
/**
52
* Calculates fermionic 2-loop contribution to a_mu in the THDM.
53
*
54
* @param model THDM model parameters, masses and mixings
55
* @return 2-loop contribution to a_mu
56
*/
57
double
calculate_amu_2loop_fermionic
(
const
THDM
&
model
)
58
{
59
thdm::THDM_F_parameters
pars_f
;
60
pars_f
.
alpha_em
=
model
.get_alpha_em();
61
pars_f
.mm =
model
.get_MFe(1);
62
pars_f
.mw =
model
.get_MVWm();
63
pars_f
.mz =
model
.get_MVZ();
64
pars_f
.mhSM =
model
.get_sm().get_mh();
65
pars_f
.mA =
model
.get_MAh(1);
66
pars_f
.mHp =
model
.get_MHm(1);
67
pars_f
.mh =
model
.get_Mhh();
68
pars_f
.ml =
model
.get_MFe();
69
pars_f
.mu =
model
.get_MFu();
70
pars_f
.md =
model
.get_MFd();
71
pars_f
.yuh =
model
.get_yuh();
72
pars_f
.yuH =
model
.get_yuH();
73
pars_f
.yuA =
model
.get_yuA();
74
pars_f
.yuHp =
model
.get_yuHp();
75
pars_f
.ydh =
model
.get_ydh();
76
pars_f
.ydH =
model
.get_ydH();
77
pars_f
.ydA =
model
.get_ydA();
78
pars_f
.ydHp =
model
.get_ydHp();
79
pars_f
.ylh =
model
.get_ylh();
80
pars_f
.ylH =
model
.get_ylH();
81
pars_f
.ylA =
model
.get_ylA();
82
pars_f
.ylHp =
model
.get_ylHp();
83
pars_f
.vckm =
model
.get_sm().get_ckm();
84
85
return
amu2L_F(
pars_f
);
86
}
87
88
/**
89
* Calculates full 2-loop contribution to a_mu in the general THDM.
90
*
91
* @param model THDM model parameters, masses and mixings
92
* @return 2-loop contribution to a_mu
93
*/
94
double
calculate_amu_2loop
(
const
THDM
&
model
)
95
{
96
return
calculate_amu_2loop_bosonic
(
model
)
97
+
calculate_amu_2loop_fermionic
(
model
);
98
}
99
100
}
// namespace gm2calc
gm2_2loop_helpers.hpp
THDM.hpp
gm2calc::THDM
Contains routines to determine the THDM parameters.
Definition
THDM.hpp:98
gm2_2loop.hpp
gm2calc
Definition
gm2_config_options.hpp:22
gm2calc::calculate_amu_2loop_bosonic
double calculate_amu_2loop_bosonic(const THDM &model)
Calculates 2-loop bosonic contribution to a_mu in the THDM.
Definition
gm2_2loop.cpp:31
gm2calc::svd_eigen
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)
Definition
gm2_linalg.hpp:40
gm2calc::calculate_amu_2loop
double calculate_amu_2loop(const MSSMNoFV_onshell &model)
Calculates best 2-loop SUSY contribution to a_mu with tan(beta) resummation.
Definition
gm2_2loop.cpp:111
gm2calc::calculate_amu_2loop_fermionic
double calculate_amu_2loop_fermionic(const THDM &model)
Calculates fermionic 2-loop contribution to a_mu in the THDM.
Definition
gm2_2loop.cpp:57
gm2calc::thdm::THDM_B_parameters
parameters to be passed to the bosonic contribution functions
Definition
gm2_2loop_helpers.hpp:29
gm2calc::thdm::THDM_B_parameters::alpha_em
double alpha_em
electromagnetic coupling
Definition
gm2_2loop_helpers.hpp:30
gm2calc::thdm::THDM_F_parameters
parameters to be passed to the fermionic contribution functions
Definition
gm2_2loop_helpers.hpp:46
gm2calc::thdm::THDM_F_parameters::alpha_em
double alpha_em
electromagnetic coupling
Definition
gm2_2loop_helpers.hpp:47
Generated by
1.9.8