GM2Calc 2.3.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
gm2_1loop_helpers.hpp
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#ifndef GM2_THDM_1LOOP_HELPERS_HPP
20#define GM2_THDM_1LOOP_HELPERS_HPP
21
22#include <Eigen/Core>
23
24namespace gm2calc {
25
26namespace thdm {
27
28/// parameters to be passed to the 1-loop contribution functions
30 double alpha_em{}; ///< electromagnetic coupling
31 double mm{}; ///< muon mass for prefactor
32 double mw{}; ///< W boson mass
33 double mz{}; ///< Z boson mass
34 double mhSM{}; ///< SM Higgs boson mass
35 double mA{}; ///< CP-odd Higgs boson mass
36 double mHp{}; ///< charged Higgs boson mass
37 Eigen::Matrix<double,3,1> ml{Eigen::Matrix<double,3,1>::Zero()}; ///< down-type lepton masses
38 Eigen::Matrix<double,3,1> mv{Eigen::Matrix<double,3,1>::Zero()}; ///< neutrino masses
39 Eigen::Matrix<double,2,1> mh{Eigen::Matrix<double,2,1>::Zero()}; ///< CP-even Higgs bosons mass
40 Eigen::Matrix<std::complex<double>,3,3> ylh{Eigen::Matrix<std::complex<double>,3,3>::Zero()}; ///< Y_l^h coefficients with l={e,m,τ}
41 Eigen::Matrix<std::complex<double>,3,3> ylH{Eigen::Matrix<std::complex<double>,3,3>::Zero()}; ///< Y_l^H coefficients with l={e,m,τ}
42 Eigen::Matrix<std::complex<double>,3,3> ylA{Eigen::Matrix<std::complex<double>,3,3>::Zero()}; ///< Y_l^A coefficients with l={e,m,τ}
43 Eigen::Matrix<std::complex<double>,3,3> ylHp{Eigen::Matrix<std::complex<double>,3,3>::Zero()};///< Y_l^{H^\pm} coefficients with l={e,m,τ}
44};
45
46// === 1-loop contributions ===
47
48double amu1L(const THDM_1L_parameters&) noexcept;
49
50// === approximations ===
51
52double amu1L_approx(const THDM_1L_parameters&) noexcept;
53
54// === auxiliary functions ===
55
56/// 1-loop THDM contribution to \f$\Delta\alpha\f$
57double delta_alpha(double alpha, double mHp, double q) noexcept;
58
59} // namespace thdm
60
61} // namespace gm2calc
62
63#endif
double amu1L_approx(const THDM_1L_parameters &pars) noexcept
Approximation for 1-loop contribution Eq (27) from arxiv:1607.06292.
double delta_alpha(double alpha, double mHp, double q) noexcept
Calculates the 1-loop THDM contribution to .
double amu1L(const THDM_1L_parameters &pars) noexcept
Full (CP-conserving) 1-loop contribution.
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)
parameters to be passed to the 1-loop contribution functions
Eigen::Matrix< double, 2, 1 > mh
CP-even Higgs bosons mass.
Eigen::Matrix< double, 3, 1 > mv
neutrino masses
double mA
CP-odd Higgs boson mass.
Eigen::Matrix< std::complex< double >, 3, 3 > ylHp
Y_l^{H^\pm} coefficients with l={e,m,τ}.
Eigen::Matrix< double, 3, 1 > ml
down-type lepton masses
Eigen::Matrix< std::complex< double >, 3, 3 > ylA
Y_l^A coefficients with l={e,m,τ}.
double mHp
charged Higgs boson mass
Eigen::Matrix< std::complex< double >, 3, 3 > ylH
Y_l^H coefficients with l={e,m,τ}.
Eigen::Matrix< std::complex< double >, 3, 3 > ylh
Y_l^h coefficients with l={e,m,τ}.
double mm
muon mass for prefactor
double mhSM
SM Higgs boson mass.
double alpha_em
electromagnetic coupling