softsusy
is hosted by
Hepforge
,
IPPP Durham
SOFTSUSY
4.1
src
flavoursoft.h
Go to the documentation of this file.
1
12
#ifndef FLAVOURSOFT_H
13
#define FLAVOURSOFT_H
14
15
#include <iostream>
16
#include <fstream>
17
#include <sstream>
18
#include <string>
19
#include <cstdlib>
20
#include <cmath>
21
#include "
utils.h
"
22
#include "
numerics.h
"
23
#include "
physpars.h
"
24
#include "
lowe.h
"
25
#include "
softpars.h
"
26
#include "
twoloophiggs.h
"
27
#include "
softsusy.h
"
28
29
namespace
softsusy
{
30
34
void
convertFromWolfenstein
(
double
lambdaW,
double
A,
double
rhobar,
35
double
etabar,
double
& sin12,
double
& sin23,
36
double
& sin13);
37
43
int
positionOfSym
(
int
i,
int
j);
44
46
struct
flavourPhysical
{
49
DoubleMatrix
dSqMix
, uSqMix;
50
DoubleVector
msD, msU;
51
DoubleMatrix
eSqMix, nuSqMix;
52
DoubleVector
msE, msNu;
53
54
flavourPhysical
();
56
flavourPhysical
(
const
flavourPhysical
&);
58
const
flavourPhysical
&
displayFlavourPhysical
()
const
{
return
*
this
; };
60
void
setFlavourPhysical
(
const
flavourPhysical
&s) { *
this
= s; };
62
const
flavourPhysical
&
operator =
(
const
flavourPhysical
& s);
63
};
64
66
ostream &
operator <<
(ostream &,
const
flavourPhysical
&);
68
istream &
operator >>
(istream & left,
flavourPhysical
&s);
69
70
inline
flavourPhysical::flavourPhysical
()
71
: dSqMix(6, 6), uSqMix(6, 6), msD(6), msU(6),
72
eSqMix(6, 6), nuSqMix(3, 3), msE(6), msNu(3)
73
{}
74
75
inline
flavourPhysical::flavourPhysical
(
const
flavourPhysical
& s)
76
: dSqMix(s.dSqMix), uSqMix(s.uSqMix), msD(s.msD), msU(s.msU),
77
eSqMix(s.eSqMix), nuSqMix(s.nuSqMix),
78
msE(s. msE), msNu(s.msNu)
79
{}
80
81
class
FlavourMssmSoftsusy
;
83
class
FlavourMssmSoftsusy
:
public
MssmSoftsusy
{
84
private
:
85
flavourPhysical
fv;
87
double
theta12, theta23, theta13, deltaCkm;
88
double
thetaB12, thetaB23, thetaB13;
89
double
mNuE, mNuMu, mNuTau;
90
double
md2GeV, mu2GeV, ms2GeV, mcMc;
91
double
mePole, mmuPole;
92
public
:
94
inline
FlavourMssmSoftsusy
();
95
inline
FlavourMssmSoftsusy
(
const
FlavourMssmSoftsusy
& s);
96
const
FlavourMssmSoftsusy
& operator=(
const
FlavourMssmSoftsusy
& s);
97
99
inline
double
displayTheta12
()
const
{
return
theta12; };
100
inline
double
displayTheta13()
const
{
return
theta13; };
101
inline
double
displayTheta23()
const
{
return
theta23; };
102
inline
double
displayDelta()
const
{
return
deltaCkm; };
103
inline
double
displayThetaB12()
const
{
return
thetaB12; };
104
inline
double
displayThetaB13()
const
{
return
thetaB13; };
105
inline
double
displayThetaB23()
const
{
return
thetaB23; };
106
inline
double
displayMnuE()
const
{
return
mNuE; };
107
inline
double
displayMnuMu()
const
{
return
mNuMu; };
108
inline
double
displayPoleMe()
const
{
return
mePole; };
109
inline
double
displayPoleMmu()
const
{
return
mmuPole; };
110
inline
double
displayMd2GeV()
const
{
return
md2GeV; };
111
inline
double
displayMu2GeV()
const
{
return
mu2GeV; };
112
inline
double
displayMs2GeV()
const
{
return
ms2GeV; };
113
inline
double
displayMcMc()
const
{
return
mcMc; };
114
inline
double
displayMnuTau()
const
{
return
mNuTau; };
115
const
flavourPhysical
& displayFlavourPhysical()
const
{
return
fv; };
116
const
FlavourMssmSoftsusy
& displayFlavourSoftsusy()
const
{
return
*
this
; };
117
118
inline
void
setFlavourSoftsusy(
const
FlavourMssmSoftsusy
& s) { *
this
= s; }
119
inline
void
setTheta12(
double
d) { theta12 = d; };
120
inline
void
setTheta13(
double
d) { theta13 = d; };
121
inline
void
setTheta23(
double
d) { theta23 = d; };
122
inline
void
setDelta(
double
d) { deltaCkm = d; };
123
inline
void
setThetaB12(
double
d) { thetaB12 = d; };
124
inline
void
setThetaB13(
double
d) { thetaB13 = d; };
125
inline
void
setThetaB23(
double
d) { thetaB23 = d; };
126
inline
void
setMnuE(
double
d) { mNuE = d; };
127
inline
void
setMnuMu(
double
d) { mNuMu = d; };
128
inline
void
setMnuTau(
double
d) { mNuTau = d; };
129
inline
void
setPoleMe(
double
d) { mePole = d; };
130
inline
void
setPoleMmu(
double
d) { mmuPole = d; };
131
inline
void
setMd2GeV(
double
d) { md2GeV = d; };
132
inline
void
setMu2GeV(
double
d) { mu2GeV = d; };
133
inline
void
setMs2GeV(
double
d) { ms2GeV = d; };
134
inline
void
setMcMc(
double
d) { mcMc = d; };
136
void
setFlavourPhys
(
const
flavourPhysical
& s) { fv = s; };
138
inline
void
setInitialData
(
const
QedQcd
& r) {
139
md2GeV = r.
displayMass
(mDown); mu2GeV = r.
displayMass
(mUp);
140
ms2GeV = r.
displayMass
(mStrange); mcMc = r.
displayMass
(mCharm);
141
mePole = r.
displayMass
(mElectron); mmuPole = r.
displayMass
(mMuon);
142
}
143
146
const
DoubleMatrix
displayCkm
()
const
;
148
const
ComplexMatrix
displayComplexCkm
()
const
;
150
const
DoubleMatrix
displayMns
()
const
;
151
153
virtual
void
lesHouchesAccordOutput
(ostream & out,
const
char
model[],
154
const
DoubleVector
& pars,
155
int
sgnMu,
double
tanb,
double
qMax,
156
int
numPoints,
bool
ewsbBCscale);
158
void
modselSLHA
(ostream & out,
const
char
model[]);
160
void
sminputsSLHA
(ostream & out);
162
void
vckminSLHA
(ostream & out);
164
void
minparSLHA
(ostream & out,
const
char
model [],
165
const
DoubleVector
& pars,
double
tanb,
int
sgnMu,
166
bool
ewsbBCscale);
168
virtual
void
extparSLHA
(ostream & out,
const
DoubleVector
& pars,
169
bool
ewsbBCscale);
171
virtual
void
sfermionsSLHA
(ostream & out);
173
virtual
void
sleptonsSLHA
(ostream & out);
175
virtual
void
sfermionmixSLHA
(ostream & out);
177
virtual
void
selmixSLHA
(ostream & out);
179
virtual
void
snumixSLHA
(ostream & out);
181
virtual
void
yukawasSLHA
(ostream & out);
183
virtual
void
msoftSLHA
(ostream & out);
184
185
187
virtual
void
doUpSquarks
(
double
mt,
double
pizztMS,
double
sinthDRbarMS,
int
188
accuracy
);
190
virtual
void
doDownSquarks
(
double
mb,
double
pizztMS,
double
sinthDRbarMS,
191
int
accuracy
,
double
mt);
193
virtual
void
doChargedSleptons
(
double
mT,
double
pizztMS,
194
double
sinthDRbarMS,
int
accuracy
);
196
virtual
void
doSnu
(
double
pizztMS,
int
accuracy
= 0);
197
200
virtual
void
doQuarkMixing
(
DoubleMatrix
& mDon,
DoubleMatrix
& mUpq);
201
202
virtual
void
calcDrBarPars
();
203
207
virtual
MssmSusyRGE
guessAtSusyMt
(
double
tanb,
const
QedQcd
& oneset);
208
211
214
void
setAngles
(
double
lambdaW,
double
aCkm,
double
rhobar,
double
etabar);
215
218
void
sCkm
(
DoubleMatrix
& deltaULL,
DoubleMatrix
& deltaURR,
219
DoubleMatrix
& deltaULR,
DoubleMatrix
& deltaDLL,
220
DoubleMatrix
& deltaDRR,
DoubleMatrix
& deltaDLR)
const
;
221
222
225
void
sCkmAnalytic
(
double
m32,
double
& deltaULL23,
double
& deltaULR23,
226
double
& deltaULL12,
double
& deltaDLL23,
227
double
& deltaDLR23,
double
& deltaDLL12)
const
;
228
231
void
sCkmRunning
232
(
DoubleMatrix
& deltaULL,
DoubleMatrix
& deltaURR,
DoubleMatrix
& deltaULR,
233
DoubleMatrix
& deltaDLL,
DoubleMatrix
& deltaDRR,
DoubleMatrix
& deltaDLR);
234
};
235
236
inline
FlavourMssmSoftsusy::FlavourMssmSoftsusy
()
237
:
MssmSoftsusy
(), fv(), theta12(0.), theta23(0.), theta13(0.), deltaCkm(0.),
238
thetaB12(0.), thetaB23(0.), thetaB13(0.), mNuE(0.), mNuMu(0.), mNuTau(0.),
239
md2GeV(0.), mu2GeV(0.), ms2GeV(0.), mcMc(0.), mePole(0.), mmuPole(0.)
240
{}
241
242
inline
FlavourMssmSoftsusy::FlavourMssmSoftsusy
(
const
FlavourMssmSoftsusy
& s)
243
:
MssmSoftsusy
(s.displaySoftsusy()), fv(s.displayFlavourPhysical()),
244
theta12(s.displayTheta12()), theta23(s.displayTheta23()),
245
theta13(s.displayTheta13()), deltaCkm(s.displayDelta()),
246
thetaB12(s.displayThetaB12()), thetaB23(s.displayThetaB23()),
247
thetaB13(s.displayThetaB13()), mNuE(s.displayMnuE()),
248
mNuMu(s.displayMnuMu()), mNuTau(s.displayMnuTau()),
249
md2GeV(s.displayMd2GeV()), mu2GeV(s.displayMu2GeV()),
250
ms2GeV(s.displayMs2GeV()), mcMc(s.displayMcMc()),
251
mePole(s.displayPoleMe()), mmuPole(s.displayPoleMmu()) {
252
}
253
255
ostream &
operator <<
(ostream &,
const
FlavourMssmSoftsusy
&);
256
257
void
flavourBcs
(
MssmSoftsusy
& m,
const
DoubleVector
& inputParameters);
258
261
void
ckmNormalise
(
DoubleMatrix
& Vu,
DoubleMatrix
& Vd,
DoubleMatrix
& Uu,
262
DoubleMatrix
& Ud);
263
264
}
// namespace softsusy
265
266
#endif
267
ComplexMatrix
matrix of complex double values dimensions (rows x cols)
Definition:
linalg.h:608
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
softsusy::FlavourMssmSoftsusy
This object is intended to be a flavoursome version of MssmSoftsusy.
Definition:
flavoursoft.h:83
softsusy::FlavourMssmSoftsusy::minparSLHA
void minparSLHA(ostream &out, const char model[], const DoubleVector &pars, double tanb, int sgnMu, bool ewsbBCscale)
Input SUSY parameters part of SLHA2.
Definition:
flavoursoft.cpp:737
softsusy::FlavourMssmSoftsusy::modselSLHA
void modselSLHA(ostream &out, const char model[])
MODSEL block of SLHA2.
Definition:
flavoursoft.cpp:245
softsusy::FlavourMssmSoftsusy::msoftSLHA
virtual void msoftSLHA(ostream &out)
MSOFT block of SLHA.
Definition:
flavoursoft.cpp:563
softsusy::FlavourMssmSoftsusy::sCkmRunning
void sCkmRunning(DoubleMatrix &deltaULL, DoubleMatrix &deltaURR, DoubleMatrix &deltaULR, DoubleMatrix &deltaDLL, DoubleMatrix &deltaDRR, DoubleMatrix &deltaDLR)
Definition:
flavoursoft.cpp:1682
softsusy::FlavourMssmSoftsusy::displayComplexCkm
const ComplexMatrix displayComplexCkm() const
same as displayCkm, except the phase is properly incorporated
Definition:
flavoursoft.cpp:179
softsusy::FlavourMssmSoftsusy::sminputsSLHA
void sminputsSLHA(ostream &out)
SM inputs block of SLHA2.
Definition:
flavoursoft.cpp:250
softsusy::FlavourMssmSoftsusy::displayTheta12
double displayTheta12() const
standard set and display functions
Definition:
flavoursoft.h:99
softsusy::FlavourMssmSoftsusy::vckminSLHA
void vckminSLHA(ostream &out)
VCKMIN inputs block of SLHA2.
Definition:
flavoursoft.cpp:375
softsusy::FlavourMssmSoftsusy::setFlavourPhys
void setFlavourPhys(const flavourPhysical &s)
Sets all squark flavour violating physical parameters.
Definition:
flavoursoft.h:136
softsusy::FlavourMssmSoftsusy::selmixSLHA
virtual void selmixSLHA(ostream &out)
charged slepton mixing part
Definition:
flavoursoft.cpp:334
softsusy::FlavourMssmSoftsusy::sCkm
void sCkm(DoubleMatrix &deltaULL, DoubleMatrix &deltaURR, DoubleMatrix &deltaULR, DoubleMatrix &deltaDLL, DoubleMatrix &deltaDRR, DoubleMatrix &deltaDLR) const
Definition:
flavoursoft.cpp:1510
softsusy::FlavourMssmSoftsusy::doSnu
virtual void doSnu(double pizztMS, int accuracy=0)
flavour violating slepton mass/mixing calculation
Definition:
flavoursoft.cpp:1119
softsusy::FlavourMssmSoftsusy::displayMns
const DoubleMatrix displayMns() const
constructs a MNS matrix out of the angles stored within
Definition:
flavoursoft.cpp:209
softsusy::FlavourMssmSoftsusy::doDownSquarks
virtual void doDownSquarks(double mb, double pizztMS, double sinthDRbarMS, int accuracy, double mt)
flavour violating squark mass/mixing calculation
Definition:
flavoursoft.cpp:907
softsusy::FlavourMssmSoftsusy::setAngles
void setAngles(double lambdaW, double aCkm, double rhobar, double etabar)
Definition:
flavoursoft.cpp:1493
softsusy::FlavourMssmSoftsusy::FlavourMssmSoftsusy
FlavourMssmSoftsusy()
constructor functions
Definition:
flavoursoft.h:236
softsusy::FlavourMssmSoftsusy::lesHouchesAccordOutput
virtual void lesHouchesAccordOutput(ostream &out, const char model[], const DoubleVector &pars, int sgnMu, double tanb, double qMax, int numPoints, bool ewsbBCscale)
SLHA2 output format.
Definition:
flavoursoft.cpp:698
softsusy::FlavourMssmSoftsusy::sfermionsSLHA
virtual void sfermionsSLHA(ostream &out)
sfermion part of mass block output of SLHA2
Definition:
flavoursoft.cpp:298
softsusy::FlavourMssmSoftsusy::doQuarkMixing
virtual void doQuarkMixing(DoubleMatrix &mDon, DoubleMatrix &mUpq)
Definition:
flavoursoft.cpp:1183
softsusy::FlavourMssmSoftsusy::guessAtSusyMt
virtual MssmSusyRGE guessAtSusyMt(double tanb, const QedQcd &oneset)
Definition:
flavoursoft.cpp:1472
softsusy::FlavourMssmSoftsusy::calcDrBarPars
virtual void calcDrBarPars()
Organises tree-level calculation of all sparticle masses and mixings.
Definition:
flavoursoft.cpp:1288
softsusy::FlavourMssmSoftsusy::displayCkm
const DoubleMatrix displayCkm() const
Definition:
flavoursoft.cpp:204
softsusy::FlavourMssmSoftsusy::setInitialData
void setInitialData(const QedQcd &r)
Sets the initial data from a un-run QedQcd object.
Definition:
flavoursoft.h:138
softsusy::FlavourMssmSoftsusy::extparSLHA
virtual void extparSLHA(ostream &out, const DoubleVector &pars, bool ewsbBCscale)
EXTPAR block of SLHA.
Definition:
flavoursoft.cpp:400
softsusy::FlavourMssmSoftsusy::sleptonsSLHA
virtual void sleptonsSLHA(ostream &out)
slepton part of mass block output of SLHA2
Definition:
flavoursoft.cpp:275
softsusy::FlavourMssmSoftsusy::sfermionmixSLHA
virtual void sfermionmixSLHA(ostream &out)
sfermion mixing output part of SLHA2
Definition:
flavoursoft.cpp:354
softsusy::FlavourMssmSoftsusy::snumixSLHA
virtual void snumixSLHA(ostream &out)
uncharged slepton mixing part
Definition:
flavoursoft.cpp:344
softsusy::FlavourMssmSoftsusy::yukawasSLHA
virtual void yukawasSLHA(ostream &out)
sfermionic part of mixing blocks
Definition:
flavoursoft.cpp:530
softsusy::FlavourMssmSoftsusy::doChargedSleptons
virtual void doChargedSleptons(double mT, double pizztMS, double sinthDRbarMS, int accuracy)
flavour violating slepton mass/mixing calculation
Definition:
flavoursoft.cpp:1015
softsusy::FlavourMssmSoftsusy::doUpSquarks
virtual void doUpSquarks(double mt, double pizztMS, double sinthDRbarMS, int accuracy)
flavour violating squark mass/mixing calculation
Definition:
flavoursoft.cpp:800
softsusy::FlavourMssmSoftsusy::sCkmAnalytic
void sCkmAnalytic(double m32, double &deltaULL23, double &deltaULR23, double &deltaULL12, double &deltaDLL23, double &deltaDLR23, double &deltaDLL12) const
Definition:
flavoursoft.cpp:1544
softsusy::MssmSoftsusy
Contains all supersymmetric MSSM parameters, incorporating R_p MSSM.
Definition:
softsusy.h:74
softsusy::MssmSusyRGE
Contains all supersymmetric RPC-MSSM parameters.
Definition:
susy.h:218
softsusy::QedQcd
Quark and lepton masses and gauge couplings in QEDxQCD effective theory.
Definition:
lowe.h:55
softsusy::QedQcd::displayMass
const DoubleVector & displayMass() const
Returns a vector of running fermion masses.
Definition:
lowe.h:89
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::ckmNormalise
void ckmNormalise(DoubleMatrix &Vu, DoubleMatrix &Vd, DoubleMatrix &Uu, DoubleMatrix &Ud)
Definition:
flavoursoft.cpp:1630
softsusy::positionOfSym
int positionOfSym(int i, int j)
Definition:
flavoursoft.cpp:56
softsusy::flavourBcs
void flavourBcs(MssmSoftsusy &m, const DoubleVector &inputParameters)
Definition:
flavoursoft.cpp:72
softsusy::convertFromWolfenstein
void convertFromWolfenstein(double lambdaW, double A, double rhobar, double etabar, double &sin12, double &sin23, double &sin13)
Definition:
flavoursoft.cpp:42
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
numerics.h
numerical routines - differential equation solver, differentiator and function minimiser for instance
physpars.h
Flags for potential problems in sProblem structure, and structure for containing physical MSSM parame...
softpars.h
Soft SUSY breaking parameters.
softsusy.h
Header file for RP conserving MSSM object including all (real) soft SUSY breaking parameters and (rea...
softsusy::flavourPhysical
Object containing the physical aspects of flavour mixing etc.
Definition:
flavoursoft.h:46
softsusy::flavourPhysical::displayFlavourPhysical
const flavourPhysical & displayFlavourPhysical() const
Displays the object in situations where a const is required.
Definition:
flavoursoft.h:58
softsusy::flavourPhysical::flavourPhysical
flavourPhysical()
Definition:
flavoursoft.h:70
softsusy::flavourPhysical::dSqMix
DoubleMatrix dSqMix
Definition:
flavoursoft.h:49
softsusy::flavourPhysical::setFlavourPhysical
void setFlavourPhysical(const flavourPhysical &s)
Sets whole contents to those of another object s.
Definition:
flavoursoft.h:60
softsusy::flavourPhysical::operator=
const flavourPhysical & operator=(const flavourPhysical &s)
Sets whole contents to those of another object s.
Definition:
flavoursoft.cpp:1170
accuracy
const double accuracy
Approximate accuracy with which 3 body decays are calculated.
Definition:
threeBodyDecays.h:38
twoloophiggs.h
Contains two-loop routines from Slavich et al.
utils.h
A few handy bits and pieces - little mathematical functions and the like.
Generated by
1.9.1