33 Eigen::Matrix<std::complex<double>,
N,
N>&
z)
35 for (
int i = 0;
i <
N;
i++) {
37 z.row(
i) *= std::complex<double>(0.0,1.0);
45 Eigen::Matrix<std::complex<double>,
N,
N>&
z)
47 const double eps = std::numeric_limits<double>::epsilon();
49 for (
int i = 0;
i <
N;
i++) {
51 if (!
is_zero(
z.row(
i).imag().cwiseAbs().maxCoeff(),
eps)) {
52 z.row(
i) *= std::complex<double>(0.0,1.0);
55 if (!
is_zero(
z.row(
i).imag().cwiseAbs().maxCoeff(),
eps)) {
56 WARNING(
"Row " <<
i <<
" of the following fermion mixing matrix"
57 " contains entries which have non-zero real and imaginary"
58 " parts:\nZ = " <<
z);
89 ostr <<
"----------------------------------------\n"
91 "----------------------------------------\n";
92 ostr <<
"MVG = " <<
MVG <<
'\n';
94 ostr <<
"MVP = " <<
MVP <<
'\n';
95 ostr <<
"MVZ = " <<
MVZ <<
'\n';
96 ostr <<
"MFd = " <<
MFd <<
'\n';
97 ostr <<
"MFs = " <<
MFs <<
'\n';
98 ostr <<
"MFb = " <<
MFb <<
'\n';
99 ostr <<
"MFu = " <<
MFu <<
'\n';
100 ostr <<
"MFc = " <<
MFc <<
'\n';
101 ostr <<
"MFt = " <<
MFt <<
'\n';
105 ostr <<
"MFe = " <<
MFe <<
'\n';
106 ostr <<
"MFm = " <<
MFm <<
'\n';
111 ostr <<
"MSd = " <<
MSd.transpose() <<
'\n';
112 ostr <<
"MSu = " <<
MSu.transpose() <<
'\n';
113 ostr <<
"MSe = " <<
MSe.transpose() <<
'\n';
114 ostr <<
"MSm = " <<
MSm.transpose() <<
'\n';
115 ostr <<
"MStau = " <<
MStau.transpose() <<
'\n';
116 ostr <<
"MSs = " <<
MSs.transpose() <<
'\n';
117 ostr <<
"MSc = " <<
MSc.transpose() <<
'\n';
118 ostr <<
"MSb = " <<
MSb.transpose() <<
'\n';
119 ostr <<
"MSt = " <<
MSt.transpose() <<
'\n';
120 ostr <<
"Mhh = " <<
Mhh.transpose() <<
'\n';
121 ostr <<
"MAh = " <<
MAh.transpose() <<
'\n';
122 ostr <<
"MHpm = " <<
MHpm.transpose() <<
'\n';
123 ostr <<
"MChi = " <<
MChi.transpose() <<
'\n';
124 ostr <<
"MCha = " <<
MCha.transpose() <<
'\n';
127 ostr <<
"----------------------------------------\n"
128 "pole mass mixing matrices:\n"
129 "----------------------------------------\n";
130 ostr <<
"ZD = " <<
ZD <<
'\n';
131 ostr <<
"ZU = " <<
ZU <<
'\n';
132 ostr <<
"ZE = " <<
ZE <<
'\n';
133 ostr <<
"ZM = " <<
ZM <<
'\n';
135 ostr <<
"ZS = " <<
ZS <<
'\n';
136 ostr <<
"ZC = " <<
ZC <<
'\n';
137 ostr <<
"ZB = " <<
ZB <<
'\n';
138 ostr <<
"ZT = " <<
ZT <<
'\n';
139 ostr <<
"ZH = " <<
ZH <<
'\n';
140 ostr <<
"ZA = " <<
ZA <<
'\n';
141 ostr <<
"ZP = " <<
ZP <<
'\n';
142 ostr <<
"ZN = " <<
ZN <<
'\n';
143 ostr <<
"UM = " <<
UM <<
'\n';
144 ostr <<
"UP = " <<
UP <<
'\n';
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)
bool is_zero(const Eigen::ArrayBase< Derived > &a, double eps)
std::ostream & operator<<(std::ostream &os, const MSSMNoFV_onshell &model)
streaming operator
MSSMNoFV pole masses and corresponding mixings.
Eigen::Matrix< double, 2, 2 > ZT
Eigen::Array< double, 2, 1 > MAh
Eigen::Matrix< double, 2, 2 > ZM
Eigen::Matrix< double, 2, 2 > ZU
void print(std::ostream &) const
Eigen::Matrix< std::complex< double >, 2, 2 > UM
Eigen::Matrix< double, 2, 2 > ZTau
Eigen::Matrix< std::complex< double >, 2, 2 > UP
Eigen::Array< double, 2, 1 > Mhh
Eigen::Array< double, 2, 1 > MSs
Eigen::Matrix< double, 2, 2 > ZS
Eigen::Array< double, 4, 1 > MChi
Eigen::Matrix< double, 2, 2 > ZB
Eigen::Matrix< double, 2, 2 > ZC
Eigen::Array< double, 2, 1 > MSb
Eigen::Matrix< std::complex< double >, 4, 4 > ZN
void convert_to_hk()
converts pole masses to HK convention
Eigen::Array< double, 2, 1 > MSu
Eigen::Matrix< double, 2, 2 > ZA
Eigen::Matrix< double, 2, 2 > ZD
void convert_to_slha()
converts pole masses to SLHA convention
Eigen::Matrix< double, 2, 2 > ZP
Eigen::Matrix< double, 2, 2 > ZH
Eigen::Array< double, 2, 1 > MHpm
Eigen::Array< double, 2, 1 > MSe
Eigen::Matrix< double, 2, 2 > ZE
Eigen::Array< double, 2, 1 > MSm
Eigen::Array< double, 2, 1 > MStau
Eigen::Array< double, 2, 1 > MSd
Eigen::Array< double, 2, 1 > MCha
Eigen::Array< double, 2, 1 > MSt
Eigen::Array< double, 2, 1 > MSc