a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
SUSYSpectrum.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2012 HEPfit Collaboration
3 *
4 *
5 * For the licensing terms see doc/COPYING.
6 */
7
8#ifndef SUSYSPECTRUM_H
9#define SUSYSPECTRUM_H
10
11#include <gslpp.h>
12
13class SUSY;
14
24public:
25
30 SUSYSpectrum(const SUSY& SUSY_in);
31
35 bool CalcHiggs(double mh[4], gslpp::complex& saeff_i);
36
40 bool CalcChargino(gslpp::matrix<gslpp::complex>& U_i, gslpp::matrix<gslpp::complex>& V_i, gslpp::vector<double>& mch_i);
41
45 bool CalcNeutralino(gslpp::matrix<gslpp::complex>& N_i, gslpp::vector<double>& mneu_i);
46
50 bool CalcSup(gslpp::matrix<gslpp::complex>& Ru_i, gslpp::vector<double>& m_su2_i);
51
55 bool CalcSdown(gslpp::matrix<gslpp::complex>& Rd_i, gslpp::vector<double>& m_sd2_i);
56
60 bool CalcSneutrino(gslpp::matrix<gslpp::complex>& Rn_i, gslpp::vector<double>& m_sn2_i);
61
65 bool CalcSelectron(gslpp::matrix<gslpp::complex>& Rl_i, gslpp::vector<double>& m_se2_i);
66
71
77 void SortSfermionMasses(gslpp::vector<double>& m_sf2, gslpp::matrix<gslpp::complex>& Rf) const;
78
80
85 double getMHl() const
86 {
87 return mh[0];
88 }
89
94 double getMHh() const
95 {
96 return mh[1];
97 }
98
103 double getMHa() const
104 {
105 return mh[2];
106 }
107
112 double getMHp() const
113 {
114 return mh[3];
115 }
116
118
123 gslpp::matrix<gslpp::complex> getMchargino() const
124 {
125 return Mchargino;
126 }
127
132 gslpp::vector<double> getMch() const
133 {
134 return mch;
135 }
136
141 gslpp::matrix<gslpp::complex> getU() const
142 {
143 return U;
144 }
145
150 gslpp::matrix<gslpp::complex> getV() const
151 {
152 return V;
153 }
154
156
161 gslpp::matrix<gslpp::complex> getMneutralino() const
162 {
163 return Mneutralino;
164 }
165
170 gslpp::vector<double> getMneu() const
171 {
172 return mneu;
173 }
174
179 gslpp::matrix<gslpp::complex> getN() const
180 {
181 return N;
182 }
183
185
190 gslpp::matrix<gslpp::complex> getMsup2() const
191 {
192 return Msup2;
193 }
194
199 gslpp::matrix<gslpp::complex> getMsdown2() const
200 {
201 return Msdown2;
202 }
203
208 gslpp::vector<double> getMsu2() const
209 {
210 return m_su2;
211 }
212
217 gslpp::vector<double> getMsd2() const
218 {
219 return m_sd2;
220 }
221
226 gslpp::matrix<gslpp::complex> getRu() const
227 {
228 return Ru;
229 }
230
235 gslpp::matrix<gslpp::complex> getRd() const
236 {
237 return Rd;
238 }
239
241
242
247 gslpp::matrix<gslpp::complex> getMsneutrino2() const
248 {
249 return Msneutrino2;
250 }
251
256 gslpp::matrix<gslpp::complex> getMselectron2() const
257 {
258 return Mselectron2;
259 }
260
265 gslpp::vector<double> getMsn2() const
266 {
267 return m_sn2;
268 }
269
274 gslpp::vector<double> getMse2() const
275 {
276 return m_se2;
277 }
278
283 gslpp::matrix<gslpp::complex> getRn() const
284 {
285 return Rn;
286 }
287
292 gslpp::matrix<gslpp::complex> getRl() const
293 {
294 return Rl;
295 }
296
298
299private:
300 const SUSY& mySUSY;
301
305 double mh[4];
306
310 gslpp::complex saeff;
311
315 gslpp::matrix<gslpp::complex> Mchargino, Mneutralino;
316
320 gslpp::matrix<gslpp::complex> U, V, N;
321
325 gslpp::matrix<gslpp::complex> Msup2, Msdown2, Msneutrino2, Mselectron2;
326
330 gslpp::vector<double> mch, mneu, m_su2, m_sd2, m_sn2, m_se2;
331
335 gslpp::matrix<gslpp::complex> Ru, Rd, Rn, Rl;
336
337};
338
339#endif /* SUSYSPECTRUM_H */
340
A base class for SUSY models.
Definition: SUSY.h:33
A class for calculating the Higgs and sparticle spectra at tree level.
Definition: SUSYSpectrum.h:23
gslpp::vector< double > m_sd2
Definition: SUSYSpectrum.h:330
double getMHa() const
Gets the pseudo-scalar Higgs mass.
Definition: SUSYSpectrum.h:103
gslpp::matrix< gslpp::complex > N
Definition: SUSYSpectrum.h:320
gslpp::vector< double > getMsn2() const
Gets the Sneutrino spectrum at tree-level.
Definition: SUSYSpectrum.h:265
gslpp::matrix< gslpp::complex > getU() const
Gets the Chargino mixing matrix U.
Definition: SUSYSpectrum.h:141
gslpp::matrix< gslpp::complex > U
Stores the tree-level Chargino and Neutralino mixing matrices.
Definition: SUSYSpectrum.h:320
gslpp::vector< double > mch
Stores the tree-level Up-squark, Down-squark, Sneutrino, and Slepton mass-squared eigenvalues.
Definition: SUSYSpectrum.h:330
gslpp::matrix< gslpp::complex > getMchargino() const
Gets the Chargino spectrum at tree-level.
Definition: SUSYSpectrum.h:123
gslpp::vector< double > m_se2
Definition: SUSYSpectrum.h:330
bool CalcNeutralino(gslpp::matrix< gslpp::complex > &N_i, gslpp::vector< double > &mneu_i)
Computes the neutralino spectrum at tree level.
gslpp::matrix< gslpp::complex > getN() const
Gets the Neutralino mixing matrix.
Definition: SUSYSpectrum.h:179
gslpp::matrix< gslpp::complex > Mneutralino
Definition: SUSYSpectrum.h:315
gslpp::vector< double > getMch() const
Gets the Chargino spectrum at tree-level.
Definition: SUSYSpectrum.h:132
gslpp::matrix< gslpp::complex > getMsneutrino2() const
Gets the Sneutrino mass matrix at tree-level.
Definition: SUSYSpectrum.h:247
gslpp::matrix< gslpp::complex > Rd
Definition: SUSYSpectrum.h:335
gslpp::matrix< gslpp::complex > V
Definition: SUSYSpectrum.h:320
double getMHh() const
Gets the heavy Higgs mass.
Definition: SUSYSpectrum.h:94
gslpp::matrix< gslpp::complex > Msdown2
Definition: SUSYSpectrum.h:325
gslpp::matrix< gslpp::complex > getMselectron2() const
Gets the Slepton mass matrix at tree-level.
Definition: SUSYSpectrum.h:256
bool CalcSup(gslpp::matrix< gslpp::complex > &Ru_i, gslpp::vector< double > &m_su2_i)
Computes the up-type squark spectrum at tree level.
gslpp::vector< double > m_sn2
Definition: SUSYSpectrum.h:330
bool CalcSelectron(gslpp::matrix< gslpp::complex > &Rl_i, gslpp::vector< double > &m_se2_i)
Computes the charged-slepton spectrum at tree level.
const SUSY & mySUSY
Definition: SUSYSpectrum.h:300
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
Definition: SUSYSpectrum.h:325
SUSYSpectrum(const SUSY &SUSY_in)
A SUSYSpectrum constructor.
gslpp::vector< double > m_su2
Definition: SUSYSpectrum.h:330
gslpp::matrix< gslpp::complex > Mselectron2
Definition: SUSYSpectrum.h:325
gslpp::matrix< gslpp::complex > getRd() const
Gets the Down-squark mixing matrix.
Definition: SUSYSpectrum.h:235
double getMHl() const
Gets the light Higgs mass.
Definition: SUSYSpectrum.h:85
void SortSfermionMasses(gslpp::vector< double > &m_sf2, gslpp::matrix< gslpp::complex > &Rf) const
gslpp::vector< double > mneu
Definition: SUSYSpectrum.h:330
double mh[4]
Stores the tree-level Higgs spectrum.
Definition: SUSYSpectrum.h:305
gslpp::vector< double > getMneu() const
Gets the Neutralino spectrum at tree-level.
Definition: SUSYSpectrum.h:170
gslpp::matrix< gslpp::complex > getRn() const
Gets the Sneutrino mixing matrix.
Definition: SUSYSpectrum.h:283
gslpp::matrix< gslpp::complex > Ru
Stores the tree-level Up-squark, Down-squark, Sneutrino, and Slepton mixing matrices.
Definition: SUSYSpectrum.h:335
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 > getRl() const
Gets the Slepton mixing matrix.
Definition: SUSYSpectrum.h:292
gslpp::matrix< gslpp::complex > getRu() const
Gets the Up-squark mixing matrix.
Definition: SUSYSpectrum.h:226
gslpp::matrix< gslpp::complex > Rl
Definition: SUSYSpectrum.h:335
gslpp::complex saeff
Stores the Sine of tree-level CP-even mixing angle.
Definition: SUSYSpectrum.h:310
bool CalcSpectrum()
Computes the SUSY spectrum without the Higgs part at tree level.
gslpp::matrix< gslpp::complex > Mchargino
Stores the tree-level Chargino and Neutralino mass matrix.
Definition: SUSYSpectrum.h:315
double getMHp() const
Gets the charged Higgs mass.
Definition: SUSYSpectrum.h:112
gslpp::vector< double > getMse2() const
Gets the Slepton spectrum at tree-level.
Definition: SUSYSpectrum.h:274
gslpp::matrix< gslpp::complex > getMsup2() const
Gets the Up-squark mass matrix at tree-level.
Definition: SUSYSpectrum.h:190
gslpp::matrix< gslpp::complex > Msup2
Stores the tree-level Up-squark, Down-squark, Sneutrino, and Slepton mass matrix.
Definition: SUSYSpectrum.h:325
gslpp::matrix< gslpp::complex > Rn
Definition: SUSYSpectrum.h:335
gslpp::matrix< gslpp::complex > getV() const
Gets the Chargino mixing matrix V.
Definition: SUSYSpectrum.h:150
gslpp::vector< double > getMsu2() const
Gets the Up-squark spectrum at tree-level.
Definition: SUSYSpectrum.h:208
bool CalcHiggs(double mh[4], gslpp::complex &saeff_i)
Computes the Higgs spectrum at tree level.
gslpp::matrix< gslpp::complex > getMneutralino() const
Gets the Neutralino spectrum at tree-level.
Definition: SUSYSpectrum.h:161
bool CalcSneutrino(gslpp::matrix< gslpp::complex > &Rn_i, gslpp::vector< double > &m_sn2_i)
Computes the sneutrino spectrum at tree level.
gslpp::matrix< gslpp::complex > getMsdown2() const
Gets the Down-squark mass matrix at tree-level.
Definition: SUSYSpectrum.h:199
gslpp::vector< double > getMsd2() const
Gets the Down-squark spectrum at tree-level.
Definition: SUSYSpectrum.h:217