# How do I load a model in SARAH ?

After the installation, the package is loaded in Mathematica via

<<"SARAH.m"

if it was put into the applications directory of Mathematica or by using the entire path:

<<"[$PATH]/SARAH.m" A model is initialized by Start["Modelname"]; Here, Modelname is the name of the corresponding model file, e.g. for the minimal supersymmetric standard model the command would read Start["MSSM"]; or for the next-to-minimal supersymmetric standard model in CKM basis Start["NMSSM","CKM"]; is used. In both cases, after about 1 minute the following message should appear All Done.$MODEL is ready!

# How do I get a spectrum generator based on SPheno for a new model?

To obtain the SPheno output run in Mathematica after SARAH is loaded and the model is initialized the command

MakeSPheno[];

When executing MakeSPheno, SARAH calculates first all information which it needs, i.e. it is not necessary that the user has done the calculation of vertices or RGEs before. When SARAH is done, the source code for SPheno is stored in $SPATH/SARAH/Output/$MODEL/EWSB/SPheno/. The compilation of this codes is done as follows: one has to enter the directory of the SPheno installation, a new sub-directory has to be created and the code must copied into this directory:

$cd$PATH/SPHENO
$mkdir$MODEL
$cp$PATH/SARAH/Output/$MODEL/EWSB/SPheno/*$MODEL/

Afterwards, the code is compiled via

$make Model=$MODEL

and a new executable SPheno$MODEL is available. An input file, by default called LesHouches.in.$MODEL, is needed to run SPheno$MODEL. SARAH writes a template for that file which has been copied to the $MODEL subdirectory of SPheno together with the Fortrancode. You can move it to the root directory of SPheno

$cp \$MODEL/LesHouches.in.\$MODEL .  By doing this we can work now from the SPheno main directory and we don’t have to give the file as argument when running SPheno. Thus, SPheno can be called via $ ./bin/SPheno\$MODEL Alternatively, one can keep the Les Houches file in the $MODEL and work with it via

$./bin/SPheno\$MODEL \$MODEL/LesHouches.in.\$MODEL

Of course, before you can run SPheno you must first fill the template written by SARAH with numbers.

# What are the features of a SPheno version generated like this?

A spectrum generator based on SARAH /SPheno provides the same precision as dedicataed MSSM codes do for a huge variety of models. The NMSSM version provides even a more precise Higgs mass calculation than other public NMSM codes do. The main features are

• Full two-loop running of all parameters and all masses at one-loop
• Complete one-loop thresholds at $M_Z$ from BSM to gauge and Yukawa couplings
• Two-loop corrections to Higgs masses
• calculation of flavour and precision observables at full one-loop
• calculation of decay widths and branching ratios
• interface to HiggsBounds and HiggsSignals
• estimate of electroweak Fine-Tuning

# How can I check points with HiggsBounds and HiggsSignals ?

In the same directory in which the SPheno spectrum file is located, also all other input files for HiggsBounds and HiggsSignals are saved by SPheno. The (relative) path to this directory has to be given as last argument to HiggsBounds when executing it. Thus, working from the directory $PATH, HiggsBounds is started via: $ ./HiggsBounds/HiggsBounds LandH effC #neutral #charged SPHENO/

From other directories, one can use absolute paths:

PATH/HiggsBounds/HiggsBounds LandH effC #neutral #charged $PATH/SPHENO/ $\#neutral$ and $\#charged$ are the number of (physical) neutral and charged Higgs bosons in the model. HiggsSignals is the complement to HiggsBounds and checks how good a point reproduces the Higgs mass and rate measurements. The syntax is very similar to HiggsBounds : $ ./HiggsSignals/HiggsSignals latestresults peak 2 effC #neutral #charged SPHENO/

# How do I implement a model in MadGraph and link it to SPheno

A new model in MadGraph can be implemente via the UFO format which is also supported by other tools like Herwig++ or Sherpa. The command to generate the UFO files is

MakeUFO[]

All files written by SARAH have to be copied to a new sub-directory in MadGraph ’s model directory:

cd $PATH/MADGRAPH/ mkdir models/$MODEL
cp $PATH/SARAH/Output/$MODEL/EWSB/UFO/* models/$MODEL The model can be loaded in MadGraph via import model$MODEL -modelname

The option -modelname is used to keep the names of the particles as given in the model files. This prevents conflicts with internal MadGraph conventions.

# How do I implement a model in WHIZARD/O’Mega and link it to SPheno

The model files for WHIZARD/O’Mega are obtained by

MakeWHIZARD[]

After the interface has completed, the generated files are stored in the directory

$PATH/SARAH/Output/$MODEL/EWSB/WHIZARD_Omega/

In order to use the model with WHIZARD and O’Mega, the generated code must be compiled and installed. In most cases this is done by

$cd$PATH/SARAH/Output/$MODEL/EWSB/WHIZARD_Omega$ ./configure --prefix=$PATH/WHIZARD/ WO_CONFIG=$PATH/WHIZARD/bin/
$make$ make install

If WHIZARD has not been installed globally in the home directory of the current user, WHIZARD won’t be able to find the binaries. Thus, the WO_CONFIG environment variable was used to point explicitly to the binaries. By default, the configure script would install the compiled model into .whizard in the home directory of the user. If the user wants to have several WHIZARD installations or install WHIZARD locally, it might be better to provide a model just for one installation. For these cases the installation path has been defined via the --prefix option of the configure script. More information on the available options is shown with the command

./configure  --help

To link WHIZARD and SPheno, all SPheno modules created by SARAH write the information about the parameters and masses into an additional file. This file is written in the WHIZARD specific format and can be directly read by WHIZARD. One just has to make sure that the corresponding flag is turned on the Les Houches input for SPheno to get this output:

[style=file,numbers=none,title=\hspace{12cm}LesHouches.in.\$MODEL] Block SPhenoInput # SPheno specific input ... 75 1 # Write WHIZARD files  The parameter file can then be included in the Sindarin input file for WHIZARD via model =$model_sarah
...
include("$PATH/SPHENO/WHIZARD.par.$MODEL") 

# How can I calculate the relic density with MicrOmegas

The calculation of the cross section and all necessary decay widths are done by CalcHep which comes together with MicrOmegas. Thus, a new model in MicrOmegas is implemented by providing the corresponding CalcHep model files. That means, one can use the SARAH output for CalcHep to work with MicrOmegas :

MakeCHep[];

When SARAH is finished with MakeCHep, the CalcHep model files are located in the directory

$PATH/SARAH/Output/$MODEL/EWSB/CHep/

To implement the model in MicrOmegas, a new project has to be created and the files have to be copied in the working directory of this project:

$cd$PATH/MICROMEGAS
$./newProject MODEL$ cd $MODEL$ cp $PATH/SARAH/Output/$MODEL/EWSB/CHep/*  work/models

Steering files written by SARAH were copied together with all model files into the working directory of the current project. You can move them to the main project directory and compile it

$mv work/models/CalcOmega_with_DDetection.cpp .$ make main=CalcOmega_with_DDetection.cpp

A new binary CalcOmega_with_DDetection is now available. The only missing piece are the input parameters.
Providing the numerical parameters is pretty easy because MicrOmegas /CalcHep can read the SPheno spectrum file. However, the user must make sure that no complex rotation matrices show up in the spectrum file: in the case of Majorana matrices and no CP violation, there are two equivalent outputs: (i) all Majorana masses are positive, but some entries of the corresponding rotation matrices are complex; (ii) all mixing matrices are real, but some masses are negative. CalcHep can just handle the second case with real matrices. Hence, one has to use the flag

[style=file,numbers=none,title=\hspace{12cm}LesHouches.in.BLSSM]
Block SPhenoInput   # SPheno specific input
...
50 0               # Majorana phases: use only positive masses  

to get the spectrum according to that convention. Afterwards, the spectrum file just has to be moved to the same directory as CalcOmega_with_DDetection. Copy it there and start the calculation:

$cp$PATH/SPHENO/SPheno.spc.$MODEL .$ ./CalcOmega_with_DDetection

# How do I implement new model in Vevacious ?

MakeVevacious[];