softsusy is hosted by Hepforge, IPPP Durham
SOFTSUSY  4.1
softsusy Namespace Reference

global variable declaration More...

Classes

struct  flavourPhysical
 Object containing the physical aspects of flavour mixing etc. More...
 
class  FlavourMssmSoftsusy
 This object is intended to be a flavoursome version of MssmSoftsusy. More...
 
class  QedQcd
 Quark and lepton masses and gauge couplings in QEDxQCD effective theory. More...
 
struct  Parameters
 
struct  mtParameters
 
class  MssmJacobian
 
class  NmssmJacobian
 Class for calculating Jacobian fine-tuning measure. More...
 
class  SoftParsNmssm
 Contains only the NMSSM soft parameters, NOT the MSSM ones. More...
 
class  NmssmSoftsusy
 Contains all supersymmetric NMSSM parameters, incorporating R_p NMSSM. More...
 
struct  nmsBrevity
 Contains data needed in beta function calculation to make it faster. More...
 
class  NmssmSusyPars
 Contains NMSSM-only part of RPC SUSY parameters end of NmssmSusyPars. More...
 
class  NmssmSusy
 Contains all SUSY RPC-NMSSM parameters but is not an RGE object end of NmssmSusy. More...
 
class  NmssmSusyRGE
 Contains all supersymmetric RPC-MSSM parameters and is an RGE end of NmssmSusyRGE. More...
 
class  NMSSM_input
 class for NMSSM input parameters More...
 
class  NMSSM_command_line_parser
 class which parses command line options of the NMSSM More...
 
struct  sPhysical
 Masses of the physical particles. More...
 
struct  sProblem
 Various boolean values to flag any problems with the parameter point. More...
 
struct  drBarPars
 DRbar values of masses and mixings in MSSM. More...
 
class  Approx
 
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  RpvSoftsusy
 Real valued R-Parity violating MSSM object: use for UDD couplings. More...
 
class  RpvSusyPars
 Contains RPV MSSM supersymmetric parameters. More...
 
class  RpvSoftPars
 Contains RPV MSSM soft SUSY breaking parameters. More...
 
class  MssmSoftPars
 Soft SUSY breaking parameters and beta functions. More...
 
class  AltEwsbMssm
 A different REWSB condition - given by mu and MA instead of mh1,2. More...
 
class  MssmSoftsusy
 Contains all supersymmetric MSSM parameters, incorporating R_p MSSM. More...
 
struct  sBrevity
 Contains data needed in beta function calculation to make it faster. More...
 
class  MssmSusy
 Contains all supersymmetric RPC-MSSM parameters. More...
 
class  MssmSusyRGE
 Contains all supersymmetric RPC-MSSM parameters. 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  EPoleUncertainties {
  DeltaQpole = 1 , DeltaQmatch = 2 , DeltaMt = 4 , DeltaAlphaS = 8 ,
  DeltaAlphaEm = 16 , DeltaAll = DeltaQpole + DeltaQmatch + DeltaMt + DeltaAlphaS + DeltaAlphaEm
}
 uncertainty flags
 
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.
 
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.
 
double delta_mb_2loop (const Parameters &)
 2-loop full SQCD contributions to mb [arXiv:0707.0650] More...
 
double delta_mb_2loop (double g3, double mt, double mb, double mg, double mst1, double mst2, double msb1, double msb2, double msusy, double thetat, double thetab, double q)
 2-loop full SQCD contributions to mb [arXiv:0707.0650]
 
double dMt_over_mt_2loop_qcd (const mtParameters &pars)
 2-loop QCD contributions to Delta Mt over mt [hep-ph/0507139]
 
double dMt_over_mt_2loop_susy (const mtParameters &pars)
 2-loop SUSY contributions to Delta Mt over mt [hep-ph/0507139]
 
double dMt_over_mt_2loop (const mtParameters &pars)
 2-loop full SQCD contributions to Delta Mt over mt [hep-ph/0507139]
 
double dMt_over_mt_2loop (double g3, double mt, double mg, double mst1, double mst2, double msusy, double thetat, double q)
 2-loop full SQCD contributions to Delta Mt over mt [hep-ph/0507139] More...
 
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)
 
DoubleVector calcMh1SqSugraCoeffs (const MssmSoftsusy &m, double scale)
 
DoubleVector calcMh2SqSugraCoeffs (const MssmSoftsusy &m, double scale)
 
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 focusgmsb (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...
 
DoubleVector calcMh1SqNmssmMsugraCoeffs (const NmssmSoftsusy &m, double scale)
 
DoubleVector calcMh1SqSemiMsugraCoeffs (const NmssmSoftsusy &m, double scale)
 
DoubleVector calcMh2SqNmssmMsugraCoeffs (const NmssmSoftsusy &m, double scale)
 
DoubleVector calcMh2SqSemiMsugraCoeffs (const NmssmSoftsusy &m, double scale)
 
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)
 
void setBetasThreeLoop (Tensor &teBeta, DoubleMatrix &duBeta, DoubleMatrix &ddBeta, DoubleMatrix &deBeta, DoubleVector &euBeta, DoubleVector &edBeta, DoubleVector &eeBeta, DoubleVector &fuBeta, DoubleVector &fdBeta, DoubleVector &feBeta, DoubleVector &gudBeta, DoubleVector &gdeBeta)
 

Variables

int PRINTOUT = 0
 no verbose debug output More...
 
double TOLERANCE = 1.0e-4
 fractional accuracy required - may need to make smaller for accurate More...
 
double GMU = 1.16637e-5
 decay constant of muon More...
 
bool SoftHiggsOut = false
 
bool NMSSMTools = false
 
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...
 
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 inputMhPole = false
 Default: don't input pole Higgs masses in command line. More...
 
bool inputMA0Pole = false
 
bool inputMH0Pole = false
 
bool inputMHpmPole = false
 
double fixMhPole = 0.
 extern values for those quantities
 
double fixMA0Pole = 0.
 
double fixMH0Pole = 0.
 
double fixMHpmPole = 0.
 
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...
 
bool setsVevEWSB = false
 Quick start bool to trap svev setting rather than xiS setting. More...
 
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
 
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
 

Detailed Description

global variable declaration

< COMPILE_TWO_LOOP_GAUGE_YUKAWA

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.

\File rpvsoft.cpp

Function Documentation

◆ addBetaSoftParsNmssm()

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 \lambda^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

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)

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

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

◆ addTwoLpAnomNmssm()

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.

◆ allDerivs()

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.

◆ amsbBcs()

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

Other types of boundary condition.

Adds 2-loop AMSB boundary conditions onto m.

◆ anomalousDimensionNmssmSusy()

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

◆ betaNmssmSusy()

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

beta functions

One-loop RGEs in Feynman gauge

Two-loop pieces

◆ boundaryCondition()

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

◆ calcMh1SqNmssmMsugraCoeffs()

DoubleVector softsusy::calcMh1SqNmssmMsugraCoeffs ( const NmssmSoftsusy m,
double  scale 
)

DH: Calculates coefficients in semi-analytic solution for m_{H_d}^2 for MSUGRA BCs

Calculates coefficients in semi-analytic solution for down-type soft Higgs mass for MSUGRA boundary conditions at the given scale, in the order M_0^2, M_{1/2}^2, A_0^2, M_{1/2} A_0 (see Eq. (14) of arXiv:1312.4150). The high-scale is taken to be given by m.displayMxBC().

◆ calcMh1SqSemiMsugraCoeffs()

DoubleVector softsusy::calcMh1SqSemiMsugraCoeffs ( const NmssmSoftsusy m,
double  scale 
)

DH: Calculates coefficients in semi-analytic solution for m_{H_d}^2 for semi-MSUGRA BCs

Calculates coefficients in semi-analytic solutions for down-type soft Higgs mass for semi-MSUGRA boundary conditions at the given scale, in the order M_0^2, M_{1/2}^2, A_0^2, A_\lambda^2, A_\kappa^2, m_S^2, M_{1/2} A_0, M_{1/2} A_\lambda, M_{1/2} A_\kappa, A_0 A_\lambda, A_0 A_\kappa, A_\lambda A_\kappa. The high-scale is taken to be given by m.displayMxBC().

◆ calcMh1SqSugraCoeffs()

DoubleVector softsusy::calcMh1SqSugraCoeffs ( const MssmSoftsusy m,
double  scale 
)

Calculates coefficients in semi-analytic solution for down-type soft Higgs mass for MSUGRA boundary conditions at the given scale, in the order M_0^2, M_{1/2}^2, A_0^2, M_{1/2} A_0 (see Eq. (14) of arXiv:1312.4150). The high-scale is taken to be given by mx.displayMxBC().

◆ calcMh2SqNmssmMsugraCoeffs()

DoubleVector softsusy::calcMh2SqNmssmMsugraCoeffs ( const NmssmSoftsusy m,
double  scale 
)

DH: Calculates coefficients in semi-analytic solution for m_{H_u}^2 for MSUGRA BCs

Calculates coefficients in semi-analytic solution for up-type soft Higgs mass for MSUGRA boundary conditions at the given scale, in the order M_0^2, M_{1/2}^2, A_0^2, M_{1/2} A_0 (see Eq. (14) of arXiv:1312.4150). The high-scale is taken to be given by m.displayMxBC().

◆ calcMh2SqSemiMsugraCoeffs()

DoubleVector softsusy::calcMh2SqSemiMsugraCoeffs ( const NmssmSoftsusy m,
double  scale 
)

DH: Calculates coefficients in semi-analytic solution for m_{H_u}^2 for semi-MSUGRA BCs

Calculates coefficients in semi-analytic solutions for up-type soft Higgs mass for semi-MSUGRA boundary conditions at the given scale, in the order M_0^2, M_{1/2}^2, A_0^2, A_\lambda^2, A_\kappa^2, m_S^2, M_{1/2} A_0, M_{1/2} A_\lambda, M_{1/2} A_\kappa, A_0 A_\lambda, A_0 A_\kappa, A_\lambda A_\kappa. The high-scale is taken to be given by m.displayMxBC().

◆ calcMh2SqSugraCoeffs()

DoubleVector softsusy::calcMh2SqSugraCoeffs ( const MssmSoftsusy m,
double  scale 
)

Calculates coefficients in semi-analytic solution for up-type soft Higgs mass for MSUGRA boundary conditions at the given scale, in the order M_0^2, M_{1/2}^2, A_0^2, M_{1/2} A_0 (see Eq. (14) of arXiv:1312.4150). The high-scale is taken to be given by mx.displayMxBC().

◆ ckmNormalise()

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

◆ convertFromWolfenstein()

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

◆ delta_mb_2loop()

double softsusy::delta_mb_2loop ( const Parameters pars)

2-loop full SQCD contributions to mb [arXiv:0707.0650]

2-loop SUSY contributions to mb [hep-ph/0507139] 2-loop full SQCD contributions to mb [arXiv:0707.0650] The function returns the 2-loop SQCD (QCD + SUSY) relation between the Standard Model DR-bar bottom mass \(m_b^{{SM},\overline{{DR}}}\) and the MSSM DR-bar bottom mass \(m_b^{{MSSM},\overline{{DR}}}\). The relation has the form

\[ m_b^{{SM},\overline{{DR}}} = m_b^{{MSSM},\overline{{DR}}} \left[ 1 + \left(\frac{\Delta m_b}{m_b}\right)_{1L} + \left(\frac{\Delta m_b}{m_b}\right)_{2L} \right] \]

The function returns \((\Delta m_b/m_b)_{2L}\).

◆ dMt_over_mt_2loop()

double softsusy::dMt_over_mt_2loop ( double  g3,
double  mt,
double  mg,
double  mst1,
double  mst2,
double  msusy,
double  thetat,
double  q 
)

2-loop full SQCD contributions to Delta Mt over mt [hep-ph/0507139]

2-loop full SQCD contributions to Delta Mt over mt [hep-ph/0507139]. Here, msusy should be mu(1, 2)

◆ flavourBcs()

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

◆ focusgmsb()

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

Save the two parameters

◆ ftCalc()

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

◆ generalBcs()

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

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

◆ generalBcs2()

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

◆ generalNmssmBcs()

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

< save this so it's not overwritten

◆ getAsmt()

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

◆ getQhat()

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

◆ getRunMt()

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

◆ lep2Likelihood()

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

◆ lnLHiggs()

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

◆ mhIntegrand()

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

◆ minimufb3()

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

◆ MssmMsugraBcs()

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

◆ nmsetBetas()

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

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

◆ NmssmMsugraBcs()

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

◆ nonUniGauginos()

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

◆ nuhmI()

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

◆ nuhmII()

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

◆ nuhmINM()

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

◆ operator<<()

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

◆ positionOfSym()

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.

◆ printShortInitialise()

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)

◆ recogLsp()

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

◆ rho2()

double softsusy::rho2 ( double  r)

Two-loop Standard Model corrections to rho parameter.

checked

◆ rpvSugraBcs()

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

◆ SemiMsugraBcs()

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

◆ setBetas()

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

◆ splitGmsb()

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

Requested by CMS.

< encodes EWSB BC

Save the two parameters

◆ sualfs()

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

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

◆ sugraBcs()

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

◆ sumTol() [1/2]

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

◆ sumTol() [2/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

◆ testLEPHiggs()

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;

◆ ufb3fn()

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

◆ calcDecays

bool softsusy::calcDecays = false

Default: don't calculate decays.

If true, calculate decays.

◆ expandAroundGluinoPole

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.

◆ forceSlha1

bool softsusy::forceSlha1 = false

default: use SLHA1 conventions for RPV output

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

◆ GMU

double softsusy::GMU = 1.16637e-5

decay constant of muon

Fermi constant.

◆ idummySave

long softsusy::idummySave = -22

random number seed

A handy global variable for random number generator.

◆ inputMhPole

bool softsusy::inputMhPole = false

Default: don't input pole Higgs masses in command line.

Allow users to input mh, mA0, mHp, mH0 pole masses from the outset, perhaps from eg another program. SOFTSUSY uses its own calculation of Higgs couplings and mixing, but the input pole masses in eg decay calculations. Initially, we have hacked this in with the following global variables. Ideally though, they would be incorporated into SOFTSUSY variables.

◆ mAFlag

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)

◆ MB_DECOUPLING

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.

◆ minBR

double softsusy::minBR = 1.0e-6

Default: print out branching ratios bigger than \(10^{-6}\).

minimum branching ratio that will get printed out

◆ MTOP

const double softsusy::MTOP = 165.0

default running quark mass from PDG

◆ MZ

double softsusy::MZ = MZCENT

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

Z boson mass

◆ NMSSMTools

bool softsusy::NMSSMTools = false

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

uncomment if you want to use looptools (slower) rather than SOFTSUSY's defined loop functions: good for testing #define USE_LOOPTOOLS 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
Set to true (default) if you want to include 2-loop SM contributions to electroweak gauge coupling threshold effects

◆ numHiggsMassLoops

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 3 with Himalaya; the default is 2)

◆ outputPartialWidths

bool softsusy::outputPartialWidths = false

Default: don't output partial widths in decays.

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

◆ PMBOTTOM

const double softsusy::PMBOTTOM = 4.9

default pole mass from PDG

◆ PRINTOUT

int softsusy::PRINTOUT = 0

no verbose debug output

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

◆ printRuledOutSpectra

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

◆ setsVevEWSB

bool softsusy::setsVevEWSB = false

Quick start bool to trap svev setting rather than xiS setting.

Do you want to calculate svev from EWSB (and input xiS) as opposed to the converse?

◆ slha2setTrilinear

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

◆ sphenoMassConv

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

◆ susyRpvBCatMSUSY

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?

◆ THETA12CKM

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

◆ threeBodyDecays

bool softsusy::threeBodyDecays = true

Default: calculate three-body decays.

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

◆ TOLERANCE

double softsusy::TOLERANCE = 1.0e-4

fractional accuracy required - may need to make smaller for accurate

overall accuracy required

◆ USE_TWO_LOOP_GAUGE_YUKAWA

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