Authors: Julien Baglio, Christoph Borschensky, Thi Nhung Dao, Martin Gabelmann, Ramona Gröber, Marcel Krause, Duc Ninh Le, Margarete Mühlleitner, Heidi Rzehak, Michael Spira, Juraj Streicher and Kathrin Walz

A Fortran package for the calculation of the loop corrected NMSSM Higgs boson masses and their decay widths and branching ratios in the CP-conserving and in the CP-violating NMSSM


The Fortran package NMSSMCALC computes the one-loop corrected and the two-loop O((alpha_t+alpha_lambda+alpha_kappa)^2+alpha_t alpha_s) corrected NMSSM Higgs boson masses both for the CP-conserving and the CP-violating NMSSM. The renormalisation of the Higgs sector is based on a mixed renormalisation scheme applying on-shell and DR_bar conditions, in the top/stop sector the user can choose between OS and DR_bar renormalisation.

All two-loop corrections are computed in the gaugeless limit. At O(alpha_t alpha_s) the approximation of vanishing external momentum is applied. In the two-loop O((alpha_t+alpha_lambda+alpha_kappa)^2) corrections, vanishing external momentum may induce infrared divergences in two-loop diagrams with multiple massless Goldstone bosons. We cure this so-called Goldstone boson catastrophe by following three different approaches: the introduction of a regulator mass, the application of a small momentum expansion, and the inclusion of the full momentum dependence in all diagrams of O((alpha_t+alpha_lambda+alpha_kappa)^2). The default implementation in the public NMSSMCALC code is the regulator mass approach with a regulator mass squared equal to one permille of the squared renormalisation scale. In the input file, the user has the choice to change the value of the regulator mass. The regulator mass approach reproduces the momentum-dependent result well for the default value. Note that in order to avoid numerical instabilities that occur at O((alpha_t+alpha_lambda+alpha_kappa)^2+alpha_t alpha_s) for nearly degenerate Higgs mass values, NMSSMCALC automatically switches to O(alpha_t (alpha_s + alpha_t)) in case the mass difference between two consecutive Higgs masses is less than 10^{-3}.

NMSSMCALC calculates the Higgs decay widths and branching ratios including the dominant higher order QCD corrections. The decays into fermion pairs with down-type final state leptons include the higher order SUSY-electroweak corrections, the ones into down-type final state quarks the SUSY-QCD corrections. In case of b-quark(s) in the final state both SUSY-QCD and SUSY-electroweak corrections have been implemented. Off-shell decays into two massive gauge bosons, gauge and Higgs boson and Higgs pair final states as well as into heavy quark pairs are included as well. In the real NMSSM the decays into stop and sbottom pairs, respectively, contain the SUSY-QCD corrections. The input and output files feature the SUSY Les Houches Accord (SLHA).

For the complex NMSSM, since the version 2.00 (13 August 2015) also the EDMs are calculated. The user can choose to calculate the EDMs via the switch 10 in the BLOCK MODSEL. The meanings of the second switch are: 0 - no EDMs are calculated, this is the default setting; 1 - the EDMs are calculated; 2 - the individual contributions of the EDMs are given out.

Since version 5.0 (27 July 2022) the program includes the option to compute the electron and muon anomalous magnetic moments (AMM) via the switch 11 in the BLOCK MODSEL. The meanings of the second switch are: 0: no AMMs calculated (default), 1: AMMs calculated, 2: detailed output.

Since version 5.1 (6 October 2022) the program includes the option to compute the effective trilinear Higgs self-couplings up to O(alpha_s*alpha_t + alpha_t^2) and the higher-order corrected Higgs-to-Higgs decays. Remark: The effective trilinear Higgs self-couplings are computed when in MODSEL the flag for 12 is set to 1. The couplings are then output up to O(alpha_t^2). The mixing matrix used for their rotation to the mass eigenstates is computed, however, at the order that is taken for the mass corrections. The Higgs-to-Higgs decays are computed at tree-level with the tree-level Higgs self-couplings. For the computation of the higher-order corrected Higgs-to-Higgs decays you have to set HHHDECAYHO=TRUE in 'makefile'. They are then calculated up to the order specified in bhdecay.in. The highest possible loop order is O(alpha_s*alpha_t + alpha_t^2).

Since version 5.2 (8 August 2023) the program calculates the ρ parameter up to O(α + αt αs + (αt + αλ + ακ)2) and the W mass in the SM, at 1-loop NMSSM, 2-loop QCD, i.e. O(αt αs), NMSSM, and 2-loop EW, i.e. O((αt + αλ + ακ)2), NMSSM. In the SM calculation, we use for the Higgs mass the loop-corrected mass value of the SM-like Higgs as calculated by NMSSMCALC at the loop order specified in the input file.


NMSSMCALC consists of a wrap file nmssmcalc.f and three main files: CalcMasses.F for the computation of the loop corrected NMSSM Higgs boson masses up to two-loop O(alpha_t alpha_s) in the real and in the complex NMSSM - since 25 March 2019 also the O(alpha_t^2) corrections are computed and hence a new file CalcMasses_atat.F is added (see also here below); CalcMasses2loop.F which contains necessary subroutines and functions and returns the renormalised self-energy at O(alpha_t alpha_s); EDMs.F and EDMloopfunc.F for the computation of the EDMs in the complex NMSSM; bhdecay.f for the calculation of the NMSSM Higgs boson decay widths and branching ratios in the real NMSSM; bhdecay_c.f for the calculation of the NMSSM Higgs boson decay widths and branching ratios in the complex NMSSM. Further linked files are dmb.f, hgaga.f, hsqsq.f (only in the real NMSSM), Xvegas.f and susylha_nmssm.f. The program package needs two input files named inp.dat and bhdecay.in. The file inp.dat is read in by nmssmcalc.f. It must be provided in the SLHA format and has to contain the blocks MODSEL, SMINPUTS (extended by an input for the W boson pole mass, to be given as the 9th entry), MINPAR and EXTPAR. In the complex case also IMEXPTAR and CMPLX have to be given. The latter block is not foreseen in the original SLHA2 format. We added it to provide the complex phase of the vacuum expectation value for H_u. The file bhdecay.in is read in by bhdecay(_c).f and contains the CKM mixing matrix elements and several flags for the decay calculation. They are explained at the beginning of bhdecay(_c).f and in the manual. After the computation of the loop-corrected NMSSM Higgs boson masses CalcMasses.F writes out all necessary parameters, masses and mixing angles in an SLHA format file slha.in, which is read in by bhdecay(_c).f. This Fortran routine then computes the decay widths and branching ratios and writes these out in an SLHA format file slha_decay.out. Furthermore it writes out all parameters and mixing angles.

New file since 28 December 2018: The file Zfactors_New.F for the computation of the Z-factor and one-loop Higgs self-energies with complex momentum.

New files since 25 March 2019: The files CalcMasses_atat.F and TLMT4.h for the computation of the O(alpha_t^2) corrections to the Higgs boson masses in the gaugeless limit at vanishing external momentum. The file conversion_polesmass_DRbarmass.f for the conversion of the top-quark pole to the running DRbar mass.
Changes of options in input file since 25 March 2019 (inp.dat): There are now 3 loop levels: '1' for one-loop level, '2' for two-loop level at O(alpha_t alpha_s), '3' for two-loop level at O(alpha_t alpha_s + alpha_t^2). There are now 3 options for the renormalization of the top/stop sector: '1' and '2' for DRbar renormalization without and with inclusion of the g1 and g2 gauge coupling contributions in the conversion and the running. '3' for on-shell renormalization.

New files since 15 June 2021: The files CalcMasses_atlambda.F which contains the subroutine to compute the renormalised Higgs boson self-energies and two-loop counterterms, CalcMasses_atlambda_H.F for the computation of the unrenormalised Higgs boson self-energies, CalcMasses_atlambda_W.F for the computation of the renormalised W boson self-energies, CalcMasses_atlambda_Z.F for the computation of the renormalised Z boson self-energies, 2LOOPLIB.F contains one- and two-loop integrals, TLMT4lambda.h contains the declaration of new variables.
Changes of options in input file since 15 June 2021 (inp.dat): There are now 4 loop levels: '1' for one-loop level, '2' for two-loop level at O(alpha_t alpha_s), '3' for two-loop level at O(alpha_t alpha_s + alpha_t^2), '4' for two-loop level at O((alpha_t+alpha_lambda+alpha_kappa)^2+alpha_t alpha_s). The block 'REGFACTOR' has been added where the user can choose the value R that specifies the value of the regulator mass MG, with R=10^3 MG^2/MUR^2, where MUR denotes the renormalisation scale.

New file since 27 July 2022: The file g2Calc.F which calculates the electron and muon anomalous magnetic moments (AMM).

New files since 8 August 2023: The file dRho.F, which calculates the loop-corrected ρ parameter, and the file W_mass.F, which calculates the loop-corrected W mass. In addition, there are several new auxiliary files.

How to compile and run the program package:

Download and unpack the tar file nmssmcalc.tar.gz for the real NMSSM or nmssmcalc_c.tar.gz for the complex NMSSM. Compile all files by typing 'make'. An exectuable 'run' is created. Type './run' to run the executable. The user has to provide the input files for CalcMasses.F (default name 'inp.dat') and for bhdecay(_c).f (to be named 'bhdecay.in'). The user also has the choice to provide in the command line the names of the input and output files for CalcMasses.F (first and second argument) and the name of the output file provided by the decay routine (third argument). Hence the command will be 'run name_file1 name_file2 name_file3' in this case. Sample input files 'inp.dat' and 'bhdecay.in' are included in the .tar files.

Versions containing both the real and the complex files in the tar ball (all versions since 6 October 2022): In case you encounter problems with running the compiled version, we advise: Compile first the complex version and then the real version, even if you are only interested in the usage of the real version!

Last modified: Fri Aug 8 07:47:53 CET 2023