FlexibleSUSY is hosted by Hepforge, IPPP Durham
FlexibleSUSY model file

Model information

_____________________________________________________________________

__Symbol__: `FSModelName`

__Default value__: _unset_

__Description__:

Name of the model class within the generated code. If `FSModelName` is set to the string "@CLASSNAME@", it will be replaced by the `createmodel` script to the name of the FlexibleSUSY model given during the `./createmodel --name=<model_name>` command.

_____________________________________________________________________

__Symbol__: `FSEigenstates`

__Default value__: ``SARAH`EWSB``

__Description__:

The name of the particle eigenstates in SARAH. Usually, ``SARAH`EWSB`` corresponds to the mass eigenstates after breaking of the electroweak symmetry.

_____________________________________________________________________

__Symbol__: `FSDefaultSARAHModel`

__Default value__: _unset_

__Description__:

Name of the SARAH model to be used. A sub-model can be specified after a `/`.

Example: In the constrained CP-conserving MSSM (`CMSSM`) the SARAH model `MSSM` is used as:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} FSDefaultSARAHModel = MSSM; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Example: In the constrained CP-violating MSSM (`CMSSMCPV`) the SARAH model `MSSM` together with the sub-model `CPV` is used:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} FSDefaultSARAHModel = MSSM/CPV; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_____________________________________________________________________

__Symbol__: `FSBVPSolvers`

__Default value__: `{ TwoScaleSolver }`

__Description__:

A list of algorithms to use for solving the boundary value problem. One or both of `TwoScaleSolver` or `SemiAnalyticSolver` may be specified in the list.

Input parameters

_____________________________________________________________________

__Symbol__: `MINPAR`

__Default value__: `{}`

__Description__:

In the `MINPAR` variable a list of input parameters for the spectrum generator can be given, which is read of the `MINPAR` block of the SLHA input file.

`MINPAR` is supposed to contain a list. The list elements are two-component lists, where the first in element is an integer number representing the index inside the `MINPAR` block. The second element is the input parameter. The input parameter must be either a symbol or a sign of the form `Sign[p]`, where `p` is the name of a model parameter.

__Example__: In the CMSSM the `MINPAR` block has the form

~~~~~~~~~~~~~~~~~~~~{.m} MINPAR = { {1, m0}, {2, m12}, {3, TanBeta}, {4, Sign[\[Mu]]}, {5, Azero} }; ~~~~~~~~~~~~~~~~~~~~

In this case the input parameters can be given in the SLHA input file as

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Block MINPAR # Input parameters 1 125 # m0 2 500 # m12 3 10 # TanBeta 4 1 # SignMu 5 0 # Azero ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_Note_: Unspecified parameters are assumed to be zero.

_____________________________________________________________________

__Symbol__: `EXTPAR`

__Default value__: `{}`

__Description__:

The `EXTPAR` variable is a list of input parameters for the spectrum generator, which is read of the `EXTPAR` block of the SLHA input file. The list assigned to the `EXTPAR` variable must have the same form as the `MINPAR` variable.

__Example__: In the NUTNMSSM the `EXTPAR` block has the form

~~~~~~~~~~~~~~~~~~~~{.m} EXTPAR = { {61, LambdaInput}, {62, KappaInput}, {63, ALambdaInput}, {64, AKappaInput}, {65, MuEff} }; ~~~~~~~~~~~~~~~~~~~~

In this case the input parameters can be given in the SLHA input file as

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Block EXTPAR # Input parameters 61 0.650 # LambdaInput 62 0.164 # KappaInput 63 763.8 # ALambdaInput 64 1268.2 # AKappaInput 65 265.2 # MuEff ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_Note_: Unspecified parameters are assumed to be zero.

_____________________________________________________________________

__Symbol__: `IMMINPAR`

__Default value__: `{}`

__Description__:

The `IMMINPAR` variable is a list of input parameters for the spectrum generator, which is read of the `IMMINPAR` block of the SLHA input file. The list assigned to the `IMMINPAR` variable must have the same form as the `MINPAR` variable.

__Example__: In the CP-violating MSSM (`CMSSMCPV`) the `IMMINPAR` block has the form

~~~~~~~~~~~~~~~~~~~~{.m} IMMINPAR = { {2, Imm12}, {5, ImAzero} }; ~~~~~~~~~~~~~~~~~~~~

In this case the input parameters can be given in the SLHA input file as

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Block IMMINPAR 2 10 # Imm12 5 10 # ImAzero ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_Note_: Unspecified parameters are assumed to be zero.

_____________________________________________________________________

__Symbol__: `IMEXTPAR`

__Default value__: `{}`

__Description__:

The `IMEXTPAR` variable is a list of input parameters for the spectrum generator, which is read of the `IMEXTPAR` block of the SLHA input file. The list assigned to the `IMEXTPAR` variable must have the same form as the `MINPAR` variable.

__Example__: In the CP-violating MSSM (`MSSMCPV`) the `IMEXTPAR` block has the form

~~~~~~~~~~~~~~~~~~~~{.m} IMEXTPAR = { {1, ImM1Input}, {2, ImM2Input}, {3, ImM3Input}, {23, ImMuInput} }; ~~~~~~~~~~~~~~~~~~~~

In this case the input parameters can be given in the SLHA input file as

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Block IMEXTPAR 1 100 # Im(M1(MSUSY)) 2 100 # Im(M2(MSUSY)) 3 100 # Im(M3(MSUSY)) 23 100 # Im(Mu(MSUSY)) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_Note_: Unspecified parameters are assumed to be zero.

_____________________________________________________________________

__Symbol__: `FSAuxiliaryParameterInfo`

__Default value__: `{}`

__Description__:

In the `FSAuxiliaryParameterInfo` variable additional input or extra parameters can be defined, and extra information provided can be provided about existing input parameters. `FSAuxiliaryParameterInfo` is expected to be a list, whose element are two-component lists. The first element of this list is a symbol representing the parameter. The second element is a list of properties for that parameter, specified as replacement rules. The supported properties are

  • `InputParameter`: A value of `True` or `False` indicating if the parameter is an input parameter.
  • `LesHouches`: The name of the SLHA block from which the parameter should be read, if it is an input parameter.
  • `MassDimension`: A number specifying the mass dimension of the parameter.
  • `ParameterDimensions`: A list specifying the vector- or matrix-type of the input parameter. A list of the form `{N,M}` with `N` and `M` being integer numbers defines a NxM matrix. A list of the form `{N}`, with `N` > 1 defines a vector with `N` rows. A list of the form `{1}` or `{}` defines a scalar.

__Example__: In the MSSM the `FSAuxiliaryParameterInfo` variable has the form

~~~~~~~~~~~~~~~~~~~~{.m} FSAuxiliaryParameterInfo = { {Aeij, { LesHouches -> AeijIN, ParameterDimensions -> {3,3}, InputParameter -> True } }, {Adij, { LesHouches -> AdijIN, ParameterDimensions -> {3,3}, InputParameter -> True } }, {Auij, { LesHouches -> AuijIN, ParameterDimensions -> {3,3}, InputParameter -> True } } }; ~~~~~~~~~~~~~~~~~~~~

Here, three 3x3 matrix-valued parameters are specified: `Aeij`, `Adij` and `Auij`. They are defined as input parameters. These matrices are read from the blocks `AeijIN`, `AdijIN` and `AuijIN`, respectively.

These input parameters can be given in the SLHA input file as

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Block AeijIN 1 1 100 1 2 100 1 3 100 2 1 100 2 2 100 2 3 100 3 1 100 3 2 100 3 3 100 Block AdijIN 1 1 200 1 2 200 1 3 200 2 1 200 2 2 200 2 3 200 3 1 200 3 2 200 3 3 200 Block AuijIN 1 1 300 1 2 300 1 3 300 2 1 300 2 2 300 2 3 300 3 1 300 3 2 300 3 3 300 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_Note_: Unspecified parameters are assumed to be zero.

_____________________________________________________________________

__Symbol__: `RealParameters`

__Default value__: `{ All }`

__Description__:

`RealParameters` is a list, which contains the names of all model parameters, which should be treated as real parameters. By default, `RealParameters` is set to `{ All }`, meaning that by default all paramerters are treated to be real. If `RealParameters` is set to the empty list `{}`, FlexibleSUSY takes the information which paramerters are real and which are complex from the SARAH model file.

Example: In the complex Standard Model (`cSM`), the parameters `mu2` and `\[Lambda]` should be defined to be real:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} RealParameters = { mu2, \[Lambda] }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Note: The gauge couplings and VEVs are always assumed to be real in SARAH.

Example: In the CP-violating MSSM (`CMSSMCPV`), the `B[\[Mu]]` parameter should be defined to be real:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} RealParameters = { B[\[Mu]] }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Boundary conditions

In FlexibleSUSY, spectrum generators with maximum 3 boundary conditions can be generated. These boundary conditions are named "high-scale", "susy-scale" and "low-scale" boundary condition and are described in the following.

However, it is possible to disable the high-scale boundary condition. In order to do so, set

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} OnlyLowEnergyFlexibleSUSY = True; (* disable high-scale BC, default: False *) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_____________________________________________________________________

__Symbol__: `LowScale`

__Default value__: _unset_

__Description__:

The scale of the low-scale boundary condition, at which the model is matched to the Standard Model.

Note:
`LowScale` is ignored if `FlexibleEFTHiggs == True`

Example: In the CMSSM the low-energy scale should be set to the Z or top pole mass. This choice is achieved by the following expression:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ LowScale = LowEnergyConstant[MZ]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_____________________________________________________________________

__Symbol__: `LowScaleFirstGuess`

__Default value__: _unset_

__Description__:

First guess of the low-energy scale.

Note:
`LowScaleFirstGuess` is ignored if `FlexibleEFTHiggs == True`

Example: In the CMSSM the first guess for the low-energy scale should be set to the Z or top pole mass:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ LowScaleFirstGuess = LowEnergyConstant[MZ]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_____________________________________________________________________

__Symbol__: `LowScaleInput`

__Default value__: `{}`

__Description__:

With the `LowScaleInput` variable boundary conditions at the low-energy scale can be specified. `LowScaleInput` is a list. Please refer to Boundary condition format for details about the list format.

At the low-energy scale, FlexibleSUSY automatically determines the three gauge couplings from the SLHA input parameters $\alpha_{em}$, $M_Z$ and $G_F$ or $M_W$.

Note:
`LowScaleInput` is ignored if `FlexibleEFTHiggs == True`

Example: In the CMSSM `LowScaleInput` is given as follows:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ LowScaleInput = { {Yu, Automatic}, {Yd, Automatic}, {Ye, Automatic}, {vd, 2 MZDRbar / Sqrt[GUTNormalization[g1]^2 g1^2 + g2^2] Cos[ArcTan[TanBeta]]}, {vu, 2 MZDRbar / Sqrt[GUTNormalization[g1]^2 g1^2 + g2^2] Sin[ArcTan[TanBeta]]} }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The method to determine the weak mixing angle can be chosen by setting the variable `FSWeakMixingAngleInput` to either `Automatic`, `FSFermiConstant` or `FSMassW`. `FSWeakMixingAngleInput` is set to `Automatic` by default.

| Value of `FSWeakMixingAngleInput` | Parameters from which weak mixing angle is determined | |------------------------------------|-------------------------------------------------------| | `FSFermiConstant` | $G_F$ and $M_Z$ | | `FSMassW` | $M_W$ and $M_Z$ | | `Automatic` (default) (recommended)| chose most precise method automatically |

Example: Automatically chose most precise method to determine the weak mixing angle

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ FSWeakMixingAngleInput = Automatic; (* recommended *) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Note:
If `FSWeakMixingAngleInput = FSMassW;` is chosen, FlexibleSUSY looks for the definition of the weak mixing angle in the symbol SARAH\`Weinberg. If SARAH\`Weinberg is not defined, FlexibleSUSY uses the expression assigned to `FSWeakMixingAngleExpr`, which is by default set to ArcSin[Sqrt[1-Mass[SARAH`VectorW]^2/Mass[SARAH`VectorZ]^2]].

_____________________________________________________________________

__Symbol__: `SUSYScale`

__Default value__: _unset_

__Description__:

The scale of the susy-scale boundary condition, which is defined to be between the low-scale and the high-scale. This is the scale at which the electroweak symmetry breaking conditions are imposed by default, see Boundary condition format.

Example: In the CMSSM the SUSY scale should be set to the geometric average of the two stop masses. This choice is achieved by the following expression:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUSYScale = Sqrt[Product[M[Su[i]]^(Abs[ZU[i,3]]^2 + Abs[ZU[i,6]]^2), {i,6}]]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_____________________________________________________________________

__Symbol__: `SUSYScaleFirstGuess`

__Default value__: _unset_

__Description__:

First guess of the SUSY scale.

Example: In the CMSSM a reasonable first guess for the SUSY scale can be given by the following combination of the mSUGRA parameters:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUSYScaleFirstGuess = Sqrt[m0^2 + 4 m12^2]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_____________________________________________________________________

__Symbol__: `SUSYScaleInput`

__Default value__: `{}`

__Description__:

With the `SUSYScaleInput` variable boundary conditions at the SUSY scale can be specified. `SUSYScaleInput` is a list. Please refer to Boundary condition format for details about the list format.

Example: In the NUTNMSSM `SUSYScaleInput` is given as follows:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUSYScaleInput = { {\[Lambda], LambdaInput}, {\[Kappa], KappaInput}, {vS, Sqrt[2] MuEff / LambdaInput} }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_____________________________________________________________________

__Symbol__: `HighScale`

__Default value__: _unset_

__Description__:

This is the scale of the high-scale boundary condition.

Example: In the CMSSM the high-energy scale, $M_X$, is given by the equality of the gauge couplings $g_1(M_X)$ and $g_2(M_X)$:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ HighScale = g1 == g2; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_____________________________________________________________________

__Symbol__: `HighScaleFirstGuess`

__Default value__: _unset_

__Description__:

First guess of the high-energy scale.

Example: In the CMSSM a reasonable initial guess for the high-energy scale is:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ HighScaleFirstGuess = 2.0 10^16; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_____________________________________________________________________

__Symbol__: `HighScaleMinimum`

__Default value__: _unset_

__Description__:

Minimum value of the high-energy scale during the iteration.

Example: In the E6SSM the high-energy scale can vary a lot between the iteration steps. For this reason, it makes sense to use a minimum high-energy scale in intermediate steps as:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ HighScaleMinimum = 1.0 10^4; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_____________________________________________________________________

__Symbol__: `HighScaleMaximum`

__Default value__: _unset_

__Description__:

Maximum value of the high-energy scale during the iteration.

Example: In the E6SSM the high-energy scale can vary a lot between the iteration steps. For this reason, it makes sense to use a maximum high-energy scale in intermediate steps as:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ HighScaleMaximum = 5.0 10^17; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_____________________________________________________________________

__Symbol__: `HighScaleInput`

__Default value__: `{}`

__Description__:

With the `HighScaleInput` variable boundary conditions at the high-energy scale can be specified. `HighScaleInput` is a list. Please refer to Boundary condition format for details about the list format.

Example: In the CMSSM `HighScaleInput` is set to the mSUGRA boundary conditions:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ HighScaleInput = { {T[Ye], Azero Ye}, {T[Yd], Azero Yd}, {T[Yu], Azero Yu}, {mHd2, m0^2}, {mHu2, m0^2}, {mq2, UNITMATRIX[3] m0^2}, {ml2, UNITMATRIX[3] m0^2}, {md2, UNITMATRIX[3] m0^2}, {mu2, UNITMATRIX[3] m0^2}, {me2, UNITMATRIX[3] m0^2}, {MassB, m12}, {MassWB,m12}, {MassG, m12} }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_____________________________________________________________________

__Symbol__: `InitialGuessAtLowScale`

__Default value__: `{}`

__Description__:

With the `InitialGuessAtLowScale` variable initial values for the model MS-bar/DR-bar parameters can be given at the low-energy scale `LowScale`.

Note:
`InitialGuessAtLowScale` is ignored if `FlexibleEFTHiggs == True`

Example: In the CMSSM `InitialGuessAtLowScale` is given as follows:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ InitialGuessAtLowScale = { {vd, LowEnergyConstant[vev] Cos[ArcTan[TanBeta]]}, {vu, LowEnergyConstant[vev] Sin[ArcTan[TanBeta]]}, {Yu, Automatic}, {Yd, Automatic}, {Ye, Automatic} }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_____________________________________________________________________

__Symbol__: `InitialGuessAtSUSYScale`

__Default value__: `{}`

__Description__:

Note:
`InitialGuessAtSUSYScale` is only used if `FlexibleEFTHiggs == True`

With the `InitialGuessAtSUSYScale` variable initial values for the model MS-bar/DR-bar parameters can be given at the SUSY scale `SUSYScale`.

Example: In the MSSMEFTHiggs `InitialGuessAtSUSYScale` is given as follows:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ InitialGuessAtSUSYScale = { {Yu, Automatic}, {Yd, Automatic}, {Ye, Automatic} {MassB, Ms}, {MassWB, Ms}, {MassG, Ms}, {mq2, UNITMATRIX[3] Ms^2}, {mu2, UNITMATRIX[3] Ms^2}, {md2, UNITMATRIX[3] Ms^2}, {ml2, UNITMATRIX[3] Ms^2}, {me2, UNITMATRIX[3] Ms^2}, {\[Mu], Ms}, {B[\[Mu]], Sqr[Ms]/(TanBeta + 1/TanBeta)}, {T[Yu], Ms/TanBeta Yu}, {T[Yd], Ms TanBeta Yd}, {T[Ye], Ms TanBeta Ye}, {T[Yu][3,3], (Ms/TanBeta + Xtt Ms) Yu[3,3]} }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_____________________________________________________________________

__Symbol__: `InitialGuessAtHighScale`

__Default value__: `{}`

__Description__:

With the `InitialGuessAtHighScale` variable initial values for the model MS-bar/DR-bar parameters can be given at the high-energy scale `HighScale`.

Example: In the CMSSM `InitialGuessAtHighScale` is given as follows:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ InitialGuessAtHighScale = { {\[Mu] , 1.0}, {B[\[Mu]], 0.0} }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_____________________________________________________________________

__Symbol__: `EWSBOutputParameters`

__Default value__: `{}`

__Description__:

In the `EWSBOutputParameters` variable the model parameters must be specified, which are fixed by the electroweak symmetry breaking (EWSB) conditions, $\partial V_\text{Higgs}/\partial v_i = 0$. The length of the `EWSBOutputParameters` list must be equal to the number of EWSB conditions.

Example: In the CMSSM `EWSBOutputParameters` is given as follows:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ EWSBOutputParameters = { B[\[Mu]], \[Mu] }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The elements of the `EWSBOutputParameters` must be _real_ parameters. In a model with complex parameters, as in the CMSSMCPV for example, `EWSBOutputParameters` is set to be:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ EWSBOutputParameters = { Re[B[\[Mu]]], Im[B[\[Mu]]], \[Mu] }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_____________________________________________________________________

__Symbol__: `EWSBInitialGuess`

__Default value__: `{}`

__Description__:

In the `EWSBInitialGuess` variable initial guesses for some or all of the EWSB output parameters can be specified.

Example: In the VCMSSM `EWSBInitialGuess` is defined as

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ EWSBInitialGuess = { {TanBeta, vu / vd}, {MuSq, \[Mu]^2} }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_____________________________________________________________________

__Symbol__: `EWSBSubstitutions`

__Default value__: `{}`

__Description__:

In the `EWSBSubstitutions` variable, substitutions for model parameters in terms of other parameters can be given. `EWSBSubstitutions` should be a list of two-component lists, in which the first element is the parameter to be substituted for, and the second element is the expression to be substituted in its place.

Example: In the VCMSSM `EWSBSubstitutions` is defined as

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ EWSBSubstitutions = { {vd, vMSSM Cos[ArcTan[TanBeta]]}, {vu, vMSSM Sin[ArcTan[TanBeta]]}, {\[Mu], Sign[\[Mu]] Sqrt[MuSq]} }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_____________________________________________________________________

__Symbol__: `FSSolveEWSBTreeLevelFor`

__Default value__: `{}`

__Description__:

In the `FSSolveEWSBTreeLevelFor` variable the model parameters can be specified, which are fixed by the tree-level electroweak symmetry breaking (EWSB) conditions when the running (tree-level) masses are calculated. The length of the `FSSolveEWSBTreeLevelFor` list must be either zero (default) or equal to the number of EWSB conditions. If `FSSolveEWSBTreeLevelFor` is the empty list, then the temporary EWSB output parameters are chosen automatically as follows:

  • In SUSY models, by default the soft-breaking squared Higgs mass parameters are fixed by the tree-level EWSB equation temporarily when the running (tree-level) masses are calculated.
  • In non-SUSY models, by default the parameters given in `EWSBOutputParameters` are fixed by the tree-level EWSB equation temporarily when the running (tree-level) masses are calculated.

_____________________________________________________________________

__Symbol__: `MatchingScaleInput`

__Default value__: `{}`

__Description__:

Note:
`MatchingScaleInput` is only used if `FlexibleEFTHiggs == True`

In the `MatchingScaleInput` variable, relations between the parameters of the full model and the Standard Model (the EFT) at the `SUSYScale` can be specified.

An important application is the relation between the vacuum expectation values (VEVs) in a SUSY model and $v$ in the Standard Model: In `FlexibleEFTHiggs` the running Yukawa couplings of the full model are determined from a pole mass matching of the Standard Model fermions (which need to be present in both models). For this determination the running VEVs of the full model must be known and non-zero. `MatchingScaleInput` allows the user for example to fix the running VEVs of the full model as a function of the running SM-like VEV $v$ in the full model.

_Example:_ In the MSSM the vacuum expectation values $v_u$ and $v_d$ are related to the MSSM SM-like VEV $v = \sqrt{v_u^2 + v_d^2}$ as

\begin{align*} v_u &= v \sin\beta , \\ v_d &= v \cos\beta . \end{align*}

To fix $v_u$ and $v_d$ in the MSSM in this way, `MatchingScaleInput` can be used:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} MatchingScaleInput = { {vu, VEV Sin[ArcTan[TanBeta]]}, {vd, VEV Cos[ArcTan[TanBeta]]} }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

where `TanBeta` is an input parameter. The symbol `VEV` is a FlexibleSUSY constant which is assigned the value

\begin{align*} \text{VEV} = \frac{2 m_Z}{\sqrt{g_Y^2 + g_2^2}} , \end{align*}

where $m_Z$ is the running Z boson mass in the full model, detetermined by requiring the equality of the Z boson pole masses of the full model and the Standard Model. $g_Y$ and $g_2$ are the running gauge couplings of $U(1)_Y$ and $SU(2)_L$ in the full model, respectively. These two gauge couplings are calculated using the 1-loop threshold correction for $\alpha_{\text{em}}$ and the running weak mixing angle, $\cos\theta_W = m_W / m_Z$. $m_W$ is the running W boson mass in the full model, detetermined by requiring the equality of the W boson pole masses of the full model and the Standard Model.

Boundary condition format

The variables `LowScaleInput`, `SUSYScaleInput` and `HighScaleInput` are lists which specify the boundary conditions for the running model parameters at the corresponding scale. The boundary conditions can be expressed as follows.

### Setting a running model parameter to a value or expression ###

A running model parameter can be assigned at the corresponding scale to a fixed numerical value or a value which is the result of the evaluation of an expression. Such an assignment is made by a two-component list, `{p, v}`, where the first list element must be the model parameter (`p` in this case) and the second list element is a numerical value or an expression.

Example: An example is the mSUGRA boundary condition in the CMSSM at the GUT scale:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} HighScaleInput = { {T[Ye], Azero*Ye}, {T[Yd], Azero*Yd}, {T[Yu], Azero*Yu}, {mHd2, m0^2}, {mHu2, m0^2}, {mq2, UNITMATRIX[3] m0^2}, {ml2, UNITMATRIX[3] m0^2}, {md2, UNITMATRIX[3] m0^2}, {mu2, UNITMATRIX[3] m0^2}, {me2, UNITMATRIX[3] m0^2}, {MassB, m12}, {MassWB,m12}, {MassG, m12} }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The model parameters in the expression in the second list element are running parameters at the corresponding scale. I.e. the setting `{T[Ye], Azero*Ye}` means $T_{y_e}(Q) := A_0 y_e(Q)$, where $Q$ is the scale.

For matrix- or vector-valued assignments, the following convenient symbols can be used in the second list element:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} UNITMATRIX[rows] (* quadratic unit matrix with `rows' rows *) UNITMATRIXCOMPLEX[rows] (* complex quadratic unit matrix with `rows' rows *) ZEROMATRIX[rows,cols] (* zero matrix with `rows' rows and `cols' columns *) ZEROMATRIXCOMPLEX[rows,cols] (* complex zero matrix with `rows' rows and `cols' columns *) ZEROVECTOR[rows] (* zero vector with `rows' rows *) ZEROVECTORCOMPLEX[rows] (* complex zero vector with `rows' rows *) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

On the r.h.s. of the assignment it is possible to refer to a model parameter, which is read from an SLHA input block. These model parameter input blocks are named after the model parameter output blocks concatenated with an additionan "IN" (see the SLHA-2 standard, arXiv:0801.0045, Section 4.1.3). To refer to such an input model parameter on the r.h.s. of an assignment one can either add an entry in `FSAuxiliaryParameterInfo` or use the `LHInput[p]` symbol, where `p` is the name of the model parameter.

Example:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} SUSYScaleFirstGuess = Sqrt[Sqrt[LHInput[mq2[3,3]] * LHInput[mu2[3,3]]]];

SUSYScaleInput = { {mq2, 2 g2^2 LHInput[mq2]} }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

It is also possible to access the $\beta$ functions on the r.h.s. of an assignment using the `BETA` head: `BETA[p]` represents the $\beta$ function of the parameter `p` using the loop level given in the SLHA input. `BETA[l,p]` represents the `l`-loop $\beta$ function of the parameter `p`.

Example:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} HighScaleInput = { {\[Lambda], BETA[g1] + BETA[g2] + BETA[1,Yu][3,3]} }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

### Temporary parameter re-definitions ###

Since FlexibleSUSY 1.4.0, the user can perform a temporary parameter definition to be used in the boundary conditions using the Temporary[] head.

If a parameter `p` set in a boundary conditions in the form `Temporary[p,<expr>]`, the following happens: Immediately after the RG running the value of the parameter is saved locally. Afterwards, the parameter is assigned to `<expr>`. Now, all further boundary conditions are imposed and calculations are performed (calculation of running masses, solution of the EWSB conditions, etc.). Finally, the parameter `p` is restored to the locally saved value.

Example in `U1xMSSM3G`: Temporarily rotate the gauge couplings to the triangular basis:

~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} g1T = (g1*gX - g1X*gX1)/Sqrt[gX^2 + gX1^2]; gXT = Sqrt[gX^2 + gX1^2]; g1XT = (g1X*gX + g1*gX1)/Sqrt[gX^2 + gX1^2];

SUSYScaleInput = { {Temporary[g1], g1T}, {Temporary[gX], gXT}, {Temporary[g1X], g1XT}, {Temporary[gX1], 0}, {xS, vSInput}, {x2, Sqrt[4*MZpInput^2 - gX^2*(vu^2 + vd^2)]/(2*gX*Sqrt[1 + TanBetaX^2])}, {x1, (TanBetaX*Sqrt[4*MZpInput^2 - gX^2*(vu^2 + vd^2)])/(2*gX*Sqrt[1 + TanBetaX^2])}, {L[lw], 0}, FSSolveEWSBFor[{mHd2, mHu2, mC12, lw, mS2}] }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~

In this example the gauge couplings, defined in the triangular basis, are used in every calculation performed at the SUSY scale. This includes the calculation of `x1` and `x2` as well as solving the EWSB conditions.

### Imposing the electroweak symmetry breaking conditions ###

The scale, at which the electroweak symmetry breaking (EWSB) conditions are imposed can be specified by adding `FSSolveEWSBFor[parameters]` to the corresponding boundary condition. The argument `parameters` must be the list of model parameters which are fixed by the electroweak symmetry breaking conditions.

Example: Impose the EWSB conditions at the low-energy scale:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~ LowScaleInput = { FSSolveEWSBFor[EWSBOutputParameters] }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

If `FSSolveEWSBFor[EWSBOutputParameters]` is not given in any boundary condition, then it is added to `SUSYScaleInput`. This implies, that by default, the EWSB conditions are imposed at the scale `SUSYScale`.

### Automatic input of unspecified model parameters ###

In low-energy models (models where `OnlyLowEnergyFlexibleSUSY === True`) parameters, which are _not_ set in any boundary condition are automatically input at the `SUSYScale`. The values of these parameters are automatically read from the corresponding SLHA input blocks.

To disable the automatic input of unspecified parameters, set

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} AutomaticInputAtMSUSY = False; (* default: True *) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

### Sub-iterations ###

It is possible to fix model parameters at a scale by performing an iteration. Two kinds of iterations are supported:

#### Minimization ####

Model parameters can be fixed by requiring that a function is minimal. The parameters to be fixed and the function to be minimized must be specified by the symbol `FSMinimize[parameters, f]`, where `parameters` is the list of parameters to be fixed and `f` is the scalar function to be minimized.

Example:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} SUSYScaleInput = { FSMinimize[{vd,vu}, (LowEnergyConstant[MZ] - Pole[M[VZ]])^2 / STANDARDDEVIATION[MZ]^2 + (LowEnergyConstant[MH] - Pole[M[hh[1]]])^2 / STANDARDDEVIATION[MH]^2] }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#### Root finding ####

Model parameters can be fixed by requiring that a function is zero. The parameters to be fixed and the function whose zero should be found must be specified by the symbol `FSFindRoot[parameters, f]`, where `parameters` is the list of parameters to be fixed and `f` is the vector-valued function to be zero.

Example:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} SUSYScaleInput = { FSFindRoot[{vd,vu}, {LowEnergyConstant[MZ] - Pole[M[VZ]], LowEnergyConstant[MH] - Pole[M[hh[1]]]}] }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Convergence tester

FlexibleSUSY solves the given boundary value problem (BVP) by running to each scale and imposing the corresponding boundary conditions until a convergent solution has been found.

The convergence criterion can be customized using the `FSConvergenceCheck` variable. The default is

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} FSConvergenceCheck = Automatic; (* default *) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

If `FSConvergenceCheck` is set to `Automatic`, then the following convergence criteria are used:

  • In SUSY models the BVP solver stops if the maximum number of iterations has been reached (`FlexibleSUSY[1]`, see SLHA input parameters) or the maximum relative difference of the DR-bar masses of the SUSY particles at the SUSY scale between two successive iterations is less than the precision goal (`FlexibleSUSY[0]`, see SLHA input parameters).
  • In non-SUSY models the BVP solver stops if the maximum number of iterations has been reached (`FlexibleSUSY[1]`, see SLHA input parameters) or the maximum relative difference of all MS-bar masses of the model at the SUSY scale between two successive iterations is less than the precision goal (`FlexibleSUSY[0]`, see SLHA input parameters).

To create a custom convergence tester, the `FSConvergenceCheck` variable must be set to a list containing the running masses and/or running parameters to be compared between two successive iterations. The BVP solver stops if the maximum number of iterations has been reached (`FlexibleSUSY[1]`) or the maximum relative difference of all running masses and/or parameters given in the `FSConvergenceCheck` list at the SUSY scale between two successive iterations is less than the precision goal (`FlexibleSUSY[0]`).

Example: In the following MSSM example the running masses of all massive particles as well as the running parameters `g1, g2, g3, Yu, Yd[3,3], Ye, B[\[Mu]], \[Mu]` are tested for convergence.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} FSConvergenceCheck = { M[hh], M[Ah], M[Hpm], M[Su], M[Sd], M[Se], M[Chi], M[Cha], M[Glu], M[Fu], M[Fd], M[Fe], M[VZ], M[VWm], g1, g2, g3, Yu, Yd[3,3], Ye, B[\[Mu]], \[Mu] }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_Note_: For matrix- or vector-valued parameters every component is used in the convergence test, if the matrix/vector indices are omitted.

Renormalization group equations (RGEs)

The loop order of the RGEs to be used can be selected in the model file using the `FSRGELoopOrder` variable: By setting `FSRGELoopOrder = 0;` no RGEs will be generated by SARAH. By setting `FSRGELoopOrder = 1;` only one-loop RGEs will be generated by SARAH. By setting `FSRGELoopOrder = 2;` the two-loop RGEs will be generated by SARAH (this is the default).

Example:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} FSRGELoopOrder = 2; (* generate two-loop RGEs using SARAH *) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Pole masses

In order to tune the spectrum generator for speed, the precision of the pole mass calculation can be selected for each particle. There are three different pole mass calculation algorithms available: `LowPrecision`, `MediumPrecision` and `HighPrecision`. Please refer to Section 6.5 of Ref. [CPC 190 (2015) 139-172] for details.

By default, the pole masses of all particles are calculated with `MediumPrecision`, except for the CP-even, CP-odd and charged Higgs bosons, which are calculated with `HighPrecision` in order to include some momentum-dependent 2-loop corrections.

Example:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} DefaultPoleMassPrecision = MediumPrecision; HighPoleMassPrecision = {hh, Ah, Hpm}; MediumPoleMassPrecision = {}; LowPoleMassPrecision = {}; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Lightest supersymmetric particle (LSP)

FlexibleSUSY can generate the helper function `get_lsp()`, which returns the mass of the lightest supersymmetric particle (LSP) as well as the particle type. The particles which are candidates for being an LSP must be specified in the `PotentialLSPParticles` variable.

Example: In the MSSM the lightest supersymmetric particles might be

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} PotentialLSPParticles = { Chi, Sv, Su, Sd, Se, Cha, Glu }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

User-defined replacement rules

User-defined replacement rules can be applied to the beta functions, self-energies/ tadpoles and vertices. The rules are specified by the `FSBetaFunctionRules`, `FSSelfEnergyRules` and `FSVertexRules` variables, respectively.

Example: Set the gauge couplings `g1` and `g2` to zero in all 1-loop, 2-loop and 3-loop beta functions:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} FSBetaFunctionRules = { {g1 -> 0, g2 -> 0}, (* applied to 1L beta functions *) {g1 -> 0, g2 -> 0}, (* applied to 2L beta functions *) {g1 -> 0, g2 -> 0} (* applied to 3L beta functions *) }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Example: Set the mass of the Z boson and the corresponding ghost field to zero in the 1-loop self-energies/ tadpoles:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} FSSelfEnergyRules = { { (Mass|Mass2)[VZ|gZ] -> 0 } (* applied to 1L self-energies/tadpoles *) }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Example: Set the gauge couplings `g1` and `g2` to zero in all vertices:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} FSVertexRules = { g1 -> 0, g2 -> 0 }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Observables

FlexibleSUSY can calculate various observables. To enable the calculation of a specific observable, the corresponding symbol must be added to an extra SLHA output block, see Output blocks . In the following the supported observables are listed.

Effective Higgs-Photon-Photon and Higgs-Gluon-Gluon couplings

In the context of [arxiv:1602.05581], FlexibleSUSY has been extended to calculate the effective couplings of CP-even and CP-odd Higgs bosons to two photons or two gluons up to NNNLO. The following table lists the Mathematica symbols to enable the calculation of these effective couplings.

| Coupling | Symbol | |--------------------------------------------------------------|-------------------------------------------------------| | CP-even Higgs to two photons, $h\rightarrow\gamma\gamma$ | FlexibleSUSYObservable\`CpHiggsPhotonPhoton | | CP-odd Higgs to two photons, $A\rightarrow\gamma\gamma$ | FlexibleSUSYObservable\`CpPseudoScalarPhotonPhoton | | CP-even Higgs to two gluons, $h\rightarrow gg$ | FlexibleSUSYObservable\`CpHiggsGluonGluon | | CP-odd Higgs to two gluons, $A\rightarrow gg$ | FlexibleSUSYObservable\`CpPseudoScalarGluonGluon |

Example:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} ExtraSLHAOutputBlocks = { {EFFHIGGSCOUPLINGS, NoScale, {{1, FlexibleSUSYObservable`CpHiggsPhotonPhoton}, {2, FlexibleSUSYObservable`CpHiggsGluonGluon}, {3, FlexibleSUSYObservable`CpPseudoScalarPhotonPhoton}, {4, FlexibleSUSYObservable`CpPseudoScalarGluonGluon} } } }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

BSM contributions to the anomalous magnetic moment of the muon

Since version 2.0, FlexibleSUSY can calculate the BSM contributions to the anomalous magnetic moment of the muon, $a_\mu^{\text{BSM}}$ at the 1-loop level, including the leading 2-loop QED logarithmic corrections. The following table lists the Mathematica symbols to enable the calculation of $a_\mu^{\text{BSM}}$.

| Observable | Symbol | |---------------------------------|---------------------------------------------| | $a_\mu^{\text{BSM}}$ | FlexibleSUSYObservable\`aMuon | | $\Delta a_\mu^{\text{BSM}}$ | FlexibleSUSYObservable\`aMuonUncertainty |

$\Delta a_\mu^{\text{BSM}}$ is obtained by varying the renormalization scale by a factor 2. It therefore represents a lower bound of the theoretical uncertainty.

Example:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} ExtraSLHAOutputBlocks = { {FlexibleSUSYLowEnergy, {{0, FlexibleSUSYObservable`aMuon}, {1, FlexibleSUSYObservable`aMuonUncertainty} } } }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

MSSM contributions to the anomalous magnetic moment of the muon with GM2Calc

FlexibleSUSY contains an interface to GM2Calc [arxiv:1510.08071], which can be used to calculate the MSSM contributions to the anomalous magnetic moment of the muon, $a_\mu^{\text{MSSM}}$. GM2Calc calculates $a_\mu^{\text{MSSM}}$ at the 1-loop level, takes all known 2-loop contributions into account and performs a resummation of $\tan\beta$-enhanced contributions.

Note:
GM2Calc 1.*.* is restricted to CP-conserving MSSM without sfermion flavour violation. Thus, the GM2Calc interface in FlexibleSUSY can only be used for MSSM models with CP and sfermion flavour conservation.

| Observable | Symbol | |----------------------------------|----------------------------------------------------| | $a_\mu^{\text{MSSM}}$ | FlexibleSUSYObservable\`aMuonGM2Calc | | $\Delta a_\mu^{\text{MSSM}}$ | FlexibleSUSYObservable\`aMuonGM2CalcUncertainty |

Example:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} ExtraSLHAOutputBlocks = { {FlexibleSUSYLowEnergy, {{2, FlexibleSUSYObservable`aMuonGM2Calc}, {3, FlexibleSUSYObservable`aMuonGM2CalcUncertainty} } } }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

BSM contributions to the electric dipole moment (EDM)

Since version 2.0 FlexibleSUSY can calculate the BSM contributions to the electric dipole moments (EDM) of fermions at the 1-loop level in models with complex parameters. The following table lists the Mathematica symbols to enable the calculation of the EDM $d_f^{\text{BSM}}$ of the fermion $f$.

| Observable | Symbol | |---------------------------------|---------------------------------------------| | $d_f^{\text{BSM}}$ | FlexibleSUSYObservable\`EDM[f] |

Example: To calculate the EDMs of the electron, muon and tau lepton in the CP-violating MSSM, add the following to the FlexibleSUSY model file:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} ExtraSLHAOutputBlocks = { {FlexibleSUSYLowEnergy, {{23, FlexibleSUSYObservable`EDM[Fe[1]]}, {24, FlexibleSUSYObservable`EDM[Fe[2]]}, {25, FlexibleSUSYObservable`EDM[Fe[3]]} } } }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Output blocks

The user can define additional SLHA output blocks. These additional blocks must be defined in the FlexibleSUSY model file using the `ExtraSLHAOutputBlocks` variable. The `ExtraSLHAOutputBlocks` variable is a nested list of the following form:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} ExtraSLHAOutputBlocks = { {<blockname>, [<scale>,] {{<index>, <expression>}, {<index>, <expression>}, {<index>, <expression>}} }, ... }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

`<blockname>` is the name of the output block.

Optionally, the renormalization scale can be added to the block head. `NoScale` (default) specifies that the block head should have no scale. `CurrentScale` specifies that the scale written in the block head should be the current scale of the model. Otherwise, `<scale>` can be numeric value.

The fields inside the block are specified in form of a list of 2-component lists, where the first entry is an integer number representing the field index. The second entry is an expression to be evaluated and whose numeric result is written to the field value.

Example: In the MSSM mode file the following additional output blocks are defined

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} ExtraSLHAOutputBlocks = { {FlexibleSUSYOutput, NoScale, {{0, Hold[HighScale]}, {1, Hold[SUSYScale]}, {2, Hold[LowScale]} } }, {FlexibleSUSYLowEnergy, {{21, FlexibleSUSYObservable`aMuon} } }, {EFFHIGGSCOUPLINGS, NoScale, {{1, FlexibleSUSYObservable`CpHiggsPhotonPhoton}, {2, FlexibleSUSYObservable`CpHiggsGluonGluon}, {3, FlexibleSUSYObservable`CpPseudoScalarPhotonPhoton}, {4, FlexibleSUSYObservable`CpPseudoScalarGluonGluon} } }, {ALPHA, NoScale, {{ArcSin[Pole[ZH[2,2]]]}}}, {HMIX , {{1, \[Mu]}, {2, vu / vd}, {3, Sqrt[vu^2 + vd^2]}, {4, M[Ah[2]]^2}, {101, B[\[Mu]]}, {102, vd}, {103, vu} } }, {Au, {{1, 1, T[Yu][1,1] / Yu[1,1]}, {2, 2, T[Yu][2,2] / Yu[2,2]}, {3, 3, T[Yu][3,3] / Yu[3,3]} } }, {Ad, {{1, 1, T[Yd][1,1] / Yd[1,1]}, {2, 2, T[Yd][2,2] / Yd[2,2]}, {3, 3, T[Yd][3,3] / Yd[3,3]} } }, {Ae, {{1, 1, T[Ye][1,1] / Ye[1,1]}, {2, 2, T[Ye][2,2] / Ye[2,2]}, {3, 3, T[Ye][3,3] / Ye[3,3]} } }, {MSOFT, {{1, MassB}, {2, MassWB}, {3, MassG}, {21, mHd2}, {22, mHu2}, {31, SignedAbsSqrt[ml2[1,1]]}, {32, SignedAbsSqrt[ml2[2,2]]}, {33, SignedAbsSqrt[ml2[3,3]]}, {34, SignedAbsSqrt[me2[1,1]]}, {35, SignedAbsSqrt[me2[2,2]]}, {36, SignedAbsSqrt[me2[3,3]]}, {41, SignedAbsSqrt[mq2[1,1]]}, {42, SignedAbsSqrt[mq2[2,2]]}, {43, SignedAbsSqrt[mq2[3,3]]}, {44, SignedAbsSqrt[mu2[1,1]]}, {45, SignedAbsSqrt[mu2[2,2]]}, {46, SignedAbsSqrt[mu2[3,3]]}, {47, SignedAbsSqrt[md2[1,1]]}, {48, SignedAbsSqrt[md2[2,2]]}, {49, SignedAbsSqrt[md2[3,3]]} } } }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Model-specific switches

### 2- and 3-loop corrections to pole masses ###

#### MSSM ####

In the MSSM the dominant two-loop Higgs pole mass corrections [arxiv:hep-ph/0105096, arxiv:hep-ph/0112177, arxiv:hep-ph/0212132, arxiv:hep-ph/0206101, arxiv:hep-ph/0305127] can be used by setting in the model file

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} UseHiggs2LoopMSSM = True; (* use 2-loop Higgs corrections *) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The known 3-loop Higgs pole mass corrections of the order $O(\alpha_t\alpha_s^2 + \alpha_b\alpha_s^2)$ [arxiv:hep-ph/0803.0672, arxiv:hep-ph/1005.5709, arxiv:1409.2297, arxiv:1708.05720] can be used by setting in the model file

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} UseHiggs3LoopMSSM = True; (* use 3-loop Higgs corrections *) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Note:
The Himalaya library [https://github.com/jklappert/Himalaya] must be linked to FlexibleSUSY in order to enable the 3-loop contributions:
 {.sh}
./configure \
   --with-models=MSSMNoFVatMGUTHimalaya \
   --enable-himalaya \
   --with-himalaya-incdir=${HIMALAYA_DIR}/source/include \
   --with-himalaya-libdir=${HIMALAYA_DIR}/build
`MSSMNoFVatMGUTHimalaya` is a pre-defined FlexibleSUSY model which includes the 3-loop contributions to the light CP-even Higgs mass from Himalaya. `${HIMALAYA_DIR}` is the path to the Himalaya directory.

To make use of the 2-loop and/or 3-loop corrections the effective $\mu$ parameter must be specified using the `EffectiveMu` variable:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} EffectiveMu = \[Mu]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Note:
When the 3-loop corrections are used, the following switches will be set automatically for consistency: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} SARAH`UseHiggs2LoopMSSM = True; UseMSSMYukawa2Loop = True; (* use 2-loop SQCD corrections to yt and yb *) UseMSSMAlphaS2Loop = True; (* use 2-loop SQCD corrections to alpha_s *) UseMSSM3LoopRGEs = True; (* use 3-loop RGEs *) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#### NMSSM ####

In the NMSSM the dominant two-loop Higgs pole mass corrections from Ref. [arXiv:0907.4682] plus the MSSM-like contributions from Refs. [hep-ph/0105096, hep-ph/0112177, hep-ph/0212132, hep-ph/0206101, hep-ph/0305127] can be used by setting in the model file

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} UseHiggs2LoopNMSSM = True; (* use 2-loop Higgs corrections *) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In addition, the effective $\mu$ parameter must be specified using the `EffectiveMu` variable, Furthermore, the tree-level value of the effective CP-odd MSSM-like Higgs must be specified in the `EffectiveMASqr` variable.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} EffectiveMu = \[Lambda] vS / Sqrt[2]; EffectiveMASqr = (T[\[Lambda]] vS / Sqrt[2] + 0.5 \[Lambda] \[Kappa] vS^2) (vu^2 + vd^2) / (vu vd); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#### Standard Model (SM) ####

In the Standard Model the two-loop Higgs pole mass corrections of the order $O(\alpha_t\alpha_s + \alpha_b\alpha_s)$ [arxiv:1407.4336], $O((\alpha_t + \alpha_b)^2)$ [arxiv:1205.6497] and $O(\alpha_\tau^2)$ can be used by setting in the model file

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} UseHiggs2LoopSM = True; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The Standard Model the three-loop Higgs pole mass corrections of the order $O(\alpha_t\alpha_s^2 + \alpha_t^2\alpha_s + \alpha_t^3)$ [arxiv:1407.4336, Eq.(3.2)] can be used by setting in the model file

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} UseHiggs3LoopSM = True; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Note:
When the 3-loop corrections are used, the following switches will be set automatically for consistency: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} UseHiggs2LoopSM = True; UseSMAlphaS3Loop = True; (* use 2- and 3-loop QCD corrections to alpha_s *) UseYukawa3LoopQCD = True; (* use 2- and 3-loop QCD corrections to m_t *) UseSM3LoopRGEs = True; (* use 3-loop RGEs *) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The Standard Model the 4-loop Higgs pole mass corrections of the order $O(\alpha_t\alpha_s^3)$ [arxiv:1508.00912, Eq.(5.5)] can be used by setting in the model file

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} UseHiggs4LoopSM = True; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Note:
When the 4-loop corrections are used, the following switches will be set automatically for consistency: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} UseHiggs2LoopSM = True; UseHiggs3LoopSM = True; UseSMAlphaS3Loop = True; (* use 2- and 3-loop QCD corrections to alpha_s *) UseYukawa3LoopQCD = True; (* use 2- and 3-loop QCD corrections to m_t *) UseSM3LoopRGEs = True; (* use 3-loop RGEs *) UseSM4LoopRGEs = True; (* use 4-loop RGEs *) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#### Split-MSSM (SplitMSSM) ####

In the split-MSSM the two-loop Higgs pole mass corrections from [arxiv:1312.5220, Eq. (4.8)] of the order $O(\alpha_t \alpha_s^2)$ can be used by setting in the model file

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} UseHiggs3LoopSplit = True; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

### 3-loop QCD corrections to the top Yukawa coupling ###

In non-SUSY models the known 3-loop (Standard Model) QCD corrections $O(\alpha_s^3)$ [arxiv:hep-ph/9911434, arxiv:hep-ph/9912391] can be used in the determination of the running $\overline{MS}$ top Yukawa coupling $y_t$ at the low-energy scale by setting

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} UseYukawa3LoopQCD = Automatic; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ or ~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} UseYukawa3LoopQCD = True; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Note, that these 3-loop corrections are only applied at run-time if the threshold correction loop order (block `FlexibleSUSY[7]`) is set to a value > 2.

### Three-loop RGEs for specific models ###

#### Standard Model ####

In the Standard Model the known three-loop RGEs from [arxiv:1303.4364, arXiv:1307.3536] can be used by setting in the model file

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} UseSM3LoopRGEs = True; (* use three-loop SM RGEs *) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#### MSSM ####

In the MSSM the known three-loop RGEs from [arxiv:hep-ph/0308231, http://www.liv.ac.uk/~dij/betas/allgennb.log] can be used by setting in the model file

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} UseMSSM3LoopRGEs = True; (* use three-loop MSSM RGEs *) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

### Four-loop RGEs for specific models ###

#### Standard Model ####

In the Standard Model the known four-loop RGEs from [arxiv:1508.00912, arXiv:1604.00853, 1508.02680] can be used by setting in the model file

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} UseSM4LoopRGEs = True; (* use four-loop SM RGEs *) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

### Two-loop threshold corrections ###

#### SM ####

The known SM 2- and 3-loop QCD threshold corrections of order $O(\alpha_s^2 + \alpha_s^3)$ to the strong coupling constant are known by [hep-ph/0004189]. They can be taken into account by setting in the model file:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} UseSMAlphaS3Loop = True; (* use 2- and 3- threshold for alpha_s *) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#### MSSM ####

In the MSSM the known two-loop SQCD relation between the top pole mass and the DR-bar top mass from [arxiv:hep-ph/0210258,arxiv:hep-ph/0507139] as well as between the MS-bar bottom mass in the Standard Model and the DR-bar bottom mass in the MSSM [arxiv:0707.0650] can be used by setting in the model file

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} UseMSSMYukawa2Loop = True; (* use two-loop threshold for yt and yb *) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The known MSSM two-loop corrections of order $O(\alpha_s^2 + \alpha_s\alpha_t + \alpha_s\alpha_b)$ to the strong coupling constant are known by [hep-ph/0509048, arXiv:0810.5101, arXiv:1009.5455]. They can be taken into account by setting in the model file:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m} UseMSSMAlphaS2Loop = True; (* use two-loop threshold for alpha_s *) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~