a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
SUSYSpectrum Class Reference

A class for calculating the Higgs and sparticle spectra at tree level. More...

#include <SUSYSpectrum.h>

Detailed Description

A class for calculating the Higgs and sparticle spectra at tree level.

Author
HEPfit Collaboration

The SUSYSpectrum class calculates the all the sparticle masses and their mixing matrices at tree-level.

Definition at line 23 of file SUSYSpectrum.h.

Public Member Functions

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. More...
 
bool CalcHiggs (double mh[4], gslpp::complex &saeff_i)
 Computes the Higgs spectrum at tree level. More...
 
bool CalcNeutralino (gslpp::matrix< gslpp::complex > &N_i, gslpp::vector< double > &mneu_i)
 Computes the neutralino spectrum at tree level. More...
 
bool CalcSdown (gslpp::matrix< gslpp::complex > &Rd_i, gslpp::vector< double > &m_sd2_i)
 Computes the down-type squark spectrum at tree level. More...
 
bool CalcSelectron (gslpp::matrix< gslpp::complex > &Rl_i, gslpp::vector< double > &m_se2_i)
 Computes the charged-slepton spectrum at tree level. More...
 
bool CalcSneutrino (gslpp::matrix< gslpp::complex > &Rn_i, gslpp::vector< double > &m_sn2_i)
 Computes the sneutrino spectrum at tree level. More...
 
bool CalcSpectrum ()
 Computes the SUSY spectrum without the Higgs part at tree level. More...
 
bool CalcSup (gslpp::matrix< gslpp::complex > &Ru_i, gslpp::vector< double > &m_su2_i)
 Computes the up-type squark spectrum at tree level. More...
 
gslpp::vector< double > getMch () const
 Gets the Chargino spectrum at tree-level. More...
 
gslpp::matrix< gslpp::complexgetMchargino () const
 Gets the Chargino spectrum at tree-level. More...
 
double getMHa () const
 Gets the pseudo-scalar Higgs mass. More...
 
double getMHh () const
 Gets the heavy Higgs mass. More...
 
double getMHl () const
 Gets the light Higgs mass. More...
 
double getMHp () const
 Gets the charged Higgs mass. More...
 
gslpp::vector< double > getMneu () const
 Gets the Neutralino spectrum at tree-level. More...
 
gslpp::matrix< gslpp::complexgetMneutralino () const
 Gets the Neutralino spectrum at tree-level. More...
 
gslpp::vector< double > getMsd2 () const
 Gets the Down-squark spectrum at tree-level. More...
 
gslpp::matrix< gslpp::complexgetMsdown2 () const
 Gets the Down-squark mass matrix at tree-level. More...
 
gslpp::vector< double > getMse2 () const
 Gets the Slepton spectrum at tree-level. More...
 
gslpp::matrix< gslpp::complexgetMselectron2 () const
 Gets the Slepton mass matrix at tree-level. More...
 
gslpp::vector< double > getMsn2 () const
 Gets the Sneutrino spectrum at tree-level. More...
 
gslpp::matrix< gslpp::complexgetMsneutrino2 () const
 Gets the Sneutrino mass matrix at tree-level. More...
 
gslpp::vector< double > getMsu2 () const
 Gets the Up-squark spectrum at tree-level. More...
 
gslpp::matrix< gslpp::complexgetMsup2 () const
 Gets the Up-squark mass matrix at tree-level. More...
 
gslpp::matrix< gslpp::complexgetN () const
 Gets the Neutralino mixing matrix. More...
 
gslpp::matrix< gslpp::complexgetRd () const
 Gets the Down-squark mixing matrix. More...
 
gslpp::matrix< gslpp::complexgetRl () const
 Gets the Slepton mixing matrix. More...
 
gslpp::matrix< gslpp::complexgetRn () const
 Gets the Sneutrino mixing matrix. More...
 
gslpp::matrix< gslpp::complexgetRu () const
 Gets the Up-squark mixing matrix. More...
 
gslpp::matrix< gslpp::complexgetU () const
 Gets the Chargino mixing matrix U. More...
 
gslpp::matrix< gslpp::complexgetV () const
 Gets the Chargino mixing matrix V. More...
 
void SortSfermionMasses (gslpp::vector< double > &m_sf2, gslpp::matrix< gslpp::complex > &Rf) const
 
 SUSYSpectrum (const SUSY &SUSY_in)
 A SUSYSpectrum constructor. More...
 

Private Attributes

gslpp::vector< double > m_sd2
 
gslpp::vector< double > m_se2
 
gslpp::vector< double > m_sn2
 
gslpp::vector< double > m_su2
 
gslpp::vector< double > mch
 Stores the tree-level Up-squark, Down-squark, Sneutrino, and Slepton mass-squared eigenvalues. More...
 
gslpp::matrix< gslpp::complexMchargino
 Stores the tree-level Chargino and Neutralino mass matrix. More...
 
double mh [4]
 Stores the tree-level Higgs spectrum. More...
 
gslpp::vector< double > mneu
 
gslpp::matrix< gslpp::complexMneutralino
 
gslpp::matrix< gslpp::complexMsdown2
 
gslpp::matrix< gslpp::complexMselectron2
 
gslpp::matrix< gslpp::complexMsneutrino2
 
gslpp::matrix< gslpp::complexMsup2
 Stores the tree-level Up-squark, Down-squark, Sneutrino, and Slepton mass matrix. More...
 
const SUSYmySUSY
 
gslpp::matrix< gslpp::complexN
 
gslpp::matrix< gslpp::complexRd
 
gslpp::matrix< gslpp::complexRl
 
gslpp::matrix< gslpp::complexRn
 
gslpp::matrix< gslpp::complexRu
 Stores the tree-level Up-squark, Down-squark, Sneutrino, and Slepton mixing matrices. More...
 
gslpp::complex saeff
 Stores the Sine of tree-level CP-even mixing angle. More...
 
gslpp::matrix< gslpp::complexU
 Stores the tree-level Chargino and Neutralino mixing matrices. More...
 
gslpp::matrix< gslpp::complexV
 

Constructor & Destructor Documentation

◆ SUSYSpectrum()

SUSYSpectrum::SUSYSpectrum ( const SUSY SUSY_in)

A SUSYSpectrum constructor.

Parameters
[in]SUSY_inAn object of SUSY class.

Definition at line 15 of file SUSYSpectrum.cpp.

16 : mySUSY(SUSY_in), Mchargino(2,2,0.), Mneutralino(4,4,0.),
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.)
21 {
22 }

Member Function Documentation

◆ CalcChargino()

bool SUSYSpectrum::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.

SLHA: diag(mChi) = U^* M V^+.

Definition at line 52 of file SUSYSpectrum.cpp.

53 {
54  double Mw = mySUSY.Mw_tree();
55 
56  Mchargino.assign(0, 0, mySUSY.getM2());
57  Mchargino.assign(0, 1, sqrt(2) * Mw * mySUSY.getSinb());
58  //
59  Mchargino.assign(1, 0, sqrt(2) * Mw * mySUSY.getCosb());
60  Mchargino.assign(1, 1, mySUSY.getMuH());
61 
62  /*
63  * M.singularvalue(&U, &V, &S) decompose M into
64  * M = U diag(S) V^+.
65  */
66  gslpp::matrix<gslpp::complex> Utmp(2, 2, 0.), Vtmp(2, 2, 0.);
67  Mchargino.singularvalue(Utmp, Vtmp, mch_i);
68 
72  U_i = Utmp.transpose();
73  V_i = Vtmp.hconjugate();
74 
75  return true;
76 }

◆ CalcHiggs()

bool SUSYSpectrum::CalcHiggs ( double  mh[4],
gslpp::complex saeff_i 
)

Computes the Higgs spectrum at tree level.

Definition at line 24 of file SUSYSpectrum.cpp.

25 {
26  double Mw = mySUSY.Mw_tree();
27  double Mz = mySUSY.getMz();
28  double cos2b = 2.0 * mySUSY.getCosb() * mySUSY.getCosb() - 1.0;
29 
30  /* charged Higgs mass */
31  mh[3] = mySUSY.mHptree;
32 
33  /* pseudo-scalar Higgs mass */
34  mh[2] = sqrt(mh[3] * mh[3] - Mw * Mw);
35 
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);
39 
40  /* light Higgs mass */
41  mh[0] = sqrt((temp - temp2)/2.0);
42 
43  /* heavy Higgs mass */
44  mh[1] = sqrt((temp + temp2)/2.0);
45 
46  /* CP-even Higgs mixing angle*/
47  saeff_i = sin(atan((mh[2]*mh[2]+Mz*Mz)*sqrt(1-cos2b*cos2b)/((mh[2]*mh[2]-Mz*Mz)*cos2b))/2.0);
48 
49  return true;
50 }

◆ CalcNeutralino()

bool SUSYSpectrum::CalcNeutralino ( gslpp::matrix< gslpp::complex > &  N_i,
gslpp::vector< double > &  mneu_i 
)

Computes the neutralino spectrum at tree level.

Definition at line 78 of file SUSYSpectrum.cpp.

79 {
80  double Mw = mySUSY.Mw_tree();
81  double Mz = mySUSY.getMz();
82  double cW2 = Mw*Mw/Mz/Mz;
83  double cW = sqrt(cW2);
84  double sW = sqrt(1.0 - cW2);
85  double sb = mySUSY.getSinb();
86  double cb = mySUSY.getCosb();
87 
88  Mneutralino.assign(0, 0, mySUSY.getM1());
89  Mneutralino.assign(0, 2, - Mz * sW * cb);
90  Mneutralino.assign(0, 3, Mz * sW * sb);
91  //
92  Mneutralino.assign(1, 1, mySUSY.getM2());
93  Mneutralino.assign(1, 2, Mz * cW * cb);
94  Mneutralino.assign(1, 3, - Mz * cW * sb);
95  //
96  Mneutralino.assign(2, 0, Mneutralino(0,2));
97  Mneutralino.assign(2, 1, Mneutralino(1,2));
98  Mneutralino.assign(2, 3, - mySUSY.getMuH());
99  //
100  Mneutralino.assign(3, 0, Mneutralino(0,3));
101  Mneutralino.assign(3, 1, Mneutralino(1,3));
102  Mneutralino.assign(3, 2, Mneutralino(2,3));
103 
104  /*
105  * M.singularvalue(&U, &V, &S) decompose M into
106  * M = U diag(S) V^+.
107  */
108  gslpp::matrix<gslpp::complex> Ntemp1(4, 4, 0.), Ntemp2(4, 4, 0.);
109  Mneutralino.singularvalue(Ntemp1, Ntemp2, mneu_i);
110 
111  //gslpp::matrix<gslpp::complex> Nleft = Ntemp1.transpose();
112  gslpp::matrix<gslpp::complex> Nright = Ntemp2.hconjugate();
113  //std::cout << "Nleft = " << Nleft << std::endl;
114  //std::cout << "Nright = " << Nright << std::endl;
115 
116  /* adopt N=Nright as N^* M N^+ = diag, not as N M N^+.
117  * As a result, a phase rotation is required for N. */
118  gslpp::matrix<gslpp::complex> Mdiag_tmp(4, 4, 0.);
119  Mdiag_tmp = Nright.hconjugate().transpose() * Mneutralino * Nright.hconjugate();
120  //std::cout << "Mdiag_tmp = " << Mdiag_tmp << std::endl;
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;
125 
126  N_i = Nright;
127 
128  return true;
129 }

◆ CalcSdown()

bool SUSYSpectrum::CalcSdown ( gslpp::matrix< gslpp::complex > &  Rd_i,
gslpp::vector< double > &  m_sd2_i 
)

Computes the down-type squark spectrum at tree level.

Definition at line 172 of file SUSYSpectrum.cpp.

173 {
174  double Mw = mySUSY.Mw_tree();
175  double Mz2 = mySUSY.getMz()*mySUSY.getMz();
176  double sW2 = 1.0 - Mw*Mw/Mz2;
177  double cos2b = 2.0 * mySUSY.getCosb() * mySUSY.getCosb() - 1.0;
179 
180  /* DRbar down-type quark masses at scale Q */
181  gslpp::matrix<double> Md(3, 3, 0.);
182  Md(0, 0) = mySUSY.Mq_Q(mySUSY.DOWN);
183  Md(1, 1) = mySUSY.Mq_Q(mySUSY.STRANGE);
184  Md(2, 2) = mySUSY.Mq_Q(mySUSY.BOTTOM);
185 
187  + cos2b * Mz2 * (- 1.0/2.0 + 1.0/3.0 * sW2) * Id3 );
188  gslpp::matrix<gslpp::complex> dLR( mySUSY.v1()/sqrt(2.0) * mySUSY.getTDhat().hconjugate()
189  - mySUSY.getMuH() * Md * mySUSY.getTanb() );
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));
197  }
198 
199  /*
200  * M.singularvalue(&U, &V, &S) decompose M into
201  * M = U diag(S) V^+.
202  */
203  gslpp::matrix<gslpp::complex> RdTmp(6, 6, 0.);
204  Msdown2.eigensystem(RdTmp, m_sd2_i);
205 
206  Rd_i = RdTmp.hconjugate();
207 
208  return true;
209 
210 }

◆ CalcSelectron()

bool SUSYSpectrum::CalcSelectron ( gslpp::matrix< gslpp::complex > &  Rl_i,
gslpp::vector< double > &  m_se2_i 
)

Computes the charged-slepton spectrum at tree level.

Definition at line 245 of file SUSYSpectrum.cpp.

246 {
247  double Mw = mySUSY.Mw_tree();
248  double Mz2 = mySUSY.getMz()*mySUSY.getMz();
249  double sW2 = 1.0 - Mw*Mw/Mz2;
250  double cos2b = 2.0 * mySUSY.getCosb() * mySUSY.getCosb() - 1.0;
252 
253  gslpp::matrix<double> Me(3, 3, 0.);
254  Me(0, 0) = mySUSY.Ml_Q(mySUSY.ELECTRON);
255  Me(1, 1) = mySUSY.Ml_Q(mySUSY.MU);
256  Me(2, 2) = mySUSY.Ml_Q(mySUSY.TAU);
257 
259  + cos2b * Mz2 * (- 1.0/2.0 + sW2) * Id3 );
260  gslpp::matrix<gslpp::complex> eLR( mySUSY.v1()/sqrt(2.0) * mySUSY.getTEhat().hconjugate()
261  - mySUSY.getMuH() * Me * mySUSY.getTanb() );
262  gslpp::matrix<gslpp::complex> eRR( mySUSY.msEhat2 + Me * Me - cos2b * Mz2 * sW2 * Id3 );
263 
264  for(int i = 0; i < 3; i++)
265  {
266  for(int j = 0; j < 3; j++)
267  {
268  Mselectron2.assign(i, j, eLL(i,j));
269  Mselectron2.assign(i, j+3, eLR(i,j));
270  Mselectron2.assign(i+3, j, eLR(j,i).conjugate());
271  Mselectron2.assign(i+3, j+3, eRR(i,j));
272  }
273  }
274 
275  /*
276  * M.singularvalue(&U, &V, &S) decompose M into
277  * M = U diag(S) V^+.
278  */
279  gslpp::matrix<gslpp::complex> RlTmp(6, 6, 0.);
280  Mselectron2.eigensystem(RlTmp, m_se2_i);
281 
282  Rl_i = RlTmp.hconjugate();
283 
284  return true;
285 
286 }

◆ CalcSneutrino()

bool SUSYSpectrum::CalcSneutrino ( gslpp::matrix< gslpp::complex > &  Rn_i,
gslpp::vector< double > &  m_sn2_i 
)

Computes the sneutrino spectrum at tree level.

Definition at line 212 of file SUSYSpectrum.cpp.

213 {
214  double Mz2 = mySUSY.getMz()*mySUSY.getMz();
215  double cos2b = 2.0 * mySUSY.getCosb() * mySUSY.getCosb() - 1.0;
217 
218  gslpp::matrix<gslpp::complex> nLL( mySUSY.msLhat2 + cos2b * Mz2 /2.0 * Id3 );
219  gslpp::matrix<gslpp::complex> nLR( mySUSY.v2()/sqrt(2.0) * mySUSY.getTNhat().hconjugate() );
221  for(int i = 0; i < 3; i++) {
222  for(int j = 0; j < 3; j++) {
223  Msneutrino2.assign(i, j, nLL(i,j));
224  Msneutrino2.assign(i, j+3, nLR(i,j));
225  Msneutrino2.assign(i+3, j, nLR(j,i).conjugate());
226  Msneutrino2.assign(i+3, j+3, nRR(i,j));
227  }
228  }
229  /*
230  * M.singularvalue(&U, &V, &S) decompose M into
231  * M = U diag(S) V^+.
232  */
233  gslpp::matrix<gslpp::complex> RnTmp(6, 6, 0.);
234  Msneutrino2.eigensystem(RnTmp, m_sn2_i);
235 
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();
240 
241  return true;
242 
243 }

◆ CalcSpectrum()

bool SUSYSpectrum::CalcSpectrum ( )

Computes the SUSY spectrum without the Higgs part at tree level.

◆ CalcSup()

bool SUSYSpectrum::CalcSup ( gslpp::matrix< gslpp::complex > &  Ru_i,
gslpp::vector< double > &  m_su2_i 
)

Computes the up-type squark spectrum at tree level.

Definition at line 131 of file SUSYSpectrum.cpp.

132 {
133  double Mw = mySUSY.Mw_tree();
134  double Mz2 = mySUSY.getMz()*mySUSY.getMz();
135  double sW2 = 1.0 - Mw*Mw/Mz2;
136  double cos2b = 2.0 * mySUSY.getCosb() * mySUSY.getCosb() - 1.0;
139 
140  /* DRbar up-type quark masses at scale Q */
141  gslpp::matrix<double> Mu(3, 3, 0.);
142  Mu(0, 0) = mySUSY.Mq_Q(mySUSY.UP);
143  Mu(1, 1) = mySUSY.Mq_Q(mySUSY.CHARM);
144  Mu(2, 2) = mySUSY.Mq_Q(mySUSY.TOP);
145 
146  gslpp::matrix<gslpp::complex> uLL( CKM * mySUSY.msQhat2 * CKM.hconjugate() + Mu * Mu
147  + cos2b * Mz2 * (1.0/2.0 - 2.0/3.0 * sW2) * Id3 );
148  gslpp::matrix<gslpp::complex> uLR( mySUSY.v2()/sqrt(2.0) * mySUSY.getTUhat().hconjugate()
149  - mySUSY.getMuH() * Mu / mySUSY.getTanb() );
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));
157  }
158 
159  /*
160  * M.singularvalue(&U, &V, &S) decompose M into
161  * M = U diag(S) V^+.
162  */
163  gslpp::matrix<gslpp::complex> RuTmp(6, 6, 0.);
164  Msup2.eigensystem(RuTmp, m_su2_i);
165 
166  Ru_i = RuTmp.hconjugate();
167 
168  return true;
169 
170 }

◆ getMch()

gslpp::vector<double> SUSYSpectrum::getMch ( ) const
inline

Gets the Chargino spectrum at tree-level.

Returns
the Chargino mass eigenvalues

Definition at line 132 of file SUSYSpectrum.h.

133  {
134  return mch;
135  }

◆ getMchargino()

gslpp::matrix<gslpp::complex> SUSYSpectrum::getMchargino ( ) const
inline

Gets the Chargino spectrum at tree-level.

Returns
the Chargino mass eigenvalues

Definition at line 123 of file SUSYSpectrum.h.

124  {
125  return Mchargino;
126  }

◆ getMHa()

double SUSYSpectrum::getMHa ( ) const
inline

Gets the pseudo-scalar Higgs mass.

Returns
The pseudo-scalar Higgs mass.

Definition at line 103 of file SUSYSpectrum.h.

104  {
105  return mh[2];
106  }

◆ getMHh()

double SUSYSpectrum::getMHh ( ) const
inline

Gets the heavy Higgs mass.

Returns
The heavy Higgs mass.

Definition at line 94 of file SUSYSpectrum.h.

95  {
96  return mh[1];
97  }

◆ getMHl()

double SUSYSpectrum::getMHl ( ) const
inline

Gets the light Higgs mass.

Returns
The light Higgs mass.

Definition at line 85 of file SUSYSpectrum.h.

86  {
87  return mh[0];
88  }

◆ getMHp()

double SUSYSpectrum::getMHp ( ) const
inline

Gets the charged Higgs mass.

Returns
The charged Higgs mass.

Definition at line 112 of file SUSYSpectrum.h.

113  {
114  return mh[3];
115  }

◆ getMneu()

gslpp::vector<double> SUSYSpectrum::getMneu ( ) const
inline

Gets the Neutralino spectrum at tree-level.

Returns
the Neutralino mass eigenvalues

Definition at line 170 of file SUSYSpectrum.h.

171  {
172  return mneu;
173  }

◆ getMneutralino()

gslpp::matrix<gslpp::complex> SUSYSpectrum::getMneutralino ( ) const
inline

Gets the Neutralino spectrum at tree-level.

Returns
the Neutralino mass eigenvalues

Definition at line 161 of file SUSYSpectrum.h.

162  {
163  return Mneutralino;
164  }

◆ getMsd2()

gslpp::vector<double> SUSYSpectrum::getMsd2 ( ) const
inline

Gets the Down-squark spectrum at tree-level.

Returns
the Down-squark mass-squared eigenvalues

Definition at line 217 of file SUSYSpectrum.h.

218  {
219  return m_sd2;
220  }

◆ getMsdown2()

gslpp::matrix<gslpp::complex> SUSYSpectrum::getMsdown2 ( ) const
inline

Gets the Down-squark mass matrix at tree-level.

Returns
the Down-squark mass matrix

Definition at line 199 of file SUSYSpectrum.h.

200  {
201  return Msdown2;
202  }

◆ getMse2()

gslpp::vector<double> SUSYSpectrum::getMse2 ( ) const
inline

Gets the Slepton spectrum at tree-level.

Returns
the Slepton mass-squared eigenvalues

Definition at line 274 of file SUSYSpectrum.h.

275  {
276  return m_se2;
277  }

◆ getMselectron2()

gslpp::matrix<gslpp::complex> SUSYSpectrum::getMselectron2 ( ) const
inline

Gets the Slepton mass matrix at tree-level.

Returns
the Slepton mass matrix

Definition at line 256 of file SUSYSpectrum.h.

257  {
258  return Mselectron2;
259  }

◆ getMsn2()

gslpp::vector<double> SUSYSpectrum::getMsn2 ( ) const
inline

Gets the Sneutrino spectrum at tree-level.

Returns
the Sneutrino mass-squared eigenvalues

Definition at line 265 of file SUSYSpectrum.h.

266  {
267  return m_sn2;
268  }

◆ getMsneutrino2()

gslpp::matrix<gslpp::complex> SUSYSpectrum::getMsneutrino2 ( ) const
inline

Gets the Sneutrino mass matrix at tree-level.

Returns
the Sneutrino mass matrix

Definition at line 247 of file SUSYSpectrum.h.

248  {
249  return Msneutrino2;
250  }

◆ getMsu2()

gslpp::vector<double> SUSYSpectrum::getMsu2 ( ) const
inline

Gets the Up-squark spectrum at tree-level.

Returns
the Up-squark mass-squared eigenvalues

Definition at line 208 of file SUSYSpectrum.h.

209  {
210  return m_su2;
211  }

◆ getMsup2()

gslpp::matrix<gslpp::complex> SUSYSpectrum::getMsup2 ( ) const
inline

Gets the Up-squark mass matrix at tree-level.

Returns
the Up-squark mass matrix

Definition at line 190 of file SUSYSpectrum.h.

191  {
192  return Msup2;
193  }

◆ getN()

gslpp::matrix<gslpp::complex> SUSYSpectrum::getN ( ) const
inline

Gets the Neutralino mixing matrix.

Returns
the Neutralino mixing matrix

Definition at line 179 of file SUSYSpectrum.h.

180  {
181  return N;
182  }

◆ getRd()

gslpp::matrix<gslpp::complex> SUSYSpectrum::getRd ( ) const
inline

Gets the Down-squark mixing matrix.

Returns
the Down-squark mixing matrix

Definition at line 235 of file SUSYSpectrum.h.

236  {
237  return Rd;
238  }

◆ getRl()

gslpp::matrix<gslpp::complex> SUSYSpectrum::getRl ( ) const
inline

Gets the Slepton mixing matrix.

Returns
the Slepton mixing matrix

Definition at line 292 of file SUSYSpectrum.h.

293  {
294  return Rl;
295  }

◆ getRn()

gslpp::matrix<gslpp::complex> SUSYSpectrum::getRn ( ) const
inline

Gets the Sneutrino mixing matrix.

Returns
the Sneutrino mixing matrix

Definition at line 283 of file SUSYSpectrum.h.

284  {
285  return Rn;
286  }

◆ getRu()

gslpp::matrix<gslpp::complex> SUSYSpectrum::getRu ( ) const
inline

Gets the Up-squark mixing matrix.

Returns
the Up-squark mixing matrix

Definition at line 226 of file SUSYSpectrum.h.

227  {
228  return Ru;
229  }

◆ getU()

gslpp::matrix<gslpp::complex> SUSYSpectrum::getU ( ) const
inline

Gets the Chargino mixing matrix U.

Returns
the Chargino mixing matrix U

Definition at line 141 of file SUSYSpectrum.h.

142  {
143  return U;
144  }

◆ getV()

gslpp::matrix<gslpp::complex> SUSYSpectrum::getV ( ) const
inline

Gets the Chargino mixing matrix V.

Returns
the Chargino mixing matrix V

Definition at line 150 of file SUSYSpectrum.h.

151  {
152  return V;
153  }

◆ SortSfermionMasses()

void SUSYSpectrum::SortSfermionMasses ( gslpp::vector< double > &  m_sf2,
gslpp::matrix< gslpp::complex > &  Rf 
) const

Sort sfermion masses in increasing order.

Parameters
[in,out]m_sf2A vector of sfermion mass squared.
[in,out]RfThe corresponding rotation matrix.

Definition at line 288 of file SUSYSpectrum.cpp.

289 {
290  int newIndex[6];
291  for (int i = 0; i < 6; i++)
292  newIndex[i] = i;
293 
294  /* sort sfermion masses in increasing order */
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]);
300  }
301 
302  /* sort the corresponding rotation matrix, where the first(second) index
303  * denotes mass(gauge) eigenstates. */
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));
308  Rf = myRf;
309 }

Member Data Documentation

◆ m_sd2

gslpp::vector<double> SUSYSpectrum::m_sd2
private

Definition at line 330 of file SUSYSpectrum.h.

◆ m_se2

gslpp::vector<double> SUSYSpectrum::m_se2
private

Definition at line 330 of file SUSYSpectrum.h.

◆ m_sn2

gslpp::vector<double> SUSYSpectrum::m_sn2
private

Definition at line 330 of file SUSYSpectrum.h.

◆ m_su2

gslpp::vector<double> SUSYSpectrum::m_su2
private

Definition at line 330 of file SUSYSpectrum.h.

◆ mch

gslpp::vector<double> SUSYSpectrum::mch
private

Stores the tree-level Up-squark, Down-squark, Sneutrino, and Slepton mass-squared eigenvalues.

Definition at line 330 of file SUSYSpectrum.h.

◆ Mchargino

gslpp::matrix<gslpp::complex> SUSYSpectrum::Mchargino
private

Stores the tree-level Chargino and Neutralino mass matrix.

Definition at line 315 of file SUSYSpectrum.h.

◆ mh

double SUSYSpectrum::mh[4]
private

Stores the tree-level Higgs spectrum.

Definition at line 305 of file SUSYSpectrum.h.

◆ mneu

gslpp::vector<double> SUSYSpectrum::mneu
private

Definition at line 330 of file SUSYSpectrum.h.

◆ Mneutralino

gslpp::matrix<gslpp::complex> SUSYSpectrum::Mneutralino
private

Definition at line 315 of file SUSYSpectrum.h.

◆ Msdown2

gslpp::matrix<gslpp::complex> SUSYSpectrum::Msdown2
private

Definition at line 325 of file SUSYSpectrum.h.

◆ Mselectron2

gslpp::matrix<gslpp::complex> SUSYSpectrum::Mselectron2
private

Definition at line 325 of file SUSYSpectrum.h.

◆ Msneutrino2

gslpp::matrix<gslpp::complex> SUSYSpectrum::Msneutrino2
private

Definition at line 325 of file SUSYSpectrum.h.

◆ Msup2

gslpp::matrix<gslpp::complex> SUSYSpectrum::Msup2
private

Stores the tree-level Up-squark, Down-squark, Sneutrino, and Slepton mass matrix.

Definition at line 325 of file SUSYSpectrum.h.

◆ mySUSY

const SUSY& SUSYSpectrum::mySUSY
private

Definition at line 300 of file SUSYSpectrum.h.

◆ N

gslpp::matrix<gslpp::complex> SUSYSpectrum::N
private

Definition at line 320 of file SUSYSpectrum.h.

◆ Rd

gslpp::matrix<gslpp::complex> SUSYSpectrum::Rd
private

Definition at line 335 of file SUSYSpectrum.h.

◆ Rl

gslpp::matrix<gslpp::complex> SUSYSpectrum::Rl
private

Definition at line 335 of file SUSYSpectrum.h.

◆ Rn

gslpp::matrix<gslpp::complex> SUSYSpectrum::Rn
private

Definition at line 335 of file SUSYSpectrum.h.

◆ Ru

gslpp::matrix<gslpp::complex> SUSYSpectrum::Ru
private

Stores the tree-level Up-squark, Down-squark, Sneutrino, and Slepton mixing matrices.

Definition at line 335 of file SUSYSpectrum.h.

◆ saeff

gslpp::complex SUSYSpectrum::saeff
private

Stores the Sine of tree-level CP-even mixing angle.

Definition at line 310 of file SUSYSpectrum.h.

◆ U

gslpp::matrix<gslpp::complex> SUSYSpectrum::U
private

Stores the tree-level Chargino and Neutralino mixing matrices.

Definition at line 320 of file SUSYSpectrum.h.

◆ V

gslpp::matrix<gslpp::complex> SUSYSpectrum::V
private

Definition at line 320 of file SUSYSpectrum.h.


The documentation for this class was generated from the following files:
QCD::TAU
Definition: QCD.h:316
SUSYSpectrum::Mchargino
gslpp::matrix< gslpp::complex > Mchargino
Stores the tree-level Chargino and Neutralino mass matrix.
Definition: SUSYSpectrum.h:315
SUSYSpectrum::mneu
gslpp::vector< double > mneu
Definition: SUSYSpectrum.h:330
QCD::BOTTOM
Definition: QCD.h:329
SUSY::msNhat2
gslpp::matrix< gslpp::complex > msNhat2
Definition: SUSY.h:549
SUSYSpectrum::Msdown2
gslpp::matrix< gslpp::complex > Msdown2
Definition: SUSYSpectrum.h:325
SUSYSpectrum::Msup2
gslpp::matrix< gslpp::complex > Msup2
Stores the tree-level Up-squark, Down-squark, Sneutrino, and Slepton mass matrix.
Definition: SUSYSpectrum.h:325
SUSY::getTDhat
gslpp::matrix< gslpp::complex > getTDhat() const
Gets the trilinear-coupling matrix for down-type squarks.
Definition: SUSY.h:340
gslpp::matrix< double >
A class for constructing and defining operations on real matrices.
Definition: gslpp_matrix_double.h:48
SUSY::Ml_Q
double Ml_Q(const lepton l) const
Definition: SUSY.h:493
SUSY::msLhat2
gslpp::matrix< gslpp::complex > msLhat2
Definition: SUSY.h:549
SUSYSpectrum::Rn
gslpp::matrix< gslpp::complex > Rn
Definition: SUSYSpectrum.h:335
SUSY::msQhat2
gslpp::matrix< gslpp::complex > msQhat2
Definition: SUSY.h:549
SUSY::getSinb
double getSinb() const
Gets .
Definition: SUSY.h:186
gslpp::sin
complex sin(const complex &z)
Definition: gslpp_complex.cpp:420
SUSYSpectrum::mch
gslpp::vector< double > mch
Stores the tree-level Up-squark, Down-squark, Sneutrino, and Slepton mass-squared eigenvalues.
Definition: SUSYSpectrum.h:330
SUSY::getM2
gslpp::complex getM2() const
Gets the wino mass.
Definition: SUSY.h:118
QCD::UP
Definition: QCD.h:324
SUSYSpectrum::m_se2
gslpp::vector< double > m_se2
Definition: SUSYSpectrum.h:330
SUSYSpectrum::Rl
gslpp::matrix< gslpp::complex > Rl
Definition: SUSYSpectrum.h:335
SUSY::msDhat2
gslpp::matrix< gslpp::complex > msDhat2
Definition: SUSY.h:549
QCD::CHARM
Definition: QCD.h:326
gslpp::complex
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
gslpp::matrix< gslpp::complex >
QCD::ELECTRON
Definition: QCD.h:312
SUSY::v1
double v1() const
Definition: SUSY.cpp:356
SUSYSpectrum::m_su2
gslpp::vector< double > m_su2
Definition: SUSYSpectrum.h:330
SUSYSpectrum::Ru
gslpp::matrix< gslpp::complex > Ru
Stores the tree-level Up-squark, Down-squark, Sneutrino, and Slepton mixing matrices.
Definition: SUSYSpectrum.h:335
SUSYSpectrum::Msneutrino2
gslpp::matrix< gslpp::complex > Msneutrino2
Definition: SUSYSpectrum.h:325
SUSYSpectrum::mh
double mh[4]
Stores the tree-level Higgs spectrum.
Definition: SUSYSpectrum.h:305
SUSY::mHptree
double mHptree
Definition: SUSY.h:542
QCD::TOP
Definition: QCD.h:328
SUSYSpectrum::mySUSY
const SUSY & mySUSY
Definition: SUSYSpectrum.h:300
gslpp::sqrt
complex sqrt(const complex &z)
Definition: gslpp_complex.cpp:385
SUSY::v2
double v2() const
Definition: SUSY.cpp:361
SUSY::getTEhat
gslpp::matrix< gslpp::complex > getTEhat() const
Gets the trilinear-coupling matrix for charged sleptons.
Definition: SUSY.h:432
SUSY::msEhat2
gslpp::matrix< gslpp::complex > msEhat2
Definition: SUSY.h:549
SUSY::getM1
gslpp::complex getM1() const
Gets the bino mass.
Definition: SUSY.h:109
Mchargino
A class for the chargino masses.
Definition: Mchargino.h:22
StandardModel::getVCKM
gslpp::matrix< gslpp::complex > getVCKM() const
A get method to retrieve the CKM matrix.
Definition: StandardModel.h:870
SUSYSpectrum::m_sn2
gslpp::vector< double > m_sn2
Definition: SUSYSpectrum.h:330
SUSY::getTanb
double getTanb() const
Gets .
Definition: SUSY.h:154
SUSYSpectrum::U
gslpp::matrix< gslpp::complex > U
Stores the tree-level Chargino and Neutralino mixing matrices.
Definition: SUSYSpectrum.h:320
SUSYSpectrum::N
gslpp::matrix< gslpp::complex > N
Definition: SUSYSpectrum.h:320
SUSYSpectrum::V
gslpp::matrix< gslpp::complex > V
Definition: SUSYSpectrum.h:320
SUSY::getMuH
gslpp::complex getMuH() const
Gets the parameter in the superpotential.
Definition: SUSY.h:145
SUSY::Mq_Q
double Mq_Q(const quark q) const
Definition: SUSY.h:477
SUSYSpectrum::Mselectron2
gslpp::matrix< gslpp::complex > Mselectron2
Definition: SUSYSpectrum.h:325
SUSYSpectrum::Mneutralino
gslpp::matrix< gslpp::complex > Mneutralino
Definition: SUSYSpectrum.h:315
StandardModel::getMz
double getMz() const
A get method to access the mass of the boson .
Definition: StandardModel.h:721
StandardModel::Mw_tree
virtual double Mw_tree() const
The tree-level mass of the boson, .
Definition: StandardModel.cpp:951
SUSYSpectrum::Rd
gslpp::matrix< gslpp::complex > Rd
Definition: SUSYSpectrum.h:335
Mw
An observable class for the -boson mass.
Definition: Mw.h:22
QCD::STRANGE
Definition: QCD.h:327
SUSYSpectrum::m_sd2
gslpp::vector< double > m_sd2
Definition: SUSYSpectrum.h:330
CKM
A class for the CKM matrix elements.
Definition: CKM.h:23
SUSY::msUhat2
gslpp::matrix< gslpp::complex > msUhat2
Definition: SUSY.h:549
SUSY::getCosb
double getCosb() const
Gets .
Definition: SUSY.h:195
SUSY::getTUhat
gslpp::matrix< gslpp::complex > getTUhat() const
Gets the trilinear-coupling matrix for up-type squarks.
Definition: SUSY.h:331
QCD::DOWN
Definition: QCD.h:325
Mneutralino
A class for the neutralino masses.
Definition: Mneutralino.h:24
gslpp::vector< gslpp::complex >
SUSY::getTNhat
gslpp::matrix< gslpp::complex > getTNhat() const
Gets the trilinear-coupling matrix for sneutrinos.
Definition: SUSY.h:423
QCD::MU
Definition: QCD.h:314