softsusy
is hosted by
Hepforge
,
IPPP Durham
SOFTSUSY
4.1
src
susy.h
Go to the documentation of this file.
1
12
#ifndef SUSY_H
13
#define SUSY_H
14
15
#include <iostream>
16
#include <cmath>
17
#include <fstream>
18
#include "
lowe.h
"
19
#include "
utils.h
"
20
#include "
rge.h
"
21
#include "
tensor.h
"
22
23
namespace
softsusy
{
24
25
const
static
int
numSusyPars = 33;
26
28
typedef
enum
{YU=1, YD, YE}
yukawa
;
29
31
struct
sBrevity
{
35
DoubleMatrix
dt
, ut, et, u2, d2, e2, u2t, e2t, d2t;
37
DoubleVector
gsq
, g3, g4;
39
double
uuT
, ddT, eeT;
41
DoubleMatrix
u1
, d1, e1;
42
44
sBrevity
();
46
sBrevity
(
const
sBrevity
&);
48
const
sBrevity
&
operator=
(
const
sBrevity
&);
49
52
void
calculate
(
const
DoubleMatrix
& yu,
const
DoubleMatrix
& yd,
const
53
DoubleMatrix
& ye,
const
DoubleVector
& g);
54
};
55
56
inline
sBrevity::sBrevity
()
57
: dt(3, 3), ut(3, 3), et(3, 3), u2(3, 3),
58
d2(3, 3), e2(3, 3), u2t(3, 3),
59
e2t(3, 3), d2t(3, 3), gsq(1, 3), g3(1, 3), g4(1, 3), uuT(0.0),
60
ddT(0.0), eeT(0.0), u1(3, 3), d1(3, 3), e1(3, 3)
61
{}
62
63
inline
sBrevity::sBrevity
(
const
sBrevity
&s)
64
: dt(s.dt), ut(s.ut), et(s.ut), u2(s.u2), d2(s.d2),
65
e2(s.e2), u2t(s.u2t),
66
e2t(s.e2t), d2t(s.d2t), gsq(s.gsq), g3(s.g3), g4(s.g4),
67
uuT(s.uuT), ddT(s.ddT), eeT(s.eeT), u1(s.u1), d1(s.d1), e1(s.e1)
68
{}
69
71
class
MssmSusy
{
72
private
:
74
Approx
mssmSusyApprox;
75
DoubleMatrix
u, d, e;
76
DoubleVector
g;
79
double
smu, tanb, hVev;
83
int
mixing;
84
public
:
85
MssmSusy
();
87
MssmSusy
(
const
MssmSusy
&);
91
MssmSusy
(
const
DoubleMatrix
& u,
const
DoubleMatrix
& d,
const
92
DoubleMatrix
& e,
const
DoubleVector
& v,
double
m,
93
double
tb,
double
h,
int
mix);
94
virtual
~
MssmSusy
() {};
95
97
const
MssmSusy
&
operator=
(
const
MssmSusy
& s);
99
void
setMssmSusy
(
const
MssmSusy
&s);
100
101
void
setMssmLoops(
double
l) { mssmSusyApprox.
setLoops
(l); };
103
void
setHvev
(
double
h);
105
void
setSomePars
(
const
MssmSusy
& s);
107
void
setYukawaElement
(
yukawa
,
int
,
int
,
double
);
109
void
setYukawaMatrix
(
yukawa
,
const
DoubleMatrix
&);
111
void
setGaugeCoupling
(
int
,
double
);
113
void
setAllGauge
(
const
DoubleVector
&);
115
void
setSusyMu
(
double
);
117
void
setTanb
(
double
);
119
void
setMssmApprox
(
int
l,
int
t);
120
inline
void
setMssmApprox
(
const
Approx
& a) { mssmSusyApprox = a; };
121
void
set(
const
DoubleVector
&);
122
void
set(
const
DoubleVector
&,
int
& k);
124
void
setMixing
(
double
mix) { mixing = mix; };
125
126
int
displayMssmLoops()
const
{
return
mssmSusyApprox.
displayLoops
(); };
128
double
displayHvev
()
const
;
130
inline
const
MssmSusy
&
displayMssmSusy
()
const
;
132
double
displayYukawaElement
(
yukawa
,
int
,
int
)
const
;
134
const
DoubleMatrix
&
displayYukawaMatrix
(
yukawa
)
const
;
136
double
displayGaugeCoupling
(
int
)
const
;
138
DoubleVector
displayGauge
()
const
;
140
double
displaySusyMu
()
const
;
142
double
displayTanb
()
const
;
143
Approx
displayMssmApprox()
const
{
return
mssmSusyApprox; };
146
const
DoubleVector
display
()
const
;
148
int
displayMixing
()
const
{
return
mixing; };
149
152
void
getMasses
(
QedQcd
& r,
double
vev)
const
;
158
void
quarkMixing
(
const
DoubleMatrix
& CKM,
int
mix);
161
void
setDiagYukawas
(
const
QedQcd
&,
double
vev);
165
void
getQuarkMixedYukawas
(
const
QedQcd
& r,
const
DoubleMatrix
&
166
CKM,
int
mix,
double
vev);
171
void
diagQuarkBasis
(
DoubleMatrix
& vdl,
DoubleMatrix
& vdr,
172
DoubleMatrix
& vul,
DoubleMatrix
& vur)
const
;
173
MssmSusy
beta
(
sBrevity
&)
const
;
174
181
void
getOneLpAnom
(
DoubleMatrix
& gEE,
DoubleMatrix
& gLL,
182
DoubleMatrix
& gQQ,
DoubleMatrix
& gDD,
183
DoubleMatrix
& gUU,
double
& gH1H1,
double
&
184
gH2H2,
sBrevity
& a)
const
;
191
void
getTwoLpAnom
(
DoubleMatrix
& gEE,
DoubleMatrix
& gLL,
192
DoubleMatrix
& gQQ,
DoubleMatrix
& gDD,
193
DoubleMatrix
& gUU,
double
& gH1H1,
double
&
194
gH2H2,
sBrevity
& a)
const
;
195
202
205
void
getThreeLpAnom
(
DoubleMatrix
& gEE,
DoubleMatrix
& gLL,
206
DoubleMatrix
& gQQ,
DoubleMatrix
& gDD,
207
DoubleMatrix
& gUU,
double
& gH1H1,
double
&
208
gH2H2,
sBrevity
& a)
const
;
209
210
void
anomalousDimension
(
DoubleMatrix
& gEE,
DoubleMatrix
& gLL,
211
DoubleMatrix
& gQQ,
DoubleMatrix
& gUU,
212
DoubleMatrix
& gDD,
DoubleVector
& dg,
213
double
& gH1H1,
double
& gH2H2,
214
sBrevity
& a)
const
;
215
};
216
218
class
MssmSusyRGE
:
public
RGE
,
public
MssmSusy
{
219
private
:
220
public
:
221
MssmSusyRGE
();
223
MssmSusyRGE
(
const
MssmSusyRGE
&);
224
MssmSusyRGE
(
const
MssmSusy
&);
228
MssmSusyRGE
(
const
DoubleMatrix
& u,
const
DoubleMatrix
& d,
const
229
DoubleMatrix
& e,
const
DoubleVector
& v,
double
m,
230
double
tb,
double
MU,
int
l,
int
t,
double
h,
int
mix);
231
virtual
~
MssmSusyRGE
() {};
232
234
const
MssmSusyRGE
&
operator=
(
const
MssmSusyRGE
& s);
236
void
setMssmSusyRGE
(
const
MssmSusyRGE
&s);
238
void
set
(
const
DoubleVector
&);
239
241
inline
const
MssmSusy
&
displayMssmSusyRGE
()
const
;
243
DoubleVector
beta
()
const
;
246
const
DoubleVector
display
()
const
;
247
248
};
249
250
251
253
ostream &
operator <<
(ostream &,
const
MssmSusy
&);
254
ostream &
operator <<
(ostream &,
const
MssmSusyRGE
&);
256
istream &
operator >>
(istream &left,
MssmSusy
&s);
257
istream &
operator >>
(istream &left,
MssmSusyRGE
&s);
260
void
setBetas
(
DoubleMatrix
&,
DoubleVector
&,
DoubleVector
&,
DoubleVector
261
&,
DoubleVector
&);
262
263
void
setBetasThreeLoop(
Tensor
&,
DoubleMatrix
&,
DoubleMatrix
&,
264
DoubleMatrix
&,
DoubleVector
&,
DoubleVector
&,
DoubleVector
&,
265
DoubleVector
&,
DoubleVector
&,
DoubleVector
&,
DoubleVector
&,
266
DoubleVector
&);
267
inline
const
MssmSusy
&
MssmSusy::displayMssmSusy
()
const
{
return
*
this
; }
268
269
inline
void
MssmSusy::setGaugeCoupling
(
int
i,
double
f) { g(i) = f; }
270
271
inline
void
MssmSusy::setAllGauge
(
const
DoubleVector
& v) {
272
if
(v.
displayStart
() != 1 || v.
displayEnd
() !=3) {
273
ostringstream ii;
274
ii <<
275
"Initialising SUSY params gauge function with vector NOT 1..3\n"
<<
276
v;
277
throw
ii.str();
278
}
279
g = v;
280
}
281
282
inline
double
MssmSusy::displayHvev
()
const
{
return
hVev; }
283
284
inline
void
MssmSusy::setHvev
(
double
h) { hVev = h; }
285
inline
void
MssmSusy::setSusyMu
(
double
f) { smu = f; }
286
inline
void
MssmSusy::setTanb
(
double
f) { tanb = f; }
287
inline
DoubleVector
MssmSusy::displayGauge
()
const
{
return
g; }
288
inline
double
MssmSusy::displayGaugeCoupling
(
int
i)
const
{
289
return
g.
display
(i);
290
}
291
inline
double
MssmSusy::displaySusyMu
()
const
{
return
smu; }
292
293
}
// namespace softsusy
294
295
#endif
296
297
298
DoubleMatrix
Matrix from 1..rows, 1..cols of double values.
Definition:
linalg.h:214
DoubleVector
DoubleVector is of variable length, and contains double precision.
Definition:
linalg.h:35
DoubleVector::displayStart
int displayStart() const
start of dimension
Definition:
linalg.h:93
DoubleVector::displayEnd
int displayEnd() const
returns end of dimension
Definition:
linalg.h:94
DoubleVector::display
double display(int i) const
display one element
Definition:
linalg.h:90
Tensor
Three-index tensor for containing information on RPV couplings.
Definition:
tensor.h:27
softsusy::Approx
Definition:
rge.h:23
softsusy::Approx::setLoops
void setLoops(int l)
Set number of loops used.
Definition:
rge.h:37
softsusy::Approx::displayLoops
int displayLoops() const
Return number of loops.
Definition:
rge.h:43
softsusy::MssmSusyRGE
Contains all supersymmetric RPC-MSSM parameters.
Definition:
susy.h:218
softsusy::MssmSusyRGE::beta
DoubleVector beta() const
Calculate beta functions of SUSY preserving parameters of RPC MSSM.
Definition:
susy.cpp:612
softsusy::MssmSusyRGE::set
void set(const DoubleVector &)
Sets all RGE parameters to elements of vector.
Definition:
susy.cpp:186
softsusy::MssmSusyRGE::display
const DoubleVector display() const
Definition:
susy.cpp:161
softsusy::MssmSusyRGE::MssmSusyRGE
MssmSusyRGE()
Definition:
susy.cpp:46
softsusy::MssmSusyRGE::displayMssmSusyRGE
const MssmSusy & displayMssmSusyRGE() const
Returns whole object as a const.
softsusy::MssmSusyRGE::operator=
const MssmSusyRGE & operator=(const MssmSusyRGE &s)
Default destructor.
Definition:
susy.cpp:98
softsusy::MssmSusyRGE::setMssmSusyRGE
void setMssmSusyRGE(const MssmSusyRGE &s)
sets object to be equal to another
Definition:
susy.cpp:248
softsusy::MssmSusy
Contains all supersymmetric RPC-MSSM parameters.
Definition:
susy.h:71
softsusy::MssmSusy::displayGaugeCoupling
double displayGaugeCoupling(int) const
Returns a single gauge coupling.
Definition:
susy.h:288
softsusy::MssmSusy::operator=
const MssmSusy & operator=(const MssmSusy &s)
Default destructor.
Definition:
susy.cpp:85
softsusy::MssmSusy::setMssmSusy
void setMssmSusy(const MssmSusy &s)
sets object to be equal to another
Definition:
susy.cpp:237
softsusy::MssmSusy::displayMixing
int displayMixing() const
Returns quark mixing parameter.
Definition:
susy.h:148
softsusy::MssmSusy::displayHvev
double displayHvev() const
Returns DRbar running Higgs vev.
Definition:
susy.h:282
softsusy::MssmSusy::displayYukawaMatrix
const DoubleMatrix & displayYukawaMatrix(yukawa) const
Returns a whole Yukawa matrix.
Definition:
susy.cpp:149
softsusy::MssmSusy::setSomePars
void setSomePars(const MssmSusy &s)
Copies Yukawa matrices and gauge couplings from s only.
Definition:
susy.cpp:105
softsusy::MssmSusy::beta
MssmSusy beta(sBrevity &) const
Definition:
susy.cpp:300
softsusy::MssmSusy::displayMssmSusy
const MssmSusy & displayMssmSusy() const
Returns whole object as a const.
Definition:
susy.h:267
softsusy::MssmSusy::getTwoLpAnom
void getTwoLpAnom(DoubleMatrix &gEE, DoubleMatrix &gLL, DoubleMatrix &gQQ, DoubleMatrix &gDD, DoubleMatrix &gUU, double &gH1H1, double &gH2H2, sBrevity &a) const
Definition:
susy.cpp:471
softsusy::MssmSusy::setMixing
void setMixing(double mix)
Sets quark mixing parameter.
Definition:
susy.h:124
softsusy::MssmSusy::setTanb
void setTanb(double)
Sets tan beta.
Definition:
susy.h:286
softsusy::MssmSusy::MssmSusy
MssmSusy()
Definition:
susy.cpp:42
softsusy::MssmSusy::getOneLpAnom
void getOneLpAnom(DoubleMatrix &gEE, DoubleMatrix &gLL, DoubleMatrix &gQQ, DoubleMatrix &gDD, DoubleMatrix &gUU, double &gH1H1, double &gH2H2, sBrevity &a) const
Definition:
susy.cpp:443
softsusy::MssmSusy::getMasses
void getMasses(QedQcd &r, double vev) const
Definition:
susy.cpp:682
softsusy::MssmSusy::setDiagYukawas
void setDiagYukawas(const QedQcd &, double vev)
Definition:
susy.cpp:626
softsusy::MssmSusy::getThreeLpAnom
void getThreeLpAnom(DoubleMatrix &gEE, DoubleMatrix &gLL, DoubleMatrix &gQQ, DoubleMatrix &gDD, DoubleMatrix &gUU, double &gH1H1, double &gH2H2, sBrevity &a) const
By Bednyakov, see arXiv:1009.5455.
Definition:
susy.cpp:718
softsusy::MssmSusy::displayTanb
double displayTanb() const
Returns tan beta.
Definition:
susy.cpp:213
softsusy::MssmSusy::setSusyMu
void setSusyMu(double)
Sets superpotential mu parameter.
Definition:
susy.h:285
softsusy::MssmSusy::anomalousDimension
void anomalousDimension(DoubleMatrix &gEE, DoubleMatrix &gLL, DoubleMatrix &gQQ, DoubleMatrix &gUU, DoubleMatrix &gDD, DoubleVector &dg, double &gH1H1, double &gH2H2, sBrevity &a) const
Definition:
susy.cpp:532
softsusy::MssmSusy::setMssmApprox
void setMssmApprox(int l, int t)
Set loops/thresholds.
Definition:
susy.cpp:287
softsusy::MssmSusy::setAllGauge
void setAllGauge(const DoubleVector &)
Set all gauge couplings.
Definition:
susy.h:271
softsusy::MssmSusy::setGaugeCoupling
void setGaugeCoupling(int, double)
Set a single gauge coupling.
Definition:
susy.h:269
softsusy::MssmSusy::displayGauge
DoubleVector displayGauge() const
Returns all gauge couplings.
Definition:
susy.h:287
softsusy::MssmSusy::setHvev
void setHvev(double h)
Sets DRbar running Higgs vev.
Definition:
susy.h:284
softsusy::MssmSusy::quarkMixing
void quarkMixing(const DoubleMatrix &CKM, int mix)
Definition:
susy.cpp:658
softsusy::MssmSusy::setYukawaMatrix
void setYukawaMatrix(yukawa, const DoubleMatrix &)
Sets whole Yukawa matrix.
Definition:
susy.cpp:124
softsusy::MssmSusy::setYukawaElement
void setYukawaElement(yukawa, int, int, double)
Sets one element of a Yukawa matrix.
Definition:
susy.cpp:112
softsusy::MssmSusy::displaySusyMu
double displaySusyMu() const
Returns superpotential mu parameter.
Definition:
susy.h:291
softsusy::MssmSusy::displayYukawaElement
double displayYukawaElement(yukawa, int, int) const
Returns a single Yukawa matrix element.
Definition:
susy.cpp:136
softsusy::MssmSusy::diagQuarkBasis
void diagQuarkBasis(DoubleMatrix &vdl, DoubleMatrix &vdr, DoubleMatrix &vul, DoubleMatrix &vur) const
Definition:
susy.cpp:706
softsusy::MssmSusy::display
const DoubleVector display() const
Definition:
susy.cpp:165
softsusy::MssmSusy::getQuarkMixedYukawas
void getQuarkMixedYukawas(const QedQcd &r, const DoubleMatrix &CKM, int mix, double vev)
Definition:
susy.cpp:674
softsusy::QedQcd
Quark and lepton masses and gauge couplings in QEDxQCD effective theory.
Definition:
lowe.h:55
softsusy::RGE
Describes a set of parameters and RGEs in general.
Definition:
rge.h:49
lowe.h
QedQcd object contains Standard Model quark and lepton masses. It integrates them using 3 loop qcd x ...
softsusy
global variable declaration
Definition:
def.cpp:13
softsusy::setBetas
void setBetas(DoubleMatrix &babBeta, DoubleVector &cuBeta, DoubleVector &cdBeta, DoubleVector &ceBeta, DoubleVector &bBeta)
Definition:
susy.cpp:371
softsusy::operator<<
ostream & operator<<(ostream &left, const FlavourMssmSoftsusy &m)
Formatted output.
Definition:
flavoursoft.cpp:217
softsusy::operator>>
istream & operator>>(istream &left, flavourPhysical &s)
Formatted input of physical parameters.
Definition:
flavoursoft.cpp:1220
softsusy::yukawa
yukawa
For accessing up, down and charged lepton Yukawa matrices respectively.
Definition:
susy.h:28
rge.h
RGE objects consisting of energy scale and parameters and loops (order in perturbation theory) and th...
softsusy::sBrevity
Contains data needed in beta function calculation to make it faster.
Definition:
susy.h:31
softsusy::sBrevity::uuT
double uuT
uuT= , ddt= , eet=
Definition:
susy.h:39
softsusy::sBrevity::sBrevity
sBrevity()
Constructor fills sruct with zeroes by default.
Definition:
susy.h:56
softsusy::sBrevity::dt
DoubleMatrix dt
Definition:
susy.h:35
softsusy::sBrevity::operator=
const sBrevity & operator=(const sBrevity &)
Sets struct to be equal to another.
Definition:
susy.cpp:16
softsusy::sBrevity::gsq
DoubleVector gsq
gsq= , g3= , g4=
Definition:
susy.h:37
softsusy::sBrevity::calculate
void calculate(const DoubleMatrix &yu, const DoubleMatrix &yd, const DoubleMatrix &ye, const DoubleVector &g)
Definition:
susy.cpp:27
softsusy::sBrevity::u1
DoubleMatrix u1
d1= , u1= , e1=
Definition:
susy.h:41
tensor.h
three-index tensor for containing information on R-parity violating couplings. Also contains linear a...
utils.h
A few handy bits and pieces - little mathematical functions and the like.
Generated by
1.9.1