19#ifndef GM2_MSSMNoFV_ONSHELL_HPP
20#define GM2_MSSMNoFV_ONSHELL_HPP
59 void set_Ae(
const Eigen::Matrix<double,3,3>&
A) { Ae =
A; }
61 void set_Au(
const Eigen::Matrix<double,3,3>&
A) { Au =
A; }
63 void set_Ad(
const Eigen::Matrix<double,3,3>&
A) { Ad =
A; }
65 void set_Ae(
unsigned i,
unsigned k,
double a) { Ae(i,k) = a; }
67 void set_Au(
unsigned i,
unsigned k,
double a) { Au(i,k) = a; }
69 void set_Ad(
unsigned i,
unsigned k,
double a) { Ad(i,k) = a; }
86 const Eigen::Matrix<double,3,3>&
get_Ae()
const {
return Ae; }
88 const Eigen::Matrix<double,3,3>&
get_Au()
const {
return Au; }
90 const Eigen::Matrix<double,3,3>&
get_Ad()
const {
return Ad; }
92 double get_Ae(
unsigned i,
unsigned k)
const {
return Ae(i,k); }
94 double get_Au(
unsigned i,
unsigned k)
const {
return Au(i,k); }
96 double get_Ad(
unsigned i,
unsigned k)
const {
return Ad(i,k); }
120 double get_MB()
const {
return mb_DRbar_MZ; }
147 unsigned max_iterations = 1000);
153 bool verbose_output{
false};
156 double mb_DRbar_MZ{2.8};
157 Eigen::Matrix<double,3,3> Au{Eigen::Matrix<double,3,3>::Zero()};
158 Eigen::Matrix<double,3,3> Ad{Eigen::Matrix<double,3,3>::Zero()};
159 Eigen::Matrix<double,3,3> Ae{Eigen::Matrix<double,3,3>::Zero()};
161 void check_input()
const;
162 void check_problems()
const;
163 void calculate_mb_DRbar_MZ();
164 void convert_gauge_couplings();
165 void convert_yukawa_couplings_treelevel();
168 void convert_me2(
double,
unsigned);
169 double convert_me2_fpi(
double,
unsigned);
170 double convert_me2_fpi_modify(
double,
unsigned);
171 double convert_me2_root(
double,
unsigned);
172 double convert_me2_root_modify(
double,
unsigned);
173 void convert_Mu_M1_M2(
double,
unsigned);
175 void convert_yukawa_couplings();
176 void copy_susy_masses_to_pole();
177 unsigned find_bino_like_neutralino();
contains class for MSSMNoFV with routines needed to solve EWSB and determine the pole masses and mixi...
model class with routines determine masses, mixings and EWSB
const Eigen::Matrix< double, 2, 2 > & get_ZU() const
const Eigen::Matrix< double, 2, 2 > & get_ZTau() const
const Eigen::Matrix< double, 2, 2 > & get_ZC() const
const MSSMNoFV_onshell_physical & get_physical() const
const Eigen::Matrix< double, 2, 2 > & get_ZT() const
const Eigen::Matrix< double, 2, 2 > & get_ZS() const
const Eigen::Matrix< double, 2, 2 > & get_ZB() const
const Eigen::Matrix< double, 2, 2 > & get_ZE() const
const Eigen::Matrix< double, 2, 2 > & get_ZM() const
const Eigen::Matrix< double, 2, 2 > & get_ZD() const
contains the MSSMNoFV parameters in the on-shell scheme
double get_TB() const
tan(beta) DR-bar
void set_verbose_output(bool flag)
enable/disable verbose output
void calculate_masses()
calculate SUSY masses in mixed on-shell/DR-bar scheme from given on-shell/DR-bar parameters
double get_MM() const
returns muon pole mass
double get_ME() const
returns electron mass
const Eigen::Matrix< double, 2, 2 > & get_USm() const
returns smuon pole mixing matrix
double get_MW() const
returns W boson pole mass
double get_MA0() const
returns CP-odd Higgs mass
double get_EL0() const
electromagnetic gauge coupling in Thomson limit
void set_Au(const Eigen::Matrix< double, 3, 3 > &A)
soft-breaking trilinear up-type squark coupling
double get_Ad(unsigned i, unsigned k) const
soft-breaking trilinear on-shell down-type slepton coupling
double get_gY() const
Hypercharge gauge coupling.
const Eigen::Matrix< double, 2, 2 > & get_USc() const
returns scharm mixing matrix
void convert_to_non_tan_beta_resummed()
convert mixed on-shell/DR-bar parameters to non-tan(beta) resummed case
const Eigen::Matrix< double, 3, 3 > & get_Ad() const
soft-breaking trilinear down-type squark coupling
void set_TB(double)
set tan(beta)
void set_Ae(unsigned i, unsigned k, double a)
soft-breaking trilinear on-shell down-type slepton coupling
const Eigen::Matrix< double, 2, 2 > & get_USt() const
returns stop mixing matrix
const Eigen::Matrix< double, 2, 2 > & get_USd() const
returns sdown mixing matrix
double get_MS() const
returns strange-quark mass
const Eigen::Matrix< double, 2, 2 > & get_USe() const
returns selectron mixing matrix
double get_Ae(unsigned i, unsigned k) const
soft-breaking trilinear on-shell down-type slepton coupling
virtual ~MSSMNoFV_onshell()=default
void set_Ad(unsigned i, unsigned k, double a)
soft-breaking trilinear down-type squark coupling
double get_MU() const
returns up-quark mass
double get_vev() const
Vacuum expectation value v.
double get_MT() const
returns top-quark mass
double get_MB() const
returns mb(MZ) DR-bar
void convert_to_onshell(double precision=1e-8, unsigned max_iterations=1000)
convert given (DR-bar) parameters to mixed on-shell/DR-bar scheme
void set_Au(unsigned i, unsigned k, double a)
soft-breaking trilinear up-type squark coupling
void set_alpha_MZ(double)
set alpha(MZ) w/o hadronic corrections
double get_ML() const
returns tau mass
bool do_verbose_output() const
tests for verbose output
const Eigen::Matrix< double, 3, 3 > & get_Ae() const
soft-breaking trilinear on-shell down-type slepton coupling
void set_MA0(double m)
set CP-odd Higgs pole mass
double get_MC() const
returns charm-quark mass
const Eigen::Matrix< double, 2, 2 > & get_UStau() const
returns stau mixing matrix
const Eigen::Matrix< double, 2, 2 > & get_USu() const
returns sup mixing matrix
const Eigen::Matrix< double, 2, 2 > & get_USb() const
returns sbottom mixing matrix
double get_Au(unsigned i, unsigned k) const
soft-breaking trilinear up-type squark coupling
double get_MZ() const
returns Z boson pole mass
double get_EL() const
electromagnetic gauge coupling at MZ w/o hadronic corrections
void set_Ad(const Eigen::Matrix< double, 3, 3 > &A)
soft-breaking trilinear down-type squark coupling
void set_alpha_thompson(double)
set alpha in the Thomson limit
double get_MD() const
returns down-quark mass
const Eigen::Matrix< double, 2, 2 > & get_USs() const
returns sstrange mixing matrix
double get_MBMB() const
returns mb(mb) MS-bar
const Eigen::Matrix< double, 3, 3 > & get_Au() const
soft-breaking trilinear up-type squark coupling
void set_Ae(const Eigen::Matrix< double, 3, 3 > &A)
soft-breaking trilinear on-shell down-type slepton coupling
struct MSSMNoFV_onshell MSSMNoFV_onshell
std::ostream & operator<<(std::ostream &os, const MSSMNoFV_onshell &model)
streaming operator
Eigen::Array< double, 2, 1 > MAh