SPheno mass calculation
After the iterative calculation of the parameters described here, the pole masses are calculated as follows:

The starting point for all loop calculations is the set of running parameters at the renormalization scale Q. This scale can be either be a fixed value or a variable which depends on other parameters of the model. For instance, in SUSY models it is common to choose Q to be the geometric mean of the stop masses.

The running parameters are used to solve the minimisation conditions of the vacuum (the tadpole equations T_{i}) at treelevel $T_i = \frac{\partial V^{(T)}}{\partial v_i} \equiv 0.$
These equations are solved for a set of parameters, one per equation. This set is determined by the user; typically these are masssquared parameters, which can be solved for linearly, but SARAHalso allows nonlinear tadpole equations.

The running parameters as well as the solutions of the tadpole equations are used to calculate the treelevel mass spectrum. The treelevel Higgs masses m_{i}^{h, (T)} are the eigenvalues of the treelevel mass matrix M^{h, (T)} defined by $M^{h,(T)} = \frac{\partial^2 V^{(T)}}{\partial \phi_i \partial \phi_j}$

Similarly, the treelevel masses of all other particles present in the model are calculated.

Using the treelevel masses the oneloop corrections δ**M_{Z} to the Z boson are calculated

The electroweak VEV v is expressed by the measured pole mass of the Z, M_{Z}^{pol**e}, the oneloop corrections and a function of the involved gauge couplings g_{i}. $v = \sqrt{\frac{M_Z^{2,\text{pole}} + \delta M^2_Z}{f(\{g_i\})}} \label{eq:electroweakv}$
In the case of the MSSM $f(\{g_i\}) = f(g_1, g_2) = \frac{1}{4} (g_1^2 + g_2^2)$ holds. Together with the value of the running tan β, the values for the VEVs of the up and down Higgs can be calculated.

The treelevel masses are calculated again with the new values for the VEVs.

The one (δ**t_{i}^{(1)}) and twoloop (δ**t_{i}^{(2)}) corrections to the tadpole equations are calculated. These are used to solve the loopcorrected minimisation conditions T_{i} + δ**t_{i}^{(1)} + δ**t_{i}^{(2)} ≡ 0.

The oneloop selfenergies for all particles including the external momentum p are calculated. For the Higgs, we call them in the following Π^{h, (1L)}(p^{2}).

For the Higgs states, the twoloop selfenergies (with zero external momentum) Π^{h, (2L)}(0) are calculated as explained here. The possible flags to steer these calculations are explained here

The physical Higgs masses are then calculated by taking the real part of the poles of the corresponding propagator matrices Det[p_{i}^{2}1−M^{h, (2L)}(p^{2})] = 0,
where
M^{2, (2L)}(p^{2})=M̃^{h, (T)} − Π^{h, (1L)}(p^{2})−Π^{h, (2L)}(0).
Here, M̃^{h, (T)} is the treelevel mass matrix where the parameters solving the loopcorrected tadpole equations are used. Eq. ([eq:propagator]) is solved for each eigenvalue p^{2} = m_{i}^{2} in an iterative way.