spheno is hosted by Hepforge, IPPP Durham


This is the development page for the SPheno project.

Current version

The current version is 4.0.5 (7 Oct. 2021) (Download); older version (before version 3.1.4) can be obtained from the author. If you are looking for a SPheno version for an extended SUSY model, you can create this using the SARAH package developed by Florian Staub.


If you use SPheno to write a paper, please cite W. Porod, Comput. Phys. Commun. 153 (2003) 275 [arXiv:hep-ph/0301101] and W. Porod and F. Staub, Comput. Phys. Commun. 183 (2012) 2458 [arXiv:1104.1573] , which are the SPheno manuals. The version on the electronic hep-ph archive will be updated regularly with more recent versions.


SPheno stands for S(upersymmetric) Pheno(menology).

The code calculates the SUSY spectrum using low energy data and a user supplied high scale model as input. The spectrum is used to calculate two- and three body decay modes of supersymmetric particle as well as of Higgs bosons. In addition the production cross sections for supersymmetric particle and Higgs bosons in e^+ e^- annihilation is calculated. Moreover, the branching of the decay $b \to s \gamma$, the SUSY contribution to anomalous magnetic moment of the muon as well as the SUSY contributions to the rho parameter due to sfermions are calculated. The code is written in F90 with an emphasis on easy generalisability. The structure is set such that complex phases as well as the extension to include the flavour structure can be done in a straight forward way. The 2-loop renormalization group equations as well as the one-loop finite corrections a la Bagger, Matchev, Pierce and Zhang are included. In addition the two-loop corrections to the neutral Higgs boson masses (a la Brignole, Degrassi, Slavich and Zwirner) and to the mu-parameter (a la Dedes and Slavich) are included. Starting with version 2.2.2 the SUSY Les Houches Accord is supported as well as the SPA conventions (for details see hep-ph/0511344).

Starting with version 4.0. the internal structure has been changed such, that the SM-RGEs are run at 3-loop to the scale Q corresponding to the square root of the stop masses. At this scale the matching between the SM and the MSSM occurs. Details can be found in arXiv:1703.03267 [hep-ph].

Starting with version 3.0. the complete flavour and CP structure of the MSSM as well as bilinear R-parity violation has been implemented. The input and output is done via he SUSY Les Houches Accord 2 . Moreover, starting with version 3.1.10 also parts of the proposal to include seesaw models has been implemented, see the corresponding chapter of the Les Houches Proceedings 2011 and with starting with version 3.1.10 also parts of the Flavour Les Houches Accord have been implemented.

Detailed comparisons between SPheno and other public codes have been performed in:


To install SPheno, you will need a F95 (F90) compiler. No additional library is necessary. The code has been successfully compiled using NAG F95, Lahey/Fujitsu lf95, gfortran, g95, and Intel ifort (version 11.1) on linux PC system [from this list, the g95 and gfortran are completely free]. In case of the gfortran compiler depending on the compiler version and platform deviations from the results of the other compilers, which agree among themselves perfectly, have been found up to a few per-cent. However, starting with version 4.4 the results agree with the other compilers. The code is supposed to be standard ANSI compatible F95.

The present release contains the main program SPheno.f90 and the Code for the SPheno library (libSPheno.a, link with -lSPheno). A Makefile is also included: the default compiler is ifort, but the options are now also included for other compilers. In linux, just unpack the files with
> gunzip SPheno-4.0.4.tar.gz
> tar -xvf SPheno-4.0.4.tar
then type (if necessary change the definitions for the f90 compiler)
> cd SPheno-4.0.4
> make (or gmake)
The program is then run by
> bin/SPheno
The output file SPheno.spc should be identical (except for small numerical deviations depending on the compiler) to SPheno.spc (SLHA format).

The compilation of the RGEs for the seesaw tpye II and type III models is rather time consuming and can take up to one hour in the optimized mode. For this reason they are not included in the compilation using the default options. If you want to include, include the option -DSEESAWIII in the Makefile that is located in the src directory. In this way both set of RGEs are included.

New features, version 4.0.x

  • 1) running from the Z-mass scale to the scale Q (square root of the stop masses) using 3-loop SM RGEs, matching the SM and the MSSM at this scale. The old procedure used in versions 3.3.8. and before can be obtained by setting the flag 49 of the block SPhenoInput to 1. Some features are not yet enabled in the new version, see section Known problems below.
  • 2) implementing new high scale model: general mirage mediation
  • 3) in case that a decay of a SUSY particle into at least one light quark is possible, it is now required to have at least sufficient phase space to create a pion
  • 4) adding the MSOFT block as input possiblity within the SLHA format

New features, version 3.3.x

  • 1) additional flavour observables: epsilon_K, BR(K-> pi nu nu); BR(B_q -> e+ e-), tau+ tau- (q=d,s). This required a change in the ordering of the block SPhenoLowEnergy compared to previous versions.
  • 2) using now the FLHA blocks FMASS, FCONST and FLIFE to change masses, decay constants and life times of mesons
  • 3) Changed implementation of resummation of chirally enhanced terms based on arXiv:1103.4272. This improves in particular the numerical stability in case of very large trilinear couplings.
  • 4) Gravitino mass can be given as input in a general MSSM model using the non-standard entry 1000039 (PDG code for gravitino) in block EXTPAR
  • 5) Update of SM default input to PDG 2013 values
  • 6) Starting with version 3.3.3 Q_EWSB is calculated using the tree-level stop masses instead of the loop corrected values. For high scale models the changes are rather small whereas for input at the electroweak scale the numerical stability is enhanced.
  • 7) adding decay chargino -> gravitino + W
  • 8) extended checks for NaN, in particular before the diagonalisation of matrices
  • 9) adding decay gluino -> gravitino + gluon
  • 10) improved search for consistent bilinear parameters such that neutrino data can be explained via bilinear R-parity violation

New features, version 3.2.x

  • 1) Calculation of 3-body decays of sleptons and sneutrinos (thanks to Lukas Mitzka)
  • 2) New flag 13 for the block SPhenoInput: the branching ratios for h-> V V* can either be given as two-body decays in the output or folded with the branching ratios of the vector boson as three body decay
  • 3) Calculation of chargino_1 -> pi+ neutralino_1 and neutralino_2 -> pi0 neutralino_1 in case of small differences
  • 4) Improving the numerical stability of 3- and 4-point one-loop functions in case zero outer momenta
  • 5) Improving the numerical stability in case of flavour violation and CP phases in the soft-sUSY-breaking sector

New features, version 3.1.x

  • 1) Implementation of Seesaw type I, II and III models. In case you want to use type II and/or type III you have to change the compiler options in the Makefile of the src directory
  • 2) Implementation of rare lepton decays and additional B-physics observables
  • 3) Enhanced speed in case of difficult scenarios
  • 4) New blocks in the output which serve as input for the program HiggsBounds
  • 5) Taking into account all Yukawas in for the running of tan(beta)
  • 6) Improving the routine which determines the R-parity violating parameters when fitting the neutrino data
  • 7) In case of SPA conventions one has to use entry 25 of EXTPAR to specify tan(beta) at m_Z and not as up to now entry 3 of MINPAR where tan(beta) is given at m_Z
  • 8) Three body decays of sleptons via virtual neutralinos have been added
  • 9) Including the possibility to give within mSUGRA scenarios m_A and mu at the electroweak scale. An example for a corresponding input file can be found in the directory input and is called LesHouches.in.mNUHM file is called. An example where the Higgs mass parameters are non-universal is given in LesHouches.in.mSUGRA_NUHM
  • 10) Implementing the SLHA proposal for seesaw scenarios as given in arXiv:1203.1488 (Les Houches 2011 proceedings)
  • 11) Improving speeds of the RGE calculation in case of complex parameters, this is in particular relevant for the seesaw models.
  • 12) improved calculation of BR(h0 -> gamma gamma) and BR(H0 -> g g)

Known problems (03.10.2019)

  • In the new approach starting version 4.0.2 the case of flavor mixing shows instabilities and should not be used for the moment being. In case that someone is interrested in flavor mixing, the flag 49 of the block SPhenoInput should be set to 1 so that the old approach is used.
  • The mixed input where some of the soft SUSY parameters are specified at the low scale and the rest at the GUT scale is disabled n 4.0.x for the moment being in the new scheme. This will be enabled again in one of the coming versions. For the moment you have to use the old approach by setting flag 49 to 1.

    Solved problem (07.10.2021), version 4.0.5

    • In the calculation of the loop-corrected masses the iteration over the external momenta in the loop functions has been switched of, as this implies an uncontrolled mixing of parts of higher order corrections. This had let to problems in cases where small mass difference became important. For the loop corrections to the tree-level masses, now in loop functions the external momentum is set to the value of the corresponding tree level mass.
    • The problem of the -U option for the linker has been solved, thanks to Wojciech Kotlarski for the corresponding suggestion.

    Solved bugs (03.10.2019), version 4.0.4

    • in the calculation of the W-boson mass the on-shell top mass is used now; the previously used running mass was inconsistent with the formula for the 2-loop contribution.

    Solved bugs (02.11.2015), version 3.3.8

    • the branching ratios of a chargino/neutralino into a pion and another chargino/neutralino was too large by a factor g^2.

    Solved bugs (02.06.2015), version 3.3.6 + 3.3.7

    • in the case that a chargino or a neutralino_2 had decays into final into the two final states gravitino + V (V=W,Z) and neutralino_1 pion, the sum of the branching ratios was not normalized to one.

    Solved bugs (19.02.2015), version 3.3.5

    • correcting a bug in the couplings of higgsinos to gravitinos
    • correcting a bug in the output for 3-body decays of sneutrinos: the charge assignements have been partially wrong in case of slepton lepton nu final states. This was only an output problem.

    Solved bugs (06.02.2015), version 3.3.4

    • in mSUGRA scenarios, where flavour violation was switched on, the Yukawa couplings were not recalculated.
    • in models where the input was at low energy scales and where the Higgs sector was specified in terms of mu and m_A (mass of pseudoscalar Higgs boson) it could happen under certain circumstances that the value of tan(beta) at m_Z got replaced by the one from tan(beta) at Q_EWSB

    Solved bugs (15.09.2014), version 3.3.3

    • in the calculation of the Yukawas a factor of 1/sqrt(2) was missed when translating the formulas of arXiv:1103.4272 to the conventions used in SPheno; this affects mainly the bottom and tau Yukawa couplings for large tan(beta)
    • in case of input at the soft mass parameters at the electroweak scale, the trilinear parameters from the SUSY scale had been used instead of the ones at m_Z resulting in a shift of the top-Yukawa coupling by about one percent. The main effect was a shift in the Higgs mass calculation; all other masses were hardly affected.

    Solved bugs (19.05.2014), version 3.3.2

    • correcting a typo in the recently introduced special cases (2nd mass-entry is zero) in the routine GLoop which is used for the calculation of 1-loop corrections to scalar mass-matrices

    Solved bugs (13.05.2014), version 3.3.1

    • bug in the calcultion of the gravitino couplings corrected for the case that the gravitino mass is read in via EXTPAR

    Solved bugs (05.05.2014), version 3.3.0

    • correcting a bug in gluino contribution to C_8 and C_8'; the numerical effect is however small
    • correcting a bug in B_q -> l+ l- decays in case of complex input
    • the decays of a neutralino into a gravitino had a bug in the kinematical function

    Solved bugs (26.09.2013), version 3.2.4

    • RGE running of tan(beta) is gauge dependent, setting R_xi=1 (previously 0)

    Solved bugs (24.03.2013), version 3.2.2

    • for low energy input, the calculation of the Higgs mass contained a bug which can lead to sizable changes in case of large A_top and/or large mu tan(beta).
    • fixing a bug in the output for flavour violating scenarios for both, slepton and squark mass parameters.

    Solved bugs (10.10.2012), version 3.2.1

    • fixing a problem if EXTPAR input is given at the electroweak scale in high scale models as in some case the GUT scale got set to the electroweak scale
    • adding top-charged Higgs and top-W loops to the 1-loop effective d_i-d_j-H/A couplings, leads to small numerical effects for BR(Bs-> mu+ mu-) and Delta(M_B_s) which are at most one per-cent, usually below the per-mille level
    • adding a check in the 3-body decays of sneutrinos and sleptons if a vector boson is on-shell

    Solved bugs (14.09.2012), version 3.2.0

    • in case of R-parity violation: the coupling of a neutral scalar to two W-bosons had been set to zero in the decay routines; is now calculated properly
    • general MSSM: calculate sign (phase) of mu if not given in block MINPAR

    Solved bugs (4.08.2012), version 3.1.12

    • the value of m^2_Hu had been set incorrectly in NUHM scenarios
    • fixing a problem in the calculation of Delta(M_Bs), B_s -> mu+ mu- and Bu -> tau nu: the Wilson coefficients are now calculated Q=160 GeV instead Q=m_Z

    Solved bugs (14.06.2012), version 3.1.11

    • correcting bug in the calculation of BR(Z -> l_i l_j), BR(l_i -> 3 l_j) and BR(b -> s mu+ mu-). In the examples, the numerical effects are small.

    Solved bugs (04.05.2012), version 3.1.10

    • Correcting input for low energy parameters in case of bilinear R-parity violation.
    • Correcting a bug in case of Z decays into two charged leptons with different flavour.

    Solved bugs (16.04.2012), version 3.1.9

    • Correcting a bug in case of the Higgs-mass calculation related to the use of the loop-corrected mu-parameter. This can lead to shifts of up to several GeV for m_h in case of large A_t (at the electroweak scale). The heavier Higgs bosons are hardly affected. The standard examples are hardly affected.
    • Correcting a bug in case of neutrino mass calculation for bilinear R-parity violation: in some cases the seesaw formula had been implemented incorrectly taking only the real part of the inverses neutralino mass matrix.

    Solved bugs (12.03.2012), version 3.1.8

    • In case of complex phases there has been a missing relative complex conjugation between the A-parameter and the mu-parameter in the LR-sector in case of generation mixing. This affects mainly the EDM calculation but leaves the spectrum essentially unchanged.
    • Correcting a bug in case of input parameters are the electroweak scale and where on-shell mass for the pseudoscalar Higgs boson is used as input.

    Solved bugs (05.02.2012), version 3.1.7

    • 1) the values of EXTPAR are also given in SPheno.spc
    • 2) the leptonic EDMs had been too small by a factor 100 due to a typo in an overall factor. Moreover, there has been a convention problem in the sfermion mass problems which mainly affects the electron EDM and only slightly the other EDMs and at most at the per-mille the Delta(M_Bd) and Delta(M_Bs).

    Solved bugs (06.12.2011), version 3.1.6

    • 1) input for left slepton mass squared parameters fixed
    • 2) fixing numerical problem in expansion for loop function DB_0

    Solved bugs (24.09.2011), version 3.1.5

    • 1) a problem related to the input of slepton mass parameters in the super-PMNS basis at the electroweak scalae has been fixed.
    • 2) a bug in the charged Higgs boson contribution to the fermion self-energies has been fixed, little impact on the numerical results
    • 3) the coefficient of the U(1) coupling in the running of the dim-5 neutrino mass operator has been corrected, small numerical impact

    Solved bugs (14.07.2011), version 3.1.4

    • 1) wrong value for mu in the output
    • 2) in case of seesaw I models the manual contained the wrong ordering of the indices of the Yukawa couplings
    • 3) correcting an error in the routine for calculating the non-universal contributions to the gauge couplings and m_W at m_Z in case of generation mixing and phases in the lepton/slepton sector; can lead to numerical differences which are significant
    • 4) in case of flavour violating 3-body decays of charginos a bug has been fixed for the final states t q neutralino_j, where q=d,s