SoftSUSY is hosted by Hepforge, IPPP Durham
SOFTSUSY  4.0
softsusy Namespace Reference

global variable declaration More...

Classes

class  AltEwsbMssm
 A different REWSB condition - given by mu and MA instead of mh1,2. More...
 
class  Approx
 
struct  drBarPars
 DRbar values of masses and mixings in MSSM. More...
 
class  FlavourMssmSoftsusy
 This object is intended to be a flavoursome version of MssmSoftsusy. More...
 
struct  flavourPhysical
 Object containing the physical aspects of flavour mixing etc. More...
 
class  MssmSoftPars
 Soft SUSY breaking parameters and beta functions. More...
 
class  MssmSoftsusy
 Contains all supersymmetric MSSM parameters, incorporating R_p MSSM. More...
 
class  MssmSusy
 Contains all supersymmetric RPC-MSSM parameters. More...
 
class  MssmSusyRGE
 Contains all supersymmetric RPC-MSSM parameters. More...
 
struct  nmsBrevity
 Contains data needed in beta function calculation to make it faster. More...
 
class  NMSSM_command_line_parser
 class which parses command line options of the NMSSM More...
 
class  NMSSM_input
 class for NMSSM input parameters More...
 
class  NmssmSoftsusy
 Contains all supersymmetric NMSSM parameters, incorporating R_p NMSSM. More...
 
class  NmssmSusy
 Contains all SUSY RPC-NMSSM parameters but is not an RGE object end of NmssmSusy. More...
 
class  NmssmSusyPars
 Contains NMSSM-only part of RPC SUSY parameters end of NmssmSusyPars. More...
 
class  NmssmSusyRGE
 Contains all supersymmetric RPC-MSSM parameters and is an RGE end of NmssmSusyRGE. More...
 
class  QedQcd
 Quark and lepton masses and gauge couplings in QEDxQCD effective theory. More...
 
class  RGE
 Describes a set of parameters and RGEs in general. More...
 
class  RpvNeutrino
 Updates an RPV object with loop-corrected neutrino data: use for L violation. More...
 
class  RpvSoftPars
 Contains RPV MSSM soft SUSY breaking parameters. More...
 
class  RpvSoftsusy
 Real valued R-Parity violating MSSM object: use for UDD couplings. More...
 
class  RpvSusyPars
 Contains RPV MSSM supersymmetric parameters. More...
 
struct  sBrevity
 Contains data needed in beta function calculation to make it faster. More...
 
class  SoftParsNmssm
 Contains only the NMSSM soft parameters, NOT the MSSM ones. More...
 
struct  sPhysical
 Masses of the physical particles. More...
 
struct  sProblem
 Various boolean values to flag any problems with the parameter point. More...
 

Enumerations

enum  {
  ENABLE_TWO_LOOP_MT_AS = 0x1, ENABLE_TWO_LOOP_AS_AS_YUK = 0x2, ENABLE_TWO_LOOP_MB_AS = 0x4, ENABLE_TWO_LOOP_MB_YUK = 0x8,
  ENABLE_TWO_LOOP_MTAU_YUK = 0x10
}
 
enum  mass {
  mUp =1, mCharm, mTop, mDown,
  mStrange, mBottom, mElectron, mMuon,
  mTau
}
 used to give order of quark masses stored
 
enum  leGauge { ALPHA =1, ALPHAS }
 order of gauge couplings stored in QedQcd
 
enum  tachyonType {
  none =0, selectron, smuon, stau,
  sup, scharm, stop, sdown,
  sstrange, sbottom, h0, A0,
  hpm, snue, snumu, snutau,
  W, Z
}
 
enum  RpvCouplings { LU =1, LD, LE }
 Which flavour of coupling: UDD, LQD or LLE operator?
 
enum  softMasses {
  mQl =1, mUr, mDr, mLl,
  mEr
}
 SUSY breaking soft mass squared parameters.
 
enum  trilinears { UA =1, DA, EA }
 SUSY breaking trilinear parameters.
 
enum  yukawa { YU =1, YD, YE }
 For accessing up, down and charged lepton Yukawa matrices respectively.
 

Functions

void convertFromWolfenstein (double lambdaW, double A, double rhobar, double etabar, double &sin12, double &sin23, double &sin13)
 
int positionOfSym (int i, int j)
 
void flavourBcs (MssmSoftsusy &m, const DoubleVector &inputParameters)
 
ostream & operator<< (ostream &, const FlavourMssmSoftsusy &)
 Formatted output.
 
ostream & operator<< (ostream &, const flavourPhysical &)
 Formatted printout.
 
istream & operator>> (istream &left, flavourPhysical &s)
 Formatted input of physical parameters.
 
void extractFlavour (int gen, DoubleMatrix &Z, const DoubleVector &m, double &m1, double &m2, double &theta)
 
DoubleMatrix extractFlavourSubMatrix (const DoubleMatrix &M, int gen)
 
DoubleVector extractFlavourSubVector (const DoubleVector &v, int gen)
 
std::pair< DoubleVector, double > extractFlavour (const DoubleVector &m, const DoubleMatrix &Z, int gen)
 
void ckmNormalise (DoubleMatrix &Vu, DoubleMatrix &Vd, DoubleMatrix &Uu, DoubleMatrix &Ud)
 
ostream & operator<< (ostream &, const QedQcd &)
 Input numbers into the object: by file stream.
 
istream & operator>> (istream &left, QedQcd &m)
 Formatted output from QedQcd object.
 
void readIn (QedQcd &mset, const char fname[80])
 
DoubleVector gaugeDerivs (double, const DoubleVector &)
 Returns beta functions of alpha, alpha_s only.
 
double getRunMtFromMz (double poleMt, double asMZ)
 Given pole mass and alphaS(MZ), returns running top mass – one loop qcd.
 
double getRunMt (double poleMt, double asmt)
 
double getAsmt (double mtop, double alphasMz)
 
void massFermions (const QedQcd &r, DoubleMatrix &mDon, DoubleMatrix &mUpq, DoubleMatrix &mEle)
 Returns diagonal fermion mass matrices given input object r.
 
void generalBcs (MssmSoftsusy &m, const DoubleVector &inputParameters)
 
void generalBcs2 (MssmSoftsusy &m, const DoubleVector &inputParameters)
 This one doesn't overwrite mh1sq or mh2sq at the high scale. More...
 
void extendedSugraBcs (MssmSoftsusy &m, const DoubleVector &inputParameters)
 non-universal mSUGRA boundary conditions including mH1^2 and mH2^2
 
void sugraBcs (MssmSoftsusy &m, const DoubleVector &inputParameters)
 universal mSUGRA boundary conditions More...
 
void nuhmI (MssmSoftsusy &m, const DoubleVector &inputParameters)
 Non-universal higgs mass conditions. Paramaters are, in order: m0,m12,mH,a0. More...
 
void nuhmII (MssmSoftsusy &m, const DoubleVector &inputParameters)
 
void amsbBcs (MssmSoftsusy &m, const DoubleVector &inputParameters)
 Other types of boundary condition. More...
 
void lvsBcs (MssmSoftsusy &m, const DoubleVector &inputParameters)
 Large Volume string compactification boundary conditions.
 
void gmsbBcs (MssmSoftsusy &m, const DoubleVector &inputParameters)
 One-loop GMSB boundary conditions.
 
void userDefinedBcs (MssmSoftsusy &m, const DoubleVector &inputParameters)
 For the user to define....
 
void nonUniGauginos (MssmSoftsusy &m, const DoubleVector &inputParameters)
 
void splitGmsb (MssmSoftsusy &m, const DoubleVector &inputParameters)
 Requested by CMS. More...
 
bool testLEPHiggs (const MssmSoftsusy &r, double error)
 
double ufb3fn (double mu, double htau, double h2, int family, const MssmSoftsusy &temp)
 from hep-ph/9507294 – debugged 19/11/04 More...
 
double getQhat (double inminTol, double eR, double h2, double Lisq, double mx, MssmSoftsusy &temp)
 For ufb3direction, returns scale at which one-loop corrections are smallest. More...
 
double sumTol (const MssmSoftsusy &in, const MssmSoftsusy &out, int numTries)
 Difference between two SOFTSUSY objects in and out: EWSB terms only. More...
 
string recogLsp (int temp, int posj)
 Prints out what the lsp is. More...
 
ostream & operator<< (ostream &left, const MssmSoftsusy &s)
 
std::ostream & operator<< (std::ostream &, const MssmSoftsusy &)
 Formatted output.
 
void addBetaSoftParsNmssm (nmsBrevity &a, const NmssmSusyPars &n, const MssmSusy &m, const MssmSoftPars &msoft, const SoftParsNmssm &nsoft, DoubleVector &dmG, double &dmH1sq, double &dmH2sq, double &dm3sq, double &dmSsq, double &dmSpsq, double &dxiS, DoubleMatrix &dmq, DoubleMatrix &dmu, DoubleMatrix &dmd, DoubleMatrix &dme, DoubleMatrix dml, DoubleMatrix &dhu, DoubleMatrix &dhd, DoubleMatrix &dhe, double &dhlam, double &dhkap)
 
ostream & operator<< (ostream &left, const SoftParsNmssm &s)
 
istream & operator>> (istream &left, SoftParsNmssm &s)
 
void anomalousDimensionNmssmSusy (const MssmSusy &s, const NmssmSusyPars &n, DoubleMatrix &gEE, DoubleMatrix &gLL, DoubleMatrix &gQQ, DoubleMatrix &gUU, DoubleMatrix &gDD, DoubleVector &dg, double &gH1H1, double &gH2H2, double &gSS, nmsBrevity &a)
 
void addOneLpAnomNmssm (double &gH1H1, double &gH2H2, double &gSS, double lambda, double kappa)
 Adds NMSSM one loop pieces onto the wave function renomalisation.
 
void addTwoLpAnomNmssm (DoubleMatrix &gEE, DoubleMatrix &gLL, DoubleMatrix &gQQ, DoubleMatrix &gDD, DoubleMatrix &gUU, double &gH1H1, double &gH2H2, double &gSS, nmsBrevity &a)
 
NmssmSusy betaNmssmSusy (nmsBrevity &a, const MssmSusy &s, const NmssmSusyPars &n)
 beta functions More...
 
void nmsetBetas (DoubleMatrix &babBeta, DoubleVector &cuBeta, DoubleVector &cdBeta, DoubleVector &ceBeta, DoubleVector &clBeta, DoubleVector &bBeta)
 
void setBetaLambda (DoubleVector &)
 Outputs beta function coefficients for lambda.
 
ostream & operator<< (ostream &left, const NmssmSusyPars &s)
 
ostream & operator<< (ostream &left, const NmssmSusy &s)
 
ostream & operator<< (ostream &, const NmssmSusyRGE &)
 Formatted output.
 
istream & operator>> (istream &left, NmssmSusyRGE &s)
 Formatted input.
 
ostream & operator<< (ostream &left, const NmssmSoftsusy &s)
 
std::ostream & operator<< (std::ostream &lhs, const NMSSM_input &rhs)
 
void NmssmMsugraBcs (NmssmSoftsusy &m, const DoubleVector &inputParameters)
 
void MssmMsugraBcs (NmssmSoftsusy &m, const DoubleVector &inputParameters)
 
void SemiMsugraBcs (NmssmSoftsusy &m, const DoubleVector &inputParameters)
 
void NmssmSugraNoSoftHiggsMassBcs (NmssmSoftsusy &m, const DoubleVector &inputParameters)
 NMSSM Msugra, without setting the soft Higgs masses.
 
void generalNmssmBcs (NmssmSoftsusy &m, const DoubleVector &inputParameters)
 
void generalNmssmBcs2 (NmssmSoftsusy &m, const DoubleVector &inputParameters)
 This one doesn't overwrite mh1sq or mh2sq at the high scale. For cases where the soft scalar Higgs masses are set in EWSB.
 
void extendedNMSugraBcs (NmssmSoftsusy &m, const DoubleVector &inputParameters)
 
void nuhmINM (NmssmSoftsusy &m, const DoubleVector &inputParameters)
 
void nuhmIINM (NmssmSoftsusy &m, const DoubleVector &inputParameters)
 
void amsbBcs (NmssmSoftsusy &m, const DoubleVector &inputParameters)
 
double sumTol (const NmssmSoftsusy &in, const NmssmSoftsusy &out, int numTries)
 LCT: Difference between two NMSSM SOFTSUSY objects in and out: EWSB terms only. More...
 
std::ostream & operator<< (std::ostream &left, const drBarPars &s)
 
std::ostream & operator<< (std::ostream &, const sPhysical &)
 Formatted printout.
 
std::istream & operator>> (std::istream &left, sPhysical &s)
 Formatted input of physical parameters.
 
ostream & operator<< (ostream &st, const sProblem &p)
 
std::ostream & operator<< (std::ostream &st, const sProblem &p)
 Formatted output, but won't print unflagged problems.
 
DoubleVector allDerivs (double x, const DoubleVector &y)
 
ostream & operator<< (ostream &left, const RpvNeutrino &r)
 Formatted input.
 
ostream & operator<< (ostream &left, const RpvSoftsusy &r)
 Formatted input.
 
double neutrinoSum (const RpvSoftsusy &r)
 Sums up neutrino masses valid for cosmological bound.
 
void rpvSugraBcs (MssmSoftsusy &m, const DoubleVector &inputParameters)
 universal mSUGRA boundary conditions for RPV More...
 
void rpvAmsbBcs (MssmSoftsusy &m, const DoubleVector &inputParameters)
 
void rpvGmsbBcs (MssmSoftsusy &m, const DoubleVector &inputParameters)
 
void rpvExtendedSugraBcs (MssmSoftsusy &m, const DoubleVector &inputParameters)
 
ostream & operator<< (ostream &, const RpvSusyPars &)
 Formatted output of object.
 
ostream & operator<< (ostream &, const RpvSoftPars &)
 Formatted output.
 
DoubleVector boundaryCondition (double m0, double m12, double a0, const RpvSusyPars &r)
 
ostream & operator<< (ostream &left, const MssmSoftPars &s)
 Formatted ouput of whole object.
 
istream & operator>> (istream &left, MssmSoftPars &s)
 Formatted input of whole object.
 
double ftCalc (double x)
 
void printShortInitialise ()
 Prints out header line for print-short output. More...
 
double minimufb3 (double lnH2)
 
double rho2 (double r)
 Two-loop Standard Model corrections to rho parameter. More...
 
double fEff (double x)
 function used for calculating sin theta_eff
 
double gEff (double x)
 function used for calculating sin theta_eff
 
double sualfs (double qsq, double alam4, double tmass)
 
double ssmqcd (double dm, double dq, double mtopPole)
 another function which mimics Isajet's handling of quark masses
 
double lep2Likelihood (double mh)
 Fit to LEP2 Standard Model results. More...
 
DoubleVector mhIntegrand (double mh, const DoubleVector &)
 
double lnLHiggs (double mh)
 returns the smeared log likelihood coming from LEP2 Higgs mass bounds More...
 
std::istream & operator>> (std::istream &left, MssmSoftsusy &s)
 
ostream & operator<< (ostream &, const MssmSusy &)
 Formatted output.
 
ostream & operator<< (ostream &left, const MssmSusyRGE &s)
 
istream & operator>> (istream &left, MssmSusy &s)
 Formatted input.
 
istream & operator>> (istream &left, MssmSusyRGE &s)
 
void setBetas (DoubleMatrix &babBeta, DoubleVector &cuBeta, DoubleVector &cdBeta, DoubleVector &ceBeta, DoubleVector &bBeta)
 

Variables

int MIXING = -1
 no quark mixing (dominant third family approx), and no verbose output More...
 
int PRINTOUT = 0
 
double TOLERANCE = 1.0e-4
 overall accuracy required More...
 
double GMU = 1.16637e-5
 decay constant of muon More...
 
double QEWSB = 1.0
 SUSY breaking scale - if set by user. More...
 
bool INCLUDE_2_LOOP_SCALAR_CORRECTIONS = true
 
bool Z3 = true
 PA: switch for selecting between the Z3 preserving case and the. More...
 
bool GUTlambda = false
 
bool GUTkappa = false
 
bool GUTmuPrime = false
 
bool GUTxiF = false
 
bool GUTsVev = false
 
bool NMSSMTools = false
 Enable/Disable NMSSMTools compatible SLHA output. More...
 
bool SoftHiggsOut = false
 
int MICROMEGAS = 0
 
int NMSDECAY = 0
 
int numHiggsMassLoops = 2
 
int numRewsbLoops = 2
 Set to number of loops to use for REWSB condition up to the default of 2.
 
double MZ = MZCENT
 global pole mass of MZ in GeV - MZCENT is defined in def.h More...
 
bool susyRpvBCatMSUSY = false
 default is to fix RPV parameters at the GUT scale More...
 
bool forceSlha1 = false
 default: use SLHA1 conventions for RPV output More...
 
bool slha2setTrilinear []
 default is to have no trilinears set by SLHA2 conventions More...
 
bool printRuledOutSpectra = false
 default is to not print out theoretically excluded spectra More...
 
bool mAFlag = false
 default is to set tree-level tachyonic A masses to 0 in loops More...
 
bool printDEBUG = false
 default is that developer-level debugging printout flag is OFF
 
long idummySave = -22
 random number seed More...
 
bool sphenoMassConv = false
 
double sw2 = 1.0 - MW * MW / (MZ * MZ)
 Some parameters used in the computation.
 
double gnuL = 0.5
 
double guL = 0.5 - 2.0 * sw2 / 3.0
 
double gdL = -0.5 + sw2 / 3.0
 
double geL = -0.5 + sw2
 
double guR = 2.0 * sw2 / 3.0
 
double gdR = -sw2 / 3.0
 
double geR = -sw2
 
double yuL = 1.0 / 3.0
 
double yuR = -4.0 / 3.0
 
double ydL = 1.0 / 3.0
 
double ydR = 2.0 / 3.0
 
double yeL = -1.0
 
double yeR = 2.0
 
double ynuL = -1.0
 
double minBR = 1.0e-6
 Default: print out branching ratios bigger than $10^{-6}$. More...
 
bool threeBodyDecays = true
 Default: calculate three-body decays. More...
 
bool outputPartialWidths = false
 Default: don't output partial widths in decays. More...
 
bool calcDecays = false
 Default: don't calculate decays. More...
 
bool USE_THREE_LOOP_RGE = false
 Controls the use of MSSM three-loop RGEs.
 
double TWOLOOP_NUM_THRESH = 0.1
 
bool USE_TWO_LOOP_GAUGE_YUKAWA = false
 
bool MB_DECOUPLING = false
 
bool USE_TWO_LOOP_SPARTICLE_MASS = false
 Various two-loop thresholds, eg 2-loop QCD corrections to m_gluino.
 
int expandAroundGluinoPole = 3
 Default: expand around gluino and squark pole masses. More...
 
const char SOFTSUSY_VERSION [] = "4.0.1"
 
const double EPSTOL = 1.0e-11
 underflow accuracy
 
const double PI = atan(1.0) * 4.0
 or 3.141592653589793 longhand;
 
const double root2 = sqrt(2.0)
 used to flag diabolical problems
 
const double numberOfTheBeast = 6.66e66
 
const double MW = 80.404
 LEPEWWG central value 14/06/06. Is just used for intialisation etc.
 
const double MZCENT = 91.1876
 particle data book 2004 central value. Is just used for intialisation etc
 
bool tryToConvergeHard
 
int numTry
 
int accessedReadIn
 
const double MUP = 2.2e-3
 default running quark mass from PDG at 2 GeV
 
const double MDOWN = 4.7e-3
 default running quark mass from PDG at 2 GeV
 
const double MSTRANGE = 0.096
 default running quark mass from PDG at 2 GeV
 
const double MCHARM = 1.27
 default running quark mass from PDG at 2 GeV
 
const double MBOTTOM = 4.18
 default running quark mass from PDG
 
const double MTOP = 165.0
 
const double MELECTRON = 5.109989461e-4
 default pole lepton mass from PDG
 
const double MMUON = 1.0565835745e-1
 default pole lepton mass from PDG
 
const double MTAU = 1.77686
 default pole lepton mass from PDG
 
const double ALPHASMZ = 0.1181
 default running value from PDG
 
const double ALPHAMZ = 1.0 / 127.950
 default running alpha(MZ) from PDG
 
const double PMTOP = 173.21
 PDG 2014.
 
const double PMBOTTOM = 4.9
 
const double THETA12CKM = 0.229206
 default central values of CKM matrix elements from PDG 2006 in radians More...
 
const double THETA13CKM = 0.003960
 From Vub in global CKM fit, PDG.
 
const double THETA23CKM = 0.042223
 From Vcb/Vtb in global CKM fit, PDG.
 
const double mxDefault = 1.9e16
 < default SUSY breaking boundary condition scale
 

Detailed Description

global variable declaration

RP violating MSSM object including all real RPV MSSM couplings.

Gives the level of approximation: number of loops and number of thresholds.

PDG refers to 2016 values.

rpvsoft.cpp

Function Documentation

void softsusy::addBetaSoftParsNmssm ( nmsBrevity a,
const NmssmSusyPars n,
const MssmSusy m,
const MssmSoftPars msoft,
const SoftParsNmssm nsoft,
DoubleVector dmG,
double &  dmH1sq,
double &  dmH2sq,
double &  dm3sq,
double &  dmSsq,
double &  dmSpsq,
double &  dxiS,
DoubleMatrix dmq,
DoubleMatrix dmu,
DoubleMatrix dmd,
DoubleMatrix dme,
DoubleMatrix  dml,
DoubleMatrix dhu,
DoubleMatrix dhd,
DoubleMatrix dhe,
double &  dhlam,
double &  dhkap 
)

start of RGE functions Outputs derivatives (DRbar scheme) in the form of dsoft thresholds = 0 and NOTHING is decoupled. thresholds = 2 and SUSY params/gauge couplings are decoupled at sparticle thresholds. CHECKED: 24/05/02

Constants for gauge running

Constants not set yet

To keep this a const function: TIME SAVINGS

Best to make these const DoubleMatrix & type

defined with an additional factor of ^2 compared to literature to avoid division and ensure running can be tested with lambda = 0. For speed issues may wish to set differently in depending on value of mixing

These trace factors appear frequently, so defined here to simplify expressions

< DEBUG

convert to proper derivatives:

two-loop contributions. I got these from hep-ph/9311340. WIth respect to their notation, the Yukawas and h's are TRANSPOSED. Gaugino masses are identical, as are soft masses. B(mV) = mu(BBO) B(BBO)

new dominant 3-family version

Mixing < 1 PA: warning in 3rd family terms the trilinears are Ut etc and the Yukawas are ht, hb, htau

NB you should introduce speedy computation here. For example sum traces, not add then trace. Also surely some of the products are repeated, eg u2 * u2 = u4, d2 * d2 = d4, u1 * mu * ut, d1 * md * dt, d2 * d1, d2 * mq

add onto one-loop beta functions

Default is to include these 2-loop corrections anyhow because they can be so important: gauginos + higgs

The following are valid in the third-family approximation – they are much faster, and should be a good approximation to the no-mixed case

In the mixed case, we need to use the slower full 3-family expressions

void softsusy::addTwoLpAnomNmssm ( DoubleMatrix gEE,
DoubleMatrix gLL,
DoubleMatrix gQQ,
DoubleMatrix gDD,
DoubleMatrix gUU,
double &  gH1H1,
double &  gH2H2,
double &  gSS,
nmsBrevity a 
)

Adds NMSSM two loop pieces onto the wave function renomalisation. a should be calculated before it is called.

DoubleVector softsusy::allDerivs ( double  ,
const DoubleVector  
)

Runge-Kutte user defined routine: given log renorm scale x and the dependent variables y of an RGE, will calculate the derivitives dydx.

void softsusy::amsbBcs ( MssmSoftsusy m,
const DoubleVector inputParameters 
)

Other types of boundary condition.

Adds 2-loop AMSB boundary conditions onto m.

void softsusy::anomalousDimensionNmssmSusy ( const MssmSusy s,
const NmssmSusyPars n,
DoubleMatrix gEE,
DoubleMatrix gLL,
DoubleMatrix gQQ,
DoubleMatrix gUU,
DoubleMatrix gDD,
DoubleVector dg,
double &  gH1H1,
double &  gH2H2,
double &  gSS,
nmsBrevity a 
)

end of nmsBrevity start of RGE functions

Organises the calculation of the NMSSM+MSSM pieces of the anomalous dimensions

NmssmSusy softsusy::betaNmssmSusy ( nmsBrevity a,
const MssmSusy s,
const NmssmSusyPars n 
)

beta functions

One-loop RGEs in Feynman gauge

Two-loop pieces

DoubleVector softsusy::boundaryCondition ( double  m0,
double  m12,
double  a0,
const RpvSusyPars r 
)

Returns a vector boundary condition from the RPV bits, for RPV SUGRA-type boundary conditions. IO parameters: m0=universal scalar mass, m12=universal gaugino mass, a0=universal scalar trilinear, r is

void softsusy::ckmNormalise ( DoubleMatrix Vu,
DoubleMatrix Vd,
DoubleMatrix Uu,
DoubleMatrix Ud 
)

the object of this function is to make sure all diagonal entries are positive, as well as 1,2 and 2,3 entries

Now, we make 12 and 23 elements positive while keeping diagonal element positive

We've now exhausted the 5 re-signing degrees of freedom that we have to play with.

On the other hand, this fixes the phases definitively to avoid any problems

latter relations in order to obtain same sign for the fermion mass

void softsusy::convertFromWolfenstein ( double  lambdaW,
double  A,
double  rhobar,
double  etabar,
double &  sin12,
double &  sin23,
double &  sin13 
)

Converts from input Wolfenstein parameterisation of a unitary matrix to the mixing angles under the assumption of CP-conservation, ie no complex phases. Uses the modulus of complex number to calculate sin13

< sin theta13 e^i delta

void softsusy::flavourBcs ( MssmSoftsusy m,
const DoubleVector inputParameters 
)

Find the Yukawa rotation matrices such that the super-CKM basis may be defined

NB switched i and j: may be a problem in general for complex masses

This sets the trilinears with any universal ones set

This overwrites (in the CKM basis) any of trilinears we need to First, must transform to SCKM basis

transform back to interaction basis

double softsusy::ftCalc ( double  x)

Stores running parameters in a vector

We miss two-loop terms in our calculation of fine-tuning...

Restore initial parameters at correct scale

void softsusy::generalBcs ( MssmSoftsusy m,
const DoubleVector inputParameters 
)

Allows user to specify a boundary condition where ALL SUSY breaking parameters are specified in inputParameters

void softsusy::generalBcs2 ( MssmSoftsusy m,
const DoubleVector inputParameters 
)

This one doesn't overwrite mh1sq or mh2sq at the high scale.

Sets all soft parameters in m except for mh1sq or mh2sq: it is intended for the case where mu and M_A^0(pole) is specified

void softsusy::generalNmssmBcs ( NmssmSoftsusy m,
const DoubleVector inputParameters 
)

< save this so it's not overwritten

double softsusy::getAsmt ( double  mtop,
double  alphasMz 
)

Given a value of mt, and alphas(MZ), find alphas(mt) to 1 loops in qcd: it's a very good approximation at these scales, better than 10^-3 accuracy

double softsusy::getQhat ( double  inminTol,
double  eR,
double  h2,
double  Lisq,
double  mx,
MssmSoftsusy temp 
)

For ufb3direction, returns scale at which one-loop corrections are smallest.

For UFB-3direction, returns scale at which one-loop corrections are smallest. IO parameters: inminTol is fractional accuracy with which minimum is found, eR is value of RH selectron field, h2 is value of H2 field, Lisq=|L_i|^2 slepton VEV value, mx=high BC-scale

Run all paramaters to that scale

Return NOB if no convergence on qhat

double softsusy::getRunMt ( double  poleMt,
double  asmt 
)

Input pole mass of top and alphaS(mt), outputs running mass mt(mt) including one-loop standard model correction only

double softsusy::lep2Likelihood ( double  mh)

Fit to LEP2 Standard Model results.

parameterisation of LEP2 likelihood for Standard Model higgs mass

the approximation to the LEP2 results in hep-ex/0508037 follows

double softsusy::lnLHiggs ( double  mh)

returns the smeared log likelihood coming from LEP2 Higgs mass bounds

integrates LEP2 likelihood for SM higgs with 2 GeV Gaussian error, returns the log likelihood

error code

Runge-Kutta, f(b) = int^b0 I(x) dx, I is integrand => d f / db = I(b) odeint has a problem at f(0): therefore, define f'(b)=f(b)+1

DoubleVector softsusy::mhIntegrand ( double  mh,
const DoubleVector  
)

smears the likelihood curve for a Standard Model Higgs mass with a 3 GeV Gaussian theoretical error

integrand for 2 GeV Gaussian theory error for SM higgs likelihood from LEP2

double softsusy::minimufb3 ( double  )

For a given trial value of the log of field H2, gives the value of the potential at the minimum. The following global variables must be set before it is called: unificationScale=high BC scale, minTol=fractional accuracy with which minimum is found

Save initial parameters

family could be 2 as well if they're very different

field VEVS

qhat is scale at which one-loop potential corrections are smallest: iterate

Restore initial parameters

void softsusy::MssmMsugraBcs ( NmssmSoftsusy m,
const DoubleVector inputParameters 
)

Sets scalar soft masses equal to m0, fermion ones to m12 and sets the trilinear scalar coupling to be a0

void softsusy::nmsetBetas ( DoubleMatrix ,
DoubleVector ,
DoubleVector ,
DoubleVector ,
DoubleVector ,
DoubleVector  
)

Outputs beta function coefficients for MSSM gauge coupling evolution in arguments.

void softsusy::NmssmMsugraBcs ( NmssmSoftsusy m,
const DoubleVector inputParameters 
)

User supplied routine. Inputs m at the unification scale, and uses inputParameters vector to output m with high energy soft boundary conditions.

Sets scalar soft masses equal to m0, fermion ones to m12 and sets the trilinear scalar coupling to be a

void softsusy::nonUniGauginos ( MssmSoftsusy m,
const DoubleVector inputParameters 
)

Sets scalar soft masses equal to m0, fermion ones to m12 and sets the trilinear scalar coupling to be a0 if (m0 < 0.0) m.flagTachyon(true); Deleted on request from A Pukhov

void softsusy::nuhmI ( MssmSoftsusy m,
const DoubleVector inputParameters 
)

Non-universal higgs mass conditions. Paramaters are, in order: m0,m12,mH,a0.

Sets scalar soft masses equal to m0, fermion ones to m12 and sets the trilinear scalar coupling to be a0 if (m0 < 0.0) m.flagTachyon(true); Deleted on request from A Pukhov

void softsusy::nuhmII ( MssmSoftsusy m,
const DoubleVector inputParameters 
)

Non-universal higgs mass conditions. Paramaters are, in order: m0,m12,mH1,mH2,a0

Sets scalar soft masses equal to m0, fermion ones to m12 and sets the trilinear scalar coupling to be a0 if (m0 < 0.0) m.flagTachyon(true); Deleted on request from A Pukhov

void softsusy::nuhmINM ( NmssmSoftsusy m,
const DoubleVector inputParameters 
)

Sets scalar soft masses equal to m0, fermion ones to m12 and sets the trilinear scalar coupling to be A0 if (m0 < 0.0) m.flagTachyon(true); Deleted on request from A Pukhov

ostream& softsusy::operator<< ( ostream &  left,
const MssmSoftsusy s 
)

< COMPILE_TWO_LOOP_GAUGE_YUKAWA

If the gravitino mass is non-zero, and if it is smaller than the visible sector LSP mass, make it clear that the particle is the NLSP

int softsusy::positionOfSym ( int  i,
int  j 
)

returns an integer which is position of the matrix element encoded in the following way: [ 1 2 3 ] [ 4 5 ] [ 6 ] where the matrix is symmetric.

void softsusy::printShortInitialise ( )

Prints out header line for print-short output.

Gives a summary of important properties of a SUSY object: mu, m3sq, mH0, mChi0, lightest stau, lightest mGluino, lightest stop, lightest chargino, lightest tau sneutrino, lightest sbottom, down squark, up squark and selectron masses, minimum of potential (if calculated) and fine-tuning parameter (if passed)

void softsusy::readIn ( QedQcd oneset,
const char  fname[80] 
)

Reads in a QedQed-type object and returns it in oneset. Call with fname "" if you want it to come from standard input "massIn" is an example of a data initialisation file:

std::string softsusy::recogLsp ( int  temp,
int  j 
)

Prints out what the lsp is.

Prints out the identity of the LSP to standard output. temp, j are defined from lsp function

double softsusy::rho2 ( double  r)

Two-loop Standard Model corrections to rho parameter.

checked

void softsusy::rpvSugraBcs ( MssmSoftsusy m,
const DoubleVector inputParameters 
)

universal mSUGRA boundary conditions for RPV

only set the rest if the input parameters if we're not fixing them at MZ

void softsusy::SemiMsugraBcs ( NmssmSoftsusy m,
const DoubleVector inputParameters 
)

Sets scalar soft masses equal to m0, fermion ones to m12 and sets the trilinear scalar coupling to be a0

void softsusy::setBetas ( DoubleMatrix ,
DoubleVector ,
DoubleVector ,
DoubleVector ,
DoubleVector  
)

Outputs beta function coefficients for MSSM gauge coupling evolution in arguments.

1 loop gauge beta fns

Extra sleptons included in vectorlike rep.s: 3 ER + 2 LL

Next come the two loop MSSM constants for gauge beta fns

void softsusy::splitGmsb ( MssmSoftsusy m,
const DoubleVector inputParameters 
)

Requested by CMS.

< encodes EWSB BC

Save the two parameters

double softsusy::sualfs ( double  qsq,
double  alam4,
double  tmass 
)

isajet routine for getting alpha_s - only used here for getting numbers from isawig interface

void softsusy::sugraBcs ( MssmSoftsusy m,
const DoubleVector inputParameters 
)

universal mSUGRA boundary conditions

User supplied routine. Inputs m at the unification scale, and uses inputParameters vector to output m with high energy soft boundary conditions.

Sets scalar soft masses equal to m0, fermion ones to m12 and sets the trilinear scalar coupling to be a0 if (m0 < 0.0) m.flagTachyon(true); Deleted on request from A Pukhov

double softsusy::sumTol ( const MssmSoftsusy in,
const MssmSoftsusy out,
int  numTries 
)

Difference between two SOFTSUSY objects in and out: EWSB terms only.

Calculates fractional difference in Drbar masses between in and out.

The predicted value of MZ^2 is an absolute measure of how close to a true solution we are:

We allow an extra factor of 10 for the precision in the predicted value of MZ compared to TOLERANCE if the program is struggling and gone beyond 10 tries - an extra 2 comes from MZ v MZ^2

double softsusy::sumTol ( const NmssmSoftsusy in,
const NmssmSoftsusy out,
int  numTries 
)

LCT: Difference between two NMSSM SOFTSUSY objects in and out: EWSB terms only.

Calculates fractional difference in Drbar masses between in and out.

The predicted value of MZ^2 is an absolute measure of how close to a true solution we are:

We allow an extra factor of 10 for the precision in the predicted value of MZ compared to TOLERANCE if the program is struggling and gone beyond 10 tries - an extra 2 comes from MZ v MZ^2

bool softsusy::testLEPHiggs ( const MssmSoftsusy r,
double  error 
)

Returns true if a point passes the Higgs constraint from LEP2, false otherwise. Error is the amount of uncertainty on SOFTSUSY's mh prediction

Pietro's fit to the totality of LEP2 data: gives whether the lightest Higgs is allowed or not - depends only upon the mass and beta-alpha. true means allowed, false means ruled out.

cout << "sinba2=" << sinba2 << endl;

double softsusy::ufb3fn ( double  mu,
double  htau,
double  h2,
int  family,
const MssmSoftsusy temp 
)

from hep-ph/9507294 – debugged 19/11/04

Given mu paramer, tau Yukawa htau, family number examined, finds height of potential for temp at |H_2|=h2.

potential value for these VEVs

Variable Documentation

bool softsusy::calcDecays = false

Default: don't calculate decays.

If true, calculate decays.

int softsusy::expandAroundGluinoPole = 3

Default: expand around gluino and squark pole masses.

If = 0, no expansion for gluino. If = 1, expand around gluino and squark pole masses. If = 2, expand only around gluino pole mass rather than the tree-level mass and iterate. 1 and 2 are a little slower.

bool softsusy::forceSlha1 = false

default: use SLHA1 conventions for RPV output

Again, for RPV: do you want old school (SLHA-1 like) output?

double softsusy::GMU = 1.16637e-5

decay constant of muon

Fermi constant.

bool softsusy::GUTkappa = false

If true the input value of kappa is set at the GUT scale If false the input kappa is set at MSUSY.

bool softsusy::GUTlambda = false

If true the input value of lambda is set at the GUT scale If false the input lambda is set at MSUSY.

long softsusy::idummySave = -22

random number seed

A handy global variable for random number generator.

bool softsusy::INCLUDE_2_LOOP_SCALAR_CORRECTIONS = true

Do we include 2-loop RGEs of all scalar masses and A-terms, or only the scalar mass Higgs parameters? (Other quantities all 2-loop anyway): the default in SOFTSUSY 3 is to include all 2-loop terms

uncomment if you want checking of vector/matrices bounds: slows code down. It also now checks over/underflows in matrix multiplication etc #define ARRAY_BOUNDS_CHECKING Make true if you want to include the 2-loop RGE corrections to scalar mass squared parameters and trilinear terms: they slow it down by a factor of

  1. Note that gaugino and Higgs mass parameters are evolved to 2-loops by default anyway.
bool softsusy::mAFlag = false

default is to set tree-level tachyonic A masses to 0 in loops

If =0 (default), sets tachyonic mA=0, otherwise resets mA=sqrt(|mA|^2)

bool softsusy::MB_DECOUPLING = false

just implements decoupling procedure "consistently" for the case of b-quark mass. It requires the external momentum to be zero. However, the difference between the p^2 = 0 and p^2 = mb^2 cases is expected to be of O((mb/MSUSY)^2), which we can formally neglect.

double softsusy::minBR = 1.0e-6

Default: print out branching ratios bigger than $10^{-6}$.

minimum branching ratio that will get printed out

int softsusy::MIXING = -1

no quark mixing (dominant third family approx), and no verbose output

quark mixing flag: set by user in file "massIn": 0=no quark mixing, 1=in up sector, 2=in down sector, -1=3rd family approximation (all at MZ)

const double softsusy::MTOP = 165.0

default running quark mass from PDG

double softsusy::MZ = MZCENT

global pole mass of MZ in GeV - MZCENT is defined in def.h

Z boson mass.

bool softsusy::NMSSMTools = false

Enable/Disable NMSSMTools compatible SLHA output.

If true we give the output needed for nmssmTools otherwise normal nmssm softsusy output

int softsusy::numHiggsMassLoops = 2

number of loops used to calculate Higgs mass and tadpoles. They should be identical for a consistent calculation

Set to number of loops to use for calculation of Higgs mass (currently up to 2, the default)

bool softsusy::outputPartialWidths = false

Default: don't output partial widths in decays.

If true, output partial widths of decays in SLHA comments.

const double softsusy::PMBOTTOM = 4.9

default pole mass from PDG

int softsusy::PRINTOUT = 0

variable for level of output and amount of quark: 0-3, higher numbers giving more diagnostics. Set by user in file "massIn"

bool softsusy::printRuledOutSpectra = false

default is to not print out theoretically excluded spectra

Flag which can be set to switch on producing spectrum output even for theoretically ruled out regions of parameter space

double softsusy::QEWSB = 1.0

SUSY breaking scale - if set by user.

there are two possible conventions: if QEWSB > MZ, its value is assumed in GeV and used as a constant MSUSY. Otherwise, it MULTIPLIES the usual MSUSY value, of root(mstop1 mstop2)

bool softsusy::slha2setTrilinear
Initial value:
= {false, false, false, false, false, false, false,
false, false, false, false, false, false, false,
false, false, false, false, false, false, false,
false, false, false, false, false, false}

default is to have no trilinears set by SLHA2 conventions

For flavour violation: records which SCKM trilinears have been set in SLHA2

bool softsusy::SoftHiggsOut = false

If true then the EWSB conditions will output soft Higgs masses Will be inconsistent with constrained models but can be useful for non-universal Higgs cases

bool softsusy::sphenoMassConv = false

Default: use SOFTSUSY conventions for masses of sparticles in loops, ie tree-level masses computed with the 2-loop Higgs potential

bool softsusy::susyRpvBCatMSUSY = false

default is to fix RPV parameters at the GUT scale

For RPV: do you want to fix the RPV SUSY couplings at MSUSY?

const double softsusy::THETA12CKM = 0.229206

default central values of CKM matrix elements from PDG 2006 in radians

From Vus/Vud in global CKM fit, PDG

bool softsusy::threeBodyDecays = true

Default: calculate three-body decays.

If false, don't calculate the three-body decays.

double softsusy::TOLERANCE = 1.0e-4

overall accuracy required

fractional accuracy required - may need to make smaller for accurate neutrino masses

bool softsusy::tryToConvergeHard

Tries really hard to get convergence when the going gets tough, at the cost of time for those points (takes up to 43 sec on my computer)

double softsusy::TWOLOOP_NUM_THRESH = 0.1

Threshold to prevent the re-evaluation of two-loop leading SUSY thresholds corrections. By default we set it to 10%.

Threshold to prevent the re-evaluation of two-loop leading SUSY thresholds corrections

bool softsusy::USE_TWO_LOOP_GAUGE_YUKAWA = false

Includes the evaluation of leading two-loop thresholds corrections to the strong coupling constant and to the third family of fermion masses

bool softsusy::Z3 = true

PA: switch for selecting between the Z3 preserving case and the.

PA: switch for selecting between the Z3 preserving case and the Z3 violating case with mu and m3sq allowed needed fpr slecting which EWSB routines to use.