# MicrOmegas

MicrOmegas is a tool which not only calculates the relic density for one or more dark matter candidates, but it also gives cross sections for direct and indirect DM searches. To enable these calculations, MicrOmegas needs in general three inputs

1. The model files to implement a new model
2. A steering file to coordinate the different calculations
3. Numerical values for all parameters

## Implementing new models in 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 MicrOmegasis implemented by providing the corresponding CalcHepmodel files. That means, one can use the SARAH output for CalcHep to work with MicrOmegas:

### Mass spectrum

By using SLHAinput -> True the model files are written in a way that CalcHep respectively MicrOmegas expect all input parameters to be provided in a spectrum file which is called SPheno.spc.BLSSM. CalcHep and MicrOmegas are going to read this file and extract all important information using the SLHA+ functionality from it. With the other options MicrOmegas/CalcHep expect either all masses and rotation matrices given in the file vars.mdl (SLHAinput -> False, CalculateMasses -> False), or it expects all fundamental parameters (soft-terms, couplings and VEVs) as input and diagonalizes the mass matrices internally (SLHAinput -> False, CalculateMasses -> True).

### Dark Matter candidates

One can work either with one or two dark matter candidates in MicrOmegas. The first DM candidate is the lightest particle of all states having a particular charge under a discrete symmetry. To define the symmetry and the charge, the option DMcandidate1->Value is used. There are two possibilities for Value:

1. when set to Default, the DM candidate is the lightest odd particle odd under the first $Z_2$ defined as global symmetry#
2. for any other choice, one can give first the name of the global symmetry and then the quantum number with respect to that symmetry GlobalSymmetry == Charge.

#### Examples

• One dark matter candidate
MakeCHep[DMcandidate1 -> RParity == -1];


is equivalent to

MakeCHep[]


If RParity is the first or only discrete symmetry.

• Two dark matter candidates
MakeCHep[DMcandidate1 -> RParity == -1, DMcandidate2 -> ExtraZ2 == -1];


would work for a model with two $Z_2$ symmetries called RParity and ExtraZ2.

### Output and compilation

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

$PATH/SARAH/Output/B-L-SSM/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 BLSSM
$make main=CalcOmega_with_DDetection.cpp A new binary CalcOmega_with_DDetection is now available. The only missing piece are the input parameters. ## Running MicrOmegas with SPheno spectrum files Providing the numerical parameters is pretty easy because MicrOmegas/CalcHepcan read the SPhenospectrum 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: 1. all Majorana masses are positive, but some entries of the corresponding rotation matrices are complex 2. 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. In order to do that one has copy it there and start the calculation: $ cp $PATH/SPHENO/SPheno.spc.BLSSM .$ ./CalcOmega_with_DDetection

The first run can take some time, even up to several hours depending on the computer power: MicrOmegas has to compile all necessary annihilation channels of the DM candidate for that particular parameter point. All further evaluations of similar points are done in a second or less. However, as soon as new channels are needed, MicrOmegas has to compile new amplitudes and the computation slows down extremely again. This can happen for instance, if the DM candidate changes or if the second lightest state becomes close in mass and co-annihilation has to be included.