%Paper: 
%From: Alexandre Rozanov <rozanov@cppm.in2p3.fr>
%Date: Mon, 13 Mar 1995 11:11:17 +0100 (MET)

\documentstyle[12pt,psboxit]{cernman}
\textwidth 16cm
\textheight 23 cm
\hoffset -2cm
\voffset -3cm

\def\nll{ \nonumber \\}
% Symbols
\def\z0{Z}
\def\gf{G_{\mu}}
\def\zm{M_{_Z}}
\def\bm{m_b}
\def\cm{m_c}
\def\gev{{\hbox{GeV}}}
\def\tev{{\hbox{TeV}}}
\def\nb{{\hbox{nb}}}
\def\msb{{\overline{MS}}}
\def\als{\alpha_{_S}}
\def\tm{m_{t}}
\def\hm{M_{_H}}
\def\wm{M_{_W}}
\def\gn{\Gamma_{\nu}}
\def\ge{\Gamma_{e}}
\def\gm{\Gamma_{\mu}}
\def\gt{\Gamma_{\tau}}
\def\gl{\Gamma_{l}}
\def\gu{\Gamma_{u}}
\def\gd{\Gamma_{d}}
\def\gc{\Gamma_{c}}
\def\gs{\Gamma_{s}}
\def\gb{\Gamma_{b}}
\def\gz{\Gamma_{_Z}}
\def\gh{\Gamma_{h}}
\def\gi{\Gamma_{inv}}
\def\afb{A_{_{FB}}}
\def\alr{A_{_{LR}}}
\def\gv{g_{_V}}
\def\ga{g_{_A}}
\def\barf{\overline f}
\def\barq{\overline q}
\def\barb{\overline b}
\def\bart{\overline t}
\def\barc{\overline c}
\def\gvf{g^f_{_{V}}}
\def\gaf{g^f_{_{A}}}
\def\gvl{g_{_{Vl}}}
\def\gal{g_{_{Al}}}
\def\gvb{g^b_{_{V}}}
\def\gab{g^b_{_{A}}}
\def\gsvb{g^b_v}
\def\gsab{g^b_a}
\def\ord {\cal O}
\def\ical{\cal I}
\def\shat{\hat s}
\def\chat{\hat c}
\def\vhat{\hat v}
\def\thetahat{\hat \theta}
\def\alphahat{\hat \alpha}
\def\fvf{F_{_V}^f}
\def\faf{F_{_A}^f}
\def\fvl{F_{_V}^l}
\def\fal{F_{_A}^l}
\def\acal{\cal A}
\def\ste{\sin\theta}
\def\stes{\sin^2\theta}
\def\xhat{\hat x}
\def\piv{\Pi_{_V}}
\def\pia{\Pi_{_A}}
\def\dr{\Delta r}
\def\drl{\Delta r_{_L}}
\def\dgvf{\delta g_{_V}^f}
\def\dgaf{\delta g_{_A}^f}
\def\dgvl{\delta g_{_V}^l}
\def\dgal{\delta g_{_A}^l}
\def\i3f{I_3^f}
\def\pih{{\hat\Pi}}
\def\sgh{{\hat\Sigma}}
\def\osp2{16\,\pi^2}
\def\ap2{\left(p^2\right)}
\def\stw{s_{\theta}}
\def\ctw{c_{\theta}}
\def\stws{s_{\theta}^2}
\def\stwf{s_{\theta}^4}
\def\ctws{c_{\theta}^2}
\def\Szg{\Sigma_{_{Z\gamma}}}
\def\Szz{\Sigma_{_{ZZ}}}
\def\Sww{\Sigma_{_{WW}}}
\def\Swwg{\Sigma_{_{WW}}^{^G}}
\def\Stg{\Sigma_{_{3Q}}}
\def\Stt{\Sigma_{_{33}}}
\def\Pgg{\Pi_{\gamma\gamma}}
\def\Pf{\Pi_{_F}}
\def\rhou{\rho_{_U}}
\def\ku{\kappa_{_U}}
\def\rhoz{\rho_{_Z}}
\def\rhozr{\rho^{\scriptscriptstyle R}_{_Z}}
\def\gfd{\gamma_5}
\def\gau{\gamma^{\alpha}}
\def\gad{\gamma_{\alpha}}
\def\mev{{\hbox{MeV}}}
\def\gev{{\hbox{GeV}}}
\def\tmo{\times 10^{-1}}
\def\tmt{\times 10^{-2}}
\def\tmth{\times 10^{-3}}
\def\tmf{\times 10^{-4}}
\def\tmfv{\times 10^{-5}}
\def\srt{\sqrt{2}}
\def\xsf{\sigma_{_F}}
\def\xsb{\sigma_{_B}}
\def\chig{\chi_{\gamma}}
\def\chiz{\chi_{_Z}}
\def\s0h{\sigma^0_h}

%\newenvironment{Listing}%
%{\begin{XMPt}{Output Generated}
%\tiny{}\baselineskip6pt}{\end{XMPt}}
%\let\Listingp\Listing










\begin{document}
\begin{titlepage}
\begin{flushright}
{preprint CPPM/95-1 \\[0.5cm]  ITEP/19-95 \\[2cm]}
\end{flushright}
\begin{center}
{\Huge \bf LEPTOP} \\[2cm]
\end{center}
{V.Novikov$^\ast$, L.Okun$^\ast$, A.Rozanov${^\star}$, and
 M.Vysotsky${^\ast}{^+}$\\[1cm]
$^\ast$ ITEP, Moscow 117259, Russia\\[0.5cm]
$^\star$  CPPM, IN2P3-CNRS, F-13288 Marseille, France\\[0.5cm]
$^+$ visitor at CPT CNRS and CPPM IN2P3-CNRS,
 F-13288 Marseille, France \\[2cm]}

\begin{center}
{\bf Abstract}
\end{center}


This report consists of three parts. In Chapter 1
we present a brief description of the  LEPTOP approach
for the calculation of
the radiative corrections in the Minimal Standard Model.
The approach is based on the one-loop approximation with respect to the
genuinely electroweak interaction for which simple explicit analytical
formulae are valid. Starting from $G_{\mu}, m_Z$ and $\bar{\alpha}\equiv
\alpha(m^2_Z)$ as the main input parameters,
we consider all observables of the $Z$ boson decays and the
mass of the $W$ boson on the same footing. The dressing with gluonic
corrections is performed by using the results of calculations
published by other authors.


In Chapter 2 theoretical uncertainties inherent to our approach
and hence to the LEPTOP computer program
are
analyzed.


In Chapter 3 we describe the Fortran code of LEPTOP.
 This code can be obtained
on request from rozanov@afsmail.cern.ch.


This document can be accessed on
 \Lit{http://cppm.in2p3.fr/leptop/intro_leptop.html}
by WWW users.

\end{titlepage}





\newpage
%\begin{center}
%\large{\bf Part I\\
%
%\vspace{3mm}
%
%LEPTOP BASIC EQUATIONS}
%\end{center}




\chapter{LEPTOP BASIC EQUATIONS}

\section{Introduction}

The program LEPTOP calculates radiative corrections to
the observables of
$Z$ boson decay and of the $W$ boson mass, $m_W$, in the Standard
 Model \cite{1}. It is based on a set of explicit formulae for these
observables, written in the papers \cite{2} -- \cite{9}.

Our aim is the study of the genuinely electroweak (e.-w.) interaction
by comparing theoretical results with experimental data. In
LEPTOP we separate  the e.-w. interaction
from the well known pure electromagnetic effects.
Such separation is well defined in the one loop e.-w. approximation.
Then we include all gluonic corrections (internal for hadron-free
observables and both internal and external for the $Z$ boson
hadronic decays) known in the literature.  The main result of our
study (refs. \cite{2}--\cite{9}) is that within $1\sigma$ --
$2\sigma$ accuracy experimental data are described by the e.-w. Born
approximation which is universal for any modification of the Minimal
Standard Model. The one-loop e.-w. corrections (that really specify the
e.-w. theory) are barely visible at the level of LEP1, SLD, UA2 and CDF
accuracy. We do not need to consider two-loop e.-w. corrections, except for
enhanced gaugeless top-quark contribution \cite{18a}-\cite{24b}.

In LEPTOP we confine  ourselves by considering effects larger than
$10^{-5}$.

\underline{Renormalization in LEPTOP}.  Loop calculations
depend on  parameter $\varepsilon = 4-D$ in
dimensional regularization  ($D$ is dimension of space-time),
 on the 't Hooft's
 scale
parameter $\mu$, on two bare
gauge coupling constants, vacuum expectation value of the Higgs field and on
the bare masses of quarks, leptons and
the Higgs boson.\footnote{In general they
also depend on Kobayashi--Maskawa angles but in the limit $m_q^2/m_Z^2\ll 1$
for all quarks $q\neq t$ this dependence vanishes for $Z$ boson decay and
$m_W$.} The dependence on $\varepsilon$ and $\mu$ disappears if one rewrites
 the
result of loop calculations in terms of renormalized coupling constants,
physical masses, etc., or in terms of corresponding number of some other
independent physical observables.

\underline{Input parameters}.
In LEPTOP we present the results of the loop calculations in terms of
three most accurately known electroweak parameters \cite{10},
\cite{11}:
\begin{equation}
m_Z = 91.1887(44) ~~ \mbox{\rm GeV}
\label{1}
\end{equation}
\begin{equation}
G_{\mu} = 1.16639(2)\cdot 10^{-5} ~~ \mbox{\rm GeV}^{-2}
\label{2}
\end{equation}
\begin{equation}
\bar{\alpha} \equiv \alpha(m_Z^2) = 1/128.87(12)
\label{3}
\end{equation}
and three free unknown parameters: physical top quark mass $m_t$ (on mass
shell), higgs  mass $m_H$ and strong coupling constant $\hat{\alpha}_s$
at scale $m_Z$: $\hat{\alpha}_s
\equiv \alpha_s (q^2 = m_Z^2)_{\overline{MS}}$; the latter enters
through gluonic corrections. There are tiny effects of nonzero
$b$-quark mass $m_b$, $\tau$-lepton mass $m_{\tau}$ and $c$-quark
mass $m_c$.  All other quarks and leptons can be considered as
massless.

Note that $G_{\mu}$, $\bar{\alpha}$ and $\hat{\alpha}_s$ are not directly
observable quantities:

1) $G_{\mu}$ is a  four-fermion coupling constant
of the muon decay corrected by purely
electromagnetic loops.

2) Electromagnetic coupling constant $\bar{\alpha}$ at scale $q^2 = m_Z^2$
includes running from the value $\alpha$ to $\bar{\alpha}$ due to
the three lepton
and five "light" quark loops calculated by formulae:
\begin{equation}
\bar{\alpha}=\frac{\alpha}{1-\delta \alpha}
\label{4}
\end{equation}
\begin{equation}
\delta \alpha = \frac{m_Z^2}{4\pi^2\alpha}
\int^{\infty}_{thr}\frac{ds}{m_Z^2
-s}\sigma_{e^+e^-}(s)
\label{5}
\end{equation}
where $\alpha$ is fine structure constant and $\sigma_{e^+e^-}$ is the cross
section of $e^+e^-$-annihilation, through one virtual photon, into leptons
and light hadrons:
\begin{equation}
\delta\alpha = \delta\alpha_l + \delta\alpha_h = 0.0314 + 0.0282(9)\;.
\label{301}
\end{equation}

The leptonic contribution
\begin{equation}
\delta\alpha_l = \frac{\alpha}{3\pi} \Sigma_l(\ln \frac{m^2_Z}{m^2_l} -
\frac{5}{3}) = 0.0314(0)
\label{302}
\end{equation}
is known to high accuracy. The hadronic contribution, $\delta\alpha_h$, is
calculated by using eq. (\ref{5}) with the experimental cross-section
$\sigma_{e^+e^- \to h}(s)$
in the dispersion integral below $s = (40 \mbox{\rm GeV})^2$
and parton result above $s
= (40 \mbox{\rm GeV})^2$ (see ref. \cite{11}).

3) The
strong coupling constant $\hat{\alpha}_s$ at scale $q^2 = m_Z^2$ is
defined as renormalized coupling in the
$\overline{MS}$ scheme of subtraction.

By using $\bar{\alpha}$ instead of  $\alpha$ we
automatically take into account the fact that the running weak coupling
constants $\alpha_W(q^2)$ and $\alpha_Z(q^2)$ do not run actually in the
region $|q^2|\leq m_Z^2$, while $\alpha(q^2)$ does run. So $\bar{\alpha}$ is
relevant to electroweak corrections (not $\alpha$ in spite of its
extremely high accuracy)
\cite{2}, \cite{7}.

The outline of Chapter 1 is as follows: In sect. 2 we introduce the general
notations  and phenomenological expressions for observables including the
final state interaction due to photon and gluon exchange up to the terms of
the order of $10^{-5}$. In sect. 3 we consider  the $\bar{\alpha}$-Born
approximation.  One e.-w. loop corrections are presented in
sect. 4 for hadron-free observables (sect. 4.1) and for $Z$ boson
decay into hadrons (sect. 4.2).  Chapter 2 is devoted to the accuracy
of the LEPTOP. In sect. 5 we make general remarks concerning various
sources of uncertainties. In sect. 6 we consider uncertainties in the
vector boson self-energies. Sect. 7 is devoted to the uncertainties
in the hadronic $Z$ decays. The procedure of estimating the total
theoretical accuracy of LEPTOP is described in sect. 8. Appendix A
presents the flowchart of LEPTOP.  Appendix B contains the full list
of our papers in which the LEPTOP approach was developed.

\section{Phenomenology and notations}

It is useful to define the electroweak angle $\theta \;\;(\sin\theta \equiv
s,\;\; \cos\theta
\equiv c)$ in terms of three basic parameters $G_{\mu}\;,\;\;
m_Z$ and $\bar{\alpha}$:
\begin{equation}
s^2c^2 = \frac{\pi\bar{\alpha}}{\sqrt{2}G_{\mu}m^2_Z}
\label{303}
\end{equation}
(for earlier references see \cite{12}). Solving eq. (\ref{303}) with
experimental values eqs. (\ref{1})--(\ref{3}) we get
\begin{eqnarray}
s^2 &=& 0.23117(33) \nonumber \\
c &=& 0.87683(19)
\label{304}
\end{eqnarray}

In LEPTOP the amplitude for
$Z$ boson decay into fermion-antifermion pair $f\bar{f}$ is written in one
e.-w. loop approximation in the following  form
\begin{eqnarray}
M(Z \to f\bar{f}) &=&
\frac{1}{2}\bar{f}Z_{\mu}\bar{\psi}_f(\gamma_{\mu}g_{Vf} + \gamma_{\mu}
\gamma_5 g_{Af})\psi_f \;\;,  \nonumber \\
\bar{f}^2 &=& 4\sqrt{2}G_{\mu}m^2_Z = 0.54866(8)
\label{6}
\end{eqnarray}
In this amplitude we neglect such structures as the  weak
magnetic moment induced by e.-w. interaction. These structures are of the
order of $(\alpha/\pi s^2)(m_f/m_Z)^2$, where $m_f$ is the fermion mass,
that is far beyond the accuracy of the present and future experiments; even
for $b$-quark it is $\sim 10^{-5}$.

By definition the constants $g_{V,A}$ do not include the contribution from
the interaction in the final state due to the exchange of gluons (for
quarks) and photons (for quarks and leptons). The final state interaction
includes also the processes of  photon and gluon
emission. Corresponding corrections have nothing to do
with electroweak corrections and can be written separately.

\underline{Leptonic widths}

For the decay into charged leptons $l\bar{l}$ we
explicitly take into account the final state QED
interaction factor
\begin{equation}
\Gamma_l =4\Gamma_0[(g^{l}_{V})^2
(1+\frac{3}{4\pi}\bar{\alpha})+(g^{l}_{A})^2
(1+\frac{3}{4\pi}\bar{\alpha}-6\frac{m^2_l}{m^2_Z})]
%)4(g^2_{Al}+-6g^2_{Al}
%)  \;\;,
\label{7}
\end{equation}
where
\begin{equation}
\Gamma_0 = \frac{1}{24\sqrt{2}\pi} G_{\mu}m^3_Z = 82.945(12)
 \mbox{\rm MeV}\;\;.
\label{8}
\end{equation}
Second order QED corrections  $(\frac{\bar{\alpha}}{\pi})^2
\sim 10^{-6}$ are neglected. The term proportional to leptonic
 mass squared in
 eq.
(\ref{7}) is also negligible
 for $l = e, \mu$ (so we put $m_e = m_{\mu} = 0$) and is barely visible
only for $l = \tau$ $(m^2_{\tau}/m^2_Z = 3.8 \cdot 10^{-4})$.

For the neutrino decay
\begin{eqnarray}
\Gamma_{\nu} &=& 8g^2_{\nu} \Gamma_0\;\; ,  \nonumber  \\
g_{\nu} &=& g_{V\nu} = g_{A\nu}\;\; .
\label{9}
\end{eqnarray}

\underline{Hadronic widths}

For the decay into light quarks $q = u,d,s$ we neglect small effects due
to nonzero quark mass (i.e. we put $m_u = m_d = m_s = 0$) and take
into account the final state
 gluon exchange  up to the
third order \cite{13}, \cite{14}, \cite{20}, \cite{21},
the final state one photon exchange and the  interference of the photon
and gluon exchange \cite{100}.
These corrections
are  slightly
different for vector and axial channels.

For the decay into quarks we have
\begin{equation}
\Gamma_q = \Gamma(Z \to q\bar{q}) = 12[g^2_{Aq} R_{Aq} + g^2_{Vq}
R_{Vq}]\Gamma_0
\label{10}
\end{equation}
where factors $R_{A,V}$ are due to
the final state interaction. (In our previous papers we used letter $G$
instead of $R$ for these factors).  According to \cite{14}, \cite{20},
\cite{21}
\begin{eqnarray}
R_{Vq} &=& 1 + \frac{\hat{\alpha}_s}{\pi} +
\frac{3}{4} Q^2_q \frac{\bar{\alpha}}{\pi} - \frac{1}{4} Q^2_q
\frac{\bar{\alpha}}{\pi} \frac{\hat{\alpha}_s}{\pi} +  \nonumber  \\
&+&
[1.409 + (0.065 + 0.015 \ln t)\frac{1}{t}](\frac{\hat{\alpha}_s}{\pi})^2
-12.77(\frac{\hat{\alpha}_s}{\pi})^3
+12 \frac{\hat{m}^2_q}{m^2_Z} \frac{\hat{\alpha}_s}{\pi} \delta_{vm}
\label{11}
\end{eqnarray}
%\begin{eqnarray}
$$R_{Aq} = R_{Vq} - (2T_{3q})[I_2(t)(\frac{\hat{\alpha}_s}{\pi})^2 +
I_3(t)(\frac{\hat{\alpha}_s}{\pi})^3]
-$$
\begin{eqnarray}
-12 \frac{\hat{m}^{2}_{q}}{m^{2}_{Z}} \frac{\hat{\alpha}_s}{\pi}
 \delta_{vm} -
6\frac{\hat{m}^2_q}{m^2_Z} \delta^1_{am}
- 10 \frac{\hat{m}^2_q}{m^2_t}(\frac{\hat{\alpha}_s}{\pi})^2 \delta^2_{am}
\label{12}
\end{eqnarray}
where $\hat{m}_q$ is running quark mass (see below),
\begin{eqnarray}
\delta_{vm} = 1+8.7
(\frac{\hat{\alpha}_s}{\pi})+45.15(\frac{\hat{\alpha}_s}{\pi})^2,
\label{11101}
\end{eqnarray}
\begin{eqnarray}
\delta^1_{am} = 1 + 3.67(\frac{\hat{\alpha}_s}{\pi}) +(11.29 - \ln t)
(\frac{\hat{\alpha}_s}{\pi})^2,
\label{11102}
\end{eqnarray}
\begin{eqnarray}
\delta^2_{am} = \frac{8}{81}+\frac{\ln t}{54},
\end{eqnarray}
\begin{equation}
I_2(t) = -3.083 - \ln t + \frac{0.086}{t} + \frac{0.013}{t^2}\;\;,
\label{13}
\end{equation}
\begin{eqnarray}
I_3(t) &=& -15.988 - 3.722 \ln t + 1.917 \ln^2 t\;\;, \\ \nonumber
t &=& m^2_t/m^2_Z\;\;.
\label{14}
\end{eqnarray}
The terms of the order of $(\frac{\hat{\alpha}_s}{\pi})^3$ due to diagrams
with three gluons in the intermediate state have been calculated for
$R_{Vq}$ in ref.\cite{21}.
They have small numerical coefficients so that the net effect is of the
order of $10^{-5}$ and we have omitted these terms in expansion
(\ref{11}).\\
For $Z \to b\bar{b}$ decay the nonzero $b$-quark mass is not negligible and
produces contribution of the order of 1 MeV to
$\Gamma_b$ (i.e. of the order of 0.5--0.3\%). Gluonic corrections
effectively change the pole mass $m_b \simeq 4.7 \mbox{\rm GeV}$
 to the running mass
at scale $m_Z\;:\;\; m_b \to \hat{m}_b(m_Z)$.
We calculate $\hat{m}_b$ in terms of pole mass $m_b\;,\;\;
\hat{\alpha}_s(m_Z)$ and $\hat{\alpha}_s(m_b)$ using standard two loops
equation in $\overline{MS}$ scheme (see e.g. ref. \cite{101}).\\
For $Z \to c\bar{c}$ decay the running mass $\hat{m}_c(m_Z)$
 is expected to be
of the order of 0.5 GeV and corresponding contribution  to $\Gamma_c$ is of
the order of $0.05$ MeV. Actually we take into account this tiny effect in
LEPTOP because it is included in the other computer codes (ZFITTER).\\
In connection with $\Gamma_c$, let us note that the term $I_2(t)$ given by
eq. (\ref{13}) contains interference terms which appear at the order
$(\frac{\hat{\alpha} s}{\pi})^2$,  hence its negative sign. These terms have
three types of final states: one quark pair, one quark pair plus gluon, two
quark pairs. The last final state constitutes about 5 \% of the $I_2$ and
at the present level of experimental accuracy is negligibly small. However,
in principle, it calls for special care, especially when the two pairs
consist of quarks of different flavor, e.g.  $b\bar{b}c\bar{c}$. Such mixed
final states should be a subject of special negotiations between  theorists
and experimentalists.

\underline{Asymmetries}

a) Forward-backward asymmetry into $f\bar{f}$ channel is given by the
equation
\begin{equation}
A^{f\bar{f}}_{FB} = \frac{3}{4} A_e A_f
\label{18}
\end{equation}
where for light fermions
\begin{equation}
A_f = \frac{2g_{Af} g_{Vf}}{(g_{Af})^2 + (g_{Vf}
)^2}\;\;.
\label{19}
\end{equation}
For $b$-quark we take into account the effect of nonzero mass:
\begin{equation}
A_b = \frac{2g_{Ab} g_{Vb}}{[v^2g^2_{Ab} + \frac{1}{2}(3-v^2)g^2_{Vb}]} v \;
,
\label{20}
\end{equation}
where $v$ is the $b$-quark velocity:
\begin{equation}
v = \sqrt{1 - \frac{4 m^2_b(m^2_Z)}{m^2_Z}}\;\;.
\label{305}
\end{equation}
As was already mentioned,
it is impossible to separate a given quark channel from another one
unambiguously,
starting from the order $(\frac{\hat{\alpha}_s}{\pi})^2$,
just due to the possibility of creating an additional pair of
"foreign" quarks. So we prefer not to consider terms of the order of
$(\frac{\alpha_s}{\pi})^2$ in asymmetries at all. In this approximation the
ratio $g_V/g_A$ is not renormalized by the final state interaction.\\
b) Longitudinal polarization of $\tau$-lepton
\begin{equation}
P_{\tau} = -A_{\tau}
\label{21}
\end{equation}
c) The relative difference of total cross-section at $Z$ peak for left- and
right-handed electrons colliding with unpolarized positron beam
\begin{equation}
A_{LR} = \frac{\sigma_L - \sigma_R}{\sigma_L + \sigma_R} = A_e
\label{22}
\end{equation}

Other observables are defined in terms of $\Gamma_q$ and $\Gamma_l$ by
equations:

a) Hadronic width (up to very small
corrections) is given by the sum of five quark
channels:
\begin{equation}
\Gamma_h = \Gamma_u + \Gamma_d + \Gamma_c +
\Gamma_s + \Gamma_b \label{23}
\end{equation}

b) Total width:
\begin{equation}
\Gamma_Z = \Gamma_h + \Gamma_e + \Gamma_{\mu} + \Gamma_{\tau} +
3\Gamma_{\nu}
\label{24}
\end{equation}

c) Peak cross section of $e^+e^-$-annihilation into hadrons:
\begin{equation}
\sigma_h = \frac{12\pi}{M^2_Z} \frac{\Gamma_e\Gamma_h}{\Gamma^2_Z}
\label{25}
\end{equation}

d) Ratios
\begin{equation}
R_c = \frac{\Gamma_c}{\Gamma_h}~,~~~R_b = \frac{\Gamma_b}{\Gamma_h}~,
{}~~~ R_l = \frac{\Gamma_h}{\Gamma_l}~~~.
\label{26}
\end{equation}

\section{The $\bar{\alpha}$--Born approximation}

If we write the expressions for observables  in the Born
approximation in terms of $s$ and $c$  we
automatically include purely electromagnetic interaction. Thus we get:
\begin{equation}
(m_W/m_Z)^B = c
\label{28}
\end{equation}
\begin{equation}
(g_{Af})^B = T_{3f}
\label{29}
\end{equation}
\begin{equation}
(g_{Vf}/g_{Af})^B = 1-4|Q_f|s^2
\label{30}
\end{equation}

Substituting $(g_{V,A})^B$ into equations for
the widths and asymmetries from the
previous section we calculate the whole set of observables in $Z$ decay in
the Born approximation for electroweak interaction, but take into account
trivial pure electromagnetic and gluonic interaction in the final state and
the effect of the running of e.-m. coupling constant. Rather luckily for
LEPTOP
these equations reproduce
the precision experimental data for $Z$ decay and for
$m_W$ (Jan. 95) with the accuracy $1\sigma - 1.5 \sigma$ \cite{6}, \cite{7},
\cite{15}. (Note that the final state interaction  factors (eqs. (\ref{11})--
(\ref{12})) include a lot of  very small terms. One can neglect mass terms,
as well as the difference between  the vector
and axial channels eq.  (\ref{12}). Such simplified Born
approximation will still reproduce the data with practically the same
accuracy).

It is important that the Born approximation for "low"--energy observables
(parameters  of $Z$ boson decay and $m_W$) is the same for very different
models, hence the present experimental confirmation of the
$\bar{\alpha}$-Born approximation
is not sufficient
to prove the validity of the MSM or to choose between different
generalizations.

\section{Electroweak loop corrections}
\subsection{Hadron-free observables}

For hadron-free observables we write the result of one-loop e.-w.
calculations in the form suggested in ref. \cite{2}:
\begin{eqnarray}
m_W/m_Z = c+\frac{3c}{32\pi s^2(c^2-s^2)}\bar{\alpha}V_m(t,h) \nonumber \\
g_{Al} = -1/2-\frac{3}{64\pi s^2c^2}\bar{\alpha}V_A(t,h) \nonumber \\
\\
R =
g_{Vl}/g_{Al} =
1- 4s^2 + \frac{3}{4\pi(c^2 - s^2)}\bar{\alpha}V_R(t,h)
\nonumber
\\
g_{\nu} = 1/2+ \frac{3}{64\pi s^2c^2}\bar{\alpha}V_{\nu}(t,h)
\nonumber
\label{31}
\end{eqnarray}
where $t=m_t^2/m_Z^2$, $h= m_H^2/m_Z^2$
and functions $V_i(t,h)$ are normalized by the condition
\begin{equation}
V_i(t,h)\simeq t
\label{32}
\end{equation}
at $t\gg 1$.

Each function $V_i$ is a sum of five terms
\begin{equation}
V_i(t,h) = t + T_i(t)+H_i(h)+C_i+\delta V_i(t,h)
\label{33}
\end{equation}

The functions $t + T_i(t)$ are due to  $(t,b)$ doublet contribution
to self-energies  of the vector bosons, $H_i(h)$ is due to $W^{\pm},Z$ and
$H$ loops, the constants $C_i$ include light fermion contribution both to
self energies, vertex and box diagrams.

To give explicit expressions for $T_i(t)$ and $H_i(h)$ it is convenient to
introduce three auxiliary functions $F_t(t)$, $F_h(h)$ and $F'_h(h)$ (see
subsection 4.3  for their expressions).

The equations for $T_i(t)$ and $H_i(h)$ have the form \cite{2}:
$$
\underline{i = m}
$$
$$
T_m(t) = (\frac{2}{3} - \frac{8}{9}s^2)\ln t - \frac{4}{3} + \frac{32}{9}
s^2 +
$$
$$
+ \frac{2}{3}(c^2 - s^2)(\frac{t^3}{c^6} - \frac{3t}{c^2} + 2) \ln \mid 1 -
\frac{c^2}{t} \mid +
$$
\begin{equation}
+ \frac{2}{3} \frac{c^2-s^2}{c^4} t^2 + \frac{1}{3} \frac{c^2 - s^2}{c^2} t
+ [\frac{2}{3} - \frac{16}{9} s^2 -
\frac{2}{3} t - \frac{32}{9} s^2t] F_t(t)\;;
\label{34}
\end{equation}
$$
H_m(h) = -\frac{h}{h-1} \ln h + \frac{c^2 h}{h-c^2}\ln \frac{h}{c^2} -
\frac{s^2}{18c^2} h - \frac{8}{3}s^2 +
$$
$$
+ (\frac{h^2}{9} -\frac{4h}{9} + \frac{4}{3})F_h(h) -
$$
$$
-(c^2 - s^2)(\frac{h^2}{9c^4} - \frac{4}{9} \frac{h}{c^2} + \frac{4}{3})
F_h(\frac{h}{c^2}) +
$$
$$
+ (1.1205 - 2.59\delta s^2)\;;
$$
where $\delta s^2 = 0.23117 - s^2$ (note the sign!).
$$
\underline{i = A}
$$
$$
T_A(t) = \frac{2}{3} - \frac{8}{9} s^2 + \frac{16}{27} s^4 - \frac{1 -
2tF_t(t)}{4t-1} +
$$

\begin{equation}
+(\frac{32}{9} s^4 - \frac{8}{3} s^2 - \frac{1}{2})[ \frac{4}{3}tF_t(t) -
\frac{2}{3}(1+2t)\frac{1-2tF_t(t)}{4t-1}]
\label{35}
\end{equation}
$$
H_A(h) = \frac{c^2}{1-c^2/h}\ln \frac{h}{c^2} - \frac{8h}{9(h-1)}\ln h +
$$
$$
+(\frac{4}{3} - \frac{2}{3}h+ \frac{2}{9}h^2)F_h(h) - (\frac{4}{3} -
\frac{4}{9}h + \frac{1}{9} h^2) F'_h(h)-
$$
$$
-\frac{1}{18}h + [0.7751 + 1.07\delta s^2]
\;.$$

$$
\underline{i = R}
$$
$$
T_R(t) = \frac{2}{9}\ln t + \frac{4}{9} -
\frac{2}{9}(1+ 11t)F_t(t)\;;
$$
\begin{equation}
H_R(h) = -\frac{4}{3} - \frac{h}{18} + \frac{c^2}{1 - c^2/h}\ln
\frac{h}{c^2} +
\label{36}
\end{equation}
$$
+ (\frac{4}{3} - \frac{4}{9}h + \frac{1}{9}h^2)F_h(h) + \frac{h}{1-h}\ln h +
$$
$$
+ (1.3590 + 0.51\delta s^2)
$$
$$
\underline{i=\nu}
$$
$$
T_{\nu}(t) = T_A(t)
$$
\begin{equation}
H_{\nu}(h) = H_A(h)
\label{37}
\end{equation}

The constants  $C_i$ are rather complicated  functions of $\sin^2 \theta$
and we present their numerical values at $s^2 = 0.23117- \delta s^2$
\begin{equation}
C_m = -1.3500 + 4.13 \delta s^2
\label{501}
\end{equation}
\begin{equation}
C_A = -2.2619 - 2.63 \delta s^2
\label{502}
\end{equation}
\begin{equation}
C_R = -3.5041 - 5.72 \delta s^2
\label{503}
\end{equation}
\begin{equation}
C_{\nu} = -1.1638 - 4.88\delta s^2
\label{504}
\end{equation}

Functions $\delta V_i(t,h)$ in eq. (\ref{33}) are small corrections to
$V_i$.  They can be separated into five classes:

\begin{enumerate}
\item{Corrections due to $W$-boson $\delta_W\alpha$ and $t$-quark
$\delta_t\alpha$
polarization of e.-m. vacuum are traditionally not included into
the running of $\alpha(q^2)$. We
also prefer to consider them together with
electroweak corrections. This is especially reasonable because $W$
contribution $\delta_W\alpha$ is gauge dependent. Here and for all other
e.-w.  corrections we use 't Hooft--Feynman gauge. The corrections
$\delta_W\alpha$ and $\delta_t\alpha$ were neglected in ref. \cite{2} and
were introduced in ref. \cite{7}.
\begin{equation}
\delta_1 V_m(t,h) =
-\frac{16}{3} \pi s^4 \frac{1}{\alpha}(\delta_W\alpha + \delta_t \alpha)
= -0.055 \;\; ,
\label{405}
\end{equation}
\begin{equation}
\delta_1 V_R(t,h) = -\frac{16}{3} \pi s^2 c^2
\frac{1}{\alpha}(\delta_W\alpha + \delta_t\alpha) = -0.181 \;\; ,
\label{38}
\end{equation}
\begin{equation}
\delta_1 V_A(t,h) = \delta_1 V_{\nu}(t,h) = 0\;,
\label{306}
\end{equation}
where
\begin{equation}
\frac{\delta_W\alpha}{\alpha} = \frac{1}{2\pi} [(3 + 4c^2)(1
-\sqrt{4c^2-1} \arcsin \frac{1}{2c}) - \frac{1}{3}] = 0.0686 \; ,
\label{307}
\end{equation}
\begin{equation}
\frac{\delta_t\alpha}{\alpha} = -\frac{4}{9\pi}[(1+2t)F_t(t) - \frac{1}{3}]
\simeq - \frac{4}{45\pi}\frac{1}{t} + ... \simeq
- 0.00768 \;\; .
\label{308}
\end{equation}
(Here and in the equations (\ref{309}) -- (\ref{319}) we use $m_t = 175$
GeV for numerical estimates.)}

\item{Corrections of the order of
$\bar{\alpha}\hat{\alpha}_s$ due to the gluon exchange
in the quark e.-w. loops \cite{16} (see also \cite{3}). For the two
generations of light quarks $(q = u,d,s,c)$ it gives:
\begin{equation}
\delta^q_2 V_m(t,h)
= 2 \cdot [\frac{4}{3}(\frac{\hat{\alpha}_s(m_Z)}{\pi})(c^2-s^2)\ln c^2] =
(\frac{\hat{\alpha}_s(m_Z)}{\pi})(-0.377)
\label{309}
\end{equation}
\begin{equation}
\delta^q_2 V_A(t,h) = \delta^q_2 V_\nu(t,h) = 2 \cdot
 [\frac{4}{3}(\frac{\hat{\alpha}_s(m_Z)}{\pi})
(c^2-s^2 + \frac{20}{9} s^4)]=
(\frac{\hat{\alpha}_s(m_Z)}{\pi})(1.750)
\label{310}
\end{equation}
\begin{equation}
\delta^q_2 V_R(t,h) = 0
\label{311}
\end{equation}

The result of calculation for third generation is rather complicated
function of top-mass:
$$
 \delta^t_2 V_m(t,h) = \frac{4}{3} (\frac{\hat{\alpha}_s (m_t)}{\pi})
\{tA_1 (\frac{1}{4t})+(1-\frac{16}{3}s^2)tV_1(\frac{1}{4t})
+(\frac{1}{2}-\frac{2}{3}s^2) \ln t
$$
\begin{equation}
-4(1-\frac{s^2}{c^2}) \times tF_1(\frac{c^2}{t})-4\frac{s^2}{c^2}tF_1 (0)\}
\label{11103}
\end{equation}
$$
\delta ^t_2 V_A (t,h) = \delta ^t_2 V_\nu (t,h) =
 \frac{4}{3}(\frac{\hat{\alpha}_s (m_t)}{\pi})
\{tA_1(\frac{1}{4t})-\frac{1}{4}A^{'}_{1} (\frac{1}{4t})+
$$
\begin{equation}
+(1-\frac{8}{3}s^2 )^2[tV_1 (\frac{1}{4t})-
\frac{1}{4}V^\prime _1 (\frac{1}{4t})]+(\frac{1}{2}-\frac{2}{3}s^2 +
 \frac{4}{9}s^4 )-4tF_1 (0)\}
\label{11104}
\end{equation}

\begin{equation}
\delta^t_2 V_R(t,h) = \frac{4}{3} (\frac{\hat{\alpha}_s (m_t)}{\pi})\{tA_1
 (\frac{1}{4t})
-\frac{5}{3}tV_1 (\frac{1}{4t})-4tF_1(0)+\frac{1}{6} \ln t\},
\label{11105}
\end{equation}
where
\begin{equation}
\hat{\alpha}_s (m_t) =
\frac{\hat{\alpha}_s (\zm)}
{1 +\frac{23}{12 \pi}{\hat{\alpha}_s (\zm)} \ln t}
\label{11105a}
\end{equation}

Note that $\delta _2 V_i $, unlike $V_i$ themselves, do not depend on $m_H$.
 The
 functions
$V_1 (r)$, $A_1 (r)$ and $F_1 (x)$ have a very complicated form and were
 calculated in ref. \cite{16}.
For our purpose we can use their rather simple Taylor expansion for
 small values
 of their arguments
(we have added cubic terms to the expansion presented in ref. \cite{16}):

\begin{equation}
V_1 (r) = r[4\zeta(3)-\frac{5}{6}]+r^2 \frac{328}{81}+r^3
 \frac{1796}{25 \times
 27}+...
\label{11106}
\end{equation}

\begin{equation}
A_1 (r) = [-6\zeta (3)-3\zeta (2) + \frac{21}{4}] + r[4\zeta (3) -
 \frac{49}{18}]+
r^2 \frac{689}{405} + r^3 \frac{3382}{7 \times 25 \times 27} + ...
\label{11107}
\end{equation}

$$
F_1 (x)=[-\frac{3}{2} \zeta (3) - \frac{1}{2}\zeta (2) +
 \frac{23}{16}]+x[\zeta
 (3)-
\frac{1}{9} \zeta (2) - \frac{25}{72}]+
$$
\begin{equation}
+x^2[\frac{1}{8}\zeta (2) + \frac{25}{3 \times 64}]+x^3
[\frac{1}{30} \zeta (2) +\frac{5}{72}]+ ...
\label{11108}
\end{equation}
where $\zeta (2) = \pi ^2 /6, \zeta (3) = 1.2020569 ....$

By summing contributions of (\ref{11103})-(\ref{11105}) and using expansions
 (\ref{11106})-(\ref{11108})
one obtains up to terms $0(1/t^3)$:

\begin{equation}
\delta^t_2 V_m(t,h) = (\frac{\hat{\alpha}_s(m_t)}{\pi})[-2.86t + 0.46\ln t -
 1.540 - \frac{0.68}{t} - \frac{0.21}{t^2}] =
\frac{\hat{\alpha}_s(m_t)}{\pi}(-11.67)
\label{312}
\end{equation}
\begin{equation}
\delta^t_2 V_A(t,h) = \delta^t_2 V_\nu (t,h) =
(\frac{\hat{\alpha}_s(m_t)}{\pi})[-2.86t + 0.493 - \frac{0.19}{t} -
\frac{0.05}{t^2}]=\frac{\hat{\alpha}_s(m_t)}{\pi}(-10.10)
\label{313}
\end{equation}
\begin{equation}
\delta^t_2
V_R(t,h) = (\frac{\hat{\alpha}_s(m_t)}{\pi})[-2.86t + 0.22 \ln t - 1.513 -
\frac{0.42}{t} - \frac{0.08 }{t^2}]=\frac{\hat{\alpha}_s(m_t)}{\pi}(-11.88)
\label{314}
\end{equation}
As these formulas are valid for $m_t > m_Z$, in order
to go to the region $m_t < m_Z$ we either put
$\delta^t_2 V_i = 0$ or use massless limit in which $\delta^t_2 V_i =
\frac{1}{2}\delta^q_2 V_i$. In any case this region gives tiny
contribution into global fit.}
\item{Corrections of the order of
$\bar{\alpha}\hat{\alpha} ^2_s$ were calculated for leading term
$\bar{\alpha} \hat{\alpha}^2_s t$ only \cite{17}
\begin{equation}
\delta_3 V_i(t,h) \simeq -(2.38 - 0.18 N_f) \hat{\alpha}^2_s(m_t)t
\simeq -1.48 \hat{\alpha}^2_s (m_t)t = -0.07
\label{315}
\end{equation}
for $N_f = 5$ light flavors. (For numerical estimate we use
$\hat{\alpha}_s(m_Z)=0.125$.)}
\item{The leading correction of the order of
$\bar{\alpha}^2 t^2$ which originates from
the second order Yukawa interaction
was calculated in ref.  \cite{18a}-\cite{24b}
\begin{equation}
\delta_4 V_i(t,h) =
-\frac{\bar{\alpha}}{16\pi s^2c^2} A(\frac{h}{t}) \cdot t^2
\label{316}
\end{equation}

Function $A(\frac{h}{t})$ is given in the table \ref{tab1}
\cite{24a}-\cite{24b} for $m_H/m_t < 4$. We use expansion
 from \cite{18a}-\cite{18b} for $m_H / m_t >4$:
$$
A(\frac{h}{t}) = \frac{49}{4} + \pi^2 + \frac{27}{2} \ln r +
 \frac{3}{2} \ln^2 r + \frac{1}{3}r(2-12\pi^2 +12\ln r-27\ln^2 r) +
$$
\begin{equation}
+\frac{1}{48}r^2(1613 - 240\pi^2 -1500\ln r-720\ln^2 r),
\label{316a}
\end{equation}
 where $r=t/h$.
  For $m_t = 175$ GeV and $m_H = 300$ GeV one has
$A = 8.9$ and $\delta_4V_i(t,h) = -0.11$.}

\item{In the second order in e.-w. interactions there appears quadratic
dependence on the higgs mass \cite{19}.
\begin{equation}
\delta_5 V_m
=\frac{\bar{\alpha}}{24\pi}(\frac{m_H^2}{m_Z^2})\times \frac{0.747}{c^2}
 = 0.0011
\label{317}
\end{equation}
\begin{equation}
\delta_5 V_A = \delta_5 V_\nu
=\frac{\bar{\alpha}}{24\pi}(\frac{m_H^2}{m_Z^2})\times \frac{1.199}{s^2}
= 0.0057
\label{318}
\end{equation}
\begin{equation}
\delta_5 V_R =-\frac{\bar{\alpha}}{24\pi}(\frac{m_H^2}{m_Z^2})\frac{c^2 -s^2}
{s^2 c^2}\times 0.973 = -0.0032 \;\; .
\label{319}
\end{equation}


(For numerical estimates we use $m_H = 300$ GeV.)}
\end{enumerate}

\subsection{$Z$ boson decay into hadrons}

For the partial width of the $Z$ decay into a pair of quarks
$q\bar{q}$ ($q = u, d, s, c, b$) we use the equation (\ref{10})
$$
\Gamma_q = 12[g^2_{Aq}R_{Aq} +g^2_{Vq}R_{Vq}]\Gamma_0 \;\; ,
$$
where e.-w. radiative corrections are included into $g_{Vq}$ and $g_{Aq}$
\begin{equation}
g_{Aq} = T_{3q}[1+\frac{3\bar{\alpha}}{32\pi s^2 c^2}V_{Aq}(t,h)]
\label{320}
\end{equation}
\begin{equation}
g_{Vq}/g_{Aq} = 1-4|Q_q|s^2 +\frac{3|Q_q|}{4\pi(c^2
-s^2)}\bar{\alpha}V_{Rq}(t,h) \;\; .
\label{321}
\end{equation}
The functions $V_{Aq}(t,h)$ and $V_{Rq}(t,h)$ in the one-loop e.-w-
approximation are related to the functions $V_A(t,h)$ and $V_R(t,h)$
from leptonic decays \cite{5}:
%$$
\begin{equation}
V_{Au}(t,h) = V_{Ac}(t,h) = V_{A}(t,h) + \frac{128\pi s^3 c^3}{3 \bar{\alpha}}
 (F_{Al}+F_{Au})
\label{322}
\end{equation}

%$$
\begin{equation}
V_{Ad}(t,h) = V_{As}(t,h) = V_{A}(t,h) + \frac{128\pi s^3 c^3}{3 \bar{\alpha}}
 (F_{Al}-F_{Ad})
%$$
\label{323}
\end{equation}
%$$
\begin{eqnarray}
V_{Ru}(t,h) = V_{Rc}(t,h) = V_{R}(t,h)+ \frac{16\pi sc(c^2 - s^2)}{3
 \bar{\alpha}} \times \\ \nonumber
 \times [F_{Vl}-(1-4s^2)F_{Al} + \frac{3}{2}(-(1-\frac{8}{3}s^2 )F_{Au}
+F_{Vu})]
\label{324}
\end{eqnarray}
%$$
\begin{eqnarray}
V_{Rd}(t,h) = V_{Rs}(t,h) = V_{R}(t,h)+ \frac{16\pi sc(c^2 - s^2)}{3
 \bar{\alpha}} \times \\ \nonumber
\times [F_{Vl}-(1-4s^2)F_{Al} + 3((1-\frac{4}{3}s^2 )F_{Ad}-F_{Vd})]
\label{325}
\end{eqnarray}
where:
\begin{equation}
F_{Al} = \frac{\bar{\alpha}}{4\pi}(3.0088 + 16.4 \delta s^2)\;,
\label{741}
\end{equation}
\begin{equation}
F_{Vl} = \frac{\bar{\alpha}}{4\pi}(3.1868 + 14.9 \delta s^2)\;,
\label{742}
\end{equation}
\begin{equation}
F_{Au} = - \frac{\bar{\alpha}}{4\pi}(2.6792 + 14.7 \delta s^2)\;,
\label{743}
\end{equation}
\begin{equation}
F_{Vu} = - \frac{\bar{\alpha}}{4\pi}(2.7319 + 14.2 \delta s^2)\;,
\label{744}
\end{equation}
\begin{equation}
F_{Ad} =  \frac{\bar{\alpha}}{4\pi}(2.2212 + 13.5 \delta s^2)\;,
\label{745}
\end{equation}
\begin{equation}
F_{Vd} =  \frac{\bar{\alpha}}{4\pi}(2.2278 + 13.5 \delta s^2)\;.
\label{746}
\end{equation}

The five digit accuracy of the above numbers is purely arithmetical.
The physical uncertainties (caused by the neglect of the higher loop
corrections) are at the level of the third digit.

The difference $V_{iq} - V_i$ (where $i=A,R$) is due to different
e.-w.  corrections to the vertices $Zq\bar{q}$ and $Zl\bar{l}$.

The oblique corrections of the order of $\hat{\alpha}_s$,
$\hat{\alpha}_s^2 t$ and $\bar{\alpha} t^2$
 to the $V_{Aq}(V_{Rq})$ are the same
as in the case of $V_A$ and $V_R$. But for $Z$-boson decay into pair
$q\bar{q}$ there are also additional $\hat{\alpha}_s$ corrections to the
vertices that have not been calculated yet.
That brings additional uncertainty
into the theoretical accuracy.

For $Z\to b\bar{b}$ decays we have to take into account
 corrections to the $Z\to
 b\bar{b}$ vertex which
depend on $t$ \cite{22}, \cite{23}

\begin{equation}
V_{Ab}(t,h) =
 V_{Ad}(t,h)-\frac{8s^2 c^2}{3(3-2s^2)}(\phi (t) + \delta \phi (t))
 ,
\label{11109}
\end{equation}
\begin{equation}
V_{Rb}(t,h) = V_{Rd}(t,h)-\frac{4s^2 (c^2 -s^2 )}{3(3-2s^2)}(\phi (t) + \delta
 \phi (t))
\label{11110}
\end{equation}
where for $\phi(t)$ we use the following expansion \cite{22}
$$
\phi(t) = \frac{3-2s^2}{2s^2 c^2}\left\{t+c^2[2.88 ln\frac{t}{c^2} -6.716 +
\right.
$$
\begin{equation}
+\frac{1}{t}(8.368 c^2 \ln \frac{t}{c^2}-3.408 c^2)+
 \frac{1}{t^2}(9.126 c^4
\ln \frac{t}{c^2}+2.26 c^4) +
\label{402}
\end{equation}
$$
\left. +\frac{1}{t^3}(4.043 c^6 \ln \frac{t}{c^2} +7.41 c^6)
 + ... \right\}
$$
and for $\delta\phi(t)$ we use the leading approximation calculated in ref.
\cite{23} and \cite{18a}-\cite{24b},
\begin{equation}
\delta\phi(t) =
\frac{3-2s^2}{2s^2c^2}\left
\{-\frac{\pi^2}{3}(\frac{\hat{\alpha}_s(m_t)}{\pi})
t +\frac{1}{16s^2c^2}(\frac{\bar{\alpha}}{\pi})t^2
\tau_b^{(2)}(\frac{h}{t})\right\} \;\; ,
\label{403}
\end{equation}
where the function $\tau_b^{(2)}$ is given by the table \ref{tab1}
 \cite{24a}-\cite{24b} for $m_H / m_t <4$.
 For $m_H / m_t >4$ we use the expansion \cite{18a}-\cite{18b}:
$$
\tau_b^{(2)}(\frac{h}{t}) = \frac{1}{144}[311+24\pi^2+282\ln r+90\ln^2 r
-4r(40+6\pi^2+15\ln r+18\ln^2 r) +
$$
\begin{equation}
+\frac{3}{100}r^2(24209-6000\pi^2-45420\ln r-18000\ln^2 r)],
\label{403a}
\end{equation}
where $r=t/h$.
  For $m_t = 175$ GeV and
 $m_H = 300 $ GeV
$$ \tau_b^{(2)} = 1.245\;\; .
$$

\underline{Asymmetries}
are calculated by using eqs. (\ref{18}) -- (\ref{22})
with the loop
corrected values of $g_A$ and $g_V$.

\subsection{Auxiliary functions $F_t$ and $F_h$}

The functions $F_t(t)$ and $F_h(h)$ are used in eqs. (\ref{34}) --
(\ref{36}).


\begin{equation}
F_t(t) = \left\{ \begin{array}{ccc}
2(1-\sqrt{4t-1} \arcsin \frac{1}{\sqrt{4t}}) & , & 4t > 1 \\
 & & \\
2(1-\sqrt{1-4t} \ln \frac{1+\sqrt{1-4t}}{\sqrt{4t}}) & , & 4t < 1
\end{array}
\right.
\label{irok1}
\end{equation}

\begin{equation}
F_h(h) = \left\{ \begin{array}{ccc}
1+(\frac{h}{h-1}-\frac{h}{2})\ln~ h + h\sqrt{1-\frac{4}{h}}
\ln(\sqrt{\frac{h}{4}-1} +\sqrt{\frac{h}{4}}) & , & h > 4 \\
 & & \\
1+(\frac{h}{h-1}-\frac{h}{2})\ln~ h - h\sqrt{\frac{4}{h}-1}
\arctan \sqrt{\frac{4}{h}-1} & , & h < 4
\end{array}
\right.
\label{irok2}
\end{equation}

\begin{equation}
F'_h(h) = \left\{ \begin{array}{ccc}
-1+\frac{h-1}{2}\ln~ h +(3-h)\sqrt{\frac{h}{h-4}}\ln(\sqrt{\frac{h}{4}-1}
+\sqrt{\frac{h}{4}}) & , & h > 4  \\
 & & \\
-1+\frac{h-1}{2}\ln~ h
+(3-h)\sqrt{\frac{h}{4-h}}\arctan(\sqrt{\frac{4-h}{h}})& , & h < 4
\end{array}
\right.
\label{irok3}
\end{equation}


\newpage
\begin{table}[h]\centering
\caption[]
{ Functions $A(\frac{m_H}{m_t})$ and $\tau^{(2)}(\frac{m_H}{m_t})$
from \cite{24a}-\cite{24b}.
  }
\label{tab1}
\vspace{0.5mm}
\begin{tabular}{|r|r|r|}
\hline
 $\frac{m_H}{m_t}$ & $A(\frac{m_H}{m_t})$ & $\tau^{(2)}(\frac{m_H}{m_t})$
 \\ \hline
  .00  &    .739  & 5.710 \\
  .10  &   1.821  & 4.671 \\
  .20  &   2.704  & 3.901 \\
  .30  &   3.462  & 3.304 \\
  .40  &   4.127  & 2.834 \\
  .50  &   4.720  & 2.461 \\
  .60  &   5.254  & 2.163 \\
  .70  &   5.737  & 1.924 \\
  .80  &   6.179  & 1.735 \\
  .90  &   6.583  & 1.586 \\
 1.00  &   6.956  & 1.470 \\
 1.10  &   7.299  & 1.382 \\
 1.20  &   7.617  & 1.317 \\
 1.30  &   7.912  & 1.272 \\
 1.40  &   8.186  & 1.245 \\
 1.50  &   8.441  & 1.232 \\
 1.60  &   8.679  & 1.232 \\
 1.70  &   8.902  & 1.243 \\
 1.80  &   9.109  & 1.264 \\
 1.90  &   9.303  & 1.293 \\
 2.00  &   9.485  & 1.330 \\
 2.10  &   9.655  & 1.373 \\
 2.20  &   9.815  & 1.421 \\
 2.30  &   9.964  & 1.475 \\
 2.40  &  10.104  & 1.533 \\
 2.50  &  10.235  & 1.595 \\
 2.60  &  10.358  & 1.661 \\
 2.70  &  10.473  & 1.730 \\
 2.80  &  10.581  & 1.801 \\
 2.90  &  10.683  & 1.875 \\
 3.00  &  10.777  & 1.951 \\
 3.10  &  10.866  & 2.029 \\
 3.20  &  10.949  & 2.109 \\
 3.30  &  11.026  & 2.190 \\
 3.40  &  11.098  & 2.272 \\
 3.50  &  11.165  & 2.356 \\
 3.60  &  11.228  & 2.441 \\
 3.70  &  11.286  & 2.526 \\
 3.80  &  11.340  & 2.613 \\
 3.90  &  11.390  & 2.700 \\
 4.00  &  11.436  & 2.788 \\
\hline
\end{tabular}
\end{table}


\newpage
%\large
%\begin{center}
%{\bf Part II}
%
%\vspace{3mm}

\chapter{LEPTOP THEORETICAL UNCERTAINTIES}

\normalsize
\section{General remarks}

With the increasing experimental accuracy of
the precision measurements at LEP
and SLC the question of the accuracy of
the theoretical  predictions  becomes one of
great importance. There are several
major sources of uncertainties:

1. The degree of accuracy with which
any given observable is extracted from the
experimental data. This involves theoretical models and computer simulations
(Monte Carlo etc.) which deal with purely electromagnetic and strong
interactions, for instance, in extracting $m_W$ from the
$p\bar{p}$-collider data, or $Z$-observables (in particular for separate
quark channels) from $e^+e^-$-data.  We call them "extraction"
uncertainties.

2. Uncertainties in the input parameters ($\bar{\alpha}$, $m_Z$,
$G_{\mu}$, $m_b$, $m_{\tau}$ etc.),
so  called "parametric" uncertaities.

3. The degree of accuracy with which the theoretical expression for a given
electroweak observable is derived within the MSM or  some of its
generalizations ("theoretical" uncertainties).

In this paper we shall mainly deal with the third kind of uncertainties
(in the framework of the MSM),
although for some of observables, such as $R_b$ or $A^b_{FB}$ or $Q_{FB}$,
they may  not be fully separable from
those of the first kind. One also has to keep in
mind that some of the physical quantities we shall discuss such as
$\Gamma_h, \Gamma_e, g_A$, are,  strictly
speaking, not primary, but derived observables.

There are several types of observables with specific uncertainties for
each type:

1. "hadron-free" observables: $m_W\;\; (m_W/m_Z)$, $\Gamma_l$, $g_A$,
$g_V/g_A$.

2. Observables of hadronic decays of $Z$ boson.

3. Observables of the low-energy weak processes: $\nu e$-scattering, $\nu
N$-scattering, atomic parity violation parameters.

Let us finish this introductory section with the estimates of the
"parametric" uncertainties for the $Z$-decay parameters and
the $W$ boson mass. Among the three basic input parameters $\bar{\alpha}\;,
G_{\mu}$ and $m_Z$ the largest uncertainty comes from $\bar{\alpha} \equiv
\alpha(m_Z): \bar{\alpha}^{-1} = 128.87(12)$. The relative uncertainty in
$m^2_Z$ is an order of magnitude smaller $(m_Z = 91.1887(44))$; that in
$G_{\mu}$ is 50 times smaller $(G_{\mu} = 1.16639(2) \cdot 10^{-5}
\mbox{\rm GeV}^{-2})$.
 Induced by the uncertainty in $\bar{\alpha}$ the absolute
uncertainty in $m_W/m_Z$ is close to $ 2\cdot 10^{-4}$, that in $g_V/g_A$ is
close to $1\cdot 10^{-3}$, in $\Gamma_h$ it equals  0.8 MeV and in
$\sigma_h$ it is 0.001 nb. Finally, in $\Gamma_b$ it is 0.15 MeV.
All these uncertainties come mainly from the uncertainty of the
$\bar{\alpha}$-Born approximation due to that in the parameter $s^2 \equiv
\sin^2\theta = 0.2312(3)$.

Let us stress that relative parametric uncertainty in $g_V/g_A$ is quite
large:  about 1.5\%.  The experimental accuracy with which $g_V/g_A$ is
measured is becoming close to the uncertainty due to $\delta\bar{\alpha}$.
Improvement of the accuracy of $\bar{\alpha}$ calls for new measurement of
$e^+e^- \to hadrons$ cross-section below $J/\psi$ resonanse. Measurement of
$(g-2)_{\mu}$ with high accuracy will also help.

\section{Uncertainties in $V_i$}

Theoretical uncertainties come from as yet not calculated Feynman diagrams
or not calculated terms in a given diagram. The smallest calculated terms in
the $W$ and $Z$  selfenergies are
the virtual higgs corrections of the order
$\alpha^2_W t^2$ \cite{18a}-\cite{24b}, and the two gluon correction
$\alpha_W\hat{\alpha}^2_s t$ \cite{17} to the top quark loop. These
corrections produce universal shifts $\delta V_i$ in the functions
$V_i$ which describe radiative corrections in the approach developed
in \cite{2}:  \begin{equation} \delta V^{t^2}_i =
-\frac{\bar{\alpha}}{\pi} \frac{A(m_h/m_t)t^2}{16 s^2c^2} \label{101}
\end{equation}
\begin{equation}
\delta V^{\alpha^2_s}_i = -1.2 \hat{\alpha}^2_s(m_t)t
\label{102}
\end{equation}
Here  and in what follows we denote by $\delta$ the corrections, while by
$\Delta$ -- the uncertainties.

According to \cite{200}, still not
completely  calculated correction to (\ref{101}), of the order of
$\bar{\alpha}t$, can be numerically close to (\ref{101}).
The same, according to the literature, is valid for uncertainties in eq.
(\ref{102}). In order to have correct asymptotic behaviour of the
uncertainties at $t\gg 1$ we assume that uncertainties correslponding to
expressions (\ref{101}) and (\ref{102}) are derived by multiplying both of
them by $2/t$.
 For $m_H = 300$ GeV $,\;\; m_t = 175$ GeV
and $ \hat{\alpha}_s(m_Z) = 0.125$
our estimates are  $\Delta V_i^{t^2} = \pm 0.06\;,
\Delta V_i^{\alpha^2_s} = \pm 0.03$; corresponding
uncertainties in the observables are
presented in the Table 1.

\section{Uncertainties in hadronic $Z$ decays}

In hadronic decays we separate decays into light quarks $q\bar{q}$ (where $q
= u,d,s,c)$ and the decay into $b\bar{b}$. Concerning $\Gamma_q$ the next
not yet calculated Feynman diagrams are the gluon corrections to the $Zqq$
electroweak vertex "triangle" involving $W$ or $Z$. The electroweak
corrections to the vertices in the $Z \to qq$ decays are given by the
following equation:
\begin{equation}
\delta \Gamma_q = 24sc\Gamma_0
2T^q_3\{(1-4|Q_f|s^2) F_{Vq} + F_{Aq}\}\;\;.
\label{103}
\end{equation}

 Substituting numbers in eq. (\ref{103}) we get:
\begin{equation}
\Delta\Gamma_u = \Delta\Gamma_c = -1.9 \; \mbox{\rm MeV}\;\;,
\label{104}
\end{equation}
\begin{equation}
\Delta\Gamma_d = \Delta\Gamma_s = -2.0 \; \mbox{\rm MeV}\;\;.
\label{105}
\end{equation}

Taking into account 4 light quark flavors and  multiplying the results
(\ref{104}) and (\ref{105}) by $\hat{\alpha}_s(m_Z)/\pi$ we get the following
estimate of the uncertainty in $Z$ width into light quarks due to the
gluonic perturbation of $Zqq$ vertex:
\begin{equation}
\sum^4_1 \Delta\Gamma_q^{\bar{\alpha}
\hat{\alpha}_s} = \pm 0.3 \; \mbox{\rm MeV}
\label{106}
\end{equation}

For the $Z \to b\bar{b}$ decay the leading term $\sim
\alpha_W\hat{\alpha}_s t$
\cite{23},
and the potentially  next to the leading term
$\sim \alpha_W \hat{\alpha}_s\ln t$
\cite{201} come from virtual gluons in the
$ttW$ vertex triangle. Calculated in \cite{23} the leading $\alpha_s$
correction to electroweak vertex lead to the following
 correction to $\Gamma_b$:
\begin{equation}
\Delta
\Gamma_b^{\bar{\alpha}\hat{\alpha}_s t} = -\frac{\bar{\alpha}}{\pi} \Gamma_0
\frac{(3 - 2s^2)}{2s^2c^2} (-\frac{\pi^2}{3})
\frac{\hat{\alpha}_s(m_t)}{\pi} t = 0.7 \; \mbox{\rm MeV}\;\;,
\label{107}
\end{equation}
where for numerical estimate we substitute $m_t$ = 175 GeV.

Calculated in \cite{201} $\hat{\alpha}_s$ correction to $\ln t$ term appears
to be much smaller:
\begin{equation}
\delta \Gamma_b^{\bar{\alpha}\hat{\alpha}_s\ln t} =
-\frac{\bar{\alpha}}{\pi} \Gamma_0 \frac{(3 - 2 s^2)^2}{16 s^2c^2}
\frac{7}{81} \frac{\hat{\alpha}_s(m_t)}{\pi} \ln t \simeq 0.002 \;
\mbox{\rm MeV}
\label{108}
\end{equation}

If we suppose that uncalculated terms are of the order of the last
calculated one we can safely neglect this type of uncertainties.

Uncertainty in $m_b$ also shows itself in $\Gamma_{b}$
value.  However, it is comparatively small. Even if we assume that $m_b$ is
known with accuracy $\pm 300$ MeV,
 the shift in $\Gamma_b$ is $\pm 0.17$ MeV.
There is a specific to $Z \to b\bar{b}$ decay virtual higgs gaugeless
correction to the vertex $\delta\phi(t,h)$ consisting of terms of the order
$\alpha_W^2 t^2\;, \alpha^2_W t \ln t\;, \alpha_W^2 t$ and so on.
Only the first of them have been calculated \cite{18a}-\cite{24b}
 :
\begin{equation}
\delta \phi^{t^2} = \frac{3-2s^2}{2s^2c^2} \frac{\bar{\alpha} t^2}{16\pi
s^2c^2} \tau^{(2)}_b\;\;.
\label{109}
\end{equation}
If we consider this
leading term as an upper bound of the "higgs theoretical uncertainty" in
$\Delta \phi$ than we get:
\begin{equation}
\Delta \Gamma^{t^2}_b
= -\frac{\bar{\alpha}}{\pi} \Gamma_0 \Delta\phi^{t^2} =
-\frac{\bar{\alpha}}{\pi}\Gamma_0 \frac{3-2s^2}{2s^2c^2} \frac{\bar{\alpha}
 t^2}{16\pi s^2c^2} \tau^{(2)}_b = 0.02 \; \mbox{\rm MeV}\;\;,
 \label{110}
 \end{equation}
where we substitute $m_t = 175$ GeV $,\;\; m_H = 300$ GeV.
This uncertainty in $\Gamma_b$ is much smaller than those considered above
and could be neglected. However, correction of the order of $\hat{\alpha}^2_s
 (m_t ) t$ to
$\phi (t), \delta \phi^{\alpha^2_s}$, may lead to larger correction to
 $\Gamma_b$.

To estimate its value let us suppose that it's ratio to the calculated
 correction
$\sim \hat{\alpha}_s t$ is equal to the ratio of the calculated corrections
$\sim \hat{\alpha}^2_s t$ and $\sim \hat{\alpha}_s t$ to functions $V_i$:

\begin{equation}
\frac{\delta \phi ^{\alpha ^2_s}}{\delta \phi ^{\alpha _s}} =
\frac{\delta _3 V_i}
     {\frac{\hat{\alpha}_s (m_t)}
     {\pi}(-2.86) t} ,
\label{11111}
\end{equation}
\begin{equation}
\delta \phi ^{\alpha ^2_s} = - \frac {3-2s^2}{2s^2 c^2} \frac{1.37 \pi}{3}
\hat{\alpha}^2_s (m_t ) t .
\label{11112}
\end{equation}
Taking this estimate as a source of uncertainty
 in $\Gamma_b$, for $m_t$ = 175
 GeV we get:
$\Delta \Gamma ^{\alpha ^2_s}_b$ = 0.1 MeV,
 which dominates over (\ref{108}) and
 (\ref{110}).

\section{Procedure to estimate total theoretical accuracy of LEPTOP}

In order to estimate the total theoretical uncertainties for the observables
we implement in LEPTOP the procedure proposed by D.Bardin and G.Passarino
\cite{202}. We choose several options to the preferred formulas used in
LEPTOP and make variations of these formulas. Usually each option consists
in the addition of an extra term corresponding to a rough guess of the value
of the uncalculated higher order terms. We then make all possible
combinations of these options, i.e. $2^n$ in total, where $n$ is the number
of options.  Among all these $2^n$ combinations we  locate those yielding
the minimum and the maximum values of the observables and took as the
estimate of the theoretical errors their deviations from the central values.

We consider the following options:
\begin{DLtt}{123456789012}
\item[Options 1,2] Correction $\delta V_i^{t^2}$
                   given by eq. (\ref{101})  multiplied by $2/t$
                   is added to (option 1)
                   (or subtracted from (option 2))
                   the three functions $V_A\;, V_m$ and $V_R$.
\item[Options 3,4] The same as in options 1,2 with
                   $\delta V_i^{\alpha^2_s}$ from
                   eq. (\ref{102}).
\item[Options 5,6] The expression for $\Gamma_q$
                   is modified by adding (option 5)
                   or subtracting (option 6)
                    $\sum^4_1\Delta\Gamma_q = 0.3$ MeV
                   in order to take into
                   account gluon corrections to electroweak $Zqq$
                   triangle vertices.
\item[Option 7] Correction $\delta\phi^{\alpha^2_s}$
                   eq. (\ref{11112}) is added to  function $\phi (t)$.
\end{DLtt}



\newpage


\begin{table}[h]\centering
\caption[]
{\it The effect of the working options of {\tt LEPTOP}
 on theoretical errors.
The first two lines indicate parametric uncertainties caused by
 $\delta s^2 =
0.0003$ (which is equivalent to $\delta\bar{\alpha}^{-1} = 0.12$)
 and by
$\delta m_b = 0.3$GeV. The next six lines refer to the intrinsic
 theoretical
uncertainties. This table was calculated with
 $m_t$=175 GeV, $M_H$=300 GeV
and $\hat{\alpha_s}$=0.125.}
\label{ta18}
\vspace{2.5mm}
\begin{tabular}{|c|r|r|r|r|r|r|r|r|r|r|}
\hline
   & $m_W$ & $\Gamma_{l}$ & $\sin^2\theta^l_{eff}$ & $\sigma^h_0(nb)$ &
  $ \Gamma_Z$ & $\Gamma_h$ & $R_l$ & $\Gamma_b$ & $R_b\times$ &
  $R_c\times$ \\
  & MeV & MeV & & & MeV & MeV & &MeV & $10^5$ &
   $10^5$\\ \hline
 $\delta s^2$ &
 16    & .015    & .00031 & .0014 &  .8 &  .8 &  .0055 & .15 &
   1.1 & 1.8
 \\ \hline
  $\delta m_b$ &
  -    & -       & -      & .0023 &  .2 &  .2 &  .0029 & .24 &
   11.0 & 2.4
 \\ \hline \hline
  $\Delta V_i^{t^2}$ &
  9    & .015    & .00005 & .0002 &  .5 &  .4 &  .0009 & .08 &
     .2 &  .3
 \\ \hline
 $\Delta V_i^{\alpha^2_s}$ &
  5    & .008    & .00003 & .0001 &  .3 &  .2 &  .0005 & .04 &
     .1 &  .2
 \\  \hline
 $\Delta \Gamma_q$ &
  -    & -       & -      & .0029 &  .3 &  .3 &  .0037 & -   &
    3.8 & 1.5
 \\ \hline
 $\Delta \phi^{\alpha^2_s}$ &
  -    & -       & -      & .0010 &  .1 &  .1 &  .0012 & .10 &
    4.6 & 1.0
 \\ \hline
total &+13 &+.023 &+.00008 &+.0032 &+1.2 &+1.0 &+.0063 &+.23 &+8.7&
+1.9 \\
 &$-13$ &$-.023$ &$-.00008$ &$-.0042$ &$-1.1$ &$-.9$
 &$-.0051$ &$-.13$ &$-4.1$&
$-2.9$ \\ \hline
\end{tabular}
\end{table}
\normalsize






%\newpage
%\begin{center}
%\large{\bf Part III\\

%\vspace{3mm}
%
%LEPTOP CODE}
%\end{center}

\chapter{ LEPTOP  program}
\section{Introduction}

LEPTOP code allows the calculations of
LEP-I electroweak observables in the
framework of the Minimal
Standard Model and fitting the experimental data for determination
of $m_t$, $\hm$ and $\hat \alpha_s(M_Z)$.
LEPTOP package has been written in the Fortran language and installed on
IBM VM and HP-SUN UNIX operating systems. It uses the subroutines from the
CERN program library \cite{cernlib}.
The code is maintained with the CMZ \cite{cmz} source code management
system.
The Fortran code is available
either in the form of a compilable source file $leptop.f$
 or in the CMZ ASCII readable file $leptop.car$. In the following
sections we describe  simple useage of the LEPTOP package.
The user interface part of LEPTOP was written in the object oriented
style, which allows a simple use of it without deep knowledge of the
Fortran language. The data encapsulation principle and hiding the
internal variables are applied. This significantly reduces the amount
 of information the user should care about improves the robustness of the
program.



 In order to obtain the
maximum accuracy we used whenever possible double-precision variables
in the internal calculations.
However the user interface was written in a single precision in order to
simplify the use of the program, make easy interface with other
standard packages and avoid user's bugs typical for the mixture
of single and double precision variables. The 7 digit precision
(for 32 bit machines) in the
input and output is adequate for the present experimental and
theoretical errors. The units used in the program are GeV and nanobarns,
unless explicitly stated.



This document is a {\bf Reference manual} and {\bf User's Guide}.
 Whener possible
we tried to follow $cernman$ style and notations \cite{hbook}.
An example of a simple program is given in the section 3.8.


This report, including
the writeup and Fortran code, is available under WWW \cite{www} on
\Lit{http://cppm.in2p3.fr/leptop/intro_leptop.html}.


\section{Initialisation}


\Shubr{LTINIT}{(ISTAT)}

\Action
The setting of the default values of all variables is done.
\Lit{LTINIT(0)} should be called before any other \Lit{LEPTOP} routine.

\begin{DLtt}{123456}
\item[{\rm\bf Input parameters:}]
\item[ISTAT]    Level of the initialisation.
\begin{DLtt}{12345678}
\item[ISTAT=0]    means complete
                  initialisation from scratch.
\item[ISTAT=1]    means recalculating
                  constants after the eventual update of the data.
                  This option is needed
                  only for advanced users, because in the
                  user interface it is done automatically.
\end{DLtt}
\end{DLtt}





\section{Input and output}

The output of the program is directed into the unit 6.
The unit 19 is reserved for the internal scratch output.
The amount of output is controlled via \Lit{PRNT} flags
 (see \Lit{LTFLAG} routine).

\section{Setting of flags and options}

\Shubr{LTFLAG}{(KEY,ID)}

\Action
Setting on and off the flags according to the character
variable \Lit{KEY}, identifying the group of flags,
 and integer index \Lit{ID}, identifying specific flag of that group.

 Positive values of \Lit{ID}
sets the corresponding flag on, negative value of the \Lit{ID} sets
it off. Zero value of the ID sets off all the flags of the corresponding
group. By default all the flags and options are switched off.


\begin{DLtt}{12345}
\item[{\rm\bf Input parameters:}]
\item[KEY] Character variable identifying the group of flags.
\begin{DLtt}{1234567}
\item['PRNT'] Group of flags controlling the output level.
\item['OPT'] Group of options modifying the prefered formulas of LEPTOP.
             See section 2.4 for details.
\end{DLtt}
\item[ID] Numerical identifier of the flag within the group.
\item[ ] The meaning of different flags is given below:
\begin{DLtt}{1234567}
\item['PRNT'] Allowed values for \Lit{ID} are:
\begin{DLtt}{123}
\item[1] Low level printout for debug purpose in the process of calculation.
\item[2] Detailed printout during the fit. It may produce very big outputs.
\item[3] Detailed printout after the fit. Printout of the table with MSM
         and Born predictions for some observables in the style of the
         table in the paper \cite{9}.
\item[4] Printout during the initialisation of several default constants
         and experimental inputs.
\item[8] Printout during the setting of the variables and
         experimental data is done by the
         user interface routines \Lit{LTPUT, LTFPUT, LTFCOR, LTFUSE} etc.
\item[9] Printout of the calculated observables, setting constants and
         experimental data is done by the user interface routines
         \Lit{LTGET, LTFGET, LTFIT1, LTFIT2} etc.
\end{DLtt}
\item['OPT'] Allowed values for \Lit{ID} are:
\begin{DLtt}{123}
\item[1]  Option 1: functions $V_A, V_M, V_R$ are increased by
          the terms $(2/t) \delta V_{i}^{t^2}$.
\item[2]  Option 2: same variation as option 1, but with negative sign.

\item[3]  Option 3: functions $V_A, V_M, V_R$ are increased by
          the terms $(2/t) \delta V_{i}^{\alpha^{2}_{s}}$.
\item[4]  Option 4: same variation as option 3, but with negative sign.
\item[5]  Option 5: the quark widths of Z are increased in order to take
          into account estimated QCD corrections to
          Zqq triangle vertices.
\item[6]  Option 6: same variation as option 5, but with negative sign.

\item[7]  Option 7: function $\phi(t)$ is increased by the term
          $\delta \phi^{\alpha^2_s}$
\item[8]  Option 8: the b-quark width of Z is increased by 7 MeV.
\end{DLtt}
\item['MNUNIT'] Changing the Fortran output unit of MINUIT to unit \Lit{ID}.
                The default is the
                the output on the scratch file on unit 19. Allowed values for
                \Lit{ID} are from 1 to 99. To restore the output on the
                scratch file one should assign \Lit{ID} to \Lit{-19}.
\item['MNSAVE'] Changing the SAVE output unit of MINUIT to unit \Lit{ID}.
                The default unit is 7.
\item['MNREAD'] Changing the Fortran input unit of MINUIT to unit \Lit{ID}.
                The default value of \Lit{ID} is \Lit{-5}, which means
                that MINUIT is working in Fortran-callable mode.
                {\bf Attention:} using this flag switch MINUIT to the
                 data-driven mode, when user should provide on unit
                \Lit{ID} the complete set of MINUIT commands.
                If needed, the user can provide his own version of
                the function
                FCNLB.
\item['MNPRNT'] sets the print level of MINUIT.
                The default value of \Lit{ID} is \Lit{-1}, which means
                no output of MINUIT except from MINUIT \Lit{SHOW} command.
                Other possibles values of \Lit{ID} are in the range from 0
                to 3 according to MINUIT \Lit{SET PRIntout} command.
\item['MNEPS']  informs MINUIT that the relative floating point arithmetic
                precision is $10^{\Lit{ID}}$.
                The default precision is $10^{-10}$.
\end{DLtt}
\end{DLtt}
\Remark
\Lit{LTFLAG} is the only routine that can be called before
\Lit{LTINIT(0)}. This allows to suppress the printout during the
initialisation stage.

\Examples
\begin{XMP}
 CALL LTFLAG('OPT',7)
\end{XMP}
      This call sets on the option 7.
\begin{XMP}
CALL LTFLAG('PRNT',-4)
\end{XMP}
      This call sets off the printout of the fit results, if it
      has been set on previously. \\ \\



\section{Setting the constants and experimental data}

\Shubr{LTPUT}{(NAME,DATA)}

\Action
Setting the constant defined by keyword \Lit{NAME} to the
value defined by the variable \Lit{DATA}.
\begin{DLtt}{12345}
\item[{\rm\bf Input parameters:}]
\item[NAME] Character variable containing the name of the constant to be
           modified.
\begin{DLtt}{1234567}
\item['MT'] Mass of the top quark $\tm$.
\item['MH'] Mass of the Higgs boson $\hm$.
\item['MZ'] Mass of the Z boson $\zm$.
\item['ALBAR'] Electromagnetic coupling constant $\bar \alpha ( \zm )$.
\item['ALSHAT'] Strong coupling constant $\alphahat_s ( \zm )$.
\item['GFERMI'] Weak Fermi coupling constant $G_{\mu}$
                determined from the muon
                lifetime measurements.
\end{DLtt}
\item[DATA] New value of the constant.
\end{DLtt}

\Remark
   If \Lit{PRNT} flag number 8 was set before the call
                  to \Lit{LTPUT} the new value will be printed.

\Example
\begin{XMP}
   CALL LTPUT('MH',300.)
\end{XMP}
   This call will set the Higgs mass to 300 GeV. \\ \\




\Shubr{LTFPUT}{(TYPE,NAME,DATA)}

\Action
Setting the values of experimental data, including observables and their
errors, for the use in the fit of experimental data with LEPTOP
formulas.
\begin{DLtt}{12345}
\item[{\rm\bf Input parameters:}]
\item[TYPE] Character variable selecting the type of data to be set.
\begin{DLtt}{123456789}
\item['VALUE'] The central value of the experimental data is set.
\item['ERROR'] The error on the experimental data is set.
\item['MARSEILLE'] Experimental data presented at Marseille-93
                   conference are loaded in case \Lit{NAME='ALL'}.
\item['MORIOND94'] Same, but for Moriond-94 conference.
\item['GLASGOW'] Same, but for Glasgow-94 conference.
\item['MORIOND95'] Same, but for Moriond-95 conference.
\end{DLtt}
\item[NAME] Character variable identifying the experimental observable.
            The following observables may be used in the fit:
\begin{DLtt}{12345678}
\item['GZ'] Total width of Z boson $\gz$.
\item['SIGH'] The hadronic pole cross section
              $\s0h = (12 \pi/\zm^2)(\ge \gh/\gz^2)$.
\item['RL'] Ratio $R_l = \gh / \gl$ of hadronic to leptonic
            partial width of Z.
\item['AFBL'] Forward-backward lepton asymmetry at $\z0$ pole.
\item['RB'] Ratio $R_b = \gb / \gh$.
\item['MWMZ'] Ratio $\wm / \zm$ of W-boson to Z-boson masses.
\item['ATAU'] $A_{\tau}$ from $\tau$ polarization.
\item['AETAU'] $A_{e}$ from $\tau$ polarization asymmetry.
\item['AFBB'] Forward-backward b-quark asymmetry at $\z0$ pole.
\item['AFBC'] Forward-backward c-quark asymmetry at $\z0$ pole.
\item['QFB'] Measurement of forward-backward quark asymmetry
             translated in a value for $\stes_{eff}$.
\item['S2NUN'] Measurement of the ratio of neutral to charged current
               cross-sections translated into $\stes_W$.
\item['ALR'] Left-right polarization asymmetry $A_{LR}$, measured
             at SLAC by SLD.
\item['MT'] Top quark mass $\tm$ measured by CDF and D0 at Fermilab.
\item['RC'] Ratio $R_c = \gc / \gh$ of charm to hadron partial widths.
\item['ALL'] used to set all observables from the data set defined by
             the keyword \Lit{TYPE}.
\end{DLtt}
\item[DATA] Numerical value of the experimental data.
\end{DLtt}
\Remark
By default Glasgow-94 experimental data are loaded during the
initialisation with \Lit{LTINIT(0)}.
\Examples
\begin{XMP}
   CALL LTFPUT('VALUE','GZ',2.4974)
\end{XMP}
  This call sets the experimental value of $\gz$ to 2.4974 GeV.
\begin{XMP}
   CALL LTFPUT('ERROR','SIGH',0.12)
\end{XMP}
  This call sets the experimental value of the error on the peak
hadron cross section to 0.12 nb.
\begin{XMP}
   CALL LTFPUT('GLASGOW','ALL',dummy)
\end{XMP}
  This call sets the input of all experimental data as presented at
 Glasgow-94 conference. \\ \\




\Shubr{LTFCOR}{(NAME1,NAME2,DATA)}

\Action
Set the values of correlation coefficients on the experimental
errors,
for the use in the fit of experimental data with LEPTOP
formulas.
\begin{DLtt}{12345}
\item[{\rm\bf Input parameters:}]
\item[NAME1] Character variable identifying the first
             experimental observable, as defined
             in the \Lit{LTFPUT} description.
\item[NAME2] Character variable identifying the second
             experimental observable, as defined
             in the \Lit{LTFPUT} description.
\item[DATA] Numerical value of the correlation coefficient between the two
            experimental data.
\end{DLtt}
\Example
\begin{XMP}
   CALL LTFCOR('GZ','SIGH',-0.110)
\end{XMP}
  This call set the correlation coefficient between the experimental errors
  of $\gz$ and $\s0h$ equal to $\rho_{\gz \s0h} = -0.11$. \\ \\





\section{Access to the constants, observables and experimental data}


\Shubr{LTGET}{(NAME,DATA*)}

\Action
Extracting the constant or the theoretical prediction for the
observable  defined by keyword \Lit{NAME} to the
variable \Lit{DATA}.
\begin{DLtt}{12345}
\item[{\rm\bf Input parameters:}]
\item[NAME] Character variable containing the name of the constant
or theoretical value of the observable to be extracted.
\begin{DLtt}{1234567}
\item['MT'] Mass of the top quark $\tm$.
\item['MH'] Mass of the Higgs boson $\hm$.
\item['MZ'] Mass of the Z boson $\zm$.
\item['ALBAR'] Electromagnetic coupling constant $\bar \alpha ( \zm )$.
\item['ALSHAT'] Strong coupling constant $\alphahat_s ( \zm )$.
\item['GFERMI'] Weak Fermi coupling constant $G_{\mu}$ defined by muon
                lifetime measurements.
\item['GV'] Vector coupling of the electron.
\item['GA'] Vector axial coupling of the electron.
\item['SIN2E'] The effective electro-weak mixing angle $\stes_{eff}$
               for leptons.
\item['SIN2B'] The effective electro-weak mixing angle $\stes_{eff}$
               for b quarks.
\item['MW'] Mass of the W boson $\wm$.
\item['GNU'] Partial width of Z boson into $\nu \bar \nu$.
\item['GE'] Partial width $\ge$ of $\z0$ into $e^+e^-$.
\item['GMUON'] Partial width $\gm$ of $\z0$ into $\mu^+\mu^-$.
\item['GTAU'] Partial width $\gt$ of $\z0$ into $\tau^+\tau^-$.
\item['GU'] Partial width $\gu$ of Z into $u \bar u$ quarks.
\item['GD'] Partial width $\gd$ of Z into $d \bar d$ quarks.
\item['GS'] Partial width $\gs$ of Z into $s \bar s$ quarks.
\item['GC'] Partial width $\gc$ of Z into $c \bar c$ quarks.
\item['GB'] Partial width $\gb$ of Z into $b \bar b$ quarks.
\item['GINV'] Invisible width of Z boson $\Gamma_{inv}$.
\item['GH'] Hadron width of Z boson $\gh$.
\item['GZ'] Total width of Z boson $\gz$.
\item['RL'] Ratio $R_l = \gh / \gl$ of hadronic to leptonic
            partial width of Z.
\item['RC'] Ratio $R_c = \gc / \gh$ of charm to hadron partial widths.
\item['RB'] Ratio $R_b = \gb / \gh$.
\item['AFBL'] Forward backward lepton asymmetry $\afb^l$.
\item['AFBC'] Forward-backward c-quark asymmetry at Z pole.
\item['AFBB'] Forward-backward b-quark asymmetry at Z pole.
\item['ALR'] Left right asymmetry $\alr$.
\item['SIGH'] The hadronic pole cross section
              $\s0h = (12 \pi/\zm^2)(\ge \gh/\gz^2)$.
\end{DLtt}
\item[{\rm\bf Output parameter:}]
\item[DATA] numerical value of the constant or the result
            of the calculation for the prediction.
\end{DLtt}
\Remark
\begin{UL}
\item The extracted value may depend on the change of the constants by
         the previous call to \Lit{LTPUT}. So to get a consistent set
         of observables one should make all calls to \Lit{LTGET}
         after the last call of \Lit{LTPUT}.
\item   If \Lit{PRNT} flag number 9 was set before the call
                  to \Lit{LTGET} the value of the observable will be printed.
\end{UL}
\Example
\begin{XMP}
   CALL LTGET('MW',AMW)
\end{XMP}
   After this call the variable AMW will contain
   the W boson mass in GeV.  \\ \\

\Shubr{LTFGET}{(TYPE,NAME,DATA*)}

\Action
Extracting the values of experimental data, including observables and their
errors. It also can extract the values of the fitted parameters
 and their errors after the fit.
\begin{DLtt}{12345}
\item[{\rm\bf Input parameters:}]
\item[TYPE] Character variable selecting the type of data to be extracted.
\begin{DLtt}{12345678901}
\item['VALUE'] The central value of the experimental data is given.
\item['ERROR'] The error on the experimental data is given.
\item['FIT\_RESULT'] The central value of the fitted parameter after the
                    last call to \Lit{LTFIT1} or \Lit{LTFIT2}.
\item['FIT\_ERROR'] The corresponding parabolic error of the fitted parameter.
\item['FIT\_ERR+'] The corresponding positive error of the fitted
                  parameter.
\item['FIT\_ERR-'] The corresponding negative error.
\item['FIT\_GLB'] The corresponding global correlation coefficient
                 with other fitted parameter.
\end{DLtt}
\item[NAME] Character variable identifying the experimental observable
            as defined in the description of \Lit{LTFPUT} for
            \Lit{TYPE='VALUE'} or \Lit{TYPE='ERROR'}.
            If \Lit{NAME='ALL'} and \Lit{PRNT} flag 9 is set
            on, the table of all experimental data is printed.
            If \Lit{TYPE='FIT\_*'} the allowed values of \Lit{NAME}
            are: \Lit{MT}, \Lit{MH} and \Lit{ALSHAT}, corresponding to
            the fitted parameters.
\item[{\rm\bf Output parameters:}]
\item[DATA] Numerical value of the experimental data or fitted parameter.
\end{DLtt}
\Remark
\begin{UL}
\item   If \Lit{PRNT} flag number 9 was set before the call
                  to \Lit{LTFGET} the value of the observable will be printed.
\end{UL}
\Examples
\begin{XMP}
   CALL LTFGET('VALUE','MWMZ',RMWMZ)
\end{XMP}
  After this call the variable RMWMZ will contain the experimental ratio of
 W boson to Z boson masses $\wm / \zm$.
\begin{XMP}
   CALL LTFGET('ERROR','SIGH',ESIGH)
\end{XMP}
  After this call the variable ESIGH will contain the experimental value
  of the error on the peak hadron cross section $\s0h$ in nb.
\begin{XMP}
  CALL LTFLAG('PRNT',9) \\
  CALL LTFGET(' ','ALL',DUMMY)
\end{XMP}
  After these calls the table with all experimental data
  is printed.
\begin{XMP}
  CALL LTFIT1('MH',amh,emh,chi2)
  CALL LTFGET('FIT_ERR+','MH',emhpos)
  CALL LTFGET('FIT_ERR-','MH',emhneg)
\end{XMP}
  After these calls the variables \Lit{emhpos} and \Lit{emhneg} will
  contain the asymmetric errors on Higgs mass, which might be
  significantly different from the parabolic error \Lit{emh}
  due to the non-gaussian distributions. \\ \\


\section{Fitting experimental data with LEPTOP formulas}
   The fitting in LEPTOP is done using MINUIT package \cite{minuit}.
The fitted parameter values correspond to the minimum of the $\chi^2$
function:
\begin{equation}
\chi^{2}\, =\, \sum_{i,j=1}^{n}
                   \frac{
\left( E_i -T_i \left( \tm , \hm , \alphahat_s \right) \right)
\left( E_j -T_j \left( \tm , \hm , \alphahat_s \right) \right)
}
{ S_{ij} }
\end{equation}
\begin{equation}
\frac{1}{S_{ij}}\, =\,
\left( V_{ij} \right)^{-1}
\end{equation}
\begin{equation}
V_{ij} =  \rho_{ij} \delta E_i \delta E_j
\end{equation}

where the following notations were used:
\begin{DLtt}{123456}
\item[n] Number of experimental observables used in the fit.
\item[$E_i$] Experimental observable, which usually comes from the
             compilation of results of all LEP detectors.
\item[$T_i$] Theoretical prediction of LEPTOP as a function of
             parameters $\tm$, $\hm$ and $\alphahat_s$.
\item[$V_{i,j}$] Covariance matrix of errors.
\item[$\delta E_i$] The experimental error on the observable i.
\item[$\rho_{ij}$] The correlation coefficient
                   between the experimental errors
                   of the observable i and observable j.
\end{DLtt}

The initial values of parameters are used from the settings done
by the routine \Lit{LTPUT}. So the user can check the sensitivity of
the fit to the initial values of the parameters. It is the user's
responsibility to provide reasonable values of the initial
parameters, as the minimisation procedure may diverge and move the
parameters to the unphysical region, where the program might be not
protected.


\Shubr{LTFUSE}{(COMMAND,NAME)}

\Action
Instructing LEPTOP to use or not to use the particular experimental
data in the fit.
By default all experimental data listed in \Lit{LTFPUT} description
are used, except \Lit{'MT'}.
\begin{DLtt}{12345678}
\item[{\rm\bf Input parameters:}]
\item[COMMAND] Character variable selecting the command.
\begin{DLtt}{12345678}
\item['USE'] Command to use this data in the fit.
\item['NOUSE'] Command to exclude this data from the fit.
\end{DLtt}
\item[NAME] Character variable identifying the experimental observable
            as defined in the description of  \Lit{LTFPUT}.
            If \Lit{NAME='ALL'}
            all experimental data are affected.
\end{DLtt}
\Examples
\begin{XMP}
   CALL LTFUSE('USE','MT')
\end{XMP}
  Add the experimental value of $\tm$ from CDF to the fit.
\begin{XMP}
   CALL LTFUSE('NOUSE','QFB')
\end{XMP}
  Do not use the experimental value of $Q_{FB}$ in the fit. \\ \\



\Shubr{LTFIT1}{(PARAM,PAR1*,EPAR1*,CHI2*)}

\Action

Performing one parameter fit of the experimental data.
The actual parameter is selected by the character constant \Lit{PARAM}
from $\tm$, $\hm$ and $\alphahat_s$.
\begin{DLtt}{12345678}
\item[{\rm\bf Input parameters:}]
\item[PARAM] Character variable selecting the parameters.
\begin{DLtt}{12345678}
\item['MT'] Select the parameter  $\tm$.
\item['MH'] Select the parameter  $\hm$.
\item['ALS'] Select the parameter $\alphahat_s$.
\end{DLtt}
\item[{\rm\bf Output parameters:}]
\item[PAR1] Value of the fitted parameter.
\item[EPAR1] Estimate of the error of the fitted parameter.
\item[CHI2] Value of the $\chi^2$ of the fit.
\end{DLtt}
\Example
\begin{XMP}
   CALL LTFIT1('MH',AMH,EMH,CHI2)
\end{XMP}
 After this call the variable AMH contains the fitted Higgs mass $\hm$,
  the variable EMH contains the parabolic estimate of the error
 of the Higgs boson mass
 and CHI2 the $\chi^2$ of the fit. \\ \\






\Shubr{LTFIT2}{(PARAM,PAR1*,PAR2*,EPAR1*,EPAR2*,R12*,CHI2*)}

\Action

Performing two parameter fit of the experimental data.
The actual parameters are selected by the character constant \Lit{PARAM}
from $\tm, \hm$ and $\alphahat_s$.
\begin{DLtt}{12345678}
\item[{\rm\bf Input parameters:}]
\item[PARAM] Character variable selecting the parameters.
\begin{DLtt}{12345678}
\item['MT,ALS'] Select the parameters  $\tm$ and $\alphahat_s$.
\item['MT,MH'] Select the parameters  $\tm$ and $\hm$.
\item['ALS,MH'] Select the parameters  $\hm$ and $\alphahat_s$.
\end{DLtt}
\item[{\rm\bf Output parameters:}]
\item[PAR1] Value of the first parameter.
\item[PAR2] Value of the second parameter.
\item[EPAR1] Value of the error of the first parameter.
\item[EPAR2] Value of the error of the second parameter.
\item[R12]  Value of the correlation coefficient between two parameters.
\item[CHI2] Value of the $\chi^2$ of the fit.
\end{DLtt}
\Example
\begin{XMP}
   CALL LTFIT2('MT,ALS',AMT,ALS,EMT,EALS,R12,CHI2)
\end{XMP}
 After this call the variable AMT contains the fitted top quark mass $\tm$,
 the variable ALS contains the fitted strong coupling constant
 $\alphahat_s( \zm )$, the variable EMT contains the error
 of the top quark mass,
 the variable EALS contains the error of the strong coupling constant,
the variable R12 contains the correlation coefficient between the errors of
 two parameters and
CHI2 contains the $\chi^2$ of the fit. \\ \\


\section{Sample program}

%\chapter*{APPENDIX C}
%{
%\newpage


%\begin{center}
%{\bf APPENDIX C}\\
%\vspace{0.5cm}
%\end{center}

\begin{verbatim}
      program example
      call ltdemo
      end

      SUBROUTINE LTDEMO
*----- template program to demonstrate LEPTOP package                *

*----- set all LEPTOP print flags off
      CALL LTFLAG('PRNT',0)

*----- initialisation
      CALL LTINIT(0)

*----- get some constants
      CALL LTGET('MZ',AMZ)
      CALL LTGET('GFERMI',GFERMI)
      CALL LTGET('ALBAR',ALBAR)

*----- get more constants
      CALL LTGET('MELE',amele)
      CALL LTGET('MMUO',ammuo)
      CALL LTGET('MTAU',amtau)
      CALL LTGET('MS',amstr)
      CALL LTGET('MC',amchrm)
      CALL LTGET('MB',ambot)

*----- modify some constants

      CALL LTPUT('MT',175.)
      CALL LTPUT('MH',300.)
      CALL LTPUT('ALSHAT',0.125)

*----- get some physical quantities
      CALL LTGET('GV',gv)
      CALL LTGET('GA',ga)
      CALL LTGET('MW',amw)
      CALL LTGET('GNU',gnu)
      CALL LTGET('GE',ge)
      CALL LTGET('GMUON',gmuon)
      CALL LTGET('GTAU',gtau)

*----- fit of mtop and alsbar
      CALL LTFIT2('MT,ALS',amt1,als1,eamt1,eals1,rho1,chi21)

*----- set data from Glasgow conference
      CALL LTFPUT('GLASGOW','ALL',0.)

*----- modify value of Z total width
      CALL LTFPUT('VALUE','GZ',2.4974)

*----- fit of mtop and mh
      CALL LTFIT2('MT,MH',amt2,amh1,eamt2,eamh1,rho2,chi22)

*----- fit  mt
      CALL LTFIT1('MT',amt3,eamt3,chi23)

*-----  fit  mh
      CALL LTFIT1('MH',amh4,eamh4,chi24)

*----- fit  als
      CALL LTFIT1('ALS',als,eals,chi2)

      END          ! LTDEMO
\end{verbatim}
%}








% Local Variables:
% mode: latex
% TeX-master: "hboomain"
% End:






\vspace{2cm}

\chapter*{Acknowledgments}

This description of LEPTOP was written as a backup document of
 our contribution to Electroweak
 Working Group Report \cite{202}.
 We are grateful to D.Yu.Bardin for many discussions and providing
us with useful information.

We are grateful to L.Avdeev,
K.G. Chetyrkin and A.L.Kataev for their comments on QCD corrections
; to V.P.Yurov and N.A.Nekrasov for their contributions to papers
\cite{3}, \cite{4}, \cite{8}; to V.L.Telegdi, without whose
insistence and help the flowchart would not appear; M.V. is grateful
to CPPM and CPT for kind hospitality at Marseille where this work was
finished; L.O., V.N. and M.V. are grateful to RFFR grant 93-02-14431
 and V.N.  and M.V.  are grateful to INTAS grant 93-3316 for partial
support.


\newpage
\chapter*{\bf APPENDIX A}

%\begin{center}
%{\bf APPENDIX A}\\
%\vspace{0.1cm}
%\end{center}
\begin{center}
{
\Huge
    FLOWCHART OF LEPTOP
}\\[3mm]
\setlength{\unitlength}{1mm}
\begin{picture}(160,210)
\put(0,195){\framebox(160,15)}
\put(80,205){\makebox(0,0){\large
Select the three most accurate observables:}}
\put(80,199){\makebox(0,0){\large
$ \gf, \zm, \alpha(\zm) \equiv \bar{\alpha}$
}}
\put(80,190){\line(0,1){5}}

\put(0,170){\framebox(160,20)}
\put(80,185){\makebox(0,0){\large
Define angle $\theta$ ( $s \equiv \sin \theta, c \equiv \cos \theta$)}}
\put(80,180){\makebox(0,0){\large
in terms of $\gf, \zm$ and $\bar \alpha$:}}
\put(80,174){\makebox(0,0){\large
$\gf = (\pi / \sqrt{2}) \bar{\alpha} / s^2 c^2 \zm^2$}}
\put(80,165){\line(0,1){5}}



\put(0,150){\framebox(160,15)}
\put(80,160){\makebox(0,0){\large
Define the Born approximation for other electroweak}}
\put(80,154){\makebox(0,0){\large
observables in terms of $\gf, \zm$ and $\theta$.}}
\put(80,145){\line(0,1){5}}



\put(0,130){\framebox(160,15)}
\put(80,140){\makebox(0,0){\large
Introduce bare couplings ($\alpha_0, \alpha_{Z_0}, \alpha_{W_0}$),
masses ($M_{Z_0}, M_{W_0},$}}
\put(80,134){\makebox(0,0){\large
$ m_{q_0}$ (including $m_{t_0}$)) and VEV $\eta$
in the framework of MSM.}}
\put(80,125){\line(0,1){5}}


\put(0,110){\framebox(160,15)}
\put(80,120){\makebox(0,0){\large
Express $\alpha_0, \alpha_{Z_0},M_{Z_0}$
in terms of $\gf, \zm$ and $\bar \alpha$
in the one-loop}}
\put(80,114){\makebox(0,0){\large
approximation, using dimensional regularization ($1/ \epsilon, \mu$)
}}
\put(80,105){\line(0,1){5}}



\put(0,85){\framebox(160,20)}
\put(80,100){\makebox(0,0){\large
Express one-loop corrections to all other electroweak observables}}
\put(80,95){\makebox(0,0){\large
in terms of $\alpha_0, \alpha_{Z_0},M_{Z_0}, \tm , \hm$
and hence in terms of $\gf$,
}}
\put(80,89){\makebox(0,0){\large
$\zm,\bar \alpha, \tm, \hm$. Check cancellation of $1/ \epsilon$ and $\mu$.
}}
\put(80,80){\line(0,1){5}}


\put(0,60){\framebox(160,20)}
\put(80,75){\makebox(0,0){\large
Introduce gluonic corrections into quark loops and QED and QCD
}}
\put(80,70){\makebox(0,0){\large
                final state interactions for hadronic decays
}}
\put(80,64){\makebox(0,0){\large
(in terms of $\bar \alpha, \hat{\alpha_{s}}(m_Z)^*, m_b(\zm), \tm$).
}}
\put(80,55){\line(0,1){5}}

\put(0,40){\framebox(160,15)}
\put(80,50){\makebox(0,0){\large
Compare the Born results and Born + one loop results with
}}
\put(80,44){\makebox(0,0){\large
            experimental data on Z - decays and $\wm$.
}}
\put(80,35){\line(0,1){5}}


\put(0,25){\framebox(160,10)}
\put(80,29){\makebox(0,0){\large
Make a global fit for three parameters  $\tm, \hm, \hat{\alpha_s}(\zm)$.
}}
\put(80,20){\line(0,1){5}}

\put(0,5){\framebox(160,15)}
\put(80,15){\makebox(0,0){\large
Predict  the central values of all electroweak observables
}}
\put(80,9){\makebox(0,0){\large
                          and their uncertainties.
}}
\put(80,0){\makebox(0,0){\large
$* -  \hat{\alpha_s}(\zm)$ is the QCD coupling in $\overline{\mbox{\rm MS}}$
 - scheme.
}}
\end{picture}
\end{center}

\chapter*{APPENDIX B}
%\newpage


\begin{center}
%{\bf APPENDIX B}\\
%\vspace{0.5cm}
List of LEPTOP papers \footnote{V.Novikov, L.Okun, and M.Vysotsky
are coauthors of all fourteen papers} \end{center}

1. Electroweak radiative corrections and top quark mass, CERN-TH.6053/91,
March 1991, TPI-MINN-91/14-I, ITEP-15/91.

2. Parametrization of electroweak radiative corrections, ITEP-104/92,
November 1992; $ZhETF$ {\bf 103} (1993) 1489 (in Russian), May 1993, $JETP$
{\bf 76} (1993) 725.

3. On the electroweak one-loop corrections, CERN-TH.6538/92;  ITEP-67/92,
June 1992; Erratum August 1992; $Nucl.Phys.$ {\bf B397} (1993) 35.

4. On the interpretation of the CHARM II data, CERN-TH.6695/92, October
1992; $Phys.Lett.$ {\bf B298} (1993) 453.

5. Virtual gluons in the electroweak loops (with N.Nekrasov),
CERN-TH.6696/92, October 1992; $Yad.Fys.$ {\bf 57} (1994) 883.

6. Do-it-yourself analysis of precision electroweak data, CERN-TH.6715/92,
November 1992; Erratum March 1993; $Phys.Lett.$ {\bf B299} (1993) 329;
Erratum {\bf 304} (1993) 386.

7. The isolines of electroweak radiative corrections and the confidence
levels for the masses of the top and higgs (with V.Yurov), CERN-TH.6849/93,
March 1993; $Phys.Lett.$ {\bf B308} (1993) 123.

8. On the electroweak and gluonic corrections to the hadronic width of the
$Z$ boson, CERN-TH.6855/93, April 1993; $Phys.Lett.$ {\bf B320} (1994) 388.

9. Do present data provide evidence for electroweak corrections?
CERN-TH.6943/93, July 1993; $Modern Phys.Lett.$ {\bf A8} (1993) 2529;
Erratum {\bf 8} (1993) 3301.

10. On the effective electric charge in the electroweak theory,
CERN-TH.7071/93, November 1993; $Phys.Lett.$ {\bf B324} (1994) 89.

11. The values of $m_t$ and $\bar{\alpha}_s$ derived from non-observation of
electroweak radiative corrections at LEP: global fit (with A.Rozanov and
V.Yurov), CERN-TH.7137/94, January 1994; $Phys.Lett.$ {\bf B331} (1994) 433.

12. The $Q^2$ dependence of $W$ and $Z$ coupling constants in the interval
$0 \leq |q^2| \leq m^2_Z$, CERN-TH.7153/94, January 1994; $Modern
Phys.Letters$ {\bf A9} (1994) 1489.

13. First evidence for electroweak radiative corrections from the new
precision data (with A.Rozanov), CERN-TH.7217/94, April 1994; $Modern
Phys.Letters$ {\bf A9} (1994) 2641.

14. Do the present electroweak precision measurements leave room for extra
generations? (with A.Rozanov and V.Yurov), CERN-TH.7252/94, May 1994.






















%\newpage


\begin{thebibliography}{99}
\bibitem{1} S.L. Glashow, Nucl.Phys. {\bf 22} (1961) 579;
S. Weinberg, Phys.Rev.Lett. {\bf 19} (1967) 1264;
A. Salam, Proc.8th Nobel Symposium, Aspenagarden, 1968, ed. N.
Svartholm (Almqvist and Wiksell, Stockholm, 1968) p. 367.
\bibitem{2} V.A. Novikov, L.B. Okun and M.I. Vysotsky, Nucl.Phys.
{\bf B397} (1993) 35.
\bibitem{3} N.A. Nekrasov, V.A. Novikov, L.B. Okun and M.I.
 Vysotsky, Yad.Fiz. {\bf 57} (1994) 883.
\bibitem{4} V.A. Novikov, L.B. Okun,
 M.I. Vysotsky and V.P. Yurov. Phys.Lett.  {\bf B308} (1993)
 123.
 \bibitem{5} V.A. Novikov, L.B. Okun and M.I. Vysotsky, Phys.Lett.
 {\bf B320} (1994) 388.
 \bibitem{6} V.A. Novikov, L.B. Okun and
 M.I. Vysotsky, Mod.Phys.Lett.  {\bf A8} (1993) 2529.
 \bibitem{7}
 V.A. Novikov, L.B. Okun and M.I. Vysotsky, Phys.Lett.
 {\bf B324} (1994) 89.
 \bibitem{8} V.A. Novikov, L.B. Okun,
 A.N. Rozanov, M.I. Vysotsky and V.P. Yurov,
 Phys.Lett. {\bf B331} (1994) 433.
\bibitem{9} V.A. Novikov, L.B. Okun, A.N. Rozanov and M.I. Vysotsky,
 Modern Phys.Letters {\bf A9}(1994) 2641.
\bibitem{18a} R.  Barbieri, M.  Beccaria, P.
Ciafaloni, G. Curci and A. Vicere, Phys.Lett.  {\bf B288} (1992) 95;
\bibitem{18b} R.  Barbieri, M.  Beccaria, P.
Ciafaloni, G. Curci and A. Vicere,
Nucl.Phys.  {\bf B409} (1993) 105.
\bibitem{24a} J.Fleischer, O.V.Tarasov and F.Jegerlehner, Preprint
BI-TP-93/24 and PSI-PR-93-14 (June, 1993);
\bibitem{24b} J.Fleischer, O.V.Tarasov and F.Jegerlehner,
 Phys. Lett.  \underline{B319}(1993)249.
\bibitem{10} D. Schaile, in Proceedings of the ICHEP 94, Glasgow, 1994.
\bibitem{11} H. Burkhardt, F. Jegerlehner, G. Penzo and
C. Verzegnassi,  Z.Phys. {\bf C43} (1989) 497; \\
J. Jegerlehner, in Proceedings of the 1990 Theoretical Advanced Study
Institute in Elementary Particle Physics, eds. P.Langacker
 and M. Cveti\v{c}
(World Scientific, Singapore, 1991), p.476.
\bibitem{12}  B.W.
Lynn and M.E. Peskin,  report SLAC-PUB-3724 (1985), unpublished;
\\ B.W. Lynn,
M.E. Peskin and R.G. Stuart, in: Physics at LEP,
 report CERN 86-02 (CERN Geneva,
1986), Vol. 1, p. 90; \\
M. Peskin, SLAC-PUB-5210 (1990). Lectures at 17th SLAC
Summer Institute, Stanford, July 1989.
\bibitem{13} S.G. Gorishny, A.L. Kataev and S.A. Larin ,  Phys. Lett.
{\bf B259} (1991) 144; \\
L.R. Surguladze and M.A. Samuel, Phys. Rev. Lett. {\bf 66} (1991) 560.
\bibitem{14} K.G.Chetyrkin, J.H.Kuhn, Phys. Lett. {\bf B248} (1990) 359;\\
K.G.Chetyrkin, J.H.Kuhn and A.Kwiatkowski, Phys. Lett. {\bf B282} (1992)
221.
\bibitem{20} K.G. Chetyrkin and A. Kwiatkowski, Phys. Lett. {\bf B305}
(1993) 288;\\
K.G. Chetyrkin and A. Kwiatkowski, Phys. Lett. {\bf B319}
(1993) 307; \\
K.G. Chetyrkin, Phys. Lett. {\bf B307} (1993) 169\\
K.G. Chetyrkin and A. Kwiatkowski, Z. Phys. \underline{C59}(1993)525.
\bibitem{21} S.A. Larin, T. van Ritberger, J.A.M. Vermaseren, Phys. Lett.
{\bf B320} (1994) 159; \\
K.G. Chetyrkin, O.V. Tarasov, Phys. Lett. {\bf B327} (1994) 114.
\bibitem{100}
A.L.Kataev, Phys.Lett. {\bf B287} (1992) 209.
\bibitem{101}
N.Gray et al., Z.Phys. {\bf C48} (1990) 673; \\
L.R.Surguladze, Univ. of Oregon Report No. OITS543  (1994).
\bibitem{15} M.I. Vysotsky, In Proceedings of the Int. Conference on High
Energy Physics, Glasgow (1994).
\bibitem{16} A.Djouadi and C.Verzegnassi, Phys. Lett. {\bf B195} (1987) 265;
\\
F.Halzen and B.A.Kniehl, Nucl.Phys. {\bf B353} (1991) 517;\\
B.A.Kniehl, Nucl.Phys. {\bf 347} (1990) 86.
\bibitem{17}
K.G.Chetyrkin, J.H.Kuhn, M.Steinhauser, preprint TTP95-03(1995); \\
 L. Avdeev, J. Fleisher, S. Mikhailov, O. Tarasov,
Phys.Lett. B336 (1994) 560, \\
  replaced 15 Febrary 1995.
\bibitem{19} J. van der Bij and M. Veltman, Nucl. Phys. {\bf B231} (1984)
205; \\
J.J. van der Bij, Nucl. Phys. {\bf B248} (1984) 141.
\bibitem{22} A.A. Akhundov, D.Yu. Bardin and T. Riemann, Nucl. Phys. {\bf
B276} (1986) 1; \\
J. Bernab\'{e}u, A. Pich and A. Santamaria, Phys. Lett. {\bf
B200} (1988) 564; \\
W. Beenakker and W. Hollik, Z. Phys. {\bf C40} (1988) 141.
\bibitem{23} J.Fleisher, F.Jegerlehner, P.Raczka,, O.V.Tarasov, Phys.Lett.
{\bf B293} (1992) 437;\\
G.Buchalla, A.Buras, Nucl.Phys. {\bf 398} (1990) 285;\\
G.Degrassi, Nucl.Phys. {\bf B 407} (1993) 271;\\
K.G.Chetyrkin, A.Kwiatkowski, M.Steinhauser, Mod.Phys.Lett. {\bf A8} (1993)
2785.
\bibitem{200} G.Degrassi, S.Fanchiotti and P.Gambino, preprint
CERN-TH.7180/94; DFPD 94/TH/12; NYU-TH-94/02/01.
\bibitem{201} A.Kwiatkowski, M.Steinhauser, preprint TTP-94-14 (1994).
\bibitem{202} D.Bardin et al., CERN Yellow Report, 1995.
\bibitem{cernlib} CERNLIB-CERN Program Library Short writeups, CERN, Geneva,
   1994.
\bibitem{cmz} A Source Code Management System CMZ. User's guide and Reference
              Manual, CodeME S.A.R.L., 1994.
\bibitem{hbook} CN/ASD Group, R.Brun, M.Goossens,
                CERN Program Library Long Writeup Y250,
                HBOOK Reference manual, CERN, Geneva 1994.
\bibitem{www} T.J.Berners-Lee et al., World-Wide Web introduction,
Electronics Networking: Research, Applications and Policy,
 vol.2, No 1, pp.52-58,
1992, Meckler Publishing, Westport, CT, USA.
\bibitem{minuit} CN/ASD Group MINUIT - Users Guide, Program Library Q100,
                  CERN 1993.
\end{thebibliography}

\end{document}

\def\fileversion{v3.08}
\def\filedate{93/08/04}
\def\docdate {93/02/15}
\def\bs{{\tt\char'134}}% backslash
\def\Lcs#1{{\bs\tt#1}}% command with backslash and text
\let\Lenv\Lcs
\let\Lsty\Lcs
%% \CheckSum{681}
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
%%
%
%\iffalse   % this is a METACOMMENT !
%
%
%
% Style-file `cernman' to use with LaTeX v2.09
% Copyright (C) 1993 Michel Goossens, all rights reserved.
%
% Copying of this file is authorized only if either
% (1) you make absolutely no changes to your copy, including name, or
% (2) if you do make changes, you name it something other than
%     cernman.doc.
% This restriction helps ensure that all styles developed at CERN
% are identical.
%
% Please send bug reports to:
%
%                          Michel Goossens
%                          CN Division
%                          CH-1211 Geneva 23
%                          Switzerland
%                  Email:  <GOOSSENS@CERNVM.CERN.CH>
%
% \fi                  /
%
% \changes{3.08}{93/08/04}{mg
%   Redefine \Shubrz, define global gray level \gboxlev for boxes}
% \changes{3.07}{93/07/06}{mg
%   Bug corrected for \sol, make CNAS documentation names \textsc}
% \changes{3.06}{93/05/26}{mg
%   Add commands \HTML, \notHTML, \NODOC ,\Filename
%  (for online documentation)}
% \changes{3.05}{93/02/15}{mg
%   Complete documentation}
% \changes{3.04}{92/09/28}{mg
%   General clean up
%   Eliminate Tablexx command}
% \changes{3.02}{92/04/29}{mg
%   add SKUIP command}
% \changes{3.01}{92/02/16}{mg
%   Complete rewrite and clean-up.
%   Many commands parameterized in function of others to limit code.
%   Provide description in DOC style.}
% \changes{2.01}{92/02/13}{mg
%   Corrections in SHubrii and SFuncii}
% \changes{2.00}{92/01/24}{mg
%   Completely restructured version based on report.sty
%   crnman10.sty, crnman11.sty, crnman12 eliminated
%   rewrite of condbreak command, new index in Sbox
%   Declare dimensions and counters globally
%   Dimens: Fwidth Length Lengthl Lengthr Tonecol Width
%   Counts: Colme  Colmt  Colm}
% \changes{1.27}{91/10/09}{
%   New commands:
%    condbreak: go to next page if not given length available
%    Example and Examples: print Example(s):
%    Rcall    : like `Rkeep, but definition can contain any char.
%    Remark  and Remarks : print Remark(s):
%    Rindno   : Like `Rind, but only puts index entry (no text)
%    Sboxii   : Allows definition of two routines
%               Like `Sbox, with word `and' between definitions
%    Sboxz    : Like `Sbox, but does not define command
%    Stt      : NFSS Specify size for font (with `size)
%   Changes to old commands:
%    @makecaption, `tableofcontents, `listoftables,
%    `listoffigures, `l@table, `l@figure
%    `Sbox (now takes 2 parameters), old saved as `Sobox
%    `Iind, `Rdef, `Rind
%   Hidden commands:
%    `Price and `numonly}
% \changes{1.26}{91/09/08}{
%   Add environment XMPzskip (XMP w/o `baselineskip)
%   Replace subeqn style}
% \changes{1.25}{91/07/06}{
%   Correct bug in labelwidth for DLTT and DL
%   Increase width for table (figure) number to 2.8em (l@figure)}
% \changes{1.24}{91/07/03}{
%   Move definition of ttsc to main style + define `tensy (NFSS)
%   Protect definition of ttsc in minor styles for pre-NFSS}
% \changes{1.23}{91/05/26}{
%   Add global to definition in `Rkeep
%   Change voffset to -1in
%   Change makelabel and labelsep in DLTT and DL environments}
% \changes{1.22}{91/05/04}{
%   New command `Rkeep (keeps definition of routine)
%   Introduce generic table making environments
%   Tabmult[1] : #1 equal width columns
%   Tabmultr[2]: #1 equal width columns of width #2, rest at right
%   Tabmultl[2]: #1 equal width columns of width #2, rest at left
%   Command DLtt now uses `ttsc for font in item}
% \changes{1.21}{91/05/03}{
%   Add `par at beginning and end of XMPt environment}
% \changes{1.20}{91/04/30}{
%   Change to XMPt environment to include XMP environment
%   Add command SIbox, identical to Sbox but enters arg in index}
% \changes{1.19}{91/04/18}{
%   Make new command XMPt to allow titles above examples}
% \changes{1.18}{91/04/15}{
%   Delete uppercase from running titles}
% \changes{1.17}{91/02/23}{
%   Change DL to proportional font
%   Introduce DLtt for monospaced font}
% \changes{1.16}{91/02/18}{
%   Take out cernlib specific code and put it in cernlib.sty}
% \changes{1.15}{91/03/14}{
%   Correct Ucom (`tt was not protected)}
% \changes{1.14}{91/02/25}{
%   New command `Examples + only `tt in item of DL list}
% \changes{1.13}{91/02/06}{
%   Smaller hyphen in footers and new command `timing}
% \changes{1.12}{91/02/04}{
%   Introduce new commands `Rdef and `Ucom}
% \changes{1.11}{91/02/02}{
%   Introduce new commands `Structure, `Usage, `Method, `Accuracy
%                          `Errorh   , `Refer, `Longwr, `Notes
%                          `Source   , `Restrict
%   Facilitates coupling with SGML}
%
% \DoNotIndex{\@depth,\@ehc,\@fortmp,\@height,\@ifnextchar,\@ifstar}
% \DoNotIndex{\@ifundefined,\@latexerr,\@ne,\@nil,\@tempa,\@tempb}
% \DoNotIndex{\@tempcnta,\@tempd,\@tempdima,\@whilenum,\@width,\\}
% \DoNotIndex{\@tforloop}
% \DoNotIndex{\advance}
% \DoNotIndex{\baselineskip,\begingroup,\bgroup}
% \DoNotIndex{\cr,\crcr,\csname}
% \DoNotIndex{\def,\do,\docdate,\dp}
% \DoNotIndex{\edef,\egroup,\else,\endcsname,\endinput,\expandafter}
% \DoNotIndex{\fi,\filedate,\fileversion}
% \DoNotIndex{\gdef}
% \DoNotIndex{\hbox,\hfil,\hsize,\hskip,\ht}
% \DoNotIndex{\if,\ifcase,\ifdim,\ifnum,\ifx,\ignorespaces}
% \DoNotIndex{\kern}
% \DoNotIndex{\leavevmode,\let,\lineskip}
% \DoNotIndex{\m@ne,\multispan}
% \DoNotIndex{\newcount,\newdimen,\noalign}
% \DoNotIndex{\or}
% \DoNotIndex{\relax}
% \DoNotIndex{\setbox,\space,\strutbox}
% \DoNotIndex{\tabskip,\thr@@,\the,\toks,\toks@,\tw@,\typeout}
% \DoNotIndex{\unhcopy,\unskip}
% \DoNotIndex{\vbox,\vcenter,\vline,\vrule,\vtop,\vskip}
% \DoNotIndex{\xdef}
% \DoNotIndex{\z@}
%
% \title{A standard style for preparing CERN computer manuals\thanks{This file
%        has version number \fileversion, last
%        revised \filedate, documentation dated \docdate.}}
% \author{Michel Goossens\\
%         CN Division\\
%         CH-1211 Geneva 23 \\
%         Switzerland\\
%         Email:  \tt<goossens@cernvm@cern.ch>}
%
% \date{Printed \today}
%
% \maketitle
%
% \begin{abstract}
% This article describes a major \LaTeX{} style file, which is used at CERN
% for writing computer documentation.
% It is based on the Lamport's ``standard'' {\tt report} style.
% Several of the basic \LaTeX{} commands and environments are redefined
% and other commands are added.
% The New Font Selection Scheme is used throughout, as are several extensions
% to \LaTeX{} available on the major archives.
% The main emphasis has been put on providing high level commands,
% somewhat in the spirit of SGML, so that typographic and page layout
% conventions can be easily implemented in a coherent and global way.
% The quasi-automatic translation from the commands defined in this style
% into SGML, and from there into a hierarchical information retrieval
% systems, e.g. hypertext based, was also an important consideration.
% The basic idea is to tag all information to a level as detailed as possible
% and then to ignore these tags if they are not needed in a given application.
% \end{abstract}
%
% \section{The user commands}
%
% In this first part we describe the commands,
% which you have at your disposal in the present style.
%
% As far as the layout is concerned, the {\tt report} style
% has been chosen as starting point, i.e. changes have been introduced
% to the parameter settings defined in that ``standard'' style.
% This has the supplementary advantage that the present style file
% is more robust with respect to future internal changes to the \LaTeX{}
%%styles.
%
% \subsection{Sectioning commands}
%
% To provide somewhat more control over the page breaking behaviour at
% the boundaries of sections in the text, the higher level sectioning
% commands \Lcs{section}, \Lcs{subsection} and \Lcs{subsubsection}
% have been given the dual equivalents
% \Lcs{Section}, \Lcs{Subsection} and \Lcs{Subsubsection}.
% These latter commands have two mandatory parameters, namely
% firstly the space which must still be available on the current page
% to contain the title and the beginning of the section and secondly
% the title of the section (i.e. the standard parameter
% of the original \LaTeX{} commands)
%
% As an example the following command first verifies whether at least 4cm
% remain available on the current page. If the answer is positive,
% the command acts as a normal \Lcs{section} command, while if the
% answer is negative, the current page is ended by issueing a \Lcs{newpage}
% command, then on the next page the title is written in the
% conventional way and the section is started.
% \begin{verbatim}
% \Section{4cm}{Title of the section}
% Start of the text of the section...
% \end{verbatim}
%
% \subsection{Array building commands}
%
% In order to profit fully of the work of F. Mittelbach,
% his {\tt array} style file is inluded by default.
%
% \subsection{Equations, figures and floats}
%
% To increase the functionality of the equation, array and figure
% label handling various style files are included (see ``\TeX{} at CERN''
% for details on the commands available with the \Lsty{subeqnarray},
% \Lsty{subeqn} and \Lsty{subfigure} styles in question).
%
% \LaTeX{} is known for its poor handling of floats.
% All too often one ends up with all tables and figures at the
% end of the document.
% Sometimes can can get around the problem by using enough
% \Lcs{clearpage} commands, but a simpler solution is
% to take over the placement control of the material and put it
% were it should go oneself (of course one must then
% be sure that there is enough space available, or else\ldots).
% Two enviroments \Lenv{Tabhere} and \Lenv{Fighere} provide the needed
% functionality of handling the caption material correctly in the
% case of a table and a figure respectively, in both cases forcing
% at the same time the material to be placed {\bf here}, i.e. no
% float is generated.
%
% \subsection{Simple text generating commands}
%
% In order to retain consistency across documents a series
% of text generating commands which start a new paragraph
% and may or may not be followed by another start of paragraph
% are defined below.
%
% \begin{tabular}{ll}
% \multicolumn{1}{c}{\bf command} & \multicolumn{1}{c}{\bf description} \\
% \Lcs{Action}                    & writes {\bf Action: }               \\
% \Lcs{Example}                   & writes {\bf Example: }              \\
% \Lcs{Examples}                  & writes {\bf Examples: }             \\
% \Lcs{Idesc}                     &
%                            writes {\bf Input parameter description:}  \\
% \Lcs{Iind}                      & enter HIDOPT option into index      \\
% \Lcs{Odesc}                     &
%                           writes {\bf Output parameter description:}  \\
% \Lcs{Pdesc}                     & writes {\bf Parameter description:} \\
% \Lcs{Remark}                    & writes {\bf Remark: }               \\
% \Lcs{Remarks}                   & writes {\bf Remarks:                \\
% \end{tabular}
%
% \subsection{Simple text inserting commands}
%
% Below is list of simple commands, which allow text to be
% inserted in a document in a generic way, i.e. by specifying what
% its function is, rather than the precise formatting on the page.
%
% \begin{tabular}{lp{.7\textwidth}}
% \multicolumn{1}{c}{\bf command} & \multicolumn{1}{c}{\bf description} \\
% \tt\Lcs{Cdef}\{actual text\} &
% {bf Command-index (definition):} The specified text will be put on the page
% and entered in the index as main command (defining) entry.
% \tt\Lcs{Cind}[index text]\{actual text\} &
% {bf Command-index (reference):} The specified text will be put on the page
% and entered in the index.
% When it is desirable to differentiate between the actual text on the
% page and the one in the index, the text to be entered in the index
% can be specified between square brackets as an optional parameter.
% Either of the two strings can be empty, having the expected result.   \\
% \tt\Lcs{Command}\{text\}        &
% {\bf Command:} The specified text will be put on the page
% in the proper presentation.                                           \\
% \tt\Lcs{Copt}\{text\}           &
% {\bf Command option:} The specified text will be put on the page
% in the proper presentation.                                           \\
% \tt\Lcs{Param}\{text\}          &
% {\bf Parameter:} The specified text will be put on the page
% in the proper presentation.                                           \\
% \tt\Lcs{Rarg}\{text\}           &
% {\bf Routine argument:} The specified text will be put on the page
% in the proper presentation.                                           \\
% \tt\Lcs{Rdef}\{actual text\} &
% {bf Routine-index (definition):} The specified text will be put on the page
% and entered in the index as main routine (defining) entry.
% \tt\Lcs{Rind}[index text]\{actual text\} &
% {\bf Routine-index:} Similar to \Lcs{Cind}, but this entity describes
% routine rather than a command.
% Either of the two strings can be empty, having the expected result.   \\
% \tt\Lcs{Ropt}\{text\}           &
% {\bf Routine option:} The specified text will be put on the page
% in the proper presentation.                                           \\
% \tt\Lcs{Ucom}\{text\}           &
% {\bf User command:} The specified text corresponds to the text the
% user should type as an input command. Normally the text will be
% ubderlined to clearly mark it.
% \end{tabular}
%
% \subsection{Commands to highlight calling sequences and commands}
%
% A series of commands are presented below which highlight the
% structure of a command or routine or function calling sequence.
% An optional argument allows the user to enter information
% into the left margin, so that commands can be easily tagged.
% The other parameters specify the name of the label with which
% the entity being defined will be referenced in the document,
% the next argument the part of the command or sequence to be
% highlighted and finally the parameters themselves.
% Apart from the optional (first) parameter between square
% brackets, all other parameters, as described below {\bf must}
% be specified. In particular if there are no parameters, the last
% parameter to the command should be a blank string {\tt\{ \}}.
%
% The general structure of the commands is as described above
% \begin{verbatim}
% \Sxxx[margintext]{labeltext}{maintext}{parameters}
% \end{verbatim}
% \begin{description}
% \item[{\tt margintext}] This optional parameter specifies the text
%                         should be written into the left margin.
% \item[{\tt labeltext}]  Character string to be used to refer
%                         to the entity in the text.
% \item[{\tt maintext}]   Character string corresponding to the command
%                         being defined. In some cases this string acts
%                         also as {\tt labeltext}.
% \item[{\tt parameters}] List of the parameters which the command has.
% \end{description}
%
% \begin{verbatim}
% \Shubr[margintext]{Rname}{parameters}
% \end{verbatim}
%
% \Lcs{Shubr} describes a Fortran subroutine.
% The first {\bf obligatory} parameter {\tt Rname}, which is the
% routine's name, acts in this
% case also as label to be used in a \Lcs{ref} command.
% This means that one can reference the page where the given command
% is defined as \verb+\pageref{Rname}+.
%
% \begin{verbatim}
% \Shubrz[margintext]{Rname}{parameters}
% \end{verbatim}
%
% \Lcs{Shubrz} describes a Fortran subroutine, which should only
% be shown at that point in the text, but for which no index entry
% or \Lcs{label} definition is required.
% This is sometimes necessary when one wants to show the definition
% of a command in various places, but of course one sets up
% the main pointing reference only at one point in the text.
%
% \begin{verbatim}
% \Shubrii[margintext]{Rname1}{parameters1}{Rname2}{parameters2}
% \end{verbatim}
%
% \Lcs{Shubrii} describes two similar Fortran subroutines
% at the same time, with the word {\bf and} between the two definitions.
% Of course only one marginal comment can ne specified
% as an optional parameter {\tt margintext} if needed.
%
% \begin{verbatim}
% \Sfunc[margintext]{Fname}{Value=Func(parameters)}
% \end{verbatim}
%
% \Lcs{Sfunc} describes a Fortran function.
% In this case, as there should always be at least one function
% parameter, the last parameter is parsed and the part between
% the equal sign and the opening bracket will be highlighted.
% As in the case of \Lcs{Shubr} the first obligatory parameter
% is used as reference tag and entered into the index.
%
% \begin{verbatim}
% \Sfuncii[margintext]{Fnam1}{Val1=Func1(pars1)}{Fnam2}{Val2=Func2(pars2)}
% \end{verbatim}
%
% In complete analogy with \Lcs{Shubrii} the command
% \Lcs{Sfuncii} allows the description of two similar functions in one
% go. The two definitions are seperated by the word {\bf and}.
%
% \begin{verbatim}
% \SCubr[margintext]{Rname}{parameters}
% \end{verbatim}
%
% \Lcs{SCubr} describes a C routine.
% Its calling sequence is completely identical to the one of \Lcs{Shubr}.
% The only difference is that the word {\tt CALL}, characteristic
% of a Fortran language's calling sequence is not prepended to the
% output string.
%
% \begin{verbatim}
% \SCubrii[margintext]{Rname1}{parameters1}{Rname2}{parameters2}
% \end{verbatim}
%
% \Lcs{SCubrii} describes two similar C routines.
% Similar remarks as for \Lcs{Shubrii} and \Lcs{SCubr} apply.
%
% \subsection{Extended list environments}
%
% The usefulness of the list environments has been increased by the
% introduction of an additional parameter, specifying the width
% of the widest entry in a description type list, of by making the
% lists denser (less spacing between the items) for numbered
% (enumerated) and unnumbered (itemize) lists.
%
% \begin{tabular}{ll}
% \multicolumn{1}{c}{\bf Environment} & \multicolumn{1}{c}{\bf Description} \\
% \Lenv{DL}{width}                    &
%  Description list with width of largest item                              \\
%                                     & Item text in bold font              \\
% \Lenv{DLtt}{width}                  &
%  Description list with width of largest item                              \\
%                                     & Item text in monospaced font        \\
% \Lenv{DLc}{width}                   &
%  Dense description list with width of largest item                        \\
%                                     & Item text in bold font              \\
% \Lenv{DLttc}{width}                 &
%  Dense description list with width of largest item                        \\
%                                     & Item text in monospaced font        \\
% \Lenv{OL}                           & Numbered (ordered) list             \\
% \Lenv{OLc}                          & Dense numbered (ordered) list       \\
% \Lenv{UL}                           & Unnumbered (itemize) list           \\
% \Lenv{ULc}                          & Dense unnumbered (itemize) list     \\
% \end{tabular}
%
% \subsection{(Almost) verbatim environments}
%
% Often it is necessary to show text (computer programs, listings)
% as verbatim, but it would still to be able to use some commands inside
% the environment, to e.g. highlight some text.
% The \Lenv{XMP} like environments, which are inspired by \Lenv{verbatim},
% provide such a possibility.
% Inside all characters, but \bs{}, \{ and \} are output asis,
% and all blanks and lines are output as such.
%
% \begin{tabular}{lp{.75\linewidth}}
% \multicolumn{1}{c}{\bf Environment} & \multicolumn{1}{c}{\bf Description} \\
% \tt\Lenv{XMP}                       &
%  The basic variant, with the text in a smaller font                       \\
% \tt\Lenv{XMPt}\{Head text\}         &
%        Like \Lenv{XMP} but with horizontal rule separator and
%        the argument output as accompanying text.                          \\
% \Lenv{XMP}                          &
%        Special variant pf \Lenv{XMP} with zero vertical separation
%        between text and the environment.                                  \\
% \tt\Lenv{XMPfont}\{Fontsize}        &
%  Like \Lenv{XMP} but the fontsize must be specified as the parameter.
%  Note that this fontsize must be known to \LaTeX{}                        \\
% \tt\Lenv{XMPfrac}\{Fontsize\}       &
%  Like \Lenv{XMPfont}, but
%  this works only with the PostScript font {\tt Courier}.
%  The parameter {\tt Fontsize} can be chosen completely freely,
%  but each time a new font definition is issued.
%  This option works of course only when working with PostScript fonts      \\
%  \tt\Lenv{XMPin}[pagefrac]\{Title Text\}&
%         Like \Lenv{XMPt}, but a \Lenv{minipage} is defined,
%         covering half the width of the page (or else a fraction
%         {\tt pagefrac} as given by the optional parameter).               \\
%  \tt\Lenv{XMPout}[pagefrac]\{Title Text\}&
%         Companion command to \Lenv{XMPin}.
%         It likewise defines a \Lenv{minipage}
%         covering half the width of the page (or else a fraction
%         {\tt pagefrac} as given by the optional parameter).
%         It however occupies the right side of the page.
%         Together these two environments allow to show the input
%         to and output from a given command side by side.                 \\
%  \end{tabular}
%
% \section{Reading the {\tt report} styles and redefinitions}
%
% First we will define the current version of this file:
%    \begin{macrocode}
\@ifundefined{@SCubrii}{}{\typeout{Style-Option: `cernman' already
                          loaded}\endinput}
     \typeout{Style-Option: `cernman' \fileversion
         \space\space <\filedate> (M.G.)}
%    \end{macrocode}
%
% We define the {\tt twoside} option and desire Marginpars
% going beyond the page.
%    \begin{macrocode}
\@twosidetrue
\@mparswitchtrue
%    \end{macrocode}
%
% Next the standard {\tt report} style is read as well as one of its
% substyles {\tt rep1?}, where {\tt?} stands for 0, 1 or 2, depending
% on the pointsize of the document.
%    \begin{macrocode}
\input report.sty\relax
%    \end{macrocode}
%
% The page layout style is chosen to be {\tt headings}
% (report use by default {\tt plain}).
% As I do not like the uppercasing of the chapter and section
% titles in the running headings, the \Lcs{ps@headings} command
% is changed accordingly (taken from {\tt report.sty}).
%
%    \begin{macrocode}
\if@twoside \def\ps@headings{\let\@mkboth\markboth
\def\@oddfoot{}\def\@evenfoot{}\def\@evenhead{\rm \thepage\hfil \sl
\leftmark}\def\@oddhead{\hbox{}{\sl \rightmark}\hfil
\rm\thepage}\def\chaptermark##1{\markboth{\ifnum \c@secnumdepth>\m@ne
 \@chapapp\ \thechapter. \ \fi ##1}{}}
\def\sectionmark##1{\markright{\ifnum \c@secnumdepth >\z@ \thesection. \ \fi
##1}}}
\else \def\ps@headings{\let\@mkboth\markboth
\def\@oddfoot{}\def\@evenfoot{}\def\@oddhead{\hbox {}\sl \rightmark \hfil
\rm\thepage}\def\chaptermark##1{\markright{\ifnum \c@secnumdepth>\m@ne
 \@chapapp\ \thechapter. \ \fi ##1}}}
\fi
\ps@headings
%    \end{macrocode}
%
% \subsection{Font definitions}
%
% To ease later on we define a few new basic fonts.
% We make sure that those poor blokes whoh do not yet run with the
% New Font Selection Scheme (NFSS) do not have too many problems by defining
% a simplified functionality in that case.
%    \begin{macrocode}
\ifx\selectfont\undefined% pre-NFSS
  \newcommand{\Stt}[2]{\tt}
  \newcommand{\ttbf}[1]{{\tt#1}}
\else% NFSS
  \newcommand{\ttsc}[1]{{\family{courier}\series{m}\shape{sc}\selectfont#1}}%

%% FOLLOWING LINE CANNOT BE BROKEN BEFORE 80 CHAR
\newcommand{\tensy}{\family{cmsy}\series{m}\shape{n}\size{10}{12pt}\selectfont}%
  \newcommand{\Stt}[2]{\tt\size{#1}{#2}\selectfont}
  \newcommand{\ttbf}[1]{{\tt\bf#1}}
\fi
%    \end{macrocode}
%
% \subsection{Page parameters}
%
% Global typesize independent page layout parameters for a DIN A4 page
% are defined here.
% The definition of these sizes leaves enough space at the sides of the
% page to also get acceptable results for U.S. folio ({\tt11"$\times$8.5"})
% paper.
%
%    \begin{macrocode}
\setlength{\hoffset}{-1in}
\setlength{\voffset}{-1cm}
\setlength{\textwidth}{160mm}
\setlength{\evensidemargin}{25mm}
\setlength{\oddsidemargin}{25mm}
\setlength{\marginparwidth}{25mm}
\setlength{\marginparsep}{25mm}
\setlength{\marginparpush}{25mm}
\setlength{\topmargin}{2cm}
\setlength{\headheight}{5mm}
\setlength{\headsep}{8mm}
\setlength{\footheight}{4mm}
\setlength{\footskip}{9mm}
%    \end{macrocode}
%
% Commands which depend on the pointsize or on the use of a specific
% font are limited to a strict minimum.
% First, in the case of non-NFSS usage, the {\tt ttsc} font is defined,
% Then the baselineskip, i.e. the interline distance is defined.
% From that value and the desired number of lines on the page
% the height of the text is calculated.
%
%    \begin{macrocode}
\ifcase \@ptsize\relax % 10 pt
\ifx\selectfont\undefined\newfont{\ttsc}{cmtcsc10}\fi
\setlength{\baselineskip}{13pt}
\setlength{\textheight}{48\baselineskip}
\or                    % 11 pt
\ifx\selectfont\undefined\newfont{\ttsc}{cmtcsc10 scaled 1095}\fi
\setlength{\baselineskip}{14pt}
\setlength{\textheight}{45\baselineskip}
\or                    % 12 pt
\ifx\selectfont\undefined\newfont{\ttsc}{cmtcsc10 scaled 1200}\fi
\setlength{\baselineskip}{15pt}
\setlength{\textheight}{41\baselineskip}
\fi
%    \end{macrocode}
%
% \subsection{Titles and headings}
%
% The chapter titles of Lamport really are ways too large.
% Therefore we rebuild the heading part of the \Lcs{chapter}
% and \Lcs{chapter*} commands.
%    \begin{macrocode}
\def\@makechapterhead#1{             % Heading for \chapter command
  { \parindent 0pt \raggedright
    \ifnum \c@secnumdepth >\m@ne     % IF secnumdepth > -1 THEN
      \Large\bf \@chapapp{}
      \thechapter:\ \fi              % Print 'Chapter' and number.
    #1\par
    \nobreak                         % TeX penalty to prevent page break.
    \vskip 10pt                      % Space between title and text.
  } }
%    \end{macrocode}
%
%    \begin{macrocode}
\def\@makeschapterhead#1{             % Heading for \chapter* command
  { \parindent 0pt \raggedright
    \Large \bf                        % Title.
    #1\par
    \nobreak                          % TeX penalty to prevent page break.
    \vskip 10pt                       % Space between title and text.
  } }
%    \end{macrocode}
%
% The other section levels are defined with the help of the
% \Lcs{@startsection} command, defined in \LaTeX{} as follows:
%
% \begin{verbatim}
% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}
%            optional * [ALTHEADING]{HEADING}
%    Generic command to start a section.
%    NAME       : e.g., 'subsection'
%    LEVEL      : a number, denoting depth of section -- e.g., chapter=1,
%                 section = 2, etc.  A section number will be printed if
%                 and only if LEVEL < or = the value of the secnumdepth
%                 counter.
%    INDENT     : Indentation of heading from left margin
%    BEFORESKIP : Absolute value = skip to leave above the heading.
%                 If negative, then paragraph indent of text following
%                 heading is suppressed.
%    AFTERSKIP  : if positive, then skip to leave below heading,
%                       else - skip to leave to right of run-in heading.
%    STYLE      : commands to set style
%  If '*' missing, then increments the counter.  If it is present, then
%  there should be no [ALTHEADING] argument.  A sectioning command
%  is normally defined to \@startsection + its first six arguments.
% \end{verbatim}
%
%    \begin{macrocode}
\def\section{\@startsection {section}{1}{\z@}{-2.ex plus -1ex minus
    -.2ex}{2.ex plus .2ex}{\large\bf}}
\def\subsection{\@startsection{subsection}{2}{\z@}{-2.ex plus -1ex minus
   -.2ex}{1.5ex plus .2ex}{\large\bf}}
\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-2.ex plus
 -1ex minus -.2ex}{1.5ex plus .2ex}{\normalsize\bf}}
\def\paragraph{\@startsection
     {paragraph}{4}{\z@}{2.ex plus 1ex minus .2ex}{-1em}{\normalsize\bf}}
\def\subparagraph{\@startsection
     {subparagraph}{5}{\parindent}{2.ex plus 1ex minus
     .2ex}{-1em}{\normalsize\bf}}
%    \end{macrocode}
%
% To give the user more control for keeping material together
% on ae same page a few sectioning commands are defined, which have
% as first argument the space (in any of the valid \TeX{} units),
% which must be available on the current page to actually start
% the section in question and as second argument the section title.
%
%    \begin{macrocode}
\newcommand{\Section}[2]{\condbreak{#1}\par\section{#2}}
\newcommand{\Subsection}[2]{\condbreak{#1}\par\subsection{#2}}
\newcommand{\Subsubsection}[2]{\condbreak{#1}\par\subsubsection{#2}}
%    \end{macrocode}
%
% \section{Array building commands}
%
% In order to profit fully of the work of F. Mittelbach,
% his {\tt array} style file is by default included
% and some of its style parameters are defined.
%
%    \begin{macrocode}
\input{array.sty}
\extrarowheight2pt
\arrayrulewidth.6pt
%    \end{macrocode}
%
%
% \section{Display information}
%
% It is sometimes interesting to be able to define subfigures
% inside a larger figure. Therefore we use {\tt subfigure} style.
% The same holds for the definitions of subdivisions in equations
% and equation arrays. We make use of the {\tt subeqnarray} and
% {\tt subeqn} styles in this case.
%
%    \begin{macrocode}
\input{subfigure.sty}
\input{subeqnarray.sty}
\input{subeqn.sty}
%    \end{macrocode}
%
% \section{Font chaging and cross-reference commands}
%
% The font changing commands that use arguments, rather than be state-changing
% are introduced by default via stye \Lit{fontcmds}.
%
% Cross-refereces are made easier by using the style \Lit{varioref},
% which, with the command \Lcs{vref} allows you to add automatically
% page information on your references.
%
\input{fontcmds.sty}
\input{varioref.sty}
%
% \LaTeX{} is known for its poor handling of floats.
% Two enviroments {\tt Tabhere} and {\tt Fighere} provide the needed
% functionality of handling the caption material correctly in the
% case of a table and a figure respectively, in both cases forcing
% at the same time the material to be placed {\bf here}, i.e. no
% float is generated.
%    \begin{macrocode}
\newenvironment{Tabhere}%
     {\condbreak{3cm}\par\leavevmode\def\@captype{table}}{\par}
\newenvironment{Fighere}%
     {\condbreak{3cm}\par\leavevmode\def\@captype{figure}}{\par}
%    \end{macrocode}
%
% While we are at it, we refine the {\tt caption} command a little,
% then go on to tailor the titles for the table of contents,
% the list of tables and figures, and the leaders in the latter two.
%
%    \begin{macrocode}
\long\def\@makecaption#1#2{\vskip10pt
   \setbox\@tempboxa\hbox{#1: #2}
   \ifdim \wd\@tempboxa >\hsize   % IF longer than one line:
       #1: #2\par                 %   THEN set as ordinary paragraph.
     \else                        %   ELSE  center.
       \hbox to\hsize{\hfil\box\@tempboxa\hfil}
   \fi\par\vspace*{10pt}}
\def\tableofcontents{\section*{Table of Contents}\@starttoc{toc}}
\def\listoffigures{\section*{List of Figures}\@starttoc{lof}}
\def\listoftables{\section*{List of Tables}\@starttoc{lot}}
\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}% Align with section titles
\let\l@table\l@figure
%    \end{macrocode}
%
% \subsection{Simple text generating commands}
%
%    \begin{macrocode}
\newcommand{\Action}{\par{\bf Action: }}% Action of  routine
\newcommand{\Example}{\par{\bf Example:}\par}% Example
\newcommand{\Examples}{\par{\bf Examples:}\par}% Examples
\newcommand{\Idesc}{\par{\bf Input parameter description:}\par}% Input
% The command \@minisanitize changes the catcode of $ & # ^ _ % ~ to other
\def\@m@n@sanitize{\@makeother\$\@makeother\&%\@makeother\ % Blank NOT
%%sanitized
\@makeother\#\@makeother\^\@makeother\_\@makeother\%\@makeother\~}
\def\Lit{\begingroup\@m@n@sanitize\@Lit}
\def\@Lit#1{\tt{#1}\endgroup}%  Literal string
\newcommand{\Odesc}{\par{\bf Output parameter description:}\par}% Output
\newcommand{\Pdesc}{\par{\bf Parameter Description:}\par}% parameter desc.
\newcommand{\Remarks}{\par{\bf Remarks:}\par}% Reamrks
\newcommand{\Remark}{\par{\bf Remark:}\par}% Remark for routine
\newcommand{\Ucom}[1]{\mbox{\tt\underline{#1}}}% User command to be typed
%
%   Indexing commands with argument
%
%%% For commands
\def\Cind{\@ifnextchar[{\@Cind}{\@@Cind}}% Command reference
\def\@Cind[#1]#2{\ifx\empty#2\else{\tt#2}\fi%
     \ifx\empty#1\else\index{#1@{\protect\tt#1}}\fi}% Optional parameter
\def\@@Cind#1{\ifx\empty#1\else{\tt#1}\index{#1@{\protect\tt#1}}\fi}% Straight
%%to index
\def\Cdef#1{\texttt{#1}\index{#1@{\protect\tt#1}|Sidef}}% Routine definition
\let\Carg\Cind
\let\Cargdef\Cdef
\let\Copt\Cind
\let\Coptdef\Cdef
%%%   Fortran common definition
\let\FCdef\Cdef
\let\FCind\Cind
%%%   Fortran and C(++) routines
\let\Rarg\Cind
\let\Rargdef\Cdef
\let\Rdef\Cdef
\let\Rind\Cind
\def\Ropt#1{\Cind{'#1'}}
\def\Roptdef#1{\Cdef{'#1'}}
%%%  Deprecated features
\def\Command#1{\Lit{#1}}% Command
\def\Param#1{\Lit{#1}}% Parameter
\let\Pind\Cind
\let\Pdef\Cdef

\def\Sidef#1{\textbf{#1}}
%    \end{macrocode}
%
%    \begin{macrocode}
\newcommand{\Bbfm}{\mbox{\boldmath}}
\newcommand{\Ebfm}{\mbox{\unboldmath}}
\newcommand{\Dstm}{\displaystyle}
\newcommand{\Tstm}{\textstyle}
\newcommand{\Sstm}{\scriptstyle}
\newcommand{\SSstm}{\scriptscriptstyle}
%\newcommand{\bs}{{\tt\char'134}}% backslash
% Non straightforward characters
\newcommand{\amp}{{\tt\char'046}}
\newcommand{\apos}{{\tt\char'023}}
\newcommand{\Ast}{{\tt\char'052}}
\newcommand{\bsol}{{\tt\char'134}}
\newcommand{\Circ}{{\tt\char'136}}
\newcommand{\Colon}{{\tt\char'072}}
\newcommand{\commat}{{\tt\char'100}}
\newcommand{\dollar}{{\tt\char'044}}
\newcommand{\excl}{{\tt\char'041}}
\newcommand{\us}{{\tt\char'137}}%underscore
\newcommand{\hyphen}{{\tt\char'055}}
\newcommand{\lcub}{{\tt\char'173}}
\newcommand{\lpar}{{\tt\char'050}}
\newcommand{\lsqb}{{\tt\char'133}}
\newcommand{\lsquo}{{\tt\char'022}}
\newcommand{\num}{{\tt\char'043}}
\newcommand{\percnt}{{\tt\char'045}}
\newcommand{\period}{{\tt\char'056}}
\newcommand{\quest}{{\tt\char'077}}
\newcommand{\quot}{{\tt\char'042}}
\newcommand{\rcub}{{\tt\char'175}}
\newcommand{\rpar}{{\tt\char'051}}
\newcommand{\rsqb}{{\tt\char'135}}
\newcommand{\rsquo}{{\tt\char'023}}
\newcommand{\semi}{{\tt\char'073}}
\newcommand{\sol}{{\tt\char'057}}
\newcommand{\Tilde}{{\tt\char'176}}
\newcommand{\verbar}{{\tt\char'174}}
\newcommand{\sbl}{{\tt\char'040}}% significant blank
\let\percent\percnt
\let\lcb\lcub
\let\rcb\rcub
\let\lsb\lsqb
\let\rsb\rsqb
\def\lab{{\tt\char`<}}
\def\rab{{\tt\char`>}}
\let\atsign\commat
\let\US\horbar
%
%%% CN/AS's documents
%
\newcommand{\CERNLIB}{\textsc{cernlib}\index{CERNLIB}}
\newcommand{\CMZ}{\textsc{cmz}\index{CMZ}}
\newcommand{\COMIS}{\textsc{comis}\index{COMIS}}
\newcommand{\CSPACK}{\textsc{cspack}\index{CSPACK}}
\newcommand{\FATMEN}{\textsc{fatmen}\index{FATMEN}}
\newcommand{\GEANT}{\textsc{geant}\index{GEANT}}
\newcommand{\GKS}{\textsc{gks}\index{GKS}}
\newcommand{\HBOOK}{\textsc{hbook}\index{HBOOK}}
\newcommand{\HEPDB}{\textsc{hepdb}\index{HEPDB}}
\newcommand{\HIGZ}{\textsc{higz}\index{HIGZ}}
\newcommand{\HPLOT}{\textsc{hplot}\index{HPLOT}}
\newcommand{\KUIP}{\textsc{kuip}\index{KUIP}}
\newcommand{\MINUIT}{\textsc{minuit}\index{MINUIT}}
\newcommand{\PATCHY}{\textsc{patchy}\index{PATCHY}}
\newcommand{\PAW}{\textsc{paw}\index{PAW}}
\newcommand{\PAWPP}{\textsc{paw++}\index{PAW++}}
\newcommand{\WWW}{\textsc{www}\index{WWW}}
\newcommand{\VAXTAP}{\textsc{vaxtap}\index{VAXTAP}}
\newcommand{\ZEBRA}{\textsc{zebra}\index{ZEBRA}}


\newcommand{\Rule}{\rule[-.9ex]{0ex}{3.1ex}}

%    \end{macrocode}
%
% \subsection{Definition of extended list environments}
%
%    \begin{macrocode}
\newenvironment{DLtt}[1]% The parameter is the width of the term
                        {\def\DLH{\tt}\begin{DLgen}{#1}}{\end{DLgen}}
\newenvironment{DL}[1]% The parameter is the width of the term
                        {\def\DLH{\bf}\begin{DLgen}{#1}}{\end{DLgen}}
\newenvironment{DLttc}[1]% The parameter is the width of the term
                        {\def\DLH{\tt}\begin{DLgenc}{#1}}{\end{DLgenc}}
\newenvironment{DLc}[1]% The parameter is the width of the term
                        {\def\DLH{\bf}\begin{DLgenc}{#1}}{\end{DLgenc}}
\newenvironment{DLgen}[1]{% Generic description list
    \begin{list}{\phantom{\DLH#1}}%
   {\settowidth{\labelwidth}{\DLH#1\quad}% define global width
    \setlength{\leftmargin}{\labelwidth}%  set global width
    \setlength{\itemindent}{0pt}%          set global width
    \setlength{\labelsep}{0pt}%            horizontal sep. term/item
    \setlength{\itemsep}{1pt}%             vertical sep. item/item
    \setlength{\parsep}{0pt}%              vertical sep. 2 pars in item
    \setlength{\topsep}{.2\baselineskip}%  vertical sep. text/list
    \renewcommand{\makelabel}[1]{\DLH##1\hfil}}}% parameter from item
{\end{list}}% ***** end of environment{DLtt}
\newenvironment{DLgenc}[1]{% Generic dense description list
\begin{list}{\phantom{\DLH#1}}%
   {\settowidth{\labelwidth}{\DLH#1\quad}% define global width
    \setlength{\leftmargin}{\labelwidth}%  set global width
    \setlength{\itemindent}{0pt}%          Everything else 0pt
    \labelsep0pt\itemsep0pt\topsep0pt\partopsep0pt\parskip0pt\parsep0pt
    \renewcommand{\makelabel}[1]{\DLH##1\hfil}}}% get parameter from item
{\end{list}}% ***** end of environment{DLttc}
\newcounter{cOL}
\newenvironment{OL}{% Ordered list
\begin{list}{\hfill{\bf\arabic{cOL}}\hskip6pt}%
   {\setlength{\labelsep}{0pt}% horizontal separation between term and item
    \setlength{\itemsep}{2pt}% vertical separation between two items
    \setlength{\parsep}{0pt}% vertical separation two paragraphs in an item
    \setlength{\topsep}{.5\baselineskip}% vertical separation text/list
    \usecounter{cOL}}}{\end{list}}
\newenvironment{OLc}{% Dense order list
\begin{list}{\hfill{\bf\arabic{cOL}}\hskip6pt}%
   {\setlength{\labelsep}{0pt}% horizontal separation between term and item
    \labelsep0pt\itemsep0pt\topsep0pt\partopsep0pt\parskip0pt\parsep0pt
    \usecounter{cOL}}}{\end{list}}
\newenvironment{UL}{% Unnumbered list
\begin{list}{}
   {\setlength{\labelsep}{0pt}% horizontal separation between term and item
    \setlength{\itemsep}{2pt}% vertical separation between two items
    \setlength{\parsep}{0pt}% vertical separation two paragraphs in an item
    \setlength{\topsep}{.5\baselineskip}% vertical separation text/list
    \renewcommand{\makelabel}{\hfill--\hskip6pt}}}%
{\end{list}}
\newenvironment{ULc}{% Dense unnumbered list
\begin{list}{}{%
    \labelsep0pt\itemsep0pt\topsep0pt\partopsep0pt\parskip0pt\parsep0pt
    \renewcommand{\makelabel}{\hfill--\hskip6pt}}}%
{\end{list}}
\newenvironment{Note}{{\bf Note:}\par}{\par}
\newenvironment{Notes}{{\bf Notes:}\begin{list}{}{%
      \labelsep0pt\itemsep0pt\topsep0pt\partopsep0pt\parskip0pt\parsep0pt
      \renewcommand{\makelabel}{\hfill--\hskip6pt}}}%
    {\end{list}}
%    \end{macrocode}
%
%  \subsection{Literal environemnts}
%  These environments look live \Lenv{verbatim}, but they allow commands
%  inside (inspired by {\tt alltt} style).
%
%    \begin{macrocode}
\newenvironment{XMP}%  All characters verbatim but { } \
{\begingroup\trivlist \item[]\if@minipage\else\vskip\parskip\fi
\leftskip\@totalleftmargin\rightskip\z@
\parindent\z@\parfillskip\@flushglue\parskip\z@
\@tempswafalse \def\par{\if@tempswa\hbox{}\fi\@tempswatrue\@@par}
\obeylines \tt \catcode``=13 \@noligs
\@makeother\ \@makeother\$\@makeother\&\@makeother\#\@makeother\^
\@makeother\^^K\@makeother\_\@makeother\^^A\@makeother\%\@makeother\~
\frenchspacing\@vobeyspaces\footnotesize}{\endtrivlist\endgroup}

\newenvironment{XMPt}[1]%  All characters verbatim but { } \
{\condbreak{2cm}
\begin{center}
\mbox{}\\[-1cm]
\makebox[\linewidth][l]{\vrule width .4pt height 0mm depth 3mm \hrulefill
\vrule width .4pt height 0mm depth 3mm}\\[-1.5ex]
\mbox{\bf\footnotesize#1}
\end{center}
\vspace*{-5mm}
\begin{XMP}}% beginning XMP environment
{\end{XMP}\vspace*{-2.5ex}  % end XMP environment followed by bottom line
\makebox[\linewidth][l]{\vrule width .4pt height 2mm depth 0mm \hrulefill
\vrule width .4pt height 2mm depth 0mm}
\vskip1ex\par}% End of environment XMPt

\newenvironment{XMPzskip}%  All characters verbatim but { } \
{\begingroup\partopsep\z@\parsep\z@\listparindent\z@\topsep\z@
\leftskip\@totalleftmargin\rightskip\z@
\parindent\z@\parfillskip\@flushglue\parskip\z@
\trivlist\partopsep\z@\parsep\z@\listparindent\z@\topsep\z@
\item[]\leftskip\@totalleftmargin\rightskip\z@
\parindent\z@\parfillskip\@flushglue\parskip\z@
\@tempswafalse \def\par{\if@tempswa\hbox{}\fi\@tempswatrue\@@par}
\obeylines \tt \catcode``=13 \@noligs
\@makeother\ \@makeother\$\@makeother\&\@makeother\#\@makeother\^
\@makeother\^^K\@makeother\_\@makeother\^^A\@makeother\%\@makeother\~
\frenchspacing\@vobeyspaces\footnotesize}{\endtrivlist\endgroup}

\newenvironment{XMPfont}[1]{% integer font size as parameter
\begin{XMP}
  \tt\size{#1}{1.2#1pt}\selectfont\hyphenchar\the\font-1}%
{\end{XMP}}% ***** end of environment{XMPfont}

\newenvironment{XMPfrac}[1]{% font as parameter
\begin{XMP}
  \font\Localfont=pcrr at #1pt%
  \Localfont\baselineskip1.2\fontdimen6\font\hyphenchar\the\font-1}%
{\end{XMP}}% ***** end of environment{XMPfrac}
\def\XMPin{\@ifnextchar [{\@XMPin}{\@XMPin[.49]}}
%% FOLLOWING LINE CANNOT BE BROKEN BEFORE 80 CHAR
\def\@XMPin[#1]#2{\par\begin{minipage}[t]{#1\linewidth}\vspace*{5mm}\begin{XMPt}{#2}}
\def\endXMPin{\end{XMPt}\end{minipage}\hfill}
\def\XMPout{\@ifnextchar [{\@XMPout}{\@XMPout[.49]}}
%% FOLLOWING LINE CANNOT BE BROKEN BEFORE 80 CHAR
\def\@XMPout[#1]#2{\begin{minipage}[t]{#1\linewidth}\vspace*{5mm}\begin{XMPt}{#2}}
\def\endXMPout{\end{XMPt}\end{minipage}\vspace{.5\baselineskip}\par}
%    \end{macrocode}
%
%  \subsection{Literal environemnts}
%  These environments look live \Lenv{verbatim}, but they allow commands
%  inside (inspired by {\tt alltt} style).
%
%    \begin{macrocode}
\def\condbreak#1{\par\@tempdima=#1
\ifdim\pagetotal>0pt
\advance\@tempdima by -\pagegoal
\advance\@tempdima by \pagetotal
\ifdim\@tempdima>0pt\newpage\fi\fi}
%    \end{macrocode}
%
%    \begin{macrocode}
%\def\ps@plain{\let\@mkboth\@gobbletwo
%     \let\@oddhead\@empty\def\@oddfoot{\reset@font\rm\hfil\thepage
%     \hfil}\let\@evenhead\@empty\let\@evenfoot\@oddfoot}

%       psboxes.sty
%
% This package enables to put a PostScript drawing behind a TeX box.
% The drawing is parametrized by the position and the size of the
% TeX box. To put a gray [rounded] box behind a word use

%       \PScommands % Once at the begining
%
%       ... text text \psboxit{25 cartouche}{THE WORD} text text
%       \psboxit{/box 0.5 setgray fill}{\spbox{ANOTHER WORD}}
%       text text ...
%
% WARNINGS : * This was written for dvips translator. You may want to
% change ``ps::'' to ``pstext='' to adapt it to others.
%
%            * If your boxes are ill sized try to change 16384 to
% something else (original code used 65536).
% % 65536 is the internal unit of TeX (scaled point, TeXBook page 57)
% Those macros were adapted from Tom Sheffler (CMU)'s psframe.sty style. In
% particular, the spacebox macro was just copied from his style.
%
%       Je'ro^me MAILLOT, INRIA
%       maillot@bora.inria.fr
%       August 1991
%

%%
%% PSBOXIT
%%
%% \psboxit{PS program}{TeX stuff}
%%
%% The bounding box of the TeX stuff is pushed on the PostScript stack
%% and then the program in the first argument is called
%%
%% EXAMPLE: set some text on a gray background, Use the SPBOX macro to
%% give some space around the text.
%%
%%      \psboxit{box 0.5 setgray fill}{\spbox{Some Text}}
%%
%% See \PScommands for the \box definition
%%

\long\def\psboxit#1#2{%
\begingroup\setbox0=\hbox{#2}%
\dimen0=\ht0 \advance\dimen0 by \dp0%
    % Write out the PS code to set the current path using HEIGHT,
    % WIDTH , DEPTH of box0.
    \hbox{%
    \special{ps: gsave currentpoint translate
        0
        \number\dp0 \space 15800 div    % hand tuned for dvips
        \number\wd0 \space 15800 div    % hand tuned for dvips
        \number\ht0 \space -15800 div   % hand tuned for dvips
%        \number\dp0 \space 16384 div
%        \number\wd0 \space 16384 div
%        \number\ht0 \space -16384 div   % Bounding box
%        \number\dp0 \space 65536 div
%        \number\wd0 \space 65536 div
%        \number\ht0 \space -65536 div   % Bounding box
        #1 grestore}%
    \copy0%
}%HBOX
\endgroup%
}%


%% Global gray level for all boxes

\def\gboxlev{0.9 }


% SPACEBOX
%
% This macro simply takes some TeX stuff, and puts FOUR sides on it
% so that the box is the same size as the thing you'd get with
% an \fbox{} command.  (All I did was modify the code for \fbox{}
% so that all rules were replaced with struts).
%
% USAGE: \spbox{text} is just like \fbox{text} but makes no rules
%
% REASON: so that if using \pspath{...}{\fbox{stuff}}
%         there is a way to get another box the same size:
%         \pspath{...}{\spbox{stuff}}
%
\long\def\spbox#1{\leavevmode\setbox1\hbox{#1}%
    \dimen0\fboxrule \advance\dimen0 \fboxsep%
    \advance\dimen0 \dp1%
    \hbox{\lower \dimen0\hbox%
    {\vbox{\hrule height \fboxrule width 0pt%
          \hbox{\vrule width \fboxrule height 0pt \hskip\fboxsep%
          \vbox{\vskip\fboxsep \box1\vskip\fboxsep}\hskip%
                 \fboxsep\vrule width \fboxrule height 0pt}%
                 \hrule height \fboxrule width 0pt}}}}%

%
% A Few PostScript definitions to use with \psboxit
% Call \PScommands once at the begining of your program, this will
% define : box roundedbox rectcartouche and cartouche. They are 4
% PostScript programs. Change the values before setlinewidth end
% setgray to customize your boxes
%
%     Ex : \psboxit{25 cartouche}{blah blah}
%          \psboxit{rectcartouche}{blah blah}
%
\long\def\PScommands{\special{! TeXDict begin
/box{%                  Processes the path of a rectangle.
%                       Needs : x0 y0 x1 y1.
newpath 2 copy moveto 3 copy pop exch lineto 4 copy pop pop
lineto exch pop exch pop lineto closepath } bind def
% lineto 4 copy exch pop exch pop lineto closepath } bind def
%
%
/roundedbox{%           Processes the path of a rounded rectangle.
%                       Needs : x0 y0 x1 y1 radius.
%       The bounding box is augmented by +/- radius to allow easily to
%       frame several rounded boxes around the same Texture box. Ex:
%  \psboxit{4 copy 15 roundedbox 25 roundedbox} {\spbox{Some Text}}
%       draws two scaled boxes arond the same word. Delete the `radius
%       sub' and `radius add' commands to suppress that enlargement.
%
/radius exch store
3 2 roll %              x0 x1 y1 y0
2 copy min radius sub /miny exch store max radius add /maxy exch store
2 copy min radius sub /minx exch store max radius add /maxx exch store
newpath
minx radius add miny moveto
maxx miny maxx maxy radius arcto
maxx maxy minx maxy radius arcto
minx maxy minx miny radius arcto
minx miny maxx miny radius arcto 16 {pop} repeat
closepath
}bind def
%
%
/rectcartouche{%        Draws a filled and framed box
%                       Needs : x0 y0 x1 y1
4 copy \gboxlev setgray 5 setlinewidth box fill .25 setgray box stroke
}bind def
%
%
/cartouche{%            Draws a filled and framed rounded box
%                       Needs : x0 y0 x1 y1 radius
5 copy \gboxlev setgray 5 setlinewidth roundedbox fill .95 setgray roundedbox
stroke
}bind def
%
%
end }%                  Closes dictionnary
}%

\def\Ptitle#1{\special{ps: /Printstring (#1) def}
                       \epsfbox{/user/goossens/cnasall/cnastit.eps}}

\newdimen\Length%%%%%%%%%%%%%%%%%%%% Define once for further use
\def\Sbox{\@ifnextchar [{\@Sbox}{\@Sbox[ ]}}
\def\@Sbox[#1]#2#3#4{\@Sboxni[#1]{#3}{#4}% 2 is label
\label{#2}\index{#3@{\protect\tt#3}|Sidef}}% ***** end of \newcommand{\Sbox}
\def\Sboxni{\@ifnextchar [{\@Sboxni}{\@Sboxni[ ]}}
\def\@Sboxni[#1]#2#3{\par% margin note, highlight, parameters
\setbox\@tempboxa\hbox{\quad\small\bf#2}
\Length\linewidth
\advance\Length by -\wd\@tempboxa
\advance\Length by -4\tabcolsep
\medskip
\setbox0\hbox{\begin{tabular}{lp{\the\Length}}\box\@tempboxa &\tt
#3\end{tabular}}
\condbreak{2cm}
\psboxit{box \gboxlev setgray fill}{\llap{\small\bf#1\ }\hbox{\box0}}%
\medskip\par}% ***** end of \newcommand{\Sboxni}

\def\Shubr{\@ifnextchar [{\@Shubr}{\@Shubr[ ]}}
\def\@Shubr[#1]#2#3{\par
\setbox\@tempboxa\hbox{\quad{\tt CALL }\small\bf#2}
\Length\linewidth
\advance\Length by -\wd\@tempboxa
\advance\Length by -4\tabcolsep
\medskip
\setbox0\hbox{\begin{tabular}{lp{\the\Length}}\box\@tempboxa &\tt
#3\end{tabular}}
\condbreak{2cm}
\psboxit{box \gboxlev setgray fill}{\llap{\small\bf#1\ }\hbox{\box0}}
\label{#2}\index{#2@{\protect\tt#2}|Sidef}%
\medskip\par}% ***** end of \newcommand{\Shubr}

\def\Shubrii{\@ifnextchar [{\@Shubrii}{\@Shubrii[ ]}}
\def\@Shubrii[#1]#2#3#4#5{\par%#1 tag #2 abb. 1 #3 contents 1 #4 abb. 2 #5
%%contents 2
\condbreak{2cm}
\medskip
\psboxit{box \gboxlev setgray fill}{\llap{\small\bf#1\ }\hbox to
\hsize{\rule[-.9ex]{0ex}{3.1ex}
\quad{\tt CALL }{\small\bf#2}\hspace{8pt}{\tt#3}{\rm\quad and\quad}
{\tt CALL }{\small\bf#4}\hspace{8pt}{\tt#5}\hfill}}
%% FOLLOWING LINE CANNOT BE BROKEN BEFORE 80 CHAR
\label{#2}\index{#2@{\protect\tt#2}|Sidef}\label{#4}\index{#4@{\protect\tt#4}|Sidef}
\medskip\par}% ***** end of \newcommand{\Shubr}


\def\Shubrz#1#2{%
\setbox\@tempboxa\hbox{\quad{\tt CALL }\small\bf#1}%
\Length\linewidth
\advance\Length by -\wd\@tempboxa
\advance\Length by -4\tabcolsep
\par\medskip
\psboxit{box \gboxlev setgray fill}{\begin{tabular}{lp{\the\Length}}%
                                \box\@tempboxa &\tt #2\end{tabular}}
\par\medskip\par}% ***** end of \newcommand{\Shubrz}

\def\Sfunc{\@ifnextchar [{\@Sfunc}{\@Sfunc[ ]}}
\def\@Sfunc[#1]#2#3{%
 \def\@@Sfunc##1=##2(##3){% Function to parse last argument
  \setbox\@tempboxa\hbox{\quad{\tt##1 = }\small\bf##2}\def\@@Farg{(##3)}}%
 \par\@@Sfunc#3
 \Length\linewidth
 \advance\Length by -\wd\@tempboxa
 \advance\Length by -4\tabcolsep
 \setbox0\hbox{\begin{tabular}{lp{\the\Length}}\box\@tempboxa
&\tt\@@Farg\end{tabular}}
 \condbreak{2cm}
 \medskip
 \psboxit{box \gboxlev setgray fill}{\llap{\small\bf#1\ }\hbox{\box0}}
 \label{#2}\index{#2@{\protect\tt#2}|Sidef}
 \medskip\par}% ***** end of \newcommand{\Sfunc}

\def\Sfuncii{\@ifnextchar [{\@Sfuncii}{\@Sfuncii[ ]}}
\def\@Sfuncii[#1]#2#3#4#5{\par%#1 tag #2 abb. 1 #3 contents 1 #4 abb. 2 #5
%%contents 2
 \def\@@Sfunc##1=##2(##3){% Function to parse last argument
  \setbox0\hbox{\quad{\tt##1 = }{\small\bf##2}{\tt (##3)}\hfill}}%
 \par\@@Sfunc#3\setbox1\hbox{\box0}\@@Sfunc#5
 \condbreak{2cm}
 \medskip
 \psboxit{box \gboxlev setgray fill}{\llap{\small\bf#1\ }%
              \hbox to \hsize{\rule[-.9ex]{0ex}{3.1ex}\box1{\rm\quad
and\quad}\box0}}

%% FOLLOWING LINE CANNOT BE BROKEN BEFORE 80 CHAR
\label{#2}\index{#2@{\protect\tt#2}|Sidef}\label{#4}\index{#4@{\protect\tt#4}|Sidef}
 \medskip\par}% ***** end of \newcommand{\Sfuncii}

\def\SCubr{\@ifnextchar [{\@SCubr}{\@SCubr[ ]}}
\def\@SCubr[#1]#2#3{\par
\setbox\@tempboxa\hbox{\quad\bf#2}
\Length\linewidth
\advance\Length by -\wd\@tempboxa
\advance\Length by -4\tabcolsep
\setbox0\hbox{\begin{tabular}{lp{\the\Length}}\box\@tempboxa &\tt
#3\end{tabular}}
\condbreak{2cm}
\medskip
\psboxit{box \gboxlev setgray fill}{\llap{\small\bf#1\ }\hbox{\box0}}
\label{#2}\index{#2@{\protect\tt#2}|Sidef}%
\medskip\par}% ***** end of \newcommand{SCubr}

\def\SCubrii{\@ifnextchar [{\@SCubrii}{\@SCubrii[ ]}}
\def\@SCubrii[#1]#2#3#4#5{\par%#1 tag #2 abb. 1 #3 contents 1 #4 abb. 2 #5
%%contents 2
\condbreak{2cm}
\medskip
\psboxit{box \gboxlev setgray fill}{\llap{\small\bf#1\ }\hbox to
\hsize{\rule[-.9ex]{0ex}{3.1ex}
\quad{\bf#2}\hspace{8pt}{\tt#3}{\rm\quad and\quad}{\bf#4}\hspace{8pt}{\tt#5}}}
%% FOLLOWING LINE CANNOT BE BROKEN BEFORE 80 CHAR
\label{#2}\index{#2@{\protect\tt#2}|Sidef}\label{#4}\index{#4@{\protect\tt#4}|Sidef}
\medskip\par}% ***** end of \newcommand{SCubr}

\def\SKUIP{\@ifnextchar [{\@SKUIP}{\@SKUIP[\@empty]}}
\def\@SKUIP[#1]#2#3{\vspace{\baselineskip}% #1 to index, #2 in bold #3
%%parameters
  \ifx\@empty#1\def\@@ind{#2}\else\def\@@ind{#1}\fi
  \setbox\@tempboxa\hbox{\quad\small\bf#2}
  \Length\linewidth
  \advance\Length by -\wd\@tempboxa
  \advance\Length by -4\tabcolsep
  \setbox0\hbox{\begin{tabular}{lp{\the\Length}}\box\@tempboxa &\tt
#3\end{tabular}}
  \condbreak{2cm}
  \medskip
  \psboxit{box \gboxlev setgray fill}{\hbox{\box0}}
  \label{\@@ind}\index{#2@{\protect\tt#2}|Sidef}
\medskip\par}% ***** end of \newcommand{\SKUIP}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\@ifundefined{verbatim@font}{\input{verbatim.sty}}{}

\def\load@courier{%
\postscript@fontdef{Courier}{courier}%
{pcrr}{pcrro}{pcrb}{pcrbo}{pcrr}{pcrr}
}
\def\load@helvetica{%
\postscript@fontdef{Helvetica}{helvetica}%
{phvr}{phvro}{phvb}{phvbo}{phvrc}{phvro}
}
\def\load@times{%
\postscript@fontdef{Times}{times}%
{ptmr}{ptmri}{ptmb}{ptmbi}{ptmrc}{ptmro}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\parindent=0pt
\parskip.2\baselineskip plus2pt minus2pt

% Finally a series of commands, which are generally dummied out,
% and which should be correctly set for the particular treatment
% of the document
%
%    \begin{macrocode}
\long\def\HTML#1{}
\long\def\notHTML#1{#1}
\long\def\NODOC#1{#1}
\def\Filename#1{}
%    \end{macrocode}
%
\endinput











\newdimen\x
{%
\catcode`\p=12
\catcode`\t=12
\gdef\numonly#1pt{%
\def\xx{#1}%
}%
}%
\newcommand{\Prix}{%
  \newcount\Pagec\Pagec=\c@page\advance\Pagec by 2
  \x=\Pagec pt\x=.05\x
\def\Price{%
\expandafter\numonly\the\x
\xx
}%
  \vfill
  {\it Printed at CERN. Price \Price Swiss Centimes}
}

%       psboxes.sty
%
% This package enables to put a PostScript drawing behind a TeX box.
% The drawing is parametrized by the position and the size of the
% TeX box. To put a gray [rounded] box behind a word use
%       \PScommands % Once at the begining
%
%       ... text text \psboxit{25 cartouche}{THE WORD} text text
%       \psboxit{box 0.5 setgray fill}{\spbox{ANOTHER WORD}}
%       text text ...
%
%            * If your boxes are ill sized try to change 16384 to
% something else (original code used 65536).
% % 65536 is the internal unit of TeX (scaled point, TeXBook page 57)
% Those macros were adapted from Tom Sheffler (CMU)'s psframe.sty style. In
% particular, the spacebox macro was just copied from his style.
%
%       Je'ro^me MAILLOT, INRIA
%       maillot@bora.inria.fr
%       August 1991
%
%
% A Few PostScript definitions to use with \psboxit
% Call \PScommands once at the begining of your program, this will
% define : box roundedbox rectcartouche and cartouche. They are 4
% PostScript programs. Change the values before setlinewidth end
% setgray to customize your boxes
%
%     Ex : \psboxit{25 cartouche}{blah blah}
%          \psboxit{rectcartouche}{blah blah}
%
\long\def\PScommands{\special{! TeXDict begin
/box{%                  Processes the path of a rectangle.
%                       Needs : x0 y0 x1 y1.
newpath 2 copy moveto 3 copy pop exch lineto 4 copy pop pop
lineto 4 copy exch pop exch pop lineto closepath } bind def
%
%
/min{ 2 copy  gt { exch } if pop } bind def%
/max{ 2 copy  lt { exch } if pop } bind def%
/roundedbox{%           Processes the path of a rounded rectangle.
%                       Needs : x0 y0 x1 y1 radius.
%       The bounding box is augmented by +/- radius to allow easily to
%       frame several rounded boxes around the same Texture box. Ex:
%  \psboxit{4 copy 15 roundedbox 25 roundedbox} {\spbox{Some Text}}
%       draws two scaled boxes arond the same word. Delete the `radius
%       sub' and `radius add' commands to suppress that enlargement.
%
/radius exch store
3 2 roll %              x0 x1 y1 y0
2 copy min radius sub /miny exch store
       max radius add /maxy exch store
2 copy min radius sub /minx exch store
       max radius add /maxx exch store
newpath
minx radius add miny moveto
maxx miny maxx maxy radius arcto
maxx maxy minx maxy radius arcto
minx maxy minx miny radius arcto
minx miny maxx miny radius arcto 16 {pop} repeat
closepath
}bind def
%
%
/rectcartouche{%        Draws a filled and framed box
%                       Needs : x0 y0 x1 y1
box gsave  .95 setgray fill grestore 1 setlinewidth stroke }bind def
%
%
/cartouche{%            Draws a filled and framed rounded box
%                       Needs : x0 y0 x1 y1 radius
roundedbox gsave .95 setgray fill grestore 1 setlinewidth stroke }bind def
%
end }%                  Closes dictionnary
}\PScommands%
%%
%% PSBOXIT
%%
%% \psboxit{PS program}{TeX stuff}
%%
%% The bounding box of the TeX stuff is pushed on the PostScript stack
%% and then the program in the first argument is called
%%
%% EXAMPLE: set some text on a gray background, Use the SPBOX macro to
%% give some space around the text.
%%
%%      \psboxit{box 0.5 setgray fill}{\spbox{Some Text}}
%%
%% See \PScommands for the \box definition
%%
\chardef \atcode = \the \catcode `\@
\catcode `\@ = 11

\long\def\psboxit#1#2{%
\begingroup\setbox0=\hbox{#2}%
\dimen0=\ht0 \advance\dimen0 by \dp0%
    % Write out the PS code to set the current path using HEIGHT,
    % WIDTH , DEPTH of box0.
    \hbox{%
    \special{ps: gsave currentpoint translate
        0
        \number\dp0 \space 15800 div    % hand tuned for dvips
        \number\wd0 \space 15800 div    % hand tuned for dvips
        \number\ht0 \space -15800 div   % hand tuned for dvips
%        \number\dp0 \space 16384 div
%        \number\wd0 \space 16384 div
%        \number\ht0 \space -16384 div   % Bounding box
%        \number\dp0 \space 65536 div
%        \number\wd0 \space 65536 div
%        \number\ht0 \space -65536 div   % Bounding box
        #1 grestore}%
    \copy0%
}%HBOX
\endgroup%
}%

% SPACEBOX
%
% This macro simply takes some TeX stuff, and puts FOUR sides on it
% so that the box is the same size as the thing you'd get with
% an \fbox{} command.  (All I did was modify the code for \fbox{}
% so that all rules were replaced with struts).
%
% USAGE: \spbox{text} is just like \fbox{text} but makes no rules
%
% REASON: so that if using \pspath{...}{\fbox{stuff}}
%         there is a way to get another box the same size:
%         \pspath{...}{\spbox{stuff}}
%
\long\def\spbox#1{\leavevmode\setbox1\hbox{#1}%
    \dimen0\fboxrule \advance\dimen0 \fboxsep%
    \advance\dimen0 \dp1%
    \hbox{\lower \dimen0\hbox%
    {\vbox{\hrule height \fboxrule width 0pt%
          \hbox{\vrule width \fboxrule height 0pt \hskip\fboxsep%
          \vbox{\vskip\fboxsep \box1\vskip\fboxsep}\hskip%
                 \fboxsep\vrule width \fboxrule height 0pt}%
                 \hrule height \fboxrule width 0pt}}}}%

\def\Gbox#1{\psboxit{box 0.9 setgray fill}{#1}}
%%
\newsavebox{\gray@box}%
\newdimen\gray@space
%
\long\def\Beginboxitpara#1{\edef\gray@tmp{#1}%
\gray@space=\fboxsep \advance\gray@space by -\fboxrule
\par\prevdepth=-1000pt\vskip 0.5\baselineskip\noindent
\setbox\gray@box=%
\hbox\bgroup \vrule width \fboxrule
        \vtop\bgroup \hrule
             \vbox\bgroup
                   \kern\gray@space
                   \hbox\bgroup
                        \kern\gray@space
                        \vtop\bgroup
                   \hsize=\linewidth\advance\hsize-2\fboxsep\noindent
                   \ignorespaces}
\def\Endboxitpara{%
                             \egroup
                        \kern\gray@space
                        \egroup
                   \kern\gray@space
                   \egroup \hrule
             \egroup\vrule width \fboxrule
     \egroup
     \psboxit{\gray@tmp}{\box\gray@box}%
     \vskip 0.5\baselineskip
\par}

\newenvironment{boxitpara}[1]{\Beginboxitpara{#1}}{\Endboxitpara}
\newenvironment{boxitpara*}[1]{\Beginboxitpara{#1}\hbox to\hsize{}}%
{\Endboxitpara}

\catcode `\@ = \the \atcode
\endinput




