17 U(2,2,0.), V(2,2,0.), N(4,4,0.),
18 Msup2(6,0.), Msdown2(6,0.), Msneutrino2(6,0.), Mselectron2(6,0.),
19 mch(2,0.), mneu(4,0.), m_su2(6,0.), m_sd2(6,0.), m_sn2(6,0.), m_se2(6,0.),
20 Ru(6,6,0.), Rd(6,6,0.), Rn(6,6,0.), Rl(6,6,0.)
36 double temp =
mh[2] *
mh[2] + Mz * Mz;
37 double temp1 = 2.0 *
mh[2] * Mz * cos2b;
38 double temp2 = sqrt(temp * temp - temp1 * temp1);
41 mh[0] = sqrt((temp - temp2)/2.0);
44 mh[1] = sqrt((temp + temp2)/2.0);
47 saeff_i = sin(atan((
mh[2]*
mh[2]+Mz*Mz)*sqrt(1-cos2b*cos2b)/((
mh[2]*
mh[2]-Mz*Mz)*cos2b))/2.0);
66 gslpp::matrix<gslpp::complex> Utmp(2, 2, 0.), Vtmp(2, 2, 0.);
67 Mchargino.singularvalue(Utmp, Vtmp, mch_i);
72 U_i = Utmp.transpose();
73 V_i = Vtmp.hconjugate();
82 double cW2 =
Mw*
Mw/Mz/Mz;
83 double cW = sqrt(cW2);
84 double sW = sqrt(1.0 - cW2);
108 gslpp::matrix<gslpp::complex> Ntemp1(4, 4, 0.), Ntemp2(4, 4, 0.);
112 gslpp::matrix<gslpp::complex> Nright = Ntemp2.hconjugate();
118 gslpp::matrix<gslpp::complex> Mdiag_tmp(4, 4, 0.);
119 Mdiag_tmp = Nright.hconjugate().transpose() *
Mneutralino * Nright.hconjugate();
121 gslpp::vector<gslpp::complex> v1(4, 0.);
122 for(
int i = 0; i < 4; i++)
123 v1.assign(i, gslpp::complex(1., Mdiag_tmp(i,i).arg()/2.0,
true));
124 Nright = gslpp::matrix<gslpp::complex>(v1) * Nright;
135 double sW2 = 1.0 -
Mw*
Mw/Mz2;
138 gslpp::matrix<gslpp::complex> Id3 = gslpp::matrix<gslpp::complex>::Id(3);
141 gslpp::matrix<double> Mu(3, 3, 0.);
147 + cos2b * Mz2 * (1.0/2.0 - 2.0/3.0 * sW2) * Id3 );
150 gslpp::matrix<gslpp::complex> uRR(
mySUSY.
msUhat2 + Mu * Mu + cos2b * Mz2 * 2.0/3.0 * sW2 * Id3 );
151 for(
int i = 0; i < 3; i++)
152 for(
int j = 0; j < 3; j++) {
153 Msup2.assign(i, j, uLL(i,j));
154 Msup2.assign(i, j+3, uLR(i,j));
155 Msup2.assign(i+3, j, uLR(j,i).conjugate());
156 Msup2.assign(i+3, j+3, uRR(i,j));
163 gslpp::matrix<gslpp::complex> RuTmp(6, 6, 0.);
164 Msup2.eigensystem(RuTmp, m_su2_i);
166 Ru_i = RuTmp.hconjugate();
176 double sW2 = 1.0 -
Mw*
Mw/Mz2;
178 gslpp::matrix<gslpp::complex> Id3 = gslpp::matrix<gslpp::complex>::Id(3);
181 gslpp::matrix<double> Md(3, 3, 0.);
187 + cos2b * Mz2 * (- 1.0/2.0 + 1.0/3.0 * sW2) * Id3 );
190 gslpp::matrix<gslpp::complex> dRR(
mySUSY.
msDhat2 + Md * Md - cos2b * Mz2 /3.0 * sW2 * Id3 );
191 for(
int i = 0; i < 3; i++)
192 for(
int j = 0; j < 3; j++) {
193 Msdown2.assign(i, j, dLL(i,j));
194 Msdown2.assign(i, j+3, dLR(i,j));
195 Msdown2.assign(i+3, j, dLR(j,i).conjugate());
196 Msdown2.assign(i+3, j+3, dRR(i,j));
203 gslpp::matrix<gslpp::complex> RdTmp(6, 6, 0.);
204 Msdown2.eigensystem(RdTmp, m_sd2_i);
206 Rd_i = RdTmp.hconjugate();
216 gslpp::matrix<gslpp::complex> Id3 = gslpp::matrix<gslpp::complex>::Id(3);
218 gslpp::matrix<gslpp::complex> nLL(
mySUSY.
msLhat2 + cos2b * Mz2 /2.0 * Id3 );
221 for(
int i = 0; i < 3; i++) {
222 for(
int j = 0; j < 3; j++) {
233 gslpp::matrix<gslpp::complex> RnTmp(6, 6, 0.);
236 m_sn2_i(0)=std::numeric_limits<double>::max();
237 m_sn2_i(1)=std::numeric_limits<double>::max();
238 m_sn2_i(2)=std::numeric_limits<double>::max();
239 Rn_i = RnTmp.hconjugate();
249 double sW2 = 1.0 -
Mw*
Mw/Mz2;
251 gslpp::matrix<gslpp::complex> Id3 = gslpp::matrix<gslpp::complex>::Id(3);
253 gslpp::matrix<double> Me(3, 3, 0.);
259 + cos2b * Mz2 * (- 1.0/2.0 + sW2) * Id3 );
262 gslpp::matrix<gslpp::complex> eRR(
mySUSY.
msEhat2 + Me * Me - cos2b * Mz2 * sW2 * Id3 );
264 for(
int i = 0; i < 3; i++)
266 for(
int j = 0; j < 3; j++)
279 gslpp::matrix<gslpp::complex> RlTmp(6, 6, 0.);
282 Rl_i = RlTmp.hconjugate();
291 for (
int i = 0; i < 6; i++)
295 for (
int i = 0; i < 5; i++)
296 for (
int k = i + 1; k < 6; k++)
297 if (m_sf2(i) > m_sf2(k)) {
298 std::swap(m_sf2(i), m_sf2(k));
299 std::swap(newIndex[i], newIndex[k]);
304 gslpp::matrix<gslpp::complex> myRf(6, 6, 0.);
305 for (
int i = 0; i < 6; i++)
306 for (
int k = 0; k < 6; k++)
307 myRf.assign(k, i, Rf(newIndex[k], i));
A class for the CKM matrix elements.
A class for the chargino masses.
A class for the neutralino masses.
An observable class for the -boson mass.
A base class for SUSY models.
gslpp::matrix< gslpp::complex > msDhat2
gslpp::complex getMuH() const
Gets the parameter in the superpotential.
gslpp::matrix< gslpp::complex > getTDhat() const
Gets the trilinear-coupling matrix for down-type squarks.
gslpp::matrix< gslpp::complex > msUhat2
gslpp::matrix< gslpp::complex > msQhat2
gslpp::matrix< gslpp::complex > msNhat2
gslpp::matrix< gslpp::complex > getTEhat() const
Gets the trilinear-coupling matrix for charged sleptons.
const double getTanb() const
Gets .
gslpp::matrix< gslpp::complex > msLhat2
const double getCosb() const
Gets .
gslpp::complex getM1() const
Gets the bino mass.
double Mq_Q(const quark q) const
const double getSinb() const
Gets .
double Ml_Q(const lepton l) const
gslpp::matrix< gslpp::complex > msEhat2
gslpp::complex getM2() const
Gets the wino mass.
gslpp::matrix< gslpp::complex > getTUhat() const
Gets the trilinear-coupling matrix for up-type squarks.
gslpp::matrix< gslpp::complex > getTNhat() const
Gets the trilinear-coupling matrix for sneutrinos.
bool CalcNeutralino(gslpp::matrix< gslpp::complex > &N_i, gslpp::vector< double > &mneu_i)
Computes the neutralino spectrum at tree level.
gslpp::matrix< gslpp::complex > Mneutralino
gslpp::matrix< gslpp::complex > Msdown2
bool CalcSup(gslpp::matrix< gslpp::complex > &Ru_i, gslpp::vector< double > &m_su2_i)
Computes the up-type squark spectrum at tree level.
bool CalcSelectron(gslpp::matrix< gslpp::complex > &Rl_i, gslpp::vector< double > &m_se2_i)
Computes the charged-slepton spectrum at tree level.
bool CalcChargino(gslpp::matrix< gslpp::complex > &U_i, gslpp::matrix< gslpp::complex > &V_i, gslpp::vector< double > &mch_i)
Computes the chargino spectrum at tree level.
gslpp::matrix< gslpp::complex > Msneutrino2
SUSYSpectrum(const SUSY &SUSY_in)
A SUSYSpectrum constructor.
gslpp::matrix< gslpp::complex > Mselectron2
void SortSfermionMasses(gslpp::vector< double > &m_sf2, gslpp::matrix< gslpp::complex > &Rf) const
double mh[4]
Stores the tree-level Higgs spectrum.
bool CalcSdown(gslpp::matrix< gslpp::complex > &Rd_i, gslpp::vector< double > &m_sd2_i)
Computes the down-type squark spectrum at tree level.
gslpp::matrix< gslpp::complex > Msup2
Stores the tree-level Up-squark, Down-squark, Sneutrino, and Slepton mass matrix.
bool CalcHiggs(double mh[4], gslpp::complex &saeff_i)
Computes the Higgs spectrum at tree level.
bool CalcSneutrino(gslpp::matrix< gslpp::complex > &Rn_i, gslpp::vector< double > &m_sn2_i)
Computes the sneutrino spectrum at tree level.
const double getMz() const
A get method to access the mass of the boson .
const gslpp::matrix< gslpp::complex > getVCKM() const
A get method to retrieve the CKM matrix.
const double Mw_tree() const
The tree-level mass of the boson, .