42const double root2 = 1.414213562373095;
128 return std::fmin(std::abs(
model.get_MassB()),
129 std::fmin(std::abs(
model.get_MassWB()),
130 std::fmin(std::abs(
model.get_Mu()),
131 std::fmin(std::sqrt(
model.get_me2(1, 1)),
132 std::sqrt(
model.get_ml2(1, 1))))));
143 const double gY =
model.get_gY();
144 const Eigen::Matrix<double,3,3>& mu2(
model.get_mu2());
145 const Eigen::Matrix<double,3,3>& md2(
model.get_md2());
146 const Eigen::Matrix<double,3,3>& mq2(
model.get_mq2());
147 const Eigen::Matrix<double,3,3>& me2(
model.get_me2());
148 const Eigen::Matrix<double,3,3>& ml2(
model.get_ml2());
152 (4. / 3. * std::log(std::sqrt(mu2(0, 0)) /
logscale) +
153 4. / 3. * std::log(std::sqrt(mu2(1, 1)) /
logscale) +
154 4. / 3. * std::log(std::sqrt(mu2(2, 2)) /
logscale) +
155 1. / 3. * std::log(std::sqrt(md2(0, 0)) /
logscale) +
156 1. / 3. * std::log(std::sqrt(md2(1, 1)) /
logscale) +
157 1. / 3. * std::log(std::sqrt(md2(2, 2)) /
logscale) +
158 1. / 6. * std::log(std::sqrt(mq2(0, 0)) /
logscale) +
159 1. / 6. * std::log(std::sqrt(mq2(1, 1)) /
logscale) +
160 1. / 6. * std::log(std::sqrt(mq2(2, 2)) /
logscale) +
161 std::log(std::sqrt(me2(0, 0)) /
logscale) +
162 std::log(std::sqrt(me2(1, 1)) /
logscale) +
163 std::log(std::sqrt(me2(2, 2)) /
logscale) +
164 0.5 * std::log(std::sqrt(ml2(0, 0)) /
logscale) +
165 0.5 * std::log(std::sqrt(ml2(1, 1)) /
logscale) +
166 0.5 * std::log(std::sqrt(ml2(2, 2)) /
logscale));
177 const Eigen::Matrix<double,3,3>& mu2(
model.get_mu2());
178 const Eigen::Matrix<double,3,3>& md2(
model.get_md2());
179 const Eigen::Matrix<double,3,3>& mq2(
model.get_mq2());
180 const Eigen::Matrix<double,3,3>& me2(
model.get_me2());
181 const Eigen::Matrix<double,3,3>& ml2(
model.get_ml2());
188 std::log(std::sqrt(mq2(2, 2)) /
logscale) +
190 std::log(std::sqrt(ml2(2, 2)) /
logscale)));
200 const Eigen::Matrix<double,3,3>& mu2(
model.get_mu2());
201 const Eigen::Matrix<double,3,3>& mq2(
model.get_mq2());
205 (-8 * std::log(std::sqrt(mu2(2, 2)) /
logscale) +
206 2 * std::log(std::sqrt(mq2(2, 2)) /
logscale));
217 const double g2 =
model.get_g2();
218 const Eigen::Matrix<double,3,3>& mq2(
model.get_mq2());
219 const Eigen::Matrix<double,3,3>& ml2(
model.get_ml2());
223 (1.5 * std::log(std::sqrt(mq2(0, 0)) /
logscale) +
224 1.5 * std::log(std::sqrt(mq2(1, 1)) /
logscale) +
225 1.5 * std::log(std::sqrt(mq2(2, 2)) /
logscale) +
226 0.5 * std::log(std::sqrt(ml2(0, 0)) /
logscale) +
227 0.5 * std::log(std::sqrt(ml2(1, 1)) /
logscale) +
228 0.5 * std::log(std::sqrt(ml2(2, 2)) /
logscale));
238 const Eigen::Matrix<double,3,3>& mq2(
model.get_mq2());
242 std::log(std::sqrt(mq2(2, 2)) /
logscale);
254 const double Q =
model.get_scale();
352 const double mm =
model.get_MM();
355 const Eigen::Array<double,2,1>& MCha(
model.get_MCha());
356 const double MSvmL =
model.get_MSvmL();
357 const Eigen::Array<double,2,1>
x(
x_k(
model));
358 const double Q =
model.get_scale();
359 const double x_mv = mm / MSvmL;
361 const double log_x_vq = std::log(MSvmL /
Q);
365 for (
int k = 0;
k < 2;
k++) {
366 const double y = MCha(
k)/mm;
385 const double mm =
model.get_MM();
388 const Eigen::Array<double,4,1>&
MNeu(
model.get_MChi());
389 const Eigen::Array<double,2,1>&
MSmu(
model.get_MSm());
390 const Eigen::Matrix<double,4,2>
x(
x_im(
model));
391 const double Q =
model.get_scale();
397 for (
int i = 0;
i < 4; ++
i) {
398 const double y =
MNeu(
i) / mm;
399 for (
int m = 0;
m < 2; ++
m) {
428 const double tb =
model.get_TB();
429 const double mz =
model.get_MZ();
430 const double ma =
model.get_MA0();
449 const Eigen::Array<double,2,1>& MCha(
model.get_MCha());
450 const double mw =
model.get_MW();
451 const double tb =
model.get_TB();
452 const double rtb = std::sqrt(1 +
sqr(tb));
453 const double cb = 1/
rtb;
454 const double sb = tb/
rtb;
456 const double rta = std::sqrt(1 +
sqr(
ta));
457 const double ca = 1/
rta;
459 const Eigen::Matrix<std::complex<double>,2,2>&
U(
model.get_UM());
460 const Eigen::Matrix<std::complex<double>,2,2>&
V(
model.get_UP());
464 Eigen::Matrix<std::complex<double>,3,3>
result;
466 for (
int k = 0;
k < 2; ++
k) {
467 const double wc =
root2 * mw / MCha(
k);
468 const std::complex<double>
u0v1 =
U(
k, 0) *
V(
k, 1);
469 const std::complex<double>
u1v0 =
U(
k, 1) *
V(
k, 0);
488 const double tb =
model.get_TB();
489 const double rtb = std::sqrt(1 +
sqr(tb));
490 const double sb = tb/
rtb;
492 const double rta = std::sqrt(1 +
sqr(
ta));
493 const double ca = 1/
rta;
495 const double mt =
model.get_MT();
496 const Eigen::Array<double,2,1>&
m_stop(
model.get_MSt());
497 const Eigen::Matrix<double,2,2>&
u_stop(
model.get_USt());
498 const double At =
model.get_Au(2, 2);
499 const double mu =
model.get_Mu();
501 Eigen::Matrix<std::complex<double>,2,2>
result;
503 for (
int i = 0;
i < 2; ++
i) {
523 const double rta = std::sqrt(1 +
sqr(
ta));
524 const double ca = 1/
rta;
526 const Eigen::Array<double,2,1>&
m_sbot(
model.get_MSb());
527 const Eigen::Matrix<double,2,2>&
u_sbot(
model.get_USb());
528 const double Ab =
model.get_Ad(2, 2);
529 const double mu =
model.get_Mu();
533 Eigen::Matrix<std::complex<double>,2,2>
result;
535 for (
int i = 0;
i < 2; ++
i) {
555 const double rta = std::sqrt(1 +
sqr(
ta));
556 const double ca = 1/
rta;
558 const Eigen::Array<double,2,1>&
m_stau(
model.get_MStau());
559 const Eigen::Matrix<double,2,2>&
u_stau(
model.get_UStau());
560 const double Al =
model.get_Ae(2, 2);
561 const double mu =
model.get_Mu();
565 Eigen::Matrix<std::complex<double>,2,2>
result;
567 for (
int i = 0;
i < 2; ++
i) {
586 const double mm =
model.get_MM();
587 const double mw =
model.get_MW();
588 const double sw = std::sqrt(1. -
sqr(mw /
model.get_MZ()));
589 const double el =
model.get_EL();
590 const Eigen::Array<double,2,1>&
m_stop(
model.get_MSt());
591 const Eigen::Array<double,2,1>&
m_sbot(
model.get_MSb());
592 const Eigen::Array<double,2,1>&
m_stau(
model.get_MStau());
593 const Eigen::Array<double,2,1>&
m_higgs(
model.get_Mhh());
595 const Eigen::Array<std::complex<double>,2,1>
lambda_mu(
603 for (
int i = 0;
i < 2; ++
i) {
604 for (
int s = 0;
s < 2; ++
s) {
611 for (
int i = 0;
i < 2; ++
i) {
612 for (
int s = 0;
s < 2; ++
s) {
619 for (
int i = 0;
i < 2; ++
i) {
620 for (
int s = 0;
s < 2; ++
s) {
637 const double mm =
model.get_MM();
638 const double mw =
model.get_MW() ;
639 const double ma =
model.get_MA0();
640 const Eigen::Array<double,2,1>&
m_higgs(
model.get_Mhh());
641 const double sw = std::sqrt(1. -
sqr(mw /
model.get_MZ()));
642 const double el =
model.get_EL();
643 const Eigen::Array<double,2,1>&
m_cha(
model.get_MCha());
648 for (
int k = 0;
k < 2; ++
k) {
650 for (
int s = 0;
s < 2; ++
s) {
contains the MSSMNoFV parameters in the on-shell scheme
struct MSSMNoFV_onshell MSSMNoFV_onshell
double F1N(double x) noexcept
, Eq (52) arXiv:hep-ph/0609168
double amu1LBHmuL(const MSSMNoFV_onshell &model)
Calculates the 1-loop leading log approximation: Bino–Higgsino, left-handed smuon,...
double amu2LChi0Photonic(const MSSMNoFV_onshell &model)
Calculates the photonic 2-loop contribution to the 1-loop neutralino diagram, Eq (36) arXiv:1003....
T sqr(T x) noexcept
returns number squared
Eigen::Array< double, 2, 1 > x_k(const MSSMNoFV_onshell &model)
Calculates , which appears in Eq (47) of arXiv:hep-ph/0609168.
double amu1LBmuLmuR(const MSSMNoFV_onshell &model)
Calculates the 1-loop leading log approximation: Bino, left-handed smuon, right-handed smuon,...
Eigen::Array< double, 2, 1 > BBC(const MSSMNoFV_onshell &model)
Calculates , Eqs (2.11b), (2.7b) in arXiv:1311.1775.
double amu1LBHmuR(const MSSMNoFV_onshell &model)
Calculates the 1-loop leading log approximation: Bino–Higgsino, right-handed smuon,...
double amu2LWHnu(const MSSMNoFV_onshell &model)
Calculates 1st line of Eq (6.5) arxiv:1311.1775.
double delta_yuk_higgsino(const MSSMNoFV_onshell &model)
Calculates , Eq (6.6c) arxiv:1311.1775.
double f_sferm(double z) noexcept
Calculates , Eq (72) arXiv:hep-ph/0609168.
Eigen::Matrix< std::complex< double >, 2, 2 > lambda_sbot(const MSSMNoFV_onshell &model)
Calculates , Eq (68) arXiv:hep-ph/0609168.
double amu1LWHmuL(const MSSMNoFV_onshell &model)
Calculates the 1-loop leading log approximation: Wino–Higgsino, left-handed smuon,...
double amu2LaSferm(const MSSMNoFV_onshell &model)
Calculates 2-loop contribution to amu, where a sfermion loop has been inserted into a 1-loop Standard...
double f_S(double z) noexcept
Calculates , Eq (71) arXiv:hep-ph/0609168.
double F4N(double x) noexcept
, Eq (40) arXiv:1003.5820
double amu2LWHmuL(const MSSMNoFV_onshell &model)
Calculates 2nd line of Eq (6.5) arxiv:1311.1775.
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 F4C(double x) noexcept
, Eq (38) arXiv:1003.5820
double F2N(double x) noexcept
, Eq (53) arXiv:hep-ph/0609168
double F3C(double x) noexcept
, Eq (37) arXiv:1003.5820
double calculate_amu_2loop(const MSSMNoFV_onshell &model)
Calculates best 2-loop SUSY contribution to a_mu with tan(beta) resummation.
double F3N(double x) noexcept
, Eq (39) arXiv:1003.5820
Eigen::Array< double, 4, 2 > x_im(const MSSMNoFV_onshell &model)
Calculates , which appears in Eq (46) of arXiv:hep-ph/0609168.
Eigen::Matrix< std::complex< double >, 2, 2 > lambda_stop(const MSSMNoFV_onshell &model)
Calculates , Eq (67) arXiv:hep-ph/0609168.
double amu2LFSfapprox(const MSSMNoFV_onshell &model)
Calculates 2-loop leading log approximation for fermion-sfermion loop contributions,...
double tan_alpha(const MSSMNoFV_onshell &model)
The following functions include resummation of 1/(1 + Delta_mu) within the muon, tau and bottom Yukaw...
double delta_g1(const MSSMNoFV_onshell &model)
Calculates , Eq (6.6a) arxiv:1311.1775.
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 F1C(double x) noexcept
, Eq (54) arXiv:hep-ph/0609168
Eigen::Array< double, 4, 2 > BBN(const MSSMNoFV_onshell &model)
Calculates , Eqs (2.11a), (2.7b) in arXiv:1311.1775.
double delta_tan_beta(const MSSMNoFV_onshell &model)
Calculates , Eq (6.6f) arxiv:1311.1775.
double F2C(double x) noexcept
, Eq (55) arXiv:hep-ph/0609168
double amu2LFSfapprox_non_tan_beta_resummed(const MSSMNoFV_onshell &model)
Calculates 2-loop leading log approximation for fermion-sfermion loop contributions,...
Eigen::Matrix< std::complex< double >, 2, 2 > lambda_stau(const MSSMNoFV_onshell &model)
Calculates , Eq (69) arXiv:hep-ph/0609168.
double amu1LWHnu(const MSSMNoFV_onshell &model)
Calculates the 1-loop leading log approximation: Wino–Higgsino, muon-sneutrino, Eq (6....
double amu2LBHmuL(const MSSMNoFV_onshell &model)
Calculates 3rd line of Eq (6.5) arxiv:1311.1775.
double amu2LBHmuR(const MSSMNoFV_onshell &model)
Calculates 4th line of Eq (6.5) arxiv:1311.1775.
double delta_yuk_wino_higgsino(const MSSMNoFV_onshell &model)
Calculates , Eq (6.6e) arxiv:1311.1775.
Eigen::Matrix< std::complex< double >, 3, 3 > lambda_mu_cha(const MSSMNoFV_onshell &model)
Calculates , Eq (65), and , Eq (66) arXiv:hep-ph/0609168.
double f_PS(double z) noexcept
Calculates , Eq (70) arXiv:hep-ph/0609168.
double delta_yuk_bino_higgsino(const MSSMNoFV_onshell &model)
Calculates , Eq (6.6d) arxiv:1311.1775.
double log_scale(const MSSMNoFV_onshell &model)
Calculates , p.37 arxiv:1311.1775.
double tan_beta_cor(const MSSMNoFV_onshell &model)
Calculates .
Eigen::Array< double, 4, 2 > AAN(const MSSMNoFV_onshell &model)
Calculates , Eqs (2.11a), (2.7a) in arXiv:1311.1775.
double calculate_amu_2loop_non_tan_beta_resummed(const MSSMNoFV_onshell &model)
Calculates best 2-loop SUSY contribution to a_mu without tan(beta) resummation.
double amu2LChipmPhotonic(const MSSMNoFV_onshell &model)
Calculates the photonic 2-loop contribution to the 1-loop chargino diagram, Eq (35) arXiv:1003....
double delta_g2(const MSSMNoFV_onshell &model)
Calculates , Eq (6.6b) arxiv:1311.1775.
double amu2LBmuLmuR(const MSSMNoFV_onshell &model)
Calculates 5th line of Eq (6.5) arxiv:1311.1775.
Eigen::Array< double, 2, 1 > AAC(const MSSMNoFV_onshell &model)
Calculates , Eqs (2.11b), (2.7a) in arXiv:1311.1775.