Himalaya
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Himalaya_interface.hpp
Go to the documentation of this file.
1 // ====================================================================
2 // This file is part of Himalaya.
3 //
4 // Himalaya is licenced under the GNU General Public License (GNU GPL)
5 // version 3.
6 // ====================================================================
7 
8 #pragma once
9 
10 #include <iosfwd>
11 #include <limits>
12 #include <Eigen/Core>
13 
14 /**
15  * @file Himalaya_interface.hpp
16  * @brief Definition of the MSSM input parameters
17  */
18 
19 namespace himalaya {
20 
21 using V2 = Eigen::Vector2d; ///< real 2-vector
22 using CM22 = Eigen::Matrix2cd;///< complex 2x2 matrix
23 using CM44 = Eigen::Matrix4cd;///< complex 4x4 matrix
24 using RM22 = Eigen::Matrix2d; ///< real 2x2 matrix
25 using RM33 = Eigen::Matrix3d; ///< real 3x3 matrix
26 using RM44 = Eigen::Matrix4d; ///< real 4x4 matrix
27 const double NaN = std::numeric_limits<double>::quiet_NaN();
28 
29 /**
30  * The Himalaya interface struct
31  *
32  * All input parameters are expected to be provided in the DR'-bar scheme.
33  */
34 struct Parameters {
35  // DR'-bar parameters
36  double scale{}; ///< renormalization scale
37  double mu{}; ///< mu parameter, convention of [Phys.Rept. 117 (1985) 75-263]
38  double g1{}; ///< GUT-normalized gauge coupling g1, with gY = g1*Sqrt[3/5]
39  double g2{}; ///< gauge coupling g2
40  double g3{}; ///< gauge coupling g3 SU(3)
41  double vd{}; ///< VEV of down Higgs, with v = Sqrt[vu^2 + vd^2] ~ 246 GeV
42  double vu{}; ///< VEV of up Higgs, with v = Sqrt[vu^2 + vd^2] ~ 246 GeV
43  RM33 mq2{RM33::Zero()}; ///< soft-breaking squared left-handed squark mass parameters
44  RM33 md2{RM33::Zero()}; ///< soft-breaking squared right-handed down-squark mass parameters
45  RM33 mu2{RM33::Zero()}; ///< soft-breaking squared right-handed up-squark mass parameters
46  RM33 ml2{RM33::Zero()}; ///< soft-breaking squared left-handed slepton mass parameters
47  RM33 me2{RM33::Zero()}; ///< soft-breaking squared right-handed slepton mass parameters
48  RM33 Au{RM33::Zero()}; ///< trilinear up type squark-Higgs coupling matrix
49  RM33 Ad{RM33::Zero()}; ///< trilinear down type squark-Higgs coupling matrix
50  RM33 Ae{RM33::Zero()}; ///< trilinear electron type squark-Higgs coupling matrix
51  RM33 Yu{RM33::Zero()}; ///< up-type yukawa coupling matrix
52  RM33 Yd{RM33::Zero()}; ///< down-type yukawa coupling matrix
53  RM33 Ye{RM33::Zero()}; ///< electron-type yukawa coupling matrix
54 
55  // DR'-bar masses
56  double M1{}; ///< bino
57  double M2{}; ///< wino
58  double MG{}; ///< gluino
59  double MW{NaN}; ///< W
60  double MZ{NaN}; ///< Z
61  double Mt{NaN}; ///< top-quark
62  double Mb{NaN}; ///< down-quark
63  double Mtau{NaN}; ///< tau lepton
64  double MA{}; ///< CP-odd Higgs
65  V2 MSt{NaN, NaN}; ///< stops
66  V2 MSb{NaN, NaN}; ///< sbottoms
67  V2 MStau{NaN, NaN}; ///< staus
68 
69  // DR'-bar mixing angles
70  double s2t{NaN}; ///< sine of 2 times the stop mixing angle
71  double s2b{NaN}; ///< sine of 2 times the sbottom mixing angle
72  double s2tau{NaN}; ///< sine of 2 times the stau mixing angle
73  double theta_t{NaN}; ///< stop mixing angle
74  double theta_b{NaN}; ///< sbottom mixing angle
75  double theta_tau{NaN}; ///< stau mixing angle
76 
77  int massLimit3LThreshold{}; ///< an integer flag to set the mass limit
78 
79  double calculateMsq2() const; ///< calculates average light squark mass squared
80  void validate(bool verbose); ///< validates the parameter set
81 };
82 
83 /// prints the Parameters struct to a stream
84 std::ostream& operator<<(std::ostream&, const Parameters&);
85 
86 } // himalaya
Eigen::Matrix2cd CM22
complex 2x2 matrix
double vu
VEV of up Higgs, with v = Sqrt[vu^2 + vd^2] ~ 246 GeV.
Definition: H3.cpp:14
RM33 Yu
up-type yukawa coupling matrix
RM33 Ad
trilinear down type squark-Higgs coupling matrix
void validate(bool verbose)
validates the parameter set
double vd
VEV of down Higgs, with v = Sqrt[vu^2 + vd^2] ~ 246 GeV.
double g2
gauge coupling g2
const double NaN
double theta_tau
stau mixing angle
Eigen::Matrix4cd CM44
complex 4x4 matrix
double theta_t
stop mixing angle
RM33 Ae
trilinear electron type squark-Higgs coupling matrix
double s2b
sine of 2 times the sbottom mixing angle
RM33 ml2
soft-breaking squared left-handed slepton mass parameters
double Mtau
tau lepton
double s2t
sine of 2 times the stop mixing angle
double mu
mu parameter, convention of [Phys.Rept. 117 (1985) 75-263]
double calculateMsq2() const
calculates average light squark mass squared
RM33 mq2
soft-breaking squared left-handed squark mass parameters
RM33 Yd
down-type yukawa coupling matrix
RM33 mu2
soft-breaking squared right-handed up-squark mass parameters
double theta_b
sbottom mixing angle
Eigen::Matrix3d RM33
real 3x3 matrix
double scale
renormalization scale
RM33 md2
soft-breaking squared right-handed down-squark mass parameters
double MA
CP-odd Higgs.
double g3
gauge coupling g3 SU(3)
double g1
GUT-normalized gauge coupling g1, with gY = g1*Sqrt[3/5].
std::ostream & operator<<(std::ostream &ostr, const HierarchyObject &ho)
double s2tau
sine of 2 times the stau mixing angle
Eigen::Matrix2d RM22
real 2x2 matrix
Definition: Linalg.hpp:1521
RM33 Ye
electron-type yukawa coupling matrix
Eigen::Matrix4d RM44
real 4x4 matrix
Eigen::Vector2d V2
real 2-vector
Definition: Linalg.hpp:1520
RM33 me2
soft-breaking squared right-handed slepton mass parameters
RM33 Au
trilinear up type squark-Higgs coupling matrix
int massLimit3LThreshold
an integer flag to set the mass limit