% Added: new softpoint.x option, irqfp
% To do: describe new Higgs calc once it's done
\documentclass{JHEP3}
%\usepackage{epsfig}
%\usepackage{axodraw}
  
% Macros
\def\SOFTSUSY{{\tt SOFTSUSY}}
\def\SUSPECT{{\tt SUSPECT}}
\def\HERWIG{{\tt HERWIG}}
\def\ISAJET{{\tt ISASUGRA}}
\def\SSARD{{\tt SSARD}}
\def\ISAWIG{{\tt ISAWIG}}
\def\MICROMEGAS{{\tt MICROMEGAS}}
\def\code#1{\small{\tt #1}\normalsize}
\def\gev{~\mbox{GeV}}
\def\half{\frac{1}{2}}

\preprint{CERN-TH/2001-102 \\ \hepph{0104145}}

\title{\SOFTSUSY{\tt 1.7}: a program for calculating supersymmetric spectra}

\author{B.C.~Allanach$^*$, \\
$^*$TH Division, CERN, CH 1211, Geneva, Switzerland}

\abstract{\SOFTSUSY~is a program which accurately calculates the spectrum
of superparticles in the Minimal Supersymmetric Standard Model (MSSM). 
The program solves the renormalisation group equations with theoretical
constraints on soft supersymmetry breaking terms provided by the user.
Weak-scale gauge coupling and fermion mass data (including one-loop finite
MSSM corrections) are used as a boundary
condition, as well as successful radiative electroweak symmetry breaking. 
The program can also calculate a measure of fine-tuning.
The program structure has been
designed to easily generalise to extensions of the MSSM\@.
This article serves as a self-contained guide to prospective users, and
indicates the conventions and approximations used.}

\begin{document}

\section{Introduction}

The Minimal Supersymmetric Standard Model (MSSM) provides an attractive
weak-scale extension to the Standard Model. As well as solving the gauge
hierarchy problem, it can be motivated by more fundamental models such as 
various string theories or supersymmetric grand unified theories. 
The MSSM provides a rich and complicated
phenomenology. It predicts many states  extra to
the Standard Model (sparticles) and
their indirect empirical 
effects and direct detection are vital for
verification of the MSSM\@.
Models that are more fundamental than
the MSSM can provide stringent constraints upon
the way supersymmetry (SUSY) is broken, with important implications for the
spectrum which in turn affects the signatures available in experiments.
It is therefore desirable to construct a calculational tool which may 
provide a spectrum and couplings of the MSSM sparticles so that studies 
of the capabilities of colliders, extraction of 
high scale parameters (if a signal is observed) and studies of constraints on
the models are enabled. We present such a tool (\SOFTSUSY) in this article.

\subsection{The Nature of the Physical Problem}

The determination of sparticle masses and couplings of SUSY particles in the
R-parity conserving MSSM is the basic problem. Low energy data on Standard
Model fermion masses,
gauge couplings and electroweak boson masses are to be used as  a constraint.
SUSY radiative corrections from sparticle loops to these inputs depend upon
the sparticle spectrum, and must be calculated.
Theoretical constraints on the SUSY breaking parameters from a higher theory
are often imposed at a high renormalisation scale, perhaps resulting from a
supergravity or string theory. Often, the theoretical constraints drastically
reduce the number of free parameters in the SUSY breaking sector (which
numbers over 100 in the unconstrained case). These constraints then make
phenomenological analysis tractable by reducing the dimensionality of
parameter space sufficiently so that parameter scans over a significant volume
of parameter space are possible. Finally, the MSSM parameters must also be
consistent with a minimum in the Higgs potential which leads to the observed
electroweak boson masses.

        This problem has been addressed many times before in the
literature (see for
example~\cite{Ross:1992tz,Barger:1994gh,Pierce:1997zz,Djouadi:1998di,Baer:1999sp}),
with  varying degrees of accuracy in each
part of the calculation. It is our purpose here to provide a tool which will
solve the problem with a high accuracy, including state-of-the-art corrections.
Similar problems in the context of MSSM extensions\footnote{By MSSM extension,
we mean an extension applicable near the weak scale.} have also been
studied. In anticipation of new forms of SUSY breaking constraints and new
MSSM extensions, we designed the tool to be flexible and easily extended.

\subsection{The Program}

\SOFTSUSY~has been written in object-oriented C++, although there is a fortran
interface currently available for universal SUGRA calculations.
Accuracy and generalisability have taken priority over running speed in the
design. For example,
full three family mass and Yukawa matrices are employed, rather than
the more usual dominant third family approximation, as used in the
other publicly released codes \ISAJET~(which comprises part of the 
{\tt ISAJET}~package~\cite{Baer:1999sp}) and \SUSPECT~\cite{Djouadi:1998di}. 
This choice slows the renormalisation group evolution significantly, but 
will facilitate studies of sparticle or quark mixing. The running time is not
foreseen as a bottleneck because it is a matter of a couple of seconds on a
modern PC, and will certainly be negligible compared to any Monte-Carlo
simulation of sparticle production and decay in colliders.
It is possible for the user to specify their own high scale boundary
conditions for the soft SUSY 
breaking parameters without having to change the \SOFTSUSY~code.
For the convenience of most users however, the most commonly used
high-scale boundary conditions are included in the package.

The code can be freely obtained from the \SOFTSUSY~web-page, which, at the
time of writing, resides at URL
\begin{quote}
\href{http://allanach.home.cern.ch/allanach/softsusy.html}
{http://allanach.home.cern.ch/allanach/softsusy.html}.
\end{quote}

\SOFTSUSY~is
a tool whose output could be used for Monte-Carlo studies of MSSM sparticle
searches~\cite{Allanach:2000ii} such as \code{HERWIG}~\cite{Corcella:2000bw}.
It may also be used for more theoretical studies such as gauge or Yukawa
unification, as was the case\footnote{The version of \SOFTSUSY~used was more 
approximate than the current version.} in
refs.~\cite{Abel:2000bj,Allanach:1999mh}, quasi-fixed
points~\cite{Abel:1999eu,Abel:1998yi}, or new patterns of SUSY
breaking~\cite{Allanach:2000gu}.

\subsection{Aims and Layout}

The main aims of this article are to provide a manual for the use of \SOFTSUSY,
to describe the approximations employed and the notation used (to allow for
user generalisation). There have been other articles published on the
comparison of the calculation in \SOFTSUSY~with those of other
codes~\cite{comparison}, and so we decline from including such
information here.

The rest of this paper proceeds as follows: 
the relevant MSSM parameters are presented in
sec.~\ref{sec:notation}. The approximations employed are noted in
sec.~\ref{sec:calculation}, but brevity requires that they are not
explicit. However, a reference is given so that the precise formulae utilised
may be obtained in each case. The algorithm of the calculation is also
outlined.
Technical information related to running and extending the program is
placed in appendices.
A description of how to run the command-line interface is given in
appendix~\ref{sec:run}, including information on the input-file.
Sample output from one such run is displayed and explained in
appendix~\ref{sec:output}. Appendix~\ref{sec:prog} gives a more technical
example of a main program, useful if the user wants to
call \SOFTSUSY~from his or her main program.
The use of switches and constants is explained
in appendix~\ref{sec:switches}. Finally, in appendix~\ref{sec:objects}, 
a description of the relevant objects and their relation to each other is
presented. 

\section{MSSM Parameters \label{sec:notation}}

In this section, we introduce the MSSM parameters in the
\SOFTSUSY~conventions. Translations to the actual variable names used in the
source code are shown in appendix~\ref{sec:objects}.

\subsection{Supersymmetric Parameters \label{susypars}}
The chiral superfields of the MSSM have the 
following $G_{SM}=SU(3)_c\otimes SU(2)_L\otimes U(1)_Y$ quantum numbers
\begin{eqnarray}
L:&(1,2,-\half),\quad {\bar E}:&(1,1,1),\qquad\, Q:\,(3,2,\frac{1}{6}),\quad
{\bar U}:\,(3,1,\frac{2}{3}),\nonumber\\ {\bar D}:&(3,1,-\frac{1}{3}),\quad
H_1:&(1,2,-\half),\quad  H_2:\,(1,2,\half).
\label{fields}
\end{eqnarray}
Then, the superpotential is written as
\begin{eqnarray}
W&=& \epsilon_{ab} \left[ (Y_E)_{ij} L_i^a
H_1^b {\bar E}_j + (Y_D)_{ij} Q_i^{ax} H_1^b {\bar D}_{jx} +
(Y_U)_{ij} Q_i^{ax} H_2^b {\bar U}_{jx}  + \mu H_2^a H_1^b\right]
\label{superpot}
\end{eqnarray}
Throughout this section, we denote an $SU(3)$ colour index of the
fundamental representation by 
$x,y,z=1,2,3$. The $SU(2)_L$ fundamental representation indices are
denoted by $a,b,c=1,2$ and the generation indices by $i,j,k=1,2,3$.
$\epsilon_{ab}$ is the totally antisymmetric tensor, with $\epsilon_{12}=1$.
Note that the sign of $\mu$ is identical to the one in 
\ISAJET~\cite{Baer:1999sp},
but is in the opposite convention to ref.~\cite{Pierce:1997zz}.
Presently, real Yukawa couplings only are included.
All MSSM running parameters are
in the $\overline{DR}$ scheme. The Higgs vacuum expectation values (VEVs) are
$\langle H_i^0 \rangle = v_i$ and
$\tan\beta=v_2/v_1$. $g_i$ are the MSSM $\overline{DR}$ gauge couplings and 
$g_1$ is defined in the Grand Unified normalisation $g_1 = \sqrt{5/3} g'$,
where $g'$ is the Standard Model hypercharge gauge coupling.
Elements of fermion mass matrices are given by
\begin{equation} \label{yuksaway}
(m_u)_{ij} = \frac{1}{\sqrt{2}} (Y_U)_{ij} v_2, \qquad 
(m_{d,e})_{ij} = \frac{1}{\sqrt{2}} (Y_{D,E})_{ij} v_1
\end{equation}
for the up quark, down quark and charged lepton matrices respectively.

\subsection{SUSY Breaking Parameters \label{sec:susybreak}}
We now tabulate the notation of the soft SUSY breaking parameters. The
trilinear scalar interaction potential is
\begin{equation}
V_3 = \epsilon_{ab}
\left[
\tilde{Q}_{i_L}^{xa} (U_A)_{ij}  \tilde{u}_{jx_R}^* H_2^b + 
\tilde{Q}_{i_L}^{xa} (D_A)_{ij}  \tilde{d}_{jx_R}^* H_2^b + 
\tilde{L}_{i_L}^{a} (E_A)_{ij}  \tilde{e}_{j_R}^* H_2^b \right],
\end{equation}
where fields with a tilde are the scalar components of the superfield with the
identical capital letter.
Note that 
\begin{equation}
(A_{U,D,E})_{ij} = (U_A,D_A,E_A)_{ij} / (Y_{U,D,E})_{ij} 
\end{equation}
(no summation on $i,j$) are often referred to in the literature as soft
$A$-parameters.

The scalar bilinear SUSY breaking terms are contained in the potential
\begin{eqnarray}
V_2 &=& m_{H_1}^2 {{H_1}_a}^* {H_1^a} + m_{H_2}^2 {{H_2}_a}^* {H_2^a} +
{\tilde{Q}^*}_{ixa} (m_{\tilde Q}^2)_{ij} \tilde{Q}_j^{xa} +
{\tilde{L}^*}_{ia} (m_{\tilde L}^2)_{ij} \tilde{L}_j^{a}  + \nonumber \\ &&
 \tilde{u}_i^{x} (m_{\tilde u}^2)_{ij}  {\tilde{u}^*}_{jx} +
\tilde{d}_i^{xa} (m_{\tilde d}^2)_{ij}  {\tilde{d}^*}_{jxa} +
\tilde{e}_i^{xa} (m_{\tilde e}^2)_{ij} {\tilde{e}^*}_{jxa}. -
m_3^2 \epsilon_{ab} H_1^a H_2^b.
\end{eqnarray}

Writing the bino as ${\tilde b}$, ${\tilde w}^{A=1,2,3}$ as the
unbroken-SU(2)$_L$ 
gauginos and ${\tilde 
g}^{X=1\ldots8}$ as the gluinos, the gaugino mass terms are contained in the
Lagrangian 
\begin{equation}
{\mathcal L}_G = \frac{1}{2} \left( M_1 {\tilde b}{\tilde b} + M_2 {\tilde w}^A{\tilde w}^A
+ M_3 {\tilde g}^X {\tilde g}^X \right) + h.c.
\end{equation}

\subsection{Tree-Level Masses \label{sec:tree}}
Here we suppress any gauge indices and follow the notation of
ref.~\cite{Pierce:1997zz} closely.
The Lagrangian contains the neutralino mass matrix as
$-{\tilde\psi^0}{}^T{\cal M}_{\tilde\psi^0}\tilde\psi^0$ + h.c., where
$\tilde\psi^0 =$ $(-i\tilde b,$ $-i\tilde w^3,$ $\tilde h_1,$ $\tilde
h_2)^T$ and
%
\begin{equation}
{\cal M}_{\tilde\psi^0} \ =\ \left(\begin{array}{cccc} M_1 & 0 &
-M_Zc_\beta s_W & M_Zs_\beta s_W \\ 0 & M_2 & M_Zc_\beta c_W &
-M_Zs_\beta c_W \\ -M_Zc_\beta s_W & M_Zc_\beta c_W & 0 & -\mu \\
M_Zs_\beta s_W & -M_Zs_\beta c_W & -\mu & 0
\end{array} \right). \label{mchi0}
\end{equation}
%
We use $s$ and $c$ for sine and cosine, so that
$s_\beta\equiv\sin\beta,\ c_{\beta}\equiv\cos\beta$ and $s_W (c_W)$ is
the sine (cosine) of the weak mixing angle.  
The 4 by 4 neutralino mixing matrix is an orthogonal matrix $O$ with real
entries, 
such that $O^T {\cal M}_{\tilde\psi^0} O$ is diagonal.
The neutralinos $\chi^0_i$ are defined such that their absolute masses
increase with increasing $i$.
Some of their mass values can be negative. 

We make the identification
${\tilde w}^\pm = ({\tilde w^1} \mp i{\tilde w^2} ) / \sqrt{2}$ for the charged
winos and ${\tilde h_1^-}, {\tilde h_2^+}$ for the charged higgsinos.
The Lagrangian contains the chargino mass matrix as
$-{\tilde\psi^-}{}^T{\cal M}_{\tilde\psi^+}\tilde\psi^+ + h.c.$,
where~$\tilde\psi^+ = (-i\tilde w^+,\ \tilde h_2^+)^T,\ \tilde\psi^-=
(-i\tilde w^-,\ \tilde h_1^-)^T$ and
%
\begin{equation}
{\cal M}_{\tilde\psi^+}\ =\ \left( \begin{array}{cc} M_2 &
\sqrt2\,M_Ws_\beta\\\sqrt2\,M_Wc_\beta & \mu\end{array}\right).
\label{mchi}
\end{equation}
%
This matrix is then diagonalised by 2 dimensional rotations through angles
$\theta_L, \theta_R$ in the following manner:
\begin{equation}
\left( \begin{array}{cc} 
c_{\theta_L} & s_{\theta_L} \\
-s_{\theta_L} & c_{\theta_L} \\
\end{array} \right)
{\cal M}_{\tilde\psi^+}
\left( \begin{array}{cc} 
c_{\theta_R} & -s_{\theta_R} \\
s_{\theta_R} & c_{\theta_R} \\
\end{array} \right) =
\left( \begin{array}{cc}
m_{\chi_1}^+ & 0 \\
0 & m_{\chi_2}^+
\end{array}
\right)
\end{equation}
where $m_{\chi_i}^+$ could be negative,
with the mass parameter of the lightest chargino being in the top left hand
corner. 

At tree level the gluino mass, $m_{\tilde g},$ is given by $M_3$.

Strong upper bounds upon the intergenerational scalar mixing
exist~\cite{Gabbiani:1996hi} and in the following we assume that such mixings
are negligible.
The tree-level squark and slepton masses for the family $i$
are found by diagonalising the following mass
matrices ${\mathcal M}_{\tilde f}$ defined in the $({\tilde f}_{iL}, {\tilde
f}_{iR})^T$ basis: 
%
\begin{equation}
\label{sqmu} \left(\begin{array}{cc}
(m_{\tilde Q}^2)_{ii} + {m_u^2}_i + (\half - \frac{2}{3} s_W^2)M_Z^2c_{2\beta} &
m_{u_i}\left((A_U)_{ii}-\mu\cot\beta\right)\\
m_{u_i}\left((A_U)_{ii}-\mu\cot\beta\right) & (m^2_{\tilde u})_{ii} +
m_{u_i}^2 +
\frac{2}{3} s_W^2 M_Z^2c_{2\beta}
\end{array}\right)\ ,
\end{equation}
%
\begin{equation}
\label{sqmd}  \left(\begin{array}{cc}
(m_{\tilde Q}^2)_{ii} + m_{d_i}^2 + (\half - \frac{1}{3} s_W^2)M_Z^2c_{2\beta} &
m_{d_i}\left((A_D)_{ii}-\mu\tan\beta\right)\\
m_{d_i}\left((A_D)_{ii}-\mu\tan\beta\right) & (m^2_{\tilde d})_{ii} +
m_{d_i}^2 -\frac{1}{3} s_W^2 M_Z^2c_{2\beta}
\end{array}\right)~,
\end{equation}
%
\begin{equation}
\label{sqme}  \left(\begin{array}{cc}
(m_{\tilde L}^2)_{ii} + m_{e_i}^2 - (\half - s_W^2) M_Z^2 c_{2\beta} &
m_{e_i}\left((A_E)_{ii}-\mu\tan\beta\right)\\
m_{e_i}\left((A_E)_{ii}-\mu\tan\beta\right) & (m^2_{\tilde e})_{ii} +
m_{e_i}^2 - s_W^2 M_Z^2c_{2\beta}
\end{array}\right)~,
\end{equation}
%
$m_f, e_f$ are the mass and electric charge of fermion $f$ respectively.
The mixing of the first two families is suppressed by a small fermion mass,
which we approximate to zero.
The sfermion mass eigenstates are given by
%
\begin{equation}
\left(\begin{array}{cc} m_{\tilde f_1} & 0 \\ 0 & m_{\tilde f_2} 
\end{array} \right) =
\left(\begin{array}{cc} c_f & s_f\\-s_f & c_f \end{array}\right)
{\mathcal M}_{\tilde f} 
\left(\begin{array}{cc} c_f & -s_f\\s_f & c_f \end{array}\right)
\end{equation}
%
where $c_f$ is the cosine of the sfermion mixing angle,
$\cos\theta_f$, and $s_f$ the sine. 
$\theta_f$ are set in the convention that the two mass eigenstates are in no
particular order and $\theta_f \in [-\pi/4, \pi/4]$. The sneutrinos of one
family are not 
mixed and their masses are given by 
\begin{equation}
m_{\tilde \nu_i} = (m_{\tilde L}^2)_{ii} + \half M_Z^2 c_{2\beta}.
\end{equation}
The CP-even gauge eigenstates $(H_1^0,\, H_2^0)$ are rotated by the angle
$\alpha$ into the mass eigenstates $(H^0\, h^0)$ as follows,
%
\begin{equation}
\left(\begin{array}{c}H^0\\h^0\end{array}\right) \ =
\ \left(\begin{array}{cc} c_\alpha & s_\alpha\\-s_\alpha & c_\alpha
\end{array}\right)\left(\begin{array}{c}H_1^0\\H_2^0\end{array}\right)~.
\label{rotateh}
\end{equation}
$m_{h^0} < m_{H^0}$ by
definition, and $\alpha \in [-\pi/4, 3 \pi/4]$.
The CP-odd and charged Higgs masses are
\begin{equation}
m_{A^0}^2 = m_3^2 (\tan \beta + \cot \beta),\qquad
m_{H^\pm}^2 = m_{A^0}^2 + M_W^2
\end{equation}
at tree level.

\section{Calculation \label{sec:calculation}}

We now show the algorithm used to perform the calculation.
Standard Model parameters (fermion and gauge bosons masses,
the fine structure constant $\alpha$, the Fermi constant from muon decay
$G_F^\mu$ and $\alpha_3(M_Z)$) are used as constraints. 
The soft SUSY breaking parameters and the superpotential parameter $\mu$ 
are then the free parameters. However, in what follows, $|\mu|$ is constrained
by $M_Z$ and $\tan \beta$ is traded for $m_3$ as an input parameter.
Therefore, the total list of unconstrained input parameters is: any
fundamental soft 
SUSY breaking breaking parameters (except $m_3^2$), $\tan \beta$ and the sign
of $\mu$. 
First we describe the evolution of the low-energy Standard Model input
parameters below $M_Z$, then detail the rest of the algorithm.

\subsection{Below $M_Z$}

$\alpha(M_Z)$, $\alpha_s(M_Z)$ are first evolved to 1 GeV using 3 loop QCD and
1 loop QED~\cite{Gorishnii:1990zu,Tarasov:1980au,Gorishnii:1984zi} with
step-function decoupling of fermions at their running masses.
We have checked that the contribution from 2-loop
matching~\cite{Chetyrkin:1997sg} is negligible; the 3-loop contribution
effect is an order of magnitude larger.
Then, the two gauge couplings and all Standard Model fermion masses except
the top mass are run to $M_Z$. The $\beta$ functions of fermion masses are
taken to be zero at renormalisation scales below their running masses.
The parameters at $M_Z$ are used as the low energy boundary condition in the
rest of the evolution.

\subsection{Initial Estimate}

The algorithm proceeds via the iterative method, and therefore an approximate
initial guess of MSSM parameters is required. 
For this, the third family $\overline{DR}$ Yukawa couplings are approximated
by 
\begin{equation}
h_t(Q) = \frac{m_t(Q) \sqrt{2}}{v \sin \beta}, \qquad
h_{b,\tau}(Q) = \frac{m_{b,\tau}(Q) \sqrt{2}}{v \cos \beta},
\end{equation}
where $v=246.22$ GeV is the Standard Model Higgs VEV and
$Q=m_t(m_t)$ is the renormalisation scale.
The $\overline{MS}$ values of fermion masses are used for this initial
estimate. 
The fermion masses and $\alpha_s$
at the top mass are obtained by evolving the previously
obtained fermion masses and gauge couplings from $M_Z$ to $m_t$ (with the same
accuracy). 
The electroweak gauge couplings are estimated by $\alpha_1(M_Z)
= 5 \alpha(M_Z) / (3 c_W^2)$, $\alpha_2(M_Z) = \alpha(M_Z) / s_W^2$. Here,
$s_W$ is taken to be the on-shell value. These two gauge couplings are then
evolved 
to $m_t$ with 1-loop Standard Model $\beta$ functions, including the effect of
a light higgs (without decoupling it). In this initial guess, no SUSY
threshold effects are calculated. The gauge and Yukawa couplings are then
evolved to the unification scale $M_X$ with the one-loop MSSM $\beta$
functions, where the user-supplied boundary 
condition on the soft terms is applied. 
Also, $\mu(M_X) =
\mbox{sgn}(\mu)\times1\gev$ and $m_3(M_X)=0$ are imposed. 
These initial values are irrelevant; they are overwritten on the next
iteration by more realistic boundary conditions.
$\mu(M_X)$ is set to be the correct sign
because its sign does not change through renormalisation. 

The whole system of
MSSM soft parameters and SUSY couplings is then evolved to 1-loop order to
$M_Z$. 
At $M_Z$, the tree-level electroweak symmetry breaking (EWSB) conditions 
are applied~\cite{Allanach:2000ii} to predict $\mu$ and $m_3$.
The masses and mixings of MSSM superparticles are then calculated at tree-level
order by using the SUSY  parameters (and $m_3$) calculated at $M_Z$.
\FIGURE{\label{fig:algorithm}
\begin{picture}(323,210)
\put(10,0){\makebox(280,10)[c]{\fbox{Run to $M_Z$}}}
\put(150,36.5){\vector(0,-1){23}}
\put(10,40){\makebox(280,10)[c]{\fbox{Run to $M_S$. Calculate sparticle pole
masses.}}}
\put(150,76.5){\vector(0,-1){23}}
\put(10,80){\makebox(280,10)[c]{\fbox{Run to $M_X$. Apply soft SUSY breaking
boundary condition.}}}
\put(150,116.5){\vector(0,-1){23}}
\put(10,120){\makebox(280,10)[c]{\fbox{REWSB, iterative solution of $\mu$}}}
\put(150,156){\vector(0,-1){23}}
\put(10,160){\makebox(280,10)[c]{\fbox{Run to $M_S$.}}}
\put(150,196){\vector(0,-1){23}}
\put(10,200){\makebox(280,10)[c]{\fbox{SUSY radiative corrections to
$g_i(M_Z)$, $h_{t,b,\tau}(M_Z)$.}}}
\put(183,5){\line(1,0){140}}
\put(323,5){\line(0,1){200}}
\put(323,205){\vector(-1,0){40}}
\end{picture}
\caption{Iterative algorithm used to calculate the SUSY spectrum. Each step
(represented by a box) is detailed in the text. The initial step is the
uppermost one. $M_S$ is the scale at which the EWSB
conditions 
are imposed, as discussed in the text. $M_X$ is the scale at which the high
energy SUSY breaking boundary conditions are imposed.}}
The resulting set of MSSM parameters is then used as the initial guess for the
iterative procedure described below.

\subsection{Gauge and Yukawa Couplings}

Figure~\ref{fig:algorithm} shows the iterative procedure, starting from the the
top. The whole calculation is currently performed in the real full three family
approximation, i.e.\ all Yukawa couplings are set to be real, but quark mixing
is incorporated.
First of all, the one-loop radiative corrections are applied to the gauge
and third-family Yukawa couplings. For these, we rely heavily on
ref.~\cite{Pierce:1997zz}
by Bagger, Matchev, Pierce and Zhang (BMPZ)\footnote{Whenever a reference to
an equation in BPMZ is made, it is understood that the sign of $\mu$ must be
reversed.}.
In the threshold corrections, we put pole masses for any
propagator mass and
other couplings in the corrections are taken to be running $\overline{DR}$
parameters at the relevant scale, unless denoted otherwise in the text.
The full one-loop supersymmetric
contributions to $m_t(M_Z)$ including logarithmic and finite contributions
(Eqs.~(D.16)-(D.18) of BMPZ) are employed\footnote{The two-loop
$\overline{DR}$ QCD contribution $\Delta m_t/m_t=-0.975 \alpha_s^2$ is
  added~\cite{avdeev}.}. 
The full corrections are necessary because the region of valid EWSB is very
sensitive to $m_t$~\cite{Allanach:2000ii}. 
To calculate $m_b(M_Z)^{\overline{DR}}$, we first calculate the Standard Model
$\overline{DR}$ value from the $\overline{MS}$ one 
\begin{equation}
m_b(M_Z)^{\overline{DR}}_{SM} =
m_b(M_Z)^{\overline{MS}}_{SM} \left(1 - \frac{\alpha_s}{3 \pi} - \frac{35
  \alpha_s^2}{72 \pi^2} + 
\frac{3 g^2}{128 \pi^2} + \frac{13 g_1^2}{1152 \pi^2} \right).
\end{equation}
We then add the leading one-loop supersymmetric corrections
\begin{equation}
m_b(M_Z)^{\overline{DR}}_{MSSM}=m_b(M_Z)^{\overline{DR}}_{SM} / (1 +
  \Delta_{SUSY}^b).
\end{equation}
The squark-gluino and squark-chargino contributions to $m_b(M_Z)$ are
included in full from eq.~D.18 of BPMZ\@.
Both finite and leading logarithmic
corrections are included.
The resulting chargino masses are valid to a 
percent~\cite{Pierce:1997zz}. 
After the Standard Model $\overline{MS}$ bar of $m_\tau$ is converted to the
$\overline{DR}$ value via
\begin{equation}
m_\tau(M_Z)^{\overline{DR}}_{SM} = m_\tau(M_Z)^{\overline{MS}}_{SM}
\left( 1 - \frac{3}{128 \pi^2} (g_1^2 - g_2^2)\right),
\end{equation}
eq.~(16) of BPMZ is used to 
calculate $m_\tau(M_Z)$, which receives leading $\tan \beta$ contributions
from sneutrino-chargino loops. 
The one-loop $\overline{DR}$ values for $m_t(M_Z), m_b(M_Z),
m_{\tau}(M_Z)$ are then substituted with the one-loop $\overline{DR}$ value
of $v$ into eq.~(\ref{yuksaway}) to calculate the third family
$\overline{DR}$ Yukawa couplings at $M_Z$.
The other diagonal elements of the Yukawa matrices are set by
eq.~(\ref{yuksaway}) but with fermion masses replaced by the $\overline{MS}$
values. The Yukawa couplings are mixed using the central values of the CKM
matrix~\cite{Groom:2000in}
\begin{equation}
V_{CKM} = \left( \begin{array} {ccc}
 0.9752& -0.2205& -0.0031 \\
 0.2205& 0.9745& -0.0390 \\
 0.0085& 0.0385 & -0.9993\\
\end{array} \right),
\end{equation}
mixing the up (the default), or down Yukawa couplings at $M_Z$
\begin{equation}
(Y_U)'=V_{CKM}^T (Y^U) V_{CKM}, \qquad 
(Y_D)'=V_{CKM} (Y^D) V_{CKM}^T \label{ckm}
\end{equation}
where the primed Yukawa matrix is in the weak eigenbasis and the unprimed is
in the mass eigenbasis. There are also options described in
appendix~\ref{sec:switches} for performing the calculation in the unmixed, or
dominant third-family approximation.

Full one-loop corrections to $g_i(M_Z)$ are
included.
The treatment of electroweak gauge couplings follows
from appendix C of BMPZ, and includes: two-loop corrections 
from the top, electroweak boson and the lightest CP-even Higgs.
$\alpha(M_Z)$ receives corrections from two-loop QED and QCD corrections.
Because the EWSB constraints tend to 
depend sensitively upon $g_{1,2}(M_Z)$, accurate values for them are
determined iteratively. 
An estimate of the $\overline{DR}$ value of $s_W^2$ is used to yield a
better estimate until the required accuracy is reached (usually within 3 or
4 iterations).
The QCD coupling is modified by gluino, squark and top loops as in
eqs.~(2),(3) of BMPZ. 

\subsection{MSSM Renormalisation}

All soft breaking and SUSY parameters are then evolved to the scale
\begin{equation}
M_S \equiv \sqrt{m_{\tilde t_1} m_{\tilde t_2}},
\end{equation}
where~\cite{Casas:1998vh} the scale dependence of the electroweak
breaking conditions is smallest. 
Throughout the iteration described here, the renormalisation group evolution
(RGE) employs three family,
2-loop MSSM $\beta$ functions for the supersymmetric
parameters~\cite{Barger:1994gh}, including $\tan \beta$. The default however,
is to evolve soft SUSY breaking scalar masses and trilinear terms
to only one-loop order, resulting in much faster computation. The missing
two-loop terms can 
be switched on, as described in section~\ref{sec:prog}.
There is no
step-function decoupling of sparticles: this is taken into account at leading
logarithmic order in the radiative corrections previously calculated at $M_Z$
and in the calculation of the physical sparticle spectrum at $M_S$, described
below. All $\beta$ functions are real and include 3 family (and mixing)
contributions. 

\subsection{Electroweak Symmetry Breaking}

The full one-loop EWSB
conditions at this scale are then employed to
calculate $m_3(M_S)$ and $\mu(M_S)$. $\mu(M_S)$ requires an iterative solution
because the tadpoles depend upon the value of $\mu$ assumed.
The symmetry breaking condition for $\mu$ can be phrased
as~\cite{Pierce:1997zz}
\begin{equation}
\mu^2 = \half \left( \tan 2\beta \left[m_{\bar{H}_2}^2\tan \beta
- m_{\bar{H}_1}^2  \cot \beta \right] -  M_{\bar Z}^2 \right),
\label{mucond} 
\end{equation}
where $m_{\bar{H}_i}^2 = m_{H_i}^2 - t_i/v_i$, $M_{\bar Z}^2 = M_Z^2 +
\Re\Pi_{ZZ}^T(M_Z^2)$, 
$t_i$ are the tadpole contributions, $M_Z$ is the pole $Z$ mass and
$\Pi_{ZZ}^T$ is the transverse $Z$ self-energy. 
The value of $\mu$ coming from the tree-level EWSB
condition (Eq.~\ref{mucond}, with $\Re\Pi_{ZZ}^T=t_i=0$)
is utilised as an initial guess, then the one-loop contributions in the
tadpoles and self-energy terms are added to
provide a new value of $\mu(M_S)$. The tadpole corrections are then calculated
using the new value of $\mu(M_S)$ and the procedure is repeated until it
converges to a given accuracy. $m_3(M_S)$ is then determined by using the value
of $\mu(M_S)$ in the EWSB
\begin{equation}
m_3^2=\frac{-s_{2\beta}}{2} \left( m_{\bar{H}_1}^2 + m_{\bar{H}_2}^2 + 2 \mu^2
\right) \label{Bcond}
\end{equation}
The ensemble of MSSM parameters are then evolved using the $\beta$ functions
detailed above to the user supplied scale $M_X$. 
If gauge-unification has been specified as a boundary condition, the current
estimate of $M_X$ is revised to leading log order 
to provide a more accurate value upon
the next iteration:
\begin{equation}
M_X^{new} = M_X e^{\frac{g_2(M_X) - g_1(M_X)}{g_1'(M_X) - g_2'(M_X)}},
\end{equation}
where primes denote derivatives calculated to 2-loop order.
The user-supplied boundary
conditions are then imposed upon the soft terms before the model is evolved
back down to $M_S$. The superparticle mass spectrum (except for the gluino
mass) is determined at this
scale. Because $\mu$ and $m_3$ are more scale independent at $M_S$, the Higgs,
neutralino and chargino masses also ought to be more scale independent 
by determining them at this scale. 

\subsection{SUSY Spectrum}

In the following description of the approximations involved in the calculation
of the superparticle spectrum, it is implicit that where $M_Z$ or $M_W$ appear
in the tree-level mass matrices, their full one-loop $\overline{DR}$ values
are employed as defined in BPMZ eqs. (D.2), (D.3). The running value of
$s_W(\mu)=e(\mu) / g_2(\mu)$ is also employed.
The neutralino and chargino masses are
determined by an approximation to the full one-loop result. This consists of
neglecting off-diagonal terms and setting their masses to $M_{1,2}$ or
$|\mu|$ in the correction. All sparticle mixing is ignored in the correction
term, $g'/g$ is 
neglected, quark masses are set to zero, the squarks are approximated to be
degenerate with mass squared $(m_{\tilde Q}^2)_{11}$ (the sleptons with mass
squared 
$(m_{\tilde L}^2)_{11}$) and $m_{h^0}=M_Z$,
$m_{H^0}=m_{H^+}=m_{A^0}$. $h_\tau$ is 
neglected. These approximations induce errors of order $(\alpha/4 \pi) M_Z^2
/ \mu^2$ and $(\alpha/4 \pi) M_Z^2 / m_{A^0}^2$, which could be large if $\mu$
gets close to zero, as is often the case close to the boundary of correct
EWSB\@. Eqs.~(25),(27),(31) of BPMZ are used for the form of the corrections.

The physical gluino mass is calculated to full one-loop order as follows.
The running parameters are evaluated at renormalisation scale 
$\mu=m_{\tilde g}$ and $p=M_3(\mu)$ in the following corrections:
\begin{eqnarray}
\Delta_{\tilde g} (\mu) = \frac{g_3(\mu)^2}{16 \pi^2} &&
\left( 15 + 9 \ln \left( \frac{\mu^2}{p^2} \right) - \sum_q \sum_{i=1}^2
B_1(p, m_q, m_{\tilde q_i}, \mu) - \right. \nonumber \\
&& \left. 
\sum_{q=t,b} \frac{m_q}{M_3(\mu)} s_{2 \theta_q} \left[ B_0(p, m_q, m_{\tilde
q_1}, \mu) - 
B_0(p, m_q, m_{\tilde q_2}, \mu) \right] 
\right).
\end{eqnarray}
The Passarino-Veltman functions $B_{0,1}$ are given in appendix B of BPMZ\@.
The physical gluino mass is then given by
\begin{equation}
m_{\tilde g} = \frac{M_3(m_{\tilde g})}{1 - \Delta_{\tilde g} (m_{\tilde g})},
\label{glumass}
\end{equation}
corresponding to a re-summation of the one-loop corrections.

Quark masses are neglected in the one-loop corrections to the
squark mass 
for the first two families and electroweak corrections are
neglected for all squark masses, as in BPMZ eqs.~(33),(34). For the third
family of squarks, the complete one-loop corrections are used but neglecting
loops with electroweak gauge bosons.
BPMZ eq.~(D.46) then gives the radiative corrections to the third family
squark mass matrices.

The pseudo-scalar Higgs  mass $m_{A^0}$ is determined to full one-loop order
as in eq.~(E.6) of BMPZ in order to reduce
its scale dependence, which can be large~\cite{Katsikatsou:2000cd}.
All one-loop corrections except the charged Higgs self-energy are included in
the determination of the charged Higgs pole mass (eq.~(E.7) of BMPZ).
The two CP-even Higgs masses are determined as in
ref.~\cite{Heinemeyer:1999be, feynhiggs}, including one and two-loop finite and
logarithmic terms 
in the top/stop sector. Non top-stop corrections were included to one-loop
order, but the only non top-stop mixing terms included are those of the
sbottoms~\cite{Haber:1997fp}. For slepton pole masses, the tree-level result
is used.

Finally, the running MSSM parameters are evolved back down to $M_Z$.
The whole process is iterated as shown in figure~\ref{fig:algorithm}, until the
physical sparticle masses 
all converge to better than the desired accuracy.

\subsection{Fine Tuning \label{sec:finetune}}

We now detail the fine-tuning calculation. 
As lower bounds on superpartner masses are pushed up by colliders,
$m_{H_1}$ and $m_{H_2}$ may be forced to be much larger than $M_Z$ if they are
related to the other superparticle masses, as is the case
for example in the case of 
minimal supergravity. 
If we re-phrase eq.~(\ref{mucond}) as
\begin{equation}
M_{\bar Z}^2  = -2
\mu^2 + \tan 2\beta \left[m_{\bar{H}_2}^2\tan \beta
- m_{\bar{H}_1}^2  \cot \beta \right],
\end{equation}
we see that the terms on the right-hand side must have 
some degree of cancellation in order to reproduce the 
observed value of $M_Z$.
But $\mu$ has a different origin to the SUSY breaking parameters and the
balancing appears unnatural. Various measures have
been proposed in order to quantify the apparent cancellation, for
example ref.s~\cite{Barbieri:1998uv,deCarlos:1993yy}.
The definition of naturalness $c_a$ 
of a `fundamental' parameter $a$ employed here is~\cite{deCarlos:1993yy} 
\begin{equation}
c_a \equiv \left| \frac{\partial \ln M_Z^2}{\partial \ln a} \right|.
\label{FT100index}
\end{equation}
From a choice of a set of fundamental parameters defined at the scale $M_X$:
$\{ a_i \}$, the 
fine-tuning of a particular model is defined to be $c=\mbox{max}(c_a)$.
$\{ a_i \}$ are any parameters in the user supplied boundary condition on the
soft supersymmetry breaking parameters augmented by $h_t(M_X), \mu(M_X)$ and
$m_3(M_X)$. The derivatives in eq.~(\ref{FT100index}) are calculated by 
numerically finding the derivative of $M_Z^{pole}=\hat M_Z +
\Re\Pi_{ZZ}^T(M_Z^2)$ in eq.~(\ref{mucond}). 
The input parameters are
changed slightly (one by one), then the MSSM parameter ensemble is run from 
$M_X$ to $M_S$ where the sparticle mass spectrum is determined along with the
corresponding $\overline{MS}$ Higgs VEV parameter
$v^2 \equiv v_1^2 + v_2^2$. 
First of all, $\tan \beta(M_S)$ is determined by inverting
eq.~(\ref{Bcond}) and the resulting value is utilised in a version of
eq.~(\ref{mucond}) inverted to give $M_Z^{pole}$ in terms of the other
parameters.
The resulting value of $M_Z^{pole}$ is the
prediction for the new changed input parameters, and its derivative is
determined by examining its behaviour as the initial changes in input
parameters tend to zero.

\appendix

\section{Running SOFTSUSY}
\label{sec:run}

A main program is supplied which produces an executable called
\code{softpoint.x}, is included in the
\SOFTSUSY~distribution. This program can be called with command-line arguments
that specify the supersymmetry breaking conditions, currently one of:
\small\begin{verbatim}
softpoint.x sugra <m0> <m12> <a0> <tanb> <mgut> <sgnMu>
softpoint.x amsb <m0> <m32> <tanb> <mgut> <sgnMu>
softpoint.x gmsb <n5> <mMess> <lambda> <tanb> <sgnMu> 
softpoint.x general <tanb> <mgut> <sgnMu> < softBreakingInput
softpoint.x general <tanb> <mgut> <mu(MSUSY)> <MApole> < softBreakingInput
\end{verbatim}\normalsize
Bracketed entries should be replaced by the desired numerical values, (in GeV
if they
are dimensionful). The program will provide output from one point in mSUGRA,
mAMSB, GMSB or {\em general} parameter space respectively. The final option
can be used to provide generic SUSY breaking inputs from the file
\code{softBreakingInput}, an example of which is included within the \SOFTSUSY~
distribution. This covers all forms of non-universality in the patterns of
supersymmetry breaking at the scale \code{mgut}. 
If \code{<mgut>}~is \code{?}, or negative on input, \SOFTSUSY~will determine
\code{mgut}~to 
be the scale that $g_1(M_{GUT})=g_2(M_{GUT})$, usually about $10^{16}$ GeV.
If a set of ``phenomenological MSSM'' SUSY breaking parameters specified at
the weak scale is desired for 
input, it suffices to set the numerical values of
\code{softBreakingInput}~appropriately and call \code{softpoint.x}~with the
\code{mgut}~argument set to $M_Z$ (i.e.\ \code{91.1882}) with the
\code{general}~option.
The value of
\code{m3sq}~specified in~\code{softBreakingInput}
is irrelevant; it will be written over in memory with
the value that gives correct electroweak symmetry breaking.
The first \code{general}~option uses the values of $m_{H_1}^2$ and $m_{H_2}^2$ 
specified in \code{softBreakingInput} in order to determine $\mu$ and $m_3^2$,
whereas the second \code{general}~option uses the user supplied values of 
$\mu(M_{SUSY})$ and $M_A^{pole}$ as constraints, determining $m_{H_1}^2$ and
$m_{H_2}^2$ to be consistent with these inputs electroweak breaking.

\subsection{Input file}

The low energy data is encoded in a \code{QedQcd} object and must be
provided. Above, the function \code{ReadIn} is employed to read in quark
masses and mixings from an input file \code{massIn}. An example of this input
file is:
\small\begin{verbatim}
mU: 3.0000e-03  mC: 1.2000e+00  mt: ?			mt^pole: 1.743e+02
mD: 6.7500e-03  mS: 1.1750e-01  mB: 4.25   		mb^pole: ?
mE: 6.1100e-04  mM: 1.0564e-01  mT: 1.7770e+00
aE: 7.8196e-03  aS: 1.172e-01  scale: 9.11882e+01
loops: 3        thresholds: 1   
MIXING: 2       TOLERANCE: 1.0e-3                 PRINTOUT: 0
\end{verbatim}\normalsize
The numbers supplied in the input file \code{massIn} are (respectively)
$m_u(1\gev)$, $m_c(m_c)$,
$m_t(m_t)$ (irrelevant here), the pole top mass $m_t^{pole}$, $m_d(1\gev)$,
$m_s(1\gev)$, $m_b(m_b)$, the pole bottom mass $m_B^{pole}$,
$m_e(m_e)$, $m_\mu(m_\mu)$, $m_\tau(m_\tau)$
$\alpha(Q)$, $\alpha_s(Q)$, the renormalisation scale $Q(\mbox{GeV})$, the
number
of QCD loops utilised and the inclusion of step-function threshold
effects in the QCD evolution (1), or not (0).
The masses are given in units of
GeV and running masses are in the $\overline{MS}$ scheme. For the bottom and
top masses, {\em either} the running mass {\em 
  or} the pole mass must be supplied as an input. The type of mass not given
for input is conventionally given as a question mark, and will be calculated
by \SOFTSUSY~ at the 3-loop level. We recommend, along with
ref.~\cite{bottomMass}, that the
running mass be used since there are smaller theoretical errors in the
extraction of this quantity from experiment than the pole mass. 
The scale dependent quantities in this object are then evolved to $M_Z$ by 
the method \code{toMz}, to provide the low-scale empirical boundary condition
for the rest of the calculation. 

The next parameter
\code{MIXING} determines what $M_Z$ boundary condition will be used for the
quark Yukawa matrix parameters.
\code{MIXING}=-1 sets all Yukawa couplings to zero at
$M_Z$ except for the third-family ones (dominant third-family approximation).
\code{MIXING}=0 sets the quark mixings to zero but includes the first two 
family's diagonal terms.
\code{MIXING}=1,2 sets all the mixing to be in the up-quark or down-quark
sector respectively, at $M_Z$, as in eq.~(\ref{ckm}).

\code{TOLERANCE} sets the accuracy of the whole calculation. The iteration of
each physical SUSY particle mass is required to converge to a
fractional accuracy smaller than \code{TOLERANCE}. Sub-iterations are required
to converge to a better accuracy than $10^{-2}\times$\code{TOLERANCE} for
$s_W$ and 
$10^{-4}\times$\code{TOLERANCE} for $\mu$. The accuracy of the Runge-Kutta RGE
changes from iteration to iteration but is proportional to the value of 
\code{TOLERANCE}. Values between $10^{-2}$ and $10^{-6}$ are common, lower
values  
mean that \SOFTSUSY~takes significantly longer to perform the calculation.

Setting \code{PRINTOUT} to a non-zero value gives additional information
on 
each successive iteration. If \code{PRINTOUT}$>$0, a warning flag is
produced when the overall iteration 
finishes. The predicted values of $M_Z^{pole}$ and $\tan \beta(M_S)$ after
iteration convergence
are also output\footnote{Note that the input value of $\tan \beta$ is the
value at $M_Z$.}. The level of convergence, $\mu(M_S)$, $m_3^2(M_S)$ and $M_Z$
are output with each iteration, as well as a flag if the object becomes
non-perturbative. 
\code{PRINTOUT}$>$1 produces output on the fine-tuning calculation. The
predicted values of $M_Z^{pole}$ and $\tan \beta(M_S)$ are output with each
variation 
in the initial inputs. A warning flag is produced when a
negative-mass squared scalar is present.
\code{PRINTOUT}$>$2 prints output on the sub-iterations that determine
$\mu(M_S)$ and $s_W(M_S)$, and flags the nature of any tachyons
encountered. Values \code{PRINTOUT}$>$0 are only required
if additional diagnostics are required for debugging purposes.


\section{Sample Output \label{sec:output}}
We now present the output for a single example calculation which can be run by
the command
\small\begin{verbatim}
softpoint.x sugra 100 250 -100 10 ? 1
\end{verbatim}\normalsize
The parameters here have been 
chosen from SUGRA point SPS1a~\cite{bench2}. The output obtained was
\small\begin{verbatim}
SOFTSUSY1.7 command-line interface, Ben Allanach 2002
If you use SOFTSUSY, please refer to B.C. Allanach, 
 Comput. Phys. Commun. 143 (2002) 305, 

SOFTSUSY SUGRA calculation
Low energy data in SOFTSUSY: MIXING=2 TOLERANCE=1.0000e-03
mU: 3.0000e-03  mC: 1.2000e+00  mt: 1.6671e+02  mt^pole: 1.7430e+02
mD: 6.7500e-03  mS: 1.1750e-01  mB: 4.2500e+00  mb^pole: 4.9850e+00
mE: 6.1100e-04  mM: 1.0564e-01  mT: 1.7770e+00
aE: 7.8196e-03  aS: 1.1720e-01  scale: 9.1188e+01
loops: 3        thresholds: 1

mgut=2.3222e+16
----------------------------------------------------------
SUSY breaking MSSM parameters at Q=9.1188e+01
 UA(3,3):
-7.4089e-03  1.7243e-06  5.7304e-03 
 5.1410e-09 -2.4849e+00  6.5655e-02 
 6.1416e-08  2.3601e-04 -4.9791e+02 
 UD(3,3):
-3.8335e-01 -7.6910e-01 -4.5986e-01 
-7.6910e-01 -3.7143e+00 -5.4858e+00 
-4.2521e-01 -5.0726e+00 -1.2630e+02 
 UE(3,3):
-8.9689e-03  0.0000e+00  0.0000e+00 
 0.0000e+00 -1.5507e+00  0.0000e+00 
 0.0000e+00  0.0000e+00 -2.6353e+01 
 mQLsq(3,3):
 3.5494e+05 -6.8205e-01 -7.6600e+00 
-6.8205e-01  3.5493e+05 -8.7764e+01 
-7.6600e+00 -8.7764e+01  2.9016e+05 
 mURsq(3,3):
 3.3050e+05  2.8099e-09  9.3818e-06 
 2.8099e-09  3.3050e+05  3.6052e-02 
 9.3818e-06  3.6052e-02  2.0521e+05 
 mDRsq(3,3):
 3.2743e+05 -1.3298e+00 -1.5360e+01 
-1.3298e+00  3.2742e+05 -1.7558e+02 
-1.5360e+01 -1.7558e+02  3.2317e+05 
 mLLsq(3,3):
 4.0588e+04  0.0000e+00  0.0000e+00 
 0.0000e+00  4.0587e+04  0.0000e+00 
 0.0000e+00  0.0000e+00  4.0230e+04 
 mSEsq(3,3):
 1.9232e+04  0.0000e+00  0.0000e+00 
 0.0000e+00  1.9229e+04  0.0000e+00 
 0.0000e+00  0.0000e+00  1.8515e+04 
m3sq: 2.3298e+04 mH1sq: 3.3831e+04 mH2sq: -1.4735e+05
Gaugino masses(1,3):
 9.8284e+01  1.8871e+02  6.2998e+02
Gravitino mass M3/2: 0.0000e+00
---------------------------------------------------------------
Physical MSSM parameters
mh^0: 1.1521e+02 mA^0: 3.8243e+02 mH^0: 3.9565e+02 mH^+-: 3.9328e+02
alpha: -1.1763e-01
sneutrinos(1,3):
 1.8872e+02  1.8872e+02  1.8786e+02
mU~(2,3):
 5.6726e+02  5.6725e+02  5.7914e+02 
 5.4711e+02  5.4710e+02  3.9687e+02 
mD~(2,3):
 5.7273e+02  5.7272e+02  5.1495e+02 
 5.4601e+02  5.4600e+02  5.4376e+02 
mE~(2,3):
 2.0432e+02  2.0432e+02  2.0772e+02 
 1.4488e+02  1.4487e+02  1.3646e+02 
thetat: -5.7976e-01 thetab: 2.9634e-01 thetatau: -2.6833e-01
mGluino:  6.1231e+02
charginos(1,2):
 1.7718e+02  3.6698e+02
thetaL: -4.4211e-01 thetaR: -2.5814e-01
neutralinos(1,4):
 9.6328e+01  1.7784e+02 -3.4640e+02  3.6674e+02
neutralino mixing matrix (4,4):
 9.8425e-01  1.1272e-01 -6.2261e-02 -1.2112e-01 
-5.9263e-02  9.3397e-01  9.2650e-02  3.4001e-01 
 1.5595e-01 -2.9159e-01  6.9463e-01  6.3886e-01 
-5.8477e-02  1.7313e-01  7.1065e-01 -6.7940e-01 
Higgs VEV: 2.4408e+02
Data set:
mU: 1.7187e-03  mC: 5.7647e-01  mt: 1.6671e+02  mt^pole: 1.7430e+02
mD: 3.8852e-03  mS: 6.7632e-02  mB: 2.9068e+00  mb^pole: 4.9850e+00
mE: 6.0103e-04  mM: 1.0392e-01  mT: 1.7515e+00
aE: 7.8196e-03  aS: 1.1720e-01  scale: 9.1188e+01
loops: 3        thresholds: 1
lsp is neutralino of mass 9.6328e+01 GeV
---------------------------------------------------------------
Supersymmetric parameters at Q=9.1188e+01
 Y^U(3,3):
 9.7653e-06  3.4181e-16  9.4395e-13 
 1.0191e-18  3.2753e-03  1.0815e-11 
 1.2457e-17  4.7868e-14  9.1550e-01 
 Y^D(3,3):
 4.0255e-04  8.0771e-04  4.8571e-04 
 8.0771e-04  3.9016e-03  5.7928e-03 
 4.8571e-04  5.7928e-03  1.4421e-01 
 Y^E(3,3):
 3.4149e-05  0.0000e+00  0.0000e+00 
 0.0000e+00  5.9042e-03  0.0000e+00 
 0.0000e+00  0.0000e+00  1.0105e-01 
tan beta: 1.0000e+01 smu: 3.3665e+02
g1: 4.5932e-01 g2: 6.4304e-01 g3: 1.1386e+00
thresholds: 3 #loops: 2
---------------------------------------------------------------
\end{verbatim}\normalsize

Firstly, the output details the input parameters, starting with MIXING and
TOLERANCE. 
After the output of the input \code{QedQcd} object and the 
value of $M_{GUT}$, the result of the iteration algorithm in
sec.~\ref{sec:calculation} is output in the form of a \code{MssmSoftsusy}
object. 
The soft SUSY breaking parameters were defined in sec.~\ref{sec:susybreak},
and are listed in appendix~\ref{sec:mssmsoftsusy}.
First of all, the soft SUSY breaking parameters are displayed. In
order, they are the up, down and charged lepton trilinear scalar matrices 
(in units of GeV). Next come the mass squared values of the left-handed
squarks, right-handed up squarks, right-handed down squarks, left-handed
sleptons, right-handed charged sleptons in GeV$^2$. $m_3^2$, $m_{H_1}^2$,
$m_{H_2}^2$ and gaugino mass parameters follow. The parameter, $m_{3/2}$
(not used here) is the VEV of a compensator
superfield in anomaly-mediation~\cite{Allanach:2000gu} and completes the SUSY
breaking parameter list.

Physical MSSM parameters follow. 
The pole masses and mixing parameters are
previously listed in sec.~\ref{sec:tree}, and are detailed in
appendix~\ref{sec:mssmsoftsusy}. 
All masses are in units of GeV, and all
mixing angles are given in radians. 
Respectively, there is:
$m_{h^0}$, $m_{A^0}$, $m_{H^0}$, $m_{H^0}$ and $\alpha$.
Scalar sparticle masses $m_{\tilde \nu}$, $m_{\tilde u}$, $m_{\tilde d}$,
$m_{\tilde e}$ follow, as well as the mixing angles $\theta_t$, $\theta_b$,
$\theta_\tau$.
The gauginos are listed (in order): $m_{\tilde g}$, $m_{\chi^\pm}$, $\theta_L$,
$\theta_R$, $m_{\chi^0}$ and $O$. The $\overline{DR}$ Higgs VEV
 $v(M_S)$ is then listed, followed by the $\overline{MS}$ low energy data
used as a boundary condition at $M_Z$. Finally, the identity of the lightest
supersymmetric particle is shown, together with its mass.

Supersymmetric parameters (see sections~\ref{susypars},\ref{sec:mssmsusy}) are
displayed next: 
Yukawa matrices $Y^U, Y^D, Y^E$, $\tan \beta$,$g_i$, 
the accuracy level of the calculation, bilinear superpotential $\mu$
parameter, renormalisation scale and maximum number of loops used for RGE.

Any problems with the parameter point are printed next. 

%Finally, as calculated in sec.~\ref{sec:finetune}, the fine-tuning parameters
%$c_{m_0}$, $c_{M_{1/2}}$, $c_{A_0}$, $c_\mu$, $c_{m_3^2}$, $c_{h_t}$ are shown.

\subsection{Problem flags}
Any associated problems such as negative mass-squared scalars
or 
inconsistent EWSB are flagged directly before the fine-tuning results.
None of these are printed because the SPS1a point displayed has none of
these problems. 
If \code{No convergence} appears, then \SOFTSUSY~is indicating that 
it didn't acheive the accuracy of \code{TOLERANCE}. \code{Non-perturbative}
indicates that \SOFTSUSY~encountered couplings reaching 
Landau poles when 
evolving, and could not calculate any further. Any results obtained using
perturbation theory cannot therefore be trusted.
\code{Infra-red quasi fixed point breached} indicates that the parameter point
is at a Landau  pole of a Yukawa coupling. This should not be a problem
provided no other errors are flagged.
Flags other than \code{No convergence}, \code{Infra-red quasi fixed point
  breached} or
\code{Non-perturbative} indicate an
unphysical minimum of the scalar potential, effectively ruling the model point 
out.

\subsection{Monte-Carlo Interfaces}

\SOFTSUSY~also produces the output files
\small\begin{verbatim}
SoftSusyIsawigInterface
SoftSusyIsajetInterfac
SoftSusyMicromegasInterfacee
SoftSusySsrunInterface
\end{verbatim}\normalsize
all intended as possible input
into \ISAWIG~\cite{isawig}, 
{\tt ISAJET7.51} parameter file~\cite{Baer:1999sp},
\MICROMEGAS~\cite{micromegas}, or
{\tt SSRUN}~\cite{Baer:1999sp} respectively. 
\HERWIG~\cite{Corcella:2000bw} or {\tt ISAJET}~could be used to simulate MSSM
events based on the \SOFTSUSY~spectrum.
{\tt SSRUN} would calculate the branching ratios of the MSSM spectrum
provided by \SOFTSUSY~ and \MICROMEGAS~is able to calculate both the dark
matter abundance of neutralinos and the MSSM contribution to the
$b \rightarrow s \gamma$ decay rate.

At some stage, each of the three programs mentioned above use the {\tt
ISAJET7.51} 
routine 
{\tt SSRUN}. Because the input to {\tt SSRUN} assumes certain tree-level 
relations between masses which are broken by the radiative corrections
included in \SOFTSUSY, the output of the \SOFTSUSY~interfaces is
massaged in order to match the \SOFTSUSY~spectrum with the one that will be
used in {\tt SSRUN}. In most cases, this is done to better than 1 GeV
for each mass. However, it was not possible to simultaneously fit the stop
and input sbottom parameters. 
A choice was then made to fit the stop masses
correctly, then some percent-level difference in the sbottom masses used by
{\tt SSRUN} is observed. Similarly, a decision to fit $m_{A^0}$ was taken,
resulting in differences in $m_{H^\pm}$ and $m_{H^0}$ in {\tt SSRUN}. These
corrections can become significant at high $\tan \beta$, but should be percent
level for $\tan \beta < 30$. 

\section{Sample Program \label{sec:prog}}
We now present the sample program from which it is possible to run
\SOFTSUSY~in a simple fashion. The most important features of the objects are 
described in appendix~\ref{sec:objects}.
The sample program has the following form: 
\small\begin{verbatim}
#include "iostream.h"
#include "complex.h"
#include "def.h"
#include "linalg.h"
#include "lowe.h"
#include "rge.h"
#include "softsusy.h"
#include "softpars.h"
#include "susy.h"
#include "utils.h"
#include "numerics.h"

int MIXING, PRINTOUT;
double TOLERANCE;

int main() {
 // Sets format of output: 4 decimal places
  outputCharacteristics(4);

  cout << "SOFTSUSY1.7 test program, Ben Allanach 2002\n";
  cout << "If you use SOFTSUSY, please refer to B.C. Allanach, \n";
  cout << " Comput. Phys. Commun. 143 (2002) 305, \n\n";

  // Parameters used
  double m12 = 250., a0 = -100., mgut = -1.0e16, tanb = 10.0, m0 = 100.;
  int sgnMu = 1;

  QedQcd oneset, twoset;
  readIn(oneset, "massIn");

  cout << "Low energy data in SOFTSUSY: MIXING=" << MIXING << " TOLERANCE=" 
       << TOLERANCE << endl << oneset << endl;

  oneset.toMz();

  MssmSoftsusy r; 
  DoubleVector pars(3); 
  pars(1) = m0; pars(2) = m12; pars(3) = a0;

  r.lowOrg(sugraBcs, mgut, pars, sgnMu, tanb, oneset);

  r.microMegasInterface("SoftSusyMicromegasInterface");
  r.isawigInterface751("SoftSusyIsawigOutput", "SoftSusySsrunInterface",
                    "SoftSusyIsawigInterface");
  r.ssrunInterface751("SoftSusySsrunOutput", "SoftSusySsrunInterface");
  r.isajetInterface751("SoftSusyIsajetInterface");

  cout << "mgut=" << mgut << endl << r;
  cout << "Fine-tuning " << r.fineTune(sugraBcs, pars, mgut);
}
\end{verbatim}\normalsize
After an initial introductory print-out, the variables specifying the
supersymmetry breaking parameters are specified. For these, the same notation
as appendix~\ref{sec:run} is used. Note that if \code{mgut} is set to be a
negative value
(as is the
case here), \SOFTSUSY~will try to determine $M_{GUT}$ by imposing electroweak
gauge unification. The magnitude of the \code{mgut} value supplied is used as
the initial guess. 
\TABULAR[b]{lll}{\label{tab:bcs}
name & arguments \\
\hline
\code{sugraBcs} & $m_0$, $m_{1/2}$, $A_0$ \\
\code{amsbBcs} & $m_{3/2}$, $m_0$ \\
\code{gmsbBcs} & $n_5$, $m_{mess}$, $\Lambda$ \\
\code{generalBcs} & display function$^*$\\
}{SUSY breaking boundary conditions available to the user, detailing arguments
in order. The asterisk denotes additional information in the text.}
The user can supply a void function that sets the supersymmetry breaking
parameters from an input \code{DoubleVector}. In the sample code given above,
this function is
\code{sugraBcs} and is applied to the \code{MssmSoftsusy} object at the
user-supplied scale \code{mgut}. 
Other examples of available boundary conditions are given in
Table~\ref{tab:bcs}. The user must supply a \code{DoubleVector} containing the
numerical values of the arguments, correctly ordered as in
Table~\ref{tab:bcs}.
In the case of general boundary conditions, soft terms are set to be 
equivalent to those contained in a user-supplied \code{MssmSoftsusy} object. 
The user can turn these into the required \code{DoubleVector} by invoking the
\code{MssmSoftsusy::display()} method.
\code{sugraBcs}, for example, calls the \code{MssmSoftsusy} method
\code{standardSugra(m0, m12, a0)}, which sets all scalar masses equal to
\code{m0}, 
all gaugino masses to \code{m12} and all trilinear scalar couplings to
\code{a0}, in the standard universal fashion. 
If the user desires to write his or her own boundary condition, it must
conform to the prototype\\
\code{void userDefinedBcs(MssmSoftsusy \& m, const DoubleVector \& inputs)}\\
The parameters here have been 
chosen from SUGRA point SPS1a~\cite{bench2}, and \SOFTSUSY~produces output
numerically equivalent to the one detailed in appendix~\ref{sec:output}.
The method \code{lowOrg} drives the calculation.
The methods\\
\code{MssmSoftsusy::isawigInterface751}\\
\code{MssmSoftsusy::isajetInterface751}\\
\code{MssmSoftsusy::microMegasInterface} \\
\code{MssmSoftsusy::ssrunInterface751}\\
write the interfacing output files 
\code{SoftSusyIsawigInterface}\\
\code{SoftSusyIsajetInterface}\\
\code{SoftSusyMicromegasInterface}\\
\code{SoftSusySsrunInterface}\\
respectively, which are described in section~\ref{sec:output}.
Finally, \code{fineTune} performs the fine-tuning calculation on the same
SUGRA point. 


\section{Switches and Constants \label{sec:switches}}
The file \code{def.h} contains the switches and constants. If they are
changed, the code must be 
recompiled in order to use the new values. Table~\ref{tab:switches} shows the
most important parameters in 
\code{def.h}, detailing the default values that the constants have.
All data on masses and couplings has been obtained using the latest particle
data group numbers~\cite{Groom:2000in}. \code{def.h} also contains default
values for un-initialised \code{QedQcd} objects, but we neglect these because
they are not utilised here.
\TABULAR{lll}{\label{tab:switches}
variable & default & description \\ \hline
\code{INCLUDE\_2\_LOOP\_SCALAR\_CORRECTIONS} & off & Full 2-loop running in RGEs\\
\code{ARRAY\_BOUNDS\_CHECKING} & off & Vector and Matrix bounds checking\\
\code{EPSTOL} & $10^{-11}$ & Underflow accuracy\\
\code{GMU} & 1.16637 10$^{-5}$ & $G_\mu$, Fermi constant from muon
decay\\
\code{MZ} & 91.1882 & Z pole mass $M_Z$ \\
\code{MW} & 80.419  & W pole mass $M_W$ \\
\code{ALPHAEM0} & 1/137.036 & fine structure constant $\alpha$ \\
}{Switches and constants. Starred entries have more explanation in the text.
All masses are in units of GeV and $G_\mu$ is in units of GeV$^2$.}

If \code{INCLUDE\_2\_LOOP\_SCALAR\_CORRECTIONS} is switched off, 
2-loop RGEs are used for gaugino masses, $\mu$, Yukawa and gauge couplings but 
1-loop RGEs are used for other MSSM parameters. Uncommenting the definition
results in a full 2-loop RGE evolution, but slows the calculation by a factor
of approximately four.


\section{Object Structure\label{sec:objects}}

We now go on to sketch the objects and their relationship. This is necessary
information for generalisation beyond the MSSM\@.
Only methods and data which are deemed important for prospective users are
mentioned here, but there are many others within the code itself.

\subsection{Linear Algebra}

The \SOFTSUSY~program comes with its own linear algebra classes: 
\code{Complex}, \code{DoubleVector}, \code{DoubleMatrix},
\code{ComplexVector}, \code{ComplexMatrix}. 
Constructors of the latter four objects involve the dimensions of the object,
which start 
at 1. \code{Complex} objects are constructed with their real and imaginary
parts respectively.
For example, to define a vector $a_{i=1,2,3}$, a matrix $m_{i=1\ldots3,
j=1\ldots 4}$ of type \code{double} and a Complex number $b=1-i$:
\small\begin{verbatim}
  DoubleVector a(3);
  DoubleMatrix m(3, 4);
  Complex      b(1.0, -1.0); 
\end{verbatim}\normalsize
Obvious algebraic operators between these classes (such as
multiplication, addition, subtraction) are defined with overloaded
operators \code{*}, \code{+}, \code{-} respectively. Elements of the vector
and matrix classes are referred to with 
brackets \code{()}. \code{DoubleVector} and \code{DoubleMatrix} classes are
contained within each of the higher level objects that we now describe. 

\subsection{General Structure}

\FIGURE[l]{\label{fig:objstruc}
\begin{picture}(200,200)
\put(0,0){\framebox(200,200){}}
\put(10,180){{\tt RGE}}
\put(10,130){\framebox(100,40){{\tt QedQcd}}}
\put(10,10){\framebox(180,100){}}
\put(20,90){{\tt MssmSusy}}
\put(80,20){\framebox(100,80){{\tt MssmSoftsusy}}}
\put(90,40){\framebox(80,40){}}
\put(90,85){{\tt SoftParsMssm}}
\end{picture}
\caption{Heuristic high-level object structure of \SOFTSUSY\@. Inheritance is
displayed by enclosure.}}
From a RGE point of view, a particular
quantum 
field theory model consists of a set of couplings and masses defined at some
renormalisation scale $\mu$. A set of $\beta$ functions describes the evolution
of the parameters and masses to a different scale $\mu'$. This concept
is embodied in an {\em abstract} \code{RGE} object, which contains the
methods required to run objects of derived classes to different
renormalisation scales. The other objects displayed in
figure~\ref{fig:objstruc} are particular instances of \code{RGE}, and
therefore inherit from it.
\code{QedQcd} objects consist of data on the 
quark and lepton masses and gauge couplings.
It contains the $\beta$ functions for
running in an effective QED$\otimes$QCD theory below $m_t$.
An object of class \code{MssmSusy} contains the
Yukawa couplings, and the three gauge couplings
of the MSSM\@. It also contains the superpotential $\mu$ term (not
to be confused with the renormalisation scale) and $\tan \beta$, the ratio of
the two Higgs doublet VEVs. Its $\beta$ functions are
valid in the exact SUSY limit of the MSSM\@. 
The major part of the code resides within the \code{MssmSoftsusy} class.
Objects of this type have
all the functionality of \code{MssmSusy}, with soft SUSY breaking terms 
and theoretical boundary conditions contained in the inherited
class~\code{SoftParsMssm}. 
It also contains an object of type \code{QedQcd} which contains weak scale
empirical data.
Code in the \code{MssmSoftsusy} class organises and performs the main part of
the calculation.

\subsection{\code{RGE}~Class}

The data and important methods in \code{RGE} are presented in
table~\ref{tab:rge}. 
Each of the higher level objects described in this appendix have explicitly
named \code{display} 
and \code{set} methods that are used to access or change the data contained
within each object. In table~\ref{tab:rge} (as in the following tables in
this section), these accessing methods are listed on the same row as the
relevant data variable. 

\TABULAR[p]{lll}{\label{tab:rge}
data variable & & methods \\ \hline
\code{double mu}$=\mu$ & renormalisation scale & \code{setMu} \\
& (GeV) &  \code{displayMu} \\ \hline
\code{int numpars} & number of scale dependent & \code{setPars} \\
 & parameters & \code{howMany} \\ \hline
\code{int loops} & accuracy of RGE & \code{setLoops} \\
 & & \code{displayLoops} \\ \hline
\code{int thresholds} & accuracy level of threshold &
\code{setThresholds} \\  & computation & \code{displayThresholds}\\
 & & \\
method & \multicolumn{2}{l}{function} \\ \hline
\code{DoubleVector display()} & \multicolumn{2}{l}{displays all running
parameters (*)} \\ 
\code{void set(DoubleVector)} & \multicolumn{2}{l}{sets all running
parameters (*)} \\ 
\code{DoubleVector beta} & \multicolumn{2}{l}{displays beta functions of all
running parameters (*)} \\ 
\code{runto} & \multicolumn{2}{l}{runs object to new value of
\code{mu}} \\ 
}{Abstract \code{RGE} class. (*) indicates that derived objects {\em must}\/
contain these methods (see text). }

The \code{RGE} method \code{runto(mup, eps)} will automatically run any
derived object to the scale \code{mup} with a fractional accuracy of evolution
\code{eps}. In order to define this evolution, any object that inherits from an
{\tt RGE} must contain three methods: 
\code{display},
\code{set}, \code{beta} shown in table~\ref{tab:rge}. 
\code{DoubleVector display() const}
must return a vector containing all masses and couplings of the object, in some
arbitrary user-defined order. 
\code{void set(const DoubleVector \& v)} must set
these couplings given a 
\code{DoubleVector v} defined in the same order as the display function.
\code{DoubleVector beta() const} must then return the $\beta$ functions in a
\code{DoubleVector}  
defined as
\begin{equation}
\beta_i = \frac{d a_i}{d \ln \mu},
\end{equation}
where $a_i$ denotes any mass or coupling of the model. The ordering of the
$a_i$ must be identical in each of the three methods.

\subsection{\code{QedQcd}~Class}

\TABULAR{lll}{\label{tab:qedqcd}
data variable & & methods \\ \hline
\code{DoubleVector a} & $\overline{MS}$ gauge couplings & \code{setAlpha} \\
$\alpha(\mu),\alpha_s(\mu)$& &  \code{displayAlpha} \\ \hline
\code{DoubleVector m} & running fermion masses & \code{setMass}
\\ 
$m_f(\mu)$& vector (1\ldots 9) (GeV)&  \code{displayMass} \\ \hline
\code{double mtPole, mbPole} & pole top/bottom mass & \code{setPoleMt}, \code{setPoleMb} \\
$m_t^{pole}, m_b^{pole} $&(GeV) &  \code{displayPoleMt} \code{displayPoleMb} \\
%
 &  & \\
method & \multicolumn{2}{l}{function} \\ \hline
\code{runGauge} & \multicolumn{2}{l}{runs gauge couplings {\em only}}\\
\code{toMt, toMZ} & \multicolumn{2}{l}{runs fermion masses and gauge couplings
} \\
 & \multicolumn{2}{l}{from $Q'$ to $m_t^{pole}$ or $M_Z$}\\
}{\code{QedQcd} class. $Q'$ is defined in the text.}
The \code{QedQcd} class contains a \code{DoubleVector} of quark and lepton 
$\overline{MS}$ masses
($m_f=m_{u,d,e,c,s,\mu,t,b,\tau}(\mu)$), as shown in table~\ref{tab:qedqcd}.
Its contents may be printed to standard output or read from standard input
(with the same format in each 
case) by using the operators
\code{<<} or \code{>>}, as can all the non-abstract objects mentioned in this
section. The methods \code{toMz()}, \code{toMt()} act on an
initial object defined with each fermion mass $m_f$ defined at a scale
\begin{equation}
Q' = \mbox{max} (1 \gev, m_f(m_f)) \label{scaley}
\end{equation}
and gauge couplings at $M_Z$. 

\subsection{\code{MssmSusy}~Class \label{sec:mssmsusy}}
%
\TABULAR{lll}{\label{tab:mssmsusy}
data variable & & methods \\ \hline
\code{DoubleMatrix u, d, e}  & Yukawa
couplings & \code{setYukawaElement} \\ 
$(Y_U)_{ij}, (Y_D)_{ij}, (Y_E)_{ij}$&(3 by 3 matrix) &
\code{setYukawaMatrix} \\
 & & \code{displayYukawaElement}\\
 & & \code{displayYukawaMatrix}\\ \hline
\code{DoubleVector g} & MSSM gauge couplings & \code{setAllGauge} \\
$g_i$ & ($1 \ldots 3$) vector & \code{setGaugeCoupling} \\ 
 & & \code{displayGauge} \\
 & & \code{displayGaugeCoupling} \\ \hline
\code{smu} & bilinear Higgs superpotential & \code{setSusyMu}\\
$\mu$ & parameter & \code{displaySusyMu}\\ \hline
\code{tanb} & ratio of Higgs VEVs (at  & \code{setTanb}\\
  $\tan \beta$  &  current renormalisation scale)& \code{displayTanb} \\
 & & \\
method & \multicolumn{2}{l}{function} \\ \hline 
\code{setDiagYukawas} & \multicolumn{2}{l}{calculates and sets all diagonal
Yukawa couplings }\\
& \multicolumn{2}{l}{given fermion masses and a Higgs VEV} \\
\code{getMasses} & \multicolumn{2}{l}{calculates quark and lepton masses from
Yukawa} \\
 &  \multicolumn{2}{l}{couplings}\\
\code{getQuarkMixing} & \multicolumn{2}{l}{mixes quark Yukawa couplings from mass to weak basis}\\
\code{getQuarkMixedYukawas} & \multicolumn{2}{l}{sets all entries of quark Yukawa couplings given
fermion} \\
 & \multicolumn{2}{l}{masses, Higgs VEV and CKM matrix }\\
}
{\code{MssmSusy} class. }
%
The operators \code{<<}, \code{>>} have been overloaded to write or read a
\code{MssmSusy} object to/from a file stream. Table~\ref{tab:mssmsusy} shows
the data variables and important methods contained in the class. For the
Yukawa and gauge couplings, methods exist to either set (or display) one
element or a whole matrix or vector of them.

\subsection{\code{SoftParsMssm}~Class\label{sec:softie}}
The operators \code{<<}, \code{>>} have been overloaded to write or read a
\code{softParsMssm} object to/from a file stream. 
Table~\ref{tab:softparsmssm} shows
the data variables and important methods contained in the class.
\code{addAmsb()} adds anomaly mediated supersymmetry breaking
terms~\cite{Randall:1998uk} to 
the model's soft parameters. Such terms are proportional to the VEV of a
compensator superfield, so $m_{3/2}$ in table~\ref{tab:mssmsoftdata} must have
been set before \code{addAmsb} is used. 
\code{minimalGmsb(int n5, double lambda, double mMess)} applies the messenger
scale \code{mMess} boundary conditions to the soft masses in minimal
gauge-mediated supersymmetry breaking~\cite{gmsb}. \code{n5} denotes the
number of $5\oplus \bar 5$ messenger fields that are present and
\code{lambda}($\Lambda$) is as described in ref.~\cite{gmsb}. 

\TABULAR{lll}{\label{tab:softparsmssm}
data & & methods \\ \hline
\code{DoubleVector mGaugino} & (1 \ldots 3) vector of gaugino &
\code{setGauginoMass} \\
$M_{1,2,3}$ & mass parameters & \code{displayGaugino} \\ \hline
\code{DoubleMatrix ua,da,ea} & (3 by 3) matrix of trilinear&
\code{setTrilinearElement}\\
$U_A,D_A,E_A$ & soft terms (GeV) &  \code{displayTrilinearElement}\\
 & & \code{displaySoftA} \\ \hline
\code{DoubleMatrix mQLsq} & (3 by 3) matrices of soft &
\code{setSoftMassElement} \\
\code{mURsq,mDRsq,mLLsq} & SUSY breaking masses & \code{setSoftMassMatrix}
\\
\code{mSEsq} & (GeV$^2$) & \code{displaySoftMassSquared} \\ 
$(m_{\tilde Q_L}^2)$, $(m_{\tilde u_R}^2)$, $(m_{\tilde d_R}^2)$,
& & \\ 
$(m_{\tilde L_L}^2)$, $(m_{\tilde e_R}^2)$  & & \\ \hline
\code{double m3sq,mH1sq,mH2sq} & Bilinear Higgs parameters & \code{setM3Squared}\\
$m_3^2$, $m_{H_1}^2$, $m_{H_2}^2$ & (GeV, GeV$^2$, GeV$^2$) & \code{setMh1Squared}\\
 & & \code{setMh2Squared} \\
 & & \code{displayM3Squared} \\
 & & \code{displayMh1Squared} \\
 & & \code{displayMh2Squared} \\ 
\\
method & \multicolumn{2}{l}{function}\\ \hline
\code{standardSugra} & \multicolumn{2}{l}{Sets all universal soft terms}\\
\code{universalScalars} & \multicolumn{2}{l}{Sets universal scalar masses}\\ 
\code{universalGauginos} & \multicolumn{2}{l}{Sets universal gaugino masses}\\ 
\code{universalTrilinears} & \multicolumn{2}{l}{Sets universal soft breaking trilinear
couplings}\\  
\code{addAmsb} & \multicolumn{2}{l}{Adds AMSB soft terms to current
object$^*$}\\ 
\code{minimalGmsb} & \multicolumn{2}{l}{Gauge-mediated soft terms used as
boundary conditions$^*$}\\ 
\hline
}
{\code{SoftParsMssm} class data and methods.}



\subsection{\code{MssmSoftsusy}~Class \label{sec:mssmsoftsusy}}

\TABULAR{ll}{\label{tab:sphys}
data variable & description \\ \hline
\code{DoubleVector mhiggs} & (1 \ldots 4) vector of $h^0, A^0, H^0,
H^\pm$masses \\
\code{DoubleVector mnsu} & vector of $m_{{\tilde \nu}_{i=1 \ldots 3}}$ masses \\
\code{DoubleVector mch,mneut} & vectors of $m_{{\chi^\pm}_{i=1 \ldots 2}}$, 
$m_{{\chi^0}_{i=1 \ldots 4}}$ respectively \\
\code{double mGluino} & gluino mass $m_{\tilde g}$ \\
\code{DoubleMatrix mixNeut} & 4 by 4 orthogonal neutralino mixing matrix $O$
\\
\code{double thetaL, thetaR} & $\theta_{L, R}$ chargino mixing angles \\
\code{double thetat, thetab} & $\theta_{t,b}$ sparticle mixing angles \\
\code{double thetatau, thetaH} & $\theta_{\tau}, \alpha$ sparticle and Higgs
mixing angles \\
\code{DoubleMatrix mu, md, me} & (2 by 3) matrices of up squark, down squark
and\\
 &  charged slepton masses \\
\code{double t1OV1Ms, t2OV2Ms} & tadpoles $t_1/v_1$ and $t_2 / v_2$
evaluated at $M_S$ \\
}
{\code{sPhysical} structure. Masses are pole masses, and stored in units of
GeV. Mixing angles are in radian units.}

\code{MssmSoftSusy} objects contain a structure \code{sPhysical} encapsulating
the physical information on the superparticles, as shown in
table~\ref{tab:sphys}. 
Another structure within \code{MssmSoftsusy} of type \code{sProblem} flags
various potential problems 
with the object, for example the lack of radiative EWSB
or negative mass squared scalars (excluding the Higgs mass squared
parameters). 
This structure is shown in table~\ref{table:probs}. In addition, the method
\code{test} 
prints out if any of the possible data variables flagging problems are true.
The \code{higgsUfb} flag is true if
\begin{equation}
m_{H_1}^2 + 2 \mu^2 + m_{H_2}^2 - 2 |m_3^2| <0 \label{higgsufb}
\end{equation}
is not satisfied, implying that the desired electroweak minimum is either a
maximum or a saddle-point of the tree-level Higgs
potential~\cite{Barger:1994gh}. The contents of \code{sPhysical} and
\code{sProblem} can be output with overloaded \code{<<} operators.
\code{noConvergence} is not a serious error, it means that the desired
accuracy was not reached. \code{nonPerturbative} or \code{irqfp} flags the
existence of a Landau pole in the renormalisation group evolution, and the
calculation is not perturbatively reliable so any results should be discarded.
All other problems except \code{noConvergence} and
\code{nonPerturbative} should be
considered as grounds for ruling the model out.
\code{noRhoConvergence} occurs when the pseudoscalar Higgs $A^0$ has 
a negative mass squared (i.e. an invalid electroweak vacuum).

\TABULAR{ll}{\label{table:probs}
data variable & flags \\ \hline
\code{irqfp} & in a region with a Landau pole \\
\code{noConvergence} & the main iteration routine doesn't converge \\
\code{noRhoConvergence} & the $\rho$ iterative routine doesn't converge \\
\code{tachyon} & a non-Higgs scalar has negative mass squared \\
\code{muSqWrongSign} & $\mu^2$ from eq.~(\ref{mucond}) has opposite sign to
that specified \\
\code{b} & $B$ from eq.~(\ref{Bcond}) has incorrect sign \\
\code{higgsUfb} & eq.~(\ref{higgsufb}) is not satisfied\\
\code{nonperturbative} & a Landau pole was reached below the unification scale
\\
}
{\code{sProblem} structure. All data variables are boolean values.}


\TABULAR{lll}{\label{tab:mssmsoftdata}
data & & methods \\ \hline
\code{double m32} &compensator VEV$^*$ & \code{setM32} \\
$m_{3/2}$ &(GeV) & \\ \hline
\code{double HiggsVevMs} & Higgs VEV parameter & \code{setHiggsVevMs} \\
$v(M_S)$  & (GeV) & \code{displayHiggsVevMs} 
\\ \hline
\code{QedQcd dataset} & $M_Z$ boundary condition on  &
\code{setData} \\
 & Standard Model couplings & \code{displayDataSet} \\ \hline
}{\code{MssmSoftsusy} class data and accessor methods.}

\TABULAR{ll}{\label{tab:softmeth}
name & function \\ \hline
\code{lowOrg} & Driver routine for whole calculation$^*$\\ 
\code{methodBoundaryCondition} & Boundary condition for derived objects$^*$\\
\code{itLowsoft} & Performs the iteration between $M_Z$ and \\
 &unification scale\\  
\code{sparticleThresholdCorrections} & $\overline{DR}$ radiative corrections
to Standard Model \\
 & couplings at $M_Z$\\ 
\code{physical} & Calculates sparticle pole masses and mixings\\ 
\code{rewsb} & Sets $\mu$, $B$ from EWSB conditions\\ 
\code{mpzNeutralino} & Gives mixing matrices required to make \\ & neutralino
masses positive$^*$\\ 
\code{mpzChargino} & Gives mixing matrices required to make \\ & chargino
masses positive$^*$\\ 
\code{fineTune} & Calculates fine-tuning for soft parameters$^*$ \\ & and
$h_t$\\ 
\code{getVev} & Calculates VEV $v^{\overline{DR}}$ at current scale\\ 
\code{calcSinthdrbar} & Calculates $s_W^{\overline{DR}}$ at current scale\\ 
\code{calcMs} & Calculates $M_S$\\ 
\code{printShort} & short list of important parameters printed out \\ &to standard
output in columns\\ 
\code{printLong} & long list of important parameters printed out \\ &to standard
output in columns\\ 
\code{outputFcncs} & prints a list of flavour-changing $\delta$ parameters$^*$
}
{\code{MssmSoftsusy} methods and related functions. Functions marked with an
asterisk are mentioned in the text.}

\code{MssmSoftsusy} data variables and accessors can be viewed in
table~\ref{tab:mssmsoftdata} and the most important high-level 
methods are displayed in table~\ref{tab:softmeth}.
The method \code{mpzCharginos} returns the 2 by 2 complex diagonalisation
matrices $U,V$ that result in positive chargino masses, as defined in
ref.~\cite{Pierce:1997zz}.
The method
\code{mpzNeutralinos} is present in order to convert $O$ to the complex matrix
$N$ defined in ref.~\cite{Pierce:1997zz} that would produce only positive 
neutralino masses.
The operators \code{<<}, \code{>>} have been overloaded to write or read 
\code{MssmSoftusy} objects or \code{sPhysical} structures to/from a file
stream. 
The driver routine for the RGE evolution and unification calculation is
\small\begin{verbatim}
void MssmSoftsusy::lowOrg
(void (*boundaryCondition)(MssmSoftsusy &, const DoubleVector &),
 double mx, const DoubleVector & pars, int sgnMu, double tanb, const QedQcd &
 oneset)\end{verbatim}\normalsize
The user-supplied \code{boundaryCondition} function sets the soft parameters 
according to 
the elements of the supplied \code{DoubleVector} at \code{mx}, as discussed in
appendix~\ref{sec:prog}. 
\code{pars} contains a \code{DoubleVector}
of soft SUSY breaking parameters to be applied as the theoretical boundary
condition.  
\code{sgnMu} is the sign of the
superpotential $\mu$ parameter, \code{tanb} is the value of $\tan \beta (M_Z)$
required and \code{oneset} contains the $M_Z$ scale low energy data.

The fine tuning (as defined in sec.~\ref{sec:calculation}) can be
calculated with the method 
\small\begin{verbatim}
DoubleVector MssmSoftsusy::fineTune(void (*boundaryCondition)
        (MssmSoftsusy &, const DoubleVector &), const DoubleVector 
         & bcPars, double mx) const 
\end{verbatim}\normalsize
This function should only be applied to an \code{MssmSoftsusy} object which
has been processed by \code{lowOrg}. \code{mx} is the unification scale and
\code{boundaryCondition} is the function that sets the unification scale soft
parameters, as discussed above. 
In derived objects, the virtual method
\code{methodBoundaryCondition} may be used to set data additional to
\code{MssmSoftsusy} from the \code{boundaryCondition} function. 
The method outputs the fine-tuning of a
parameter $a_{i=1\ldots n}$ in the \code{bcPars(n+3)} \code{DoubleVector}, 
with the $(n+1,n+2,n+3)^{th}$ element
of \code{bcPars} being the fine-tuning with respect to the Higgs potential
parameters ($\mu$ and $B$) and
the top Yukawa coupling
$(h_t)$ respectively. \code{fineTune} is an optional feature.

Another optional feature intended for studies of flavour-changing neutral
currents (FCNCs) is the method 
\begin{verbatim}
void MssmSoftsusy::outputFcncs() const
\end{verbatim}
which prints out the parameters $\delta^{U,D}_{LL,LR,RR}$ calculated in the
mass-insertion 
approximation (after a rotation to the super CKM basis), as defined
in~\cite{masiero}. 

\acknowledgments
We would like to thank A.~Djouadi for a detailed comparison with the
preliminary new version of {\tt SUSPECT},
J.~Hetherington
for valuable bug finding and coding suggestions, J. Holt and F. Krauss for
suggestions on the draft, D.~Ross for  
information on the Passarino-Veltman integrals and K.~Matchev for 
other useful discussions.

\providecommand{\href}[2]{#2}\begingroup\raggedright\begin{thebibliography}{10}

\bibitem{Ross:1992tz}
G.~G. Ross and R.~G. Roberts, {\it Minimal supersymmetric unification
  predictions},  {\em Nucl. Phys.} {\bf B377} (1992) 571--592.

\bibitem{Barger:1994gh}
V.~Barger, M.~S. Berger, and P.~Ohmann, {\it The supersymmetric particle
  spectrum},  {\em Phys. Rev.} {\bf D49} (1994) 4908--4930,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{Pierce:1997zz}
D.~M. Pierce, J.~A. Bagger, K.~Matchev, and R.~jie Zhang, {\it Precision
  corrections in the minimal supersymmetric standard model},  {\em Nucl. Phys.}
  {\bf B491} (1997) 3--67, [\href{http://xxx.lanl.gov/abs/{{\tt
  }].

\bibitem{Groom:2000in}
{\bf Particle Data Group} Collaboration, D.~E. Groom {\em et.~al.}, {\it Review
  of particle physics},  {\em Eur. Phys. J.} {\bf C15} (2000) 1.

\bibitem{Djouadi:1998di}
{\bf MSSM Working Group} Collaboration, J.~K. A.~Djouadi and G.~Moultaka, {\it
  Suspect: a program for the supersymmetric spectrum},
  \href{http://xxx.lanl.gov/abs/{}.

\bibitem{Baer:1999sp}
H.~Baer, F.~E. Paige, S.~D. Protopopescu, and X.~Tata, {\it Isajet 7.48: A
  monte carlo event generator for p p, anti-p p, and e+ e- reactions},
  \href{http://xxx.lanl.gov/abs/{}.

\bibitem{Allanach:2000ii}
B.~C. Allanach, J.~P.~J. Hetherington, M.~A. Parker, and B.~R. Webber, {\it
  Naturalness reach of the large hadron collider in minimal supergravity},
  {\em JHEP} {\bf 08} (2000) 017,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{Corcella:2000bw}
G.~Corcella {\em et.~al.}, {\it Herwig 6: An event generator for hadron
  emission reactions with interfering gluons (including supersymmetric
  processes)},  {\em JHEP} {\bf 01} (2001) 010,
  see the \href{http://hepwww.rl.ac.uk/theory/seymour/herwig/}{HERWIG web
page http://hepwww.rl.ac.uk/theory/seymour/herwig/}, 
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{micromegas}
G. Belanger, F. Boudjema, A. Pukhov and A. Semikov,
{\it micrOMEGAs: A program for calculating the relic density in the MSSM},
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{Abel:2000bj}
S.~A. Abel, B.~C. Allanach, F.~Quevedo, L.~Ibanez, and M.~Klein, {\it Soft susy
  breaking, dilaton domination and intermediate scale string models},  {\em
  JHEP} {\bf 12} (2000) 026,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{Allanach:1999mh}
B.~C. Allanach, A.~Dedes, and H.~K. Dreiner, {\it 2-loop supersymmetric
  renormalisation group equations including r-parity violation and aspects of
  unification},  {\em Phys. Rev.} {\bf D60} (1999) 056002,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{Abel:1999eu}
S.~A. Abel and B.~C. Allanach, {\it Quasi-fixed points and charge and colour
  breaking in low scale models},  {\em JHEP} {\bf 07} (2000) 037,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{Abel:1998yi}
S.~A. Abel and B.~C. Allanach, {\it Ruling out the mssm at the low tan(beta)
  fixed point},  {\em Phys. Lett.} {\bf B431} (1998) 339--346,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{Allanach:2000gu}
B.~C. Allanach and A.~Dedes, {\it R-parity violating anomaly mediated
  supersymmetry breaking},  {\em JHEP} {\bf 06} (2000) 017,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{comparison}
B.~C. Allanach, S. Kraml and W. Porod, {\em work in progress}; {\it ibid},
talk at SUSY 2002 conference;
B.~C. Allanach, {\it Theoretical Uncertainties in Sparticle Mass Predictions},
Snowmass Proceedings 2001, 
  [\href{http://xxx.lanl.gov/abs/{}];
B.~C. Allanach {\em et al}. {\it The Beyond the Standard Model Working Group:
  Summary Report}, Les Houches proceedings 2002,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{Battaglia:2001zp}
M.~Battaglia {\em et al}, {\it Proposed post-LEP benchmarks for 
        supersymmetry}, 
        [\href{http://xxx.lanl.gov/abs/].

\bibitem{Gabbiani:1996hi}
F.~Gabbiani, E.~Gabrielli, A.~Masiero, and L.~Silvestrini, {\it A complete
  analysis of fcnc and cp constraints in general susy extensions of the
  standard model},  {\em Nucl. Phys.} {\bf B477} (1996) 321--352,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{Gorishnii:1990zu}
S.~G. Gorishnii, A.~L. Kataev, S.~A. Larin, and L.~R. Surguladze, {\it
  Corrected three loop qcd correction to the correlator of the quark scalar
  currents and gamma (tot) (h0 $\to$ hadrons)},  {\em Mod. Phys. Lett.} {\bf
  A5} (1990) 2703--2712.

\bibitem{Tarasov:1980au}
O.~V. Tarasov, A.~A. Vladimirov, and A.~Y. Zharkov, {\it The gell-mann-low
  function of qcd in the three loop approximation},  {\em Phys. Lett.} {\bf
  B93} (1980) 429--432.

\bibitem{Gorishnii:1984zi}
S.~G. Gorishnii, A.~L. Kataev, and S.~A. Larin, {\it Next next-to-leading
  perturbative qcd corrections and light quark masses},  {\em Phys. Lett.} {\bf
  B135} (1984) 457.

\bibitem{Chetyrkin:1997sg}
K.~G. Chetyrkin, B.~A. Kniehl, and M.~Steinhauser, {\it Strong coupling
  constant with flavour thresholds at four loops in the ms-bar scheme},  {\em
  Phys. Rev. Lett.} {\bf 79} (1997) 2184--2187,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{avdeev}
L.~V. Avdeev and M.~Y. Kalmykov, {\it Pole masses of quarks in dimensional
  reduction}, {\em Nucl. Phys. } {\bf B502} (1997) 419,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{Casas:1998vh}
J.~A. Casas, J.~R. Espinosa, and H.~E. Haber, {\it The higgs mass in the mssm
  infrared fixed point scenario},  {\em Nucl. Phys.} {\bf B526} (1998) 3--20,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{Katsikatsou:2000cd}
A.~Katsikatsou, A.~B. Lahanas, D.~V. Nanopoulos, and V.~C. Spanos, {\it On the
  radiative corrections to the pseudo-scalar higgs boson mass},  {\em Phys.
  Lett.} {\bf B501} (2001) 69--77,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{Heinemeyer:1999be}
S.~Heinemeyer, W.~Hollik, and G.~Weiglein, {\it The mass of the lightest mssm
  higgs boson: A compact analytical expression at the two-loop level},  {\em
  Phys. Lett.} {\bf B455} (1999) 179--191,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{feynhiggs}
S. Heinemeyer, W. Hollik and G. Weiglein, {\it FeynHiggs: a program for the
calculation of the masses of the neutral CP-even Higgs bosons in the MSSM},
{\em Comp. Pys. Commum.} {\bf 124} (2000) 76,
[\href{http://xxx.lanl.gov/abs/{}

\bibitem{Haber:1997fp}
H.~E. Haber, R.~Hempfling, and A.~H. Hoang, {\it Approximating the radiatively
  corrected higgs mass in the minimal supersymmetric model},  {\em Z. Phys.}
  {\bf C75} (1997) 539--554,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{Barbieri:1998uv}
R.~Barbieri and A.~Strumia, {\it About the fine-tuning price of lep},  {\em
  Phys. Lett.} {\bf B433} (1998) 63--66,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{deCarlos:1993yy}
B.~de~Carlos and J.~A. Casas, {\it One loop analysis of the electroweak
  breaking in supersymmetric models and the fine tuning problem},  {\em Phys.
  Lett.} {\bf B309} (1993) 320--328,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{bottomMass}
H. Baer, J. Ferrandis, K. Melnikov and X. Tata, {\it Relating bottom quark
  mass in $\overline{DR}$ and $\overline{MS}$ schemes},
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{bench2}
B.C. Allanach {\em et al}, {\it The Snowmass Points and Slopes: Benchmarks for
  SUSY Searches}, 
 [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{atlastdr}
{\bf ATLAS} Collaboration, H.~Abramowicz {\em et.~al.}, {\it Detector and
  physics performance tdr, volume ii},  {\em Technical Report CERN/LHCC
99-15}\/ 
  (1999).

\bibitem{mememe}
B.C. Allanach, {\it Theoretical Uncertainties in Sparticle Mass Predictions},
contribution to {\em SNOWMASS 2001},
 [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{Baer:2001kn}
H.~Baer, C.~Balazs, J.~Ferrandis, and X.~Tata, {\it Impact of muon anomalous
  magnetic moment on supersymmetric models},
  \href{http://xxx.lanl.gov/abs/{}.

\bibitem{Dedes:1999hu}
A.~Dedes and A.~E. Faraggi, {\it D-term spectroscopy in realistic
  heterotic-string models},  {\em Phys. Rev.} {\bf D62} (2000) 016010,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{Barate:2000ts}
{\bf ALEPH} Collaboration, R.~Barate {\em et.~al.}, {\it Observation of an
  excess in the search for the standard model higgs boson at aleph},  {\em
  Phys. Lett.} {\bf B495} (2000) 1--17,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{Abbiendi:2000ac}
{\bf OPAL} Collaboration, G.~Abbiendi {\em et.~al.}, {\it Search for the
  standard model higgs boson in e+ e- collisions at s**(1/2) = 192-gev -
  209-gev},  {\em Phys. Lett.} {\bf B499} (2001) 38--52,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{Abreu:2000fw}
{\bf DELPHI} Collaboration, P.~Abreu {\em et.~al.}, {\it Search for the
  standard model higgs boson at lep in the year 2000},  {\em Phys. Lett.} {\bf
  B499} (2001) 23--37, [\href{http://xxx.lanl.gov/abs/{{\tt
  }].

\bibitem{Ellis:2000sv}
J.~Ellis, G.~Ganis, D.~V. Nanopoulos, and K.~A. Olive, {\it What if the higgs
  boson weighs 115-gev?},  {\em Phys. Lett.} {\bf B502} (2001) 171--180,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{isawig}
P. Richardson,
\href{http://www-thphys.physics.ox.ac.uk/users/PeterRichardson/HERWIG/isawig.html}{ISAWIG
website: http://www-thphys.physics.ox.ac.uk/users/PeterRichardson/HERWIG/isawig.html}

\bibitem{Randall:1998uk}
L.~Randall and R.~Sundrum, {\it Out of this world supersymmetry breaking},
  {\em Nucl. Phys.} {\bf B557} (1999) 79,
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{gmsb}
S.~Ambrosanio, G.~D.~Kribs and S.~P.~Martin,
{\it Signals for gauge-mediated supersymmetry breaking models at the CERN
LEP2 collider}, 
{\em Phys. Rev.} {\bf D56} (1997) 1761
  [\href{http://xxx.lanl.gov/abs/{}].

\bibitem{masiero}
F.~Gabbiana, E.~Gabrielli, A.~Masiero and L.~Silvestrini, 
{\it A Complete Analysis of FCNC and CP Constraints in General SUSY Extensions
  of the Standard Model}, 
{\em Nucl. Phys.} {\bf B477} (1996) 321
  [\href{http://xxx.lanl.gov/abs/{}].

\end{thebibliography}\endgroup

\end{document}

