GM2Calc 2.3.0
Loading...
Searching...
No Matches
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"
22
23namespace 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 */
32{
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 */
58{
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 */
99
100} // namespace gm2calc
Contains routines to determine the THDM parameters.
Definition THDM.hpp:98
double calculate_amu_2loop_bosonic(const THDM &model)
Calculates 2-loop bosonic contribution to a_mu in the THDM.
Definition gm2_2loop.cpp:31
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 calculate_amu_2loop_fermionic(const THDM &model)
Calculates fermionic 2-loop contribution to a_mu in the THDM.
Definition gm2_2loop.cpp:57
parameters to be passed to the bosonic contribution functions
double alpha_em
electromagnetic coupling
parameters to be passed to the fermionic contribution functions
double alpha_em
electromagnetic coupling