Adding description of calibration using tracks
authormarian <marian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 11 Nov 2008 15:08:49 +0000 (15:08 +0000)
committermarian <marian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 11 Nov 2008 15:08:49 +0000 (15:08 +0000)
(Marian)

TPC/doc/calib/calibTracks/calibTrack.tex [new file with mode: 0644]
TPC/doc/calib/calibTracks/elsart.cls [new file with mode: 0644]

diff --git a/TPC/doc/calib/calibTracks/calibTrack.tex b/TPC/doc/calib/calibTracks/calibTrack.tex
new file mode 100644 (file)
index 0000000..52c83f4
--- /dev/null
@@ -0,0 +1,106 @@
+\documentclass{elsart}  
+\usepackage{epsfig,amssymb,amsmath}  
+\usepackage{epsfig,amssymb,amsmath}  
+\begin{document}
+
+
+\section{ Alice TPC calibration using tracks}
+
+
+All calibration classes (components) using the tracks and ESDs derives from the AliTPCcalibBase.
+Following classe implemented:
+\begin{itemize}
+\item {\bf{AliTPCcalibTracks.}}     Cluster shape and error parameterization.
+\item {\bf{AliTPCcalibTracksGain.}} Gain calibration
+\item {\bf{AliTPCcalibAlign.}}      Internal alignment of the TPC chambers.
+\item {\bf{AliTPCcalibLaser.}}      Calibration using laser tracks. Drift vleloctity and unlinearities. ExB effect.
+\item {\bf{AliTPCcalibTime.}}       Time dependent calibration of drift velocity and the gain.
+\item {\bf{AliTPCcalibCosmic.}}     Currently only for perfomance study.
+\item {\bf{AliTPCcalibCalib.}}      Reapply calibration on the cluster level, refit the track. Used as prefileter for previously mentioned calibration.
+\end{itemize}
+
+
+The base functionality to be optionaly implemented by the derived clases.
+\begin{itemize}
+\item {\bf{Process(AliESDEvent *event)}} To implement if full even neccessary: AliTPCcalibLaser, AliTPCcalibCosmic, AliTPCcalibTime.
+\item {\bf{Process(AliTPCseed  *track)}} All clusters needed: AliTPCcalibTracks, AliTPCcalibTracksGain
+\item {\bf{Process(AliESDtrack *track)}}
+\item
+\item {\bf{Merge(TCollection)}} All components are able to merge results. (Histograms, AliTPCCalPads, Fitters) 
+\item {\bf{Terminate()}}        Function to be called before saving results. (Usulally update of fitters)
+\item {\bf{Bool AcceptTrigger()}} Don't process event with non approprate trigger mask           
+\item {\bf{Analyze()}}          Analyze raw data (histograms, calPads fitters). Extract parameterizations fits.
+\end{itemize}
+
+
+
+The calibration components are sef containing, they can be optionally stored in the refernce OCDB.
+For real correction, usage the values extracted from the components are used to fill OCDB entries.
+The usage cluster error and shape parameterization and the gain parameterization (position- due electron attachementand  diffusion, and the angular) is implemented in the {\bf{AliTPCclusterParam}} class.
+
+
+AliTPCcalibTracks and AliTPCcalibTracksGain component will provide the functionality to update current AliTPCclusterParam. Currently it is done in the macros. Calibration sequence:
+\begin{itemize}
+\item Reconstruction with current AliTPCclusterParam
+\item Calibration, filling the fitters and histograms
+\item Analyze fits and histogram. Visual inspection.
+\item Update AliTPCclusterParam 
+\end{itemize}
+
+
+\subsection{Cluster error and shape parameterization - AliTPCcalibTracks}
+
+The main purpose, get the cluster error and shape parameterization as function of the cluster position, inclination angle and amplitude. 
+
+The mean width of the cluster distribution is given by:
+\begin{equation}
+     \sigma_{\rm{t}}^2 = \sigma^2_{\rm{preamp}}+D{\rm{^2_L}}L_{\rm{drift}}+
+        \frac{\tan^2\alpha~L_{\rm{pad}}^2}{12},
+\end{equation}
+
+\begin{equation}
+     \sigma_{\rm{p}}^2 = \sigma^2_{\rm{PRF}}+D{\rm{^2_T}}L_{\rm{drift}}+
+        \frac{\tan^2\beta~L_{\rm{pad}}^2}{12},
+\end{equation}
+where ${\sigma_{\rm{preamp}}}$ and ${\sigma_{\rm{PRF}}}$  are the
+r.m.s. of the time response function and  pad response function,
+respectively.
+
+The measured width is binned in the L and in the inclination angle   ${\tan_{\rm{PRF}}}$.
+Following parameters are fitted:
+\begin{equation}
+     \sigma_y^2 = k_0+k_1L_{\rm{drift}}+k_2\tan^2\alpha
+\end{equation}
+The egreement between the data and the theretical formula is on the level of 5\% over the full drift length,
+and inclination angle $\tan$ from 0 up to 1.4. Such precission is sufficient to signed overlapped tracks.
+In order to estimate the drift length, more precize formula should be used. The second order taylor 
+approximation can be used:
+\begin{equation}
+     \sigma_y^2 = k_0+k_1L_{\rm{drift}}+k_2\tan^2\alpha+k_3L^2_{\rm{drift}}+k_4\tan^4\alpha+k_5L_{\rm{drift}}\tan^2\alpha
+\end{equation}
+
+The measuered width of the cluster distribution depends also on the deposited charge, this dependence we cansider as second order correction. (To be implemented in the AliTPCClusterparam)
+\begin{equation}
+     \sigma_y^2 = k_0+k_1L_{\rm{drift}}+k_2\tan^2\alpha+k_3L^2_{\rm{drift}}+k_4\tan^4\alpha+ \\ 
+k_5L_{\rm{drift}}\tan^2\alpha+k_6/Q_{max}+k_7L_{\rm{drift}}/Q_{max}+k_8\tan^2\alpha/Q_{max}
+\end{equation}
+
+
+Pictures to be added: 
+First approximation, second order approximation, comparison of MC and real data. The track mean shape, real track, overlapped events.
+
+
+
+
+
+
+
+
+
+
+
+\end{document}
+
+
+
+
diff --git a/TPC/doc/calib/calibTracks/elsart.cls b/TPC/doc/calib/calibTracks/elsart.cls
new file mode 100644 (file)
index 0000000..75b29d7
--- /dev/null
@@ -0,0 +1,1263 @@
+%%
+%% This is file `elsart.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% esl.dtx  (with options: `package,elsart,ONECOL,DEEPLIST')
+%% 
+%% IMPORTANT NOTICE:
+%% 
+%% For the copyright see the source file.
+%% 
+%% You are *not* allowed to modify this file.
+%% 
+%% You are *not* allowed to distribute this file.
+%% For distribution of the original source see the terms
+%% for copying and modification in the file esl.dtx.
+%% 
+\def\esp@fileversion{2e-1.62}
+\def\esp@filedate{1997/03/14}
+%% esl.dtx Copyright (C) 1994-1996 Elsevier Science
+\def\@shortjnl{\relax}
+ \def\@journal{Elsevier Preprint} \def\@company{Elsevier Science}
+  \def\@issn{000-0000}
+  \def\@shortjid{elsart}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{\@shortjid}[\esp@filedate, \esp@fileversion: \@journal]
+\newif\if@TwoColumn
+\newif\if@seceqn
+\newif\if@secthm
+\newif\if@nameyear
+\newif\if@Elproofing
+\@Elproofingfalse
+\DeclareOption{12pt}{}
+\DeclareOption{11pt}{}
+\DeclareOption{10pt}{}
+\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
+\DeclareOption{twoside}{\@twosidetrue  \@mparswitchtrue}
+\@twocolumnfalse
+\DeclareOption{onecolumn}{\@twocolumnfalse\@TwoColumnfalse}
+\DeclareOption{twocolumn}{\@twocolumntrue\@TwoColumntrue}
+\def\@docty{XX}
+\DeclareOption{letter}{%
+ \def\@docty{SN}%
+}
+\DeclareOption{proc}{%
+ \def\@docty{PP}%
+}
+\DeclareOption{erratum}{%
+ \def\@docty{EN}\gdef\@articletype{Erratum}%
+}
+\newif\if@draft
+\DeclareOption{draft}{%
+  \@drafttrue
+  \def\query{\marginpar{???}}%       % mark author queries in proof
+  \overfullrule 5\p@                  % to indicate overfull boxes
+}
+\DeclareOption{final}{%
+  \@draftfalse
+  \def\query{}%
+  \overfullrule \z@
+}
+\let\snm\relax \let\cty\relax \let\cny\relax\let\jr\relax
+\DeclareOption{capcas}{\typeout {* `capcas' option ignored *}}
+\newif\if@ussrhead \@ussrheadfalse
+\DeclareOption{ussrhead}{\@ussrheadtrue}
+\newif\if@debug \@debugfalse
+\DeclareOption{debug}{\typeout{* Debugging is on *}\@debugtrue
+              \errorcontextlines=1000}
+\@seceqnfalse                             % Default: equation numbering is not
+\DeclareOption{seceqn}{\@seceqntrue}      % reset at beginning of each section
+\@secthmfalse
+\DeclareOption{secthm}{\@secthmtrue}
+\@nameyearfalse
+\DeclareOption{nameyear}{\@nameyeartrue}
+ \ExecuteOptions{oneside}
+ \ExecuteOptions{onecolumn,final}
+\ProcessOptions
+\def\@pagenumprefix{}
+\def\author@font{}
+\def\partname{Part}
+\def\appendixname{Appendix}
+\def\contentsname{Contents}
+\def\listfigurename{List of Figures}
+\def\listtablename{List of Tables}
+\def\refname{References}
+\def\indexname{Index}
+\def\figurename{Fig.}
+\def\tablename{Table}
+\def\abstractname{Abstract}
+\lineskip 1\p@
+\normallineskip 1\p@
+\def\baselinestretch{1}
+\frenchspacing
+\newdimen\@frontmatterwidth
+\def\@overtitleskip{69\p@}
+\def\@overhistoryskip{\z@}
+\def\@undertitleskip{\z@}
+\def\@overkeywordskip{12\p@}
+\def\@overabstractskip{8\p@}
+\def\@overcaptionskip{8\p@}
+\def\@preabstractskip{24\p@ \@plus 6\p@ \@minus 3\p@}
+\def\@belowfmskip{18\p@}
+\def\@bibliosize{\small}
+\def\@historysize{\small}
+\def\@keywordsize{\small}
+\def\@overaddressskip{2pt}
+\def\@titlesize{\Large\bfseries}
+\def\@authorsize{\large}
+\def\@keywordheading{{\it Key words: \ }}
+\def\@addressstyle{\small\itshape}
+\def\@captionsize{\small}
+\def\@tablecaptionsize{\@captionsize}
+\def\@figurecaptionsize{\@captionsize}
+\def\@captionwidth{.8\hsize}
+\def\@tablesize{\small}
+\def\@keywordwidth{.8\textwidth}
+\def\@abstractwidth{.8\textwidth}
+\def\@fignumfont#1{#1}
+\def\@secnumfont#1{\upshape}
+\def\@catchlinesize{\footnotesize}
+\def\@runheadsize{\normalsize}
+\def\etal{et al.}
+\def\AND{\&}
+\def\@abstractsize{\fontsize{\@ixpt}{11pt}\selectfont}
+\def\@articletypesize{\fontsize{\@xiiipt}{13pt}\selectfont}
+\def\normalsize{\@setfontsize\normalsize\@xiipt{14.5}%
+\abovedisplayskip 12\p@ \@plus 2\p@ \@minus 2\p@%
+\belowdisplayskip \abovedisplayskip
+\abovedisplayshortskip \z@ \@plus 2\p@%
+\belowdisplayshortskip 3.5\p@ \@plus 2\p@ \@minus 2\p@
+\let\@listi\@listI}
+\def\small{\@setfontsize\small\@xipt{13.6}%
+\abovedisplayskip 11\p@ plus3\p@ minus6\p@
+\belowdisplayskip \abovedisplayskip
+\abovedisplayshortskip  \z@ plus3\p@
+\belowdisplayshortskip  6.5\p@ plus3.5\p@ minus3\p@
+\def\@listi{\leftmargin\leftmargini
+ \parsep 4.5\p@ plus2\p@ minus\p@ \itemsep \parsep
+            \topsep 9\p@ plus3\p@ minus5\p@}}
+\let\footnotesize=\small
+\let\@xviiipt\@xviipt
+\def\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}}
+\def\tiny{\@setfontsize\tiny\@vipt{7}}
+\def\large{\@setfontsize\large\@xivpt{18}}
+\def\Large{\@setfontsize\Large\@xviipt{22}}
+\def\LARGE{\@setfontsize\LARGE\@xxpt{22}}
+\def\huge{\@setfontsize\huge\@xxvpt{27}}
+\let\Huge=\huge
+\def\baselinestretch{1}
+\normalsize                                % Choose the normalsize font.
+\newdimen\@bls                              % Several dimensions are
+\@bls=\baselineskip                         % expressed in terms of this.
+\if@twoside                 % Values for two-sided printing:
+   \oddsidemargin   20\p@    %   Left margin on odd-numbered pages.
+   \evensidemargin  20\p@    %   Left margin on even-numbered pages.
+   \marginparwidth  10\p@    %   \@Width of marginal notes.
+\else                       % Values for one-sided printing:
+   \oddsidemargin   20\p@    %   Left margin on odd-numbered pages.
+   \evensidemargin  20\p@    %   Left margin on even-numbered pages.
+   \marginparwidth   2pc
+\fi
+\marginparsep 20\p@          % Horizontal space between outer margin and
+                            % marginal note
+\topmargin \z@           %    Nominal distance from top of page to top of
+                         %    box containing running head.
+\headheight  \z@         %    \@Height of box containing running head.
+\headsep     \z@         %    Space between running head and text.
+ \footskip 40\p@
+\bigskipamount=\@bls \@plus 0.3\@bls \@minus 0.3\@bls % 1/1 line
+\medskipamount=0.5\bigskipamount                  % 1/2 line
+\smallskipamount=0.25\bigskipamount               % 1/4 line
+\textheight 44\baselineskip  % \@Height of text (including footnotes and figures,
+\advance\textheight\topskip  % excluding running head and foot).
+\textwidth 33pc              % \@Width of text line.
+                             % For two-column mode:
+\columnsep 2pc               %   Space between columns
+\columnseprule \z@           %   \@Width of rule between columns.
+ \footnotesep 8.4\p@
+\skip\footins 12\p@ \@plus  8\p@          % Space between last line of text and
+                                      % top of first footnote.
+\floatsep 8\p@ \@plus 4\p@ \@minus 2\p@ % Space between adjacent floats moved
+                                         % to top or bottom of text page.
+\textfloatsep 8\p@ \@plus 4\p@ \@minus 2\p@ % Space between main text and floats
+                                         % at top or bottom of page.
+\intextsep 8\p@ \@plus 4\p@ \@minus 2\p@ % Space between in-text figures and
+                                         % text.
+\dblfloatsep      8\p@ \@plus 4\p@ \@minus 4\p@ % Same as \floatsep for double-column
+                                         % figures in two-column mode.
+\dbltextfloatsep 12\p@ \@plus 4\p@ \@minus 4\p@ % \textfloatsep for double-column
+                                         % floats.
+\@fptop \z@ \@plus 1fil    % Stretch at top of float page/column. (Must be
+                         % \z@ \@plus ...)
+\@fpsep 8\p@ \@plus 2fil    % Space between floats on float page/column.
+\@fpbot \z@ \@plus 1fil    % Stretch at bottom of float page/column. (Must be
+                         % \z@ \@plus ... )
+\@dblfptop \z@ \@plus 1fil % Stretch at top of float page. (Must be \z@ \@plus ...)
+\@dblfpsep 8\p@ \@plus 2fil % Space between floats on float page.
+\@dblfpbot \z@ \@plus 1fil % Stretch at bottom of float page. (Must be
+                         % \z@ \@plus ... )
+\marginparpush 5\p@       % Minimum vertical separation between two marginal
+                         % notes.
+\parskip 1pc \@plus 1\p@          % Extra vertical space between paragraphs.
+\parindent \z@                     % Indentation of each paragraph.
+\newskip\eqntopsep                    % Extra vertical space, in addition to
+ \eqntopsep 12\p@ \@plus 2\p@ \@minus 2\p@ %\parskip, added above and below
+\newdimen\eqnarraycolsep            % Half the space between columns
+\eqnarraycolsep 1\p@                 % in an \eqnarray.
+\@lowpenalty   51      % Produced by \nopagebreak[1] or \nolinebreak[1]
+\@medpenalty  151      % Produced by \nopagebreak[2] or \nolinebreak[2]
+\@highpenalty 301      % Produced by \nopagebreak[3] or \nolinebreak[3]
+\@beginparpenalty -\@lowpenalty    % Before a list or paragraph environment.
+\@endparpenalty   -\@lowpenalty    % After a list or paragraph environment.
+\@itempenalty     -\@lowpenalty    % Between list items.
+\def\section{\@startsection{section}{1}{\z@}{1.5\@bls
+  \@plus .4\@bls \@minus .1\@bls}{\@bls}{\normalsize\bfseries}}
+\def\subsection{\@startsection{subsection}{2}{\z@}{\@bls
+  \@plus .3\@bls \@minus .1\@bls}{\@bls}{\normalsize\itshape}}
+\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{\@bls
+  \@plus .2\@bls}{0.0001pt}{\normalsize\itshape}}
+\def\paragraph{\@startsection{paragraph}{4}{\z@}{3.25ex plus
+  2ex \@minus 0.2ex}{-1em}{\normalsize\bfseries}}
+\setcounter{secnumdepth}{3}
+\def\half@em{\hskip 0.5em}
+\def\lb@part{PART \thepart.\half@em}
+  \def\lb@empty@part{PART \thepart}
+\def\lb@section{\thesection.\half@em}
+  \def\lb@empty@section{\thesection}
+\def\lb@subsection{\thesubsection.\half@em}
+  \def\lb@empty@subsection{\thesubsection}
+\def\lb@subsubsection{\thesubsubsection.\half@em}
+  \def\lb@empty@subsubsection{\thesubsubsection}
+\def\lb@paragraph{\theparagraph.\half@em}
+  \def\lb@empty@paragraph{\theparagraph}
+\def\lb@subparagraph{\thesubparagraph.\half@em}
+  \def\lb@empty@subparagraph{\thesubparagraph}
+\def\head@format#1#2{#2}
+\def\head@style{\interlinepenalty\@M
+  \hyphenpenalty\@M \exhyphenpenalty\@M
+  \rightskip \z@ \@plus 0.5\hsize \relax
+  }
+\def\app@number#1{\setcounter{#1}{0}%
+  \@addtoreset{#1}{section}%
+  \@namedef{the#1}{\thesection.\arabic{#1}}}
+\def\appendix{\@ifstar{\appendix@star}{\appendix@nostar}}
+\def\appendix@nostar{%
+  \def\lb@section{\appendixname\ \thesection.\half@em}
+  \def\lb@empty@section{\appendixname\ \thesection}
+  \setcounter{section}{0}\def\thesection{\Alph{section}}%
+  \setcounter{subsection}{0}%
+  \setcounter{subsubsection}{0}%
+  \setcounter{paragraph}{0}%
+  \app@number{equation}\app@number{figure}\app@number{table}}
+\def\appendix@star{%
+  \def\lb@section{\appendixname}\let\lb@empty@section\lb@section
+  \setcounter{section}{0}\def\thesection{\Alph{section}}%
+  \setcounter{subsection}{0}%
+  \setcounter{subsubsection}{0}%
+  \setcounter{paragraph}{0}%
+  \app@number{equation}\app@number{figure}\app@number{table}}
+\def\ack{\section*{%
+Acknowledgement
+  }
+  \addtocontents{toc}{\protect\vspace{6pt}}%
+  \addcontentsline{toc}{section}{%
+Acknowledgement
+}}
+\@namedef{ack*}{\par\vskip 3.0ex \@plus 1.0ex \@minus 1.0ex}
+\let\endack\par
+\@namedef{endack*}{\par}
+\newdimen\labelwidthi
+\newdimen\labelwidthii
+\newdimen\labelwidthiii
+\newdimen\labelwidthiv
+\def\normal@labelsep{0.5em}
+\labelsep\normal@labelsep
+\settowidth{\labelwidthi}{(iii)}
+\settowidth{\labelwidthii}{(d)}
+\settowidth{\labelwidthiii}{(iii)}
+\settowidth{\labelwidthiv}{(M)}
+\leftmargini\labelwidthi    \advance\leftmargini\labelsep
+\leftmarginii\labelwidthii  \advance\leftmarginii\labelsep
+\leftmarginiii\labelwidthiii \advance\leftmarginiii\labelsep
+\leftmarginiv\labelwidthiv  \advance\leftmarginiv\labelsep
+\def\setleftmargin#1#2{\settowidth{\@tempdima}{#2}\labelsep\normal@labelsep
+  \csname labelwidth#1\endcsname\@tempdima
+  \@tempdimb\@tempdima \advance\@tempdimb\labelsep
+  \csname leftmargin#1\endcsname\@tempdimb}
+\def\@listI{\leftmargin\leftmargini
+  \labelwidth\labelwidthi \labelsep\normal@labelsep
+  \topsep \z@ \partopsep\z@ \parsep\z@ \itemsep\z@
+  \listparindent 1em}
+\def\@listii{\leftmargin\leftmarginii
+  \labelwidth\labelwidthii \labelsep\normal@labelsep
+  \topsep\z@ \partopsep\z@ \parsep\z@ \itemsep\z@
+  \listparindent 1em}
+\def\@listiii{\leftmargin\leftmarginiii
+  \labelwidth\labelwidthiii \labelsep\normal@labelsep
+  \topsep\z@ \partopsep\z@ \parsep\z@ \itemsep\z@
+  \listparindent 1em}
+\def\@listiv{\leftmargin\leftmarginiv
+  \labelwidth\labelwidthiv \labelsep\normal@labelsep
+  \topsep\z@ \partopsep\z@ \parsep\z@ \itemsep\z@
+  \listparindent 1em}
+\let\@listi\@listI
+\@listi
+\def\left@label#1{{#1}\hss}
+\def\right@label#1{\hss\llap{#1}}
+\def\thick@label#1{\hspace\labelsep #1}
+\newcount\@maxlistdepth
+\@maxlistdepth=4
+\def\labelitemi{$\bullet$}          \def\labelitemii{$\cdot$}
+\def\labelenumi{(\theenumi)}        \def\theenumi{\arabic{enumi}}
+\def\labelenumii{(\alph{enumii})}   \def\theenumii{\theenumi\alph{enumii}}
+\def\labelenumiii{(\roman{enumiii})}\def\theenumiii{\theenumii.\roman{enumiii}}
+\def\labelenumiv{(\Alph{enumiv})}   \def\theenumiv{\theenumiii.\Alph{enumiv}}
+\def\enumerate{%
+  \ifnum \@enumdepth >\@maxlistdepth
+    \@toodeep
+  \else
+    \advance\@enumdepth \@ne
+    \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
+    \list{\csname label\@enumctr\endcsname}%
+       {\usecounter{\@enumctr}
+       \let\makelabel=\right@label}
+  \fi}
+\def\itemize{%
+  \ifnum \@itemdepth >\@maxlistdepth
+    \@toodeep
+  \else
+    \advance\@itemdepth \@ne
+    \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+     \setleftmargin{i}{--}%
+     \setleftmargin{ii}{$\cdot$}%
+    \list{\csname\@itemitem\endcsname}%
+       {\let\makelabel\right@label}
+  \fi}
+\def\verse{\let\\=\@centercr
+  \list{}{\itemsep\z@
+  \itemindent \z@
+  \listparindent\z@
+  \rightmargin 1em
+  \leftmargin \rightmargin}\item[]}
+\let\endverse\endlist
+\def\quotation{\list{}{\itemindent\z@
+ \leftmargin 1em \rightmargin \z@
+  \parsep \z@ \@plus 1pt}\item[]}
+\let\endquotation=\endlist
+\def\quote{\list{}{\itemindent\z@
+   \leftmargin 1em \rightmargin \z@}%
+\item[]}
+\let\endquote=\endlist
+\def\descriptionlabel#1{\hspace\labelsep \bfseries #1}
+\def\description{\list{}{\labelwidth\z@
+  \leftmargin 1em \itemindent-\leftmargin
+  \let\makelabel\descriptionlabel}}
+\let\enddescription\endlist
+\def\@atfmtname{atlplain}
+\ifx\fmtname\@atfmtname
+ \def\neq{\not\nobreak\mkern -2mu =}%
+ \let\ne\neq
+\fi
+\def\operatorname#1{\mathop{\mathrm{#1}}\nolimits}
+\def\lefteqn#1{\hbox to\z@{$\displaystyle {#1}$\hss}}
+\newskip\eqnbaselineskip % Standard interline spacing in an {eqnarray}
+\jot=2\p@
+\newskip\eqnlineskip     % Minimal space between the bottom of
+                         % a line and the top of the next line.
+\eqnbaselineskip=14\p@  \eqnlineskip=2\p@
+\newdimen\mathindent
+\if@TwoColumn
+  \mathindent 0em
+\else
+  \mathindent 2em
+\fi
+\def\[{\relax\ifmmode\@badmath
+  \else%\bgroup removed on request from BW (1993-05-17)
+  \@beginparpenalty\predisplaypenalty
+  \@endparpenalty\postdisplaypenalty
+  \begin{trivlist}\@topsep \eqntopsep       % used by first \item
+   \@topsepadd \eqntopsep                   % used by \@endparenv
+  \item[]\leavevmode
+   \hbox to\linewidth\bgroup\hfil $ \displaystyle
+  \hskip\mathindent\bgroup\fi}
+\def\]{\relax\ifmmode \egroup $\hfil \egroup
+  \end{trivlist}% \egroup removed on request from BW (1993-05-17)
+  \else \@badmath \fi}
+\def\equation{\@beginparpenalty\predisplaypenalty
+  \@endparpenalty\postdisplaypenalty
+\refstepcounter{equation}\trivlist
+   \@topsep \eqntopsep                      % used by first \item
+   \@topsepadd \eqntopsep                   % used by \@endparenv
+   \item[]\leavevmode
+   \hbox to\linewidth\bgroup \hfil $ \displaystyle \hskip\mathindent\bgroup}
+\def\endequation{\egroup$\hfil \displaywidth\linewidth
+  \@eqnnum\egroup \endtrivlist}
+\def\eqnarray{%
+  \par                                               %BW
+  \noindent                                          %BW
+  \baselineskip\eqnbaselineskip\lineskip\eqnlineskip %BW
+  \lineskiplimit\eqnlineskip                         %BW
+  \stepcounter{equation}%
+  \let\@currentlabel=\theequation
+  \global\@eqnswtrue
+  \global\@eqcnt\z@
+  \tabskip\mathindent
+  \let\\=\@eqncr
+  \abovedisplayskip\eqntopsep\ifvmode\advance\abovedisplayskip\partopsep\fi
+  \belowdisplayskip\abovedisplayskip
+  \belowdisplayshortskip\abovedisplayskip
+  \abovedisplayshortskip\abovedisplayskip
+  $$\halign to \displaywidth\bgroup\@eqnsel
+    \pre@coli$\displaystyle\tabskip\z@{##}$\post@coli
+    &\global\@eqcnt\@ne
+    \pre@colii$\displaystyle{##}$\post@colii
+    &\global\@eqcnt\tw@
+    \pre@coliii $\displaystyle\tabskip\z@{##}$\post@coliii
+    \tabskip\@centering&\llap{##}\tabskip\z@\cr
+}
+\def\endeqnarray{\@@eqncr\egroup
+ \global\advance\c@equation\m@ne$$\global\@ignoretrue }
+\def\pre@coli{\hskip\@centering}              \def\post@coli{}
+\def\pre@colii{\hskip 2\eqnarraycolsep \hfil} \def\post@colii{\hfil}
+\def\pre@coliii{\hskip 2\eqnarraycolsep}      \def\post@coliii{\hfil}
+\arraycolsep 2\p@         % Half the space between columns in array environment.
+\tabcolsep 6\p@           % idem in tabular environment.
+\def\arraystretch{1.5}   % More vertical space in tables
+\arrayrulewidth 0.4\p@    % \@Width of rules and space between adjacent
+\doublerulesep 2\p@       % rules in any of these two environments.
+\newdimen\rulepreskip \newdimen\rulepostskip
+\rulepreskip=4\p@      \rulepostskip=6\p@
+\tabbingsep \labelsep   % Space used by the \' command.  (See LaTeX{} manual.)
+\skip\@mpfootins = 6\p@ \@plus 2\p@   % Space between last line of text and
+                                  % top of first footnote.
+\fboxsep = 7\p@    % Space left between box and text by \fbox and \framebox.
+\fboxrule = 0.4\p@ % \@Width of rules in box made by \fbox and \framebox.
+\newcounter{section}
+\newcounter{subsection}[section]
+\newcounter{subsubsection}[subsection]
+\newcounter{paragraph}[subsubsection]
+\newcounter{subparagraph}[paragraph]
+\if@seceqn
+ \@addtoreset{equation}{section}
+ \def\theequation{\arabic{section}.\arabic{equation}}
+\else
+  \def\theequation{\arabic{equation}}
+\fi
+\def\thesection      {\arabic{section}}
+\def\thesubsection   {\thesection.\arabic{subsection}}
+\def\thesubsubsection{\thesubsection.\arabic{subsubsection}}
+\def\theparagraph    {\thesubsubsection.\arabic{paragraph}}
+\def\thesubparagraph {\theparagraph.\arabic{subparagraph}}
+\@addtoreset{section}{part} % reset section numbers at beginning of part
+
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+\def\qed{\relax\ifmmode\hskip2em \Box\else\unskip\nobreak\hskip1em $\Box$\fi}
+\def\proof@headerfont{\upshape\bfseries}
+\gdef\theorem@headerfont{\itshape}
+\gdef\th@plain{\upshape
+  \def\@begintheorem##1##2{\item[\hskip\labelsep
+    {\theorem@headerfont ##1\ ##2.}]}%
+  \def\@opargbegintheorem##1##2##3{\item[\hskip\labelsep
+    {\theorem@headerfont ##1\ ##2.}\ {\upshape (##3).}]}}
+\gdef\th@definition{\upshape
+  \def\@begintheorem##1##2{\item[\hskip\labelsep
+    {\theorem@headerfont ##1\ ##2.}]}%
+  \def\@opargbegintheorem##1##2##3{\item[\hskip\labelsep
+    {\theorem@headerfont ##1\ ##2.}\ {\upshape (##3).}]}}
+
+\newenvironment{pf}%
+  {\par\addvspace{\@bls \@plus 0.5\@bls \@minus 0.1\@bls}\noindent
+   {\bfseries\Elproofname}\enspace\ignorespaces}%
+  {\par\addvspace{\@bls \@plus 0.5\@bls \@minus 0.1\@bls}}
+\def\Elproofname{PROOF.}
+\@namedef{pf*}#1{\par\begingroup\def\Elproofname{#1}\pf\endgroup\ignorespaces}
+\expandafter\let\csname endpf*\endcsname=\endpf
+\if@secthm
+  \newtheorem{thm}{Theorem}[section]
+  \@addtoreset{thm}{section}
+\else
+  \newtheorem{thm}{Theorem}
+\fi
+\newtheorem{cor}[thm]{Corollary}
+\newtheorem{lem}[thm]{Lemma}
+\newtheorem{claim}[thm]{Claim}
+\newtheorem{axiom}[thm]{Axiom}
+\newtheorem{conj}[thm]{Conjecture}
+\newtheorem{fact}[thm]{Fact}
+\newtheorem{hypo}[thm]{Hypothesis}
+\newtheorem{assum}[thm]{Assumption}
+\newtheorem{prop}[thm]{Proposition}
+\newtheorem{crit}[thm]{Criterion}
+\newtheorem{defn}[thm]{Definition}
+\newtheorem{exmp}[thm]{Example}
+\newtheorem{rem}[thm]{Remark}
+\newtheorem{prob}[thm]{Problem}
+\newtheorem{prin}[thm]{Principle}
+\newtheorem{alg}{Algorithm}
+\long\def\@makealgocaption#1#2{\vskip 2ex \small
+  \hbox to \hsize{\parbox[t]{\hsize}{{\bfseries #1.} #2}}}
+\newcounter{algorithm}
+\def\thealgorithm{\@arabic\c@algorithm}
+\def\fps@algorithm{tbp}
+\def\ftype@algorithm{4}
+\def\ext@algorithm{lof}
+\def\fnum@algorithm{Algorithm \thealgorithm}
+\def\algorithm{\let\@makecaption\@makealgocaption\@float{algorithm}}
+\let\endalgorithm\end@float
+\newtheorem{note}{Note}
+\newtheorem{summ}{Summary}
+\newtheorem{case}{Case}
+\def\@pnumwidth{2.55em}
+\def\@tocrmarg{2.55em \@plus 5em}
+\def\@dotsep{-2.5}
+\setcounter{tocdepth}{2}
+\newcommand\listoffigures{%
+    \section*{\listfigurename
+      \@mkboth{\MakeUppercase\listfigurename}%
+              {\MakeUppercase\listfigurename}}%
+    \@starttoc{lof}%
+    }
+\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
+\newcommand\listoftables{%
+    \section*{\listtablename
+      \@mkboth{%
+          \MakeUppercase\listtablename}{\MakeUppercase\listtablename}}%
+    \@starttoc{lot}%
+    }
+\let\l@table\l@figure
+\def\tableofcontents{%
+  \section*{\contentsname}%
+  \@starttoc{toc}}
+\def\l@section{\@dottedtocline{1}{0.0em}{1.40em}}
+\def\l@subsection{\@dottedtocline{2}{1.40em}{2.24em}}
+\def\l@subsubsection{\@dottedtocline{3}{2.24em}{3.09em}}
+\def\thebibliography{%
+  \@startsection{section}{1}{\z@}{20\p@ \@plus 8\p@ \@minus 4pt}
+  {\@bls}{\normalsize\bfseries}*{\refname}%
+  \addcontentsline{toc}{section}{\refname}%
+  \@thebibliography}
+\let\endthebibliography=\endlist
+\def\@thebibliography#1{\@bibliosize
+  \list{\@biblabel{\arabic{enumiv}}}{\settowidth\labelwidth{\@biblabel{#1}}
+  \if@nameyear
+    \labelwidth\z@ \labelsep\z@ \leftmargin\parindent
+    \itemindent-\parindent
+  \else
+    \labelsep 3\p@ \itemindent\z@
+    \leftmargin\labelwidth \advance\leftmargin\labelsep
+\fi
+     \itemsep 0.3\@bls \@plus 0.1\@bls \@minus 0.1\@bls
+    \usecounter{enumiv}\let\p@enumiv\@empty
+    \def\theenumiv{\arabic{enumiv}}}%
+    \def\newblock{\hskip 0.11em \@plus 0.33em \@minus -0.07em}
+    \tolerance\@M
+   \hyphenpenalty\@M
+     \hbadness5000 \sfcode`\.=1000\relax}
+\if@nameyear
+  \def\@biblabel#1{}
+\else
+  \def\@biblabel#1{\hskip \z@ \@plus 1filll[#1]}
+\fi
+\newcount\@tempcntc
+\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
+ \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do
+  {\@ifundefined
+   {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bfseries ?}\@warning
+   {Citation `\@citeb' on page \thepage \space undefined}}%
+  {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}%
+   \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne
+    \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}%
+   \else
+    \advance\@tempcntb\@ne
+    \ifnum\@tempcntb=\@tempcntc
+    \else\advance\@tempcntb\m@ne\@citeo
+    \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}}
+\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else\@citea\def\@citea{,}%
+ \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else
+  {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else \def\@citea{--}\fi
+   \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi}
+\@namedef{cv*}{\section*{Curriculum Vitae}\cv}
+ \def\cv{\hangindent=7pc \hangafter=-12 \parskip\bigskipamount \small}
+\def\footnote{\@ifnextchar[{\@xfootnote}{\refstepcounter
+   {\@mpfn}\xdef\@thefnmark{\thempfn}\@footnotemark\@footnotetext}}
+\def\footnotemark{\@ifnextchar[{\@xfootnotemark
+    }{\refstepcounter{footnote}\xdef\@thefnmark{\thefootnote}\@footnotemark}}
+\def\footnoterule{\kern-3\p@
+  \hrule \@width 3pc               % The \hrule has default \@height of 0.4pt.
+  \kern 2.6\p@}
+\def\thempfootnote{\alph{mpfootnote}}
+\def\mpfootnotemark{%
+  \@ifnextchar[{\@xmpfootnotemark}{\stepcounter{mpfootnote}%
+  \begingroup
+    \let\protect\noexpand
+    \xdef\@thefnmark{\thempfootnote}%
+  \endgroup
+  \@footnotemark}}
+\def\@xmpfootnotemark[#1]{%
+  \begingroup
+    \c@mpfootnote #1\relax
+    \let\protect\noexpand
+    \xdef\@thefnmark{\thempfootnote}%
+  \endgroup
+  \@footnotemark}
+\def\@mpmakefnmark{\,\hbox{$^{\mathrm{\@thefnmark}}$}}
+\long\def\@mpmakefntext#1{\noindent
+                     \hbox{$^{\mathrm{\@thefnmark}}$} #1}
+\def\@iiiminipage#1#2[#3]#4{%
+  \leavevmode
+  \@pboxswfalse
+  \setlength\@tempdima{#4}%
+  \def\@mpargs{{#1}{#2}[#3]{#4}}%
+  \setbox\@tempboxa\vbox\bgroup
+    \color@begingroup
+      \hsize\@tempdima
+      \textwidth\hsize \columnwidth\hsize
+      \@parboxrestore
+      \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@
+      \let\@footnotetext\@mpfootnotetext
+      \let\@makefntext\@mpmakefntext
+      \let\@makefnmark\@mpmakefnmark
+      \let\@listdepth\@mplistdepth \@mplistdepth\z@
+      \@minipagerestore\global\@minipagetrue %% \global added 24 May 89
+      \everypar{\global\@minipagefalse\everypar{}}}
+\def\fn@presym{}
+\long\def\@makefntext#1{\noindent\hbox to 1em
+  {$^{\fn@presym\mathrm{\@thefnmark}}$\hss}#1}
+\def\@makefnmark{\,\hbox{$^{\fn@presym\mathrm{\@thefnmark}}$}\,}
+\def\patched@end@dblfloat{%
+  \if@twocolumn
+      \par\vskip\z@skip      %% \par\vskip\z@ added 15 Dec 87
+      \global\@minipagefalse
+      \outer@nobreak
+    \egroup                  %% end of vbox
+    \color@endbox
+    \ifnum\@floatpenalty <\z@
+      \@largefloatcheck
+      \@cons\@dbldeferlist\@currbox
+    \fi
+    \ifnum \@floatpenalty =-\@Mii \@Esphack\fi
+  \else
+    \end@float
+  \fi
+}
+\setcounter{topnumber}{5}
+\def\topfraction{0.99}
+\def\textfraction{0.05}
+\def\floatpagefraction{0.9}
+\setcounter{bottomnumber}{5}
+\def\bottomfraction{0.99}
+\setcounter{totalnumber}{10}
+\def\dbltopfraction{0.99}
+\def\dblfloatpagefraction{0.8}
+\setcounter{dbltopnumber}{5}
+\long\def\@maketablecaption#1#2{\@tablecaptionsize
+    \global \@minipagefalse
+    \hbox to \hsize{\parbox[t]{\hsize}{#1 \\ #2}}}
+\long\def\@makefigurecaption#1#2{\@figurecaptionsize
+  \vskip \@overcaptionskip
+  \setbox\@tempboxa\hbox{#1. #2}
+  \ifdim \wd\@tempboxa >\hsize              % IF longer than one line THEN
+    \unhbox\@tempboxa\par                   %   set as justified paragraph
+  \else                                     % ELSE
+    \global \@minipagefalse
+    \hbox to\hsize{\hfil\box\@tempboxa\hfil}%   center single line.
+  \fi}
+\def\@makecaption{\@makefigurecaption}
+\def\conttablecaption{\par \begingroup \@parboxrestore \normalsize
+  \@makecaption{\fnum@table\,---\,continued}{}\par
+  \vskip-1pc \endgroup}
+\def\contfigurecaption{\vskip-1pc \par \begingroup \@parboxrestore
+  \@captionsize
+  \@makecaption{\fnum@figure\,---\,continued}{}\par
+  \endgroup}
+\newcounter{figure}
+\def\thefigure{\@arabic\c@figure}
+\def\fps@figure{tbp}
+\def\ftype@figure{1}
+\def\ext@figure{lof}
+\def\fnum@figure{\figurename~\thefigure}
+\def\figure{%
+ \let\@makecaption\@makefigurecaption
+  \let\contcaption\contfigurecaption \@float{figure}}
+\let\endfigure\end@float
+\@namedef{figure*}{%
+ \let\@makecaption\@makefigurecaption
+  \let\contcaption\contfigurecaption \@dblfloat{figure}}
+\@namedef{endfigure*}{\end@dblfloat}
+\newcounter{table}
+\def\thetable{\@arabic\c@table}
+\def\fps@table{tbp}
+\def\ftype@table{2}
+\def\ext@table{lot}
+\def\fnum@table{\tablename~\thetable}
+\let\old@floatboxreset\@floatboxreset
+\def\table{%
+\let\@makecaption\@maketablecaption
+\def\@floatboxreset{%
+ \old@floatboxreset
+ \@tablesize
+}%
+  \let\footnoterule\relax
+  \let\contcaption\conttablecaption \@float{table}}
+\let\endtable\end@float
+\@namedef{table*}{%
+\let\@makecaption\@maketablecaption
+\def\@floatboxreset{%
+ \old@floatboxreset
+ \@tablesize
+}%
+  \let\footnoterule\relax
+  \let\contcaption\conttablecaption \@dblfloat{table}}
+\@namedef{endtable*}{\end@dblfloat}
+\newtoks\t@glob@notes             % List of all notes
+\newtoks\t@loc@notes              % List of notes for one element
+\newcount\note@cnt                % Number of notes per element
+\newcounter{author}               % Author counter
+\newcount\n@author                % Total number of authors
+\def\n@author@{1}                  % idem, read from .aux file
+\newcounter{collab}               % Collaboration counter
+\newcount\n@collab                % Total number of collaborations
+\def\n@collab@{}                  % idem, read from .aux file
+\newcounter{address}              % Address counter
+\def\theHaddress{\arabic{address}}% for hyperref
+\newdimen\sv@mathsurround         % Dimen register to save \mathsurround
+\newcount\sv@hyphenpenalty        % Count register to save \hyphenpenalty
+\newcount\prev@elem \prev@elem=0  % Variables to keep track of
+\newcount\cur@elem  \cur@elem=0   % types of elements that are processed
+\chardef\e@title=1
+\chardef\e@subtitle=1
+\chardef\e@author=2
+\chardef\e@collab=3
+\chardef\e@address=4
+\newif\if@newelem                 % Switch to new type of element?
+\newif\if@firstauthor             % First author or collaboration?
+\newif\if@preface                 % If preface: omit history and abstract
+\newif\if@hasabstract             % If abstract / keywords: do not omit rules
+\newif\if@haskeywords             % If abstract / keywords: do not omit rules
+\newbox\fm@box                    % Box for collected front matter
+\newdimen\fm@size                 % Total height of \fm@box
+\newbox\t@abstract                % Box for abstract
+\newbox\t@keyword                 % Box for keyword abstract
+ \let\report@elt\@gobble
+\def\add@tok#1#2{\global#1\expandafter{\the#1#2}}
+\def\add@xtok#1#2{\begingroup
+  \no@harm
+  \xdef\@act{\global\noexpand#1{\the#1#2}}\@act
+\endgroup}
+\def\beg@elem{\global\t@loc@notes={}\global\note@cnt\z@}
+\def\@xnamedef#1{\expandafter\xdef\csname #1\endcsname}
+\def\no@harm{%
+  \let\\=\relax  \let\rm\relax
+  \let\ss=\relax \let\ae=\relax \let\oe=\relax
+  \let\AE=\relax \let\OE=\relax
+  \let\o=\relax  \let\O=\relax
+  \let\i=\relax  \let\j=\relax
+  \let\aa=\relax \let\AA=\relax
+  \let\l=\relax  \let\L=\relax
+  \let\d=\relax  \let\b=\relax \let\c=\relax
+  \let\bar=\relax
+  \def\protect{\noexpand\protect\noexpand}}
+\def\proc@elem#1#2{\begingroup
+    \no@harm                             % make a few instructions harmless
+    \let\thanksref\@gobble               % remove \thanksref from element
+    \@xnamedef{@#1}{#2}%                 % and store as \@#1
+  \endgroup
+  \prev@elem=\cur@elem                   % keep track of type of previous
+  \cur@elem=\csname e@#1\endcsname       % and current element
+  \expandafter\elem@nothanksref#2\thanksref\relax}
+\def\elem@nothanksref#1\thanksref{\futurelet\@peektok\elem@thanksref}
+\def\elem@thanksref{\ifx\@peektok\relax  % No more \thanksref, so now exit
+  \else \expandafter\elem@morethanksref \fi}
+\def\elem@morethanksref#1{\add@thanksref{#1}\elem@nothanksref}
+\def\add@thanksref#1{\global\advance\note@cnt\@ne
+  \ifnum\note@cnt>\@ne \add@xtok\t@loc@notes{\note@sep}\fi
+  \add@tok\t@loc@notes{\ref{#1}}}
+\def\note@sep{,}
+\def\thanks{\@ifnextchar[{\@tempswatrue
+  \thanks@optarg}{\@tempswafalse\thanks@optarg[]}}
+\def\thanks@optarg[#1]#2{\refstepcounter{footnote}
+  \if@tempswa\label{#1}\else\relax\fi
+  \add@tok\t@glob@notes{\footnotetext}%
+  \add@xtok\t@glob@notes{[\the\c@footnote]}%
+  \add@tok\t@glob@notes{{#2}}}
+\let\real@refstepcounter\refstepcounter
+\def\footnote{\@ifnextchar[{\@xfootnote}{\real@refstepcounter
+   {\@mpfn}\xdef\@thefnmark{\thempfn}\@footnotemark\@footnotetext}}
+\def\footnotemark{\@ifnextchar[{\@xfootnotemark
+    }{\real@refstepcounter{footnote}\xdef\@thefnmark{\thefootnote}\@footnotemark}}
+\def\footnoterule{\kern-3\p@
+  \hrule \@width 3pc               % The \hrule has default \@height of 0.4pt.
+  \kern 2.6\p@}
+ \let\report@elt\@gobble
+\newenvironment{NoHyper}{}{}
+\def\frontmatter{%
+  \NoHyper
+  \let\@corresp@note\relax
+  \global\t@glob@notes={}\global\c@author\z@
+  \global\c@collab\z@ \global\c@address\z@
+  \sv@mathsurround\mathsurround \m@th
+  \global\n@author=0\n@author@\relax
+  \global\n@collab=0\n@collab@\relax
+  \global\advance\n@author\m@ne   % In comparisons later on we need
+  \global\advance\n@collab\m@ne   % n@author-1 and n@collab-1
+  \global\@firstauthortrue        % set to false by first \author or \collab
+  \global\@hasabstractfalse       % Default:  no abstract or keywords
+  \global\@haskeywordsfalse       % Default:  no abstract or keywords
+  \global\@prefacefalse           %           not preface
+  \ifnum\c@firstpage=\c@lastpage
+    \gdef\@pagerange{\@pagenumprefix\ESpagenumber{firstpage}}
+  \else
+    \gdef\@pagerange{\@pagenumprefix
+   \ESpagenumber{firstpage}--\@pagenumprefix\ESpagenumber{lastpage}}%
+  \fi
+ \parskip 4\p@
+  \open@fm \ignorespaces}
+\def\preface{\@prefacetrue}
+\def\endfrontmatter{%
+  \ifx\@runauthor\relax
+   \global\let\@runauthor\@runningauthor
+  \fi
+  \global\n@author=\c@author
+  \global\n@collab=\c@collab \@writecount
+  \global\@topnum\z@
+  \thispagestyle{copyright}%            % Format rest of front matter:
+  \if@preface \else                     % IF not preface THEN
+  \vskip \@overhistoryskip
+  \history@fmt                          % print history (received, ...)
+  \newcount\c@sv@footnote
+  \global\c@sv@footnote=\c@footnote     % save current footnote number
+  \if@hasabstract                       % IF abstract/ keywords THEN
+   \vskip \@preabstractskip     % Space above rule
+  \hrule height 0.4\p@                 % Rule above abstract/keywords
+    \vskip 8\p@
+    \unvbox\t@abstract                  % print abstract, if any
+  \fi
+  \if@haskeywords                       % IF keywords THEN
+    \vskip \@overkeywordskip
+    \unvbox\t@keyword                   % Keyword abstract, if any
+  \fi                                   % FI
+  \vskip 10\p@
+  \hrule height 0.4\p@                 % rule below abstract/keywords
+  \dedicated@fmt                        % print dedication
+  \vskip \@belowfmskip                  % Vertical space below frontmatter
+\fi                                   % FI
+  \close@fm                             % Close front matter material.
+   \output@glob@notes  % Put notes at bottom of 1st page
+  \global\c@footnote=\c@sv@footnote     % restore footnote number
+  \global\@prefacefalse
+  \global\leftskip\z@                   % Restore the normal values of
+  \global\@rightskip\z@                 % \leftskip,
+  \global\rightskip\@rightskip          % \rightskip and
+  \global\mathsurround\sv@mathsurround  % \mathsurround.
+  \let\title\relax       \let\author\relax
+  \let\collab\relax      \let\address\relax
+  \let\frontmatter\relax \let\endfrontmatter\relax
+  \let\@maketitle\relax  \let\@@maketitle\relax
+  \normal@text
+}
+\let\maketitle\relax
+\newdimen\t@xtheight
+\t@xtheight\textheight \advance\t@xtheight-\splittopskip
+\def\open@fm{\global\setbox\fm@box=\vbox\bgroup
+  \hsize=\@frontmatterwidth                 % Front matter is page-wide by default
+  \centering                                % and centered
+  \sv@hyphenpenalty\hyphenpenalty           % (save \hyphenpenalty)
+  \hyphenpenalty\@M}                        % and not hyphenated
+\def\close@fm{\egroup                       % close \vbox (\fm@box)
+  \fm@size=\dp\fm@box \advance\fm@size by \ht\fm@box
+  \@whiledim\fm@size>\t@xtheight \do{%
+    \global\setbox\@tempboxa=\vsplit\fm@box to \t@xtheight
+    \unvbox\@tempboxa \newpage
+    \fm@size=\dp\fm@box \advance\fm@size by \ht\fm@box}
+  \if@TwoColumn
+    \emergencystretch=1pc \twocolumn[\unvbox\fm@box]
+  \else
+    \unvbox\fm@box
+  \fi}
+\def\output@glob@notes{\bgroup
+  \the\t@glob@notes
+  \egroup}
+\def\justify@off{\let\\=\@normalcr
+  \leftskip\z@ \@rightskip\@flushglue \rightskip\@rightskip}
+\def\justify@on{\let\\=\@normalcr
+  \leftskip\z@ \@rightskip\z@ \rightskip\@rightskip}
+\def\normal@text{\global\let\\=\@normalcr
+  \global\leftskip\z@ \global\@rightskip\z@ \global\rightskip\@rightskip
+  \global\parfillskip\@flushglue}
+\def\@writecount{\write\@mainaux{\string\global
+  \string\@namedef{n@author@}{\the\n@author}}%
+  \write\@mainaux{\string\global\string
+  \@namedef{n@collab@}{\the\n@collab}}}
+\def\title#1{%
+  \beg@elem
+  \title@note@fmt                      % formatting instruction
+  \add@tok\t@glob@notes                % for \thanks commands
+    {\title@note@fmt}%
+  \proc@elem{title}{#1}%
+  \def\title@notes{\the\t@loc@notes}%  % store the notes of the title,
+  \title@fmt{\@title}{\title@notes}%   % print the title
+  \ignorespaces}
+\def\subtitle#1{%
+  \beg@elem
+  \proc@elem{subtitle}{#1}%
+  \def\title@notes{\the\t@loc@notes}%  % store the notes of the title,
+  \subtitle@fmt{\@subtitle}{\title@notes}% print the title
+  \ignorespaces}
+\newdimen \@logoheight \@logoheight 5pc
+\def\@Lhook{\vrule \@height \@logoheight \@width \z@ \vrule \@height 10\p@ \@width 0.2\p@ \vrule \@height 0.2\p@ \@width 10pt}
+\def\@Rhook{\vrule \@height 0.2\p@ \@width 10\p@ \vrule \@height 10\p@ \@width 0.2\p@ \vrule \@height \@logoheight \@width \z@}
+\def\title@fmt#1#2{%
+\@ifundefined{@runtitle}{\global\def\@runtitle{#1}}{}%
+ \vspace*{12pt}             % Vertical space above title
+  {\@titlesize #1\,\hbox{$^{#2}$}\par}%
+  \vskip\@undertitleskip
+\vskip24\p@  % Vertical space below title
+  }
+\def\subtitle@fmt#1#2{%               % No vertical space above sub-title
+  {\@titlesize #1\,\hbox{$^{#2}$}}\par}
+\def\title@note@fmt{\def\thefootnote{\fnstar{footnote}}}
+\def\author{\@ifnextchar[{\author@optarg}{\author@optarg[]}}
+\def\author@optarg[#1]#2{\stepcounter{author}%
+  \beg@elem
+  \@for\@tempa:=#1\do{\expandafter\add@thanksref\expandafter{\@tempa}}%
+  \report@elt{author}\proc@elem{author}{#2}%
+  \@tempcnta=\n@author@
+  \ifnum\c@collab=\z@
+    \begingroup\no@harm
+    \if@firstauthor
+      \global\let\@runningauthor\@author
+    \else
+      \let\@foo\@runningauthor
+      \ifnum\@tempcnta > 2
+        \ifnum\the\c@author = 2
+          \global\edef\@runningauthor{\@foo\ et al.}%
+        \fi
+      \else
+        \global\edef\@runningauthor{\@foo\ \& \noexpand\@author}%
+      \fi
+    \fi
+  \fi
+  \endgroup
+  \author@fmt{\the\c@author}{\the\t@loc@notes}{\@author}}% removed by SP \ignorespaces
+\def\author@fmt#1#2#3{\@newelemtrue
+  \if@firstauthor
+  \first@author \global\@firstauthorfalse \fi
+  \ifnum\prev@elem=\e@author \global\@newelemfalse \fi
+  \if@newelem \author@fmt@init \fi
+  \edef\@tempb{#2}\ifx\@tempb\@empty
+    \hbox{{\author@font #3}}\else
+    \hbox{{\author@font #3}\,$^{\mathrm{#2}}$}%
+  \fi}
+\def\first@author{\author@note@fmt  % re-define \thefootnote as
+                                    % appropriate for author/address
+  \add@tok\t@glob@notes
+    {\author@note@fmt\@corresp@note}}%
+\def\author@fmt@init{%
+  \par
+  \vskip 8\p@ \@plus 4\p@ \@minus 2\p@
+  \@authorsize
+  \leavevmode}                        % Vertical space above author list
+ \def\and{\unskip~and~}
+\def\collab{\@ifstar{\collab@arg}{\collab@arg}}
+\let\collaboration=\collab
+\def\collab@arg#1{\stepcounter{collab}%
+  \if@firstauthor \first@collab \global\@firstauthorfalse \fi
+  \gdef\@runningauthor{#1}%
+  \beg@elem
+  \proc@elem{collab}{#1}%
+  \collab@fmt{\the\c@collab}{\the\t@loc@notes}{\@collab}%
+  \ignorespaces}
+\def\collab@fmt#1#2#3{\@newelemtrue
+  \ifnum\prev@elem=\e@collab \global\@newelemfalse \fi
+  \if@newelem \collab@fmt@init \fi
+  \par                                 % Start new paragraph
+  {\large #3\,$^{\mathrm{#2}}$}}
+\def\first@collab{
+  \collab@note@fmt                     % re-define \thefootnote as
+  \add@tok\t@glob@notes                % appropriate for collab/address
+    {\collab@note@fmt}}%
+\def\collab@fmt@init{\vskip 1em}       % Vertical space above list
+\def\author@note@fmt{\setcounter{footnote}{0}%
+  \def\thefootnote{\xarabic{footnote}}}
+\let\collab@note@fmt=\author@note@fmt
+\def\xarabic#1{%
+  \expandafter\expandafter\expandafter\ifnum\expandafter\the\@nameuse{c@#1}<0
+  *\else\arabic{#1} \fi}
+\def\xalph#1{%
+  \expandafter\expandafter\expandafter\ifnum\expandafter\the\@nameuse{c@#1}<0
+  *\else\alph{#1} \fi}
+\def\xfnsymbol#1{%
+  \expandafter\expandafter\expandafter\ifnum\expandafter\the\@nameuse{c@#1}<0
+  *\else\fnsymbol{#1} \fi}
+\def\address{\@ifstar{\address@star}%
+  {\@ifnextchar[{\address@optarg}{\address@noptarg}}}
+\def\address@optarg[#1]#2{\real@refstepcounter{address}%
+  \beg@elem
+  \report@elt{address}\proc@elem{address}{#2}%
+  \address@fmt{\c@address}{\the\t@loc@notes}{\@address}{#1}%
+  \if@Elproofing\else\label{#1}\fi
+  \ignorespaces}
+\def\address@noptarg#1{\real@refstepcounter{address}%
+  \beg@elem
+  \proc@elem{address}{#1}%
+  \address@fmt{\z@}{\the\t@loc@notes}{\@address}{\theaddress}%
+  \ignorespaces}
+\def\address@star#1{%
+  \beg@elem
+  \proc@elem{address}{#1}%
+  \address@fmt{\m@ne}{\the\t@loc@notes}{\@address}{*}%
+  \ignorespaces}
+\def\theaddress{\alph{address}}
+\def\address@fmt#1#2#3#4{\@newelemtrue
+  \if@Elproofing\def\@eltag{#4}\else\def\@eltag{\theaddress}\fi
+  \ifnum\prev@elem=\e@address \@newelemfalse \fi
+  \if@newelem \address@fmt@init \fi
+  \noindent \bgroup \@addressstyle
+  \ifnum#1=\z@
+    #3\,$^{\mathrm{#2}}$\space%
+  \else
+    \ifnum#1=\m@ne
+      $^{\phantom{\mathrm{\@eltag}}}$\space #3\,$^{\mathrm{#2}}$%
+    \else
+      $^{\mathrm{\@eltag}}\space$#3\,$^{\mathrm{#2}}$%
+    \fi
+  \fi
+  \par \egroup}
+\def\address@fmt@init{%
+  \par                                % Start new paragraph
+   \vskip 6\p@ \@plus 3\p@ \@minus 1.5pt}
+\def\abstract{\@ifnextchar[{\@abstract}{\@abstract[]}}
+\def\@abstract[#1]{%
+  \global\@hasabstracttrue
+  \hyphenpenalty\sv@hyphenpenalty     % restore \hyphenpenalty
+  \global\setbox\t@abstract=\vbox\bgroup
+  \leftskip\z@
+  \@rightskip\z@ \rightskip\@rightskip \parfillskip\@flushglue
+   \small
+  \parindent 1em                      % \parindent in abstract
+  \noindent {\bfseries\abstractname}  % caption `Abstract' (bold)
+  \vskip 0.5\@bls    % half a line of space below
+  \noindent\ignorespaces}
+ \def\endabstract{\par \egroup}
+\def\keyword{%
+  \global\@haskeywordstrue             % Implies rules are to be printed
+  \hyphenpenalty\sv@hyphenpenalty      % restore \hyphenpenalty
+  \def\sep{\unskip, }                  % separator for multiple keywords
+  \def\MSC{\par\leavevmode\hbox {\it 1991 MSC:\ }}%
+  \def\PACS{\par\leavevmode\hbox {\it PACS:\ }}%
+  \global\setbox\t@keyword=\vbox\bgroup
+  \@keywordsize
+  \parskip\z@
+  \vskip 10\p@ \@plus 2\p@ \@minus 2\p@       % One line of space above keywords.
+  \noindent\@keywordheading
+  \justify@off                         % Keywords are not justified.
+  \ignorespaces}
+\def\endkeyword{\par \egroup}
+\def\runtitle#1{\gdef\@runtitle{#1}}
+\def\runauthor#1{\gdef\@runauthor{#1}}
+\let\@runauthor\relax
+\let\@runtitle\relax
+\let\@runningauthor\relax
+\def\RUNDATE{}
+\def\RUNJNL{}
+\def\RUNART{}
+\def\journal#1{\gdef\@journal{#1}}
+\def\volume#1{\gdef\@volume{#1}}       \def\@volume{0}
+\def\issue#1{\gdef\@issue{#1}}         \def\@issue{0}
+\newcount\@pubyear
+\newcount\@shortyear
+\@pubyear=\number\year
+\def\company#1{\def\@company{#1}}
+\def\@copyrightyear{\number\year}
+\@shortyear\@pubyear
+\advance\@shortyear-1900
+\def\pubyear#1{\global\@pubyear#1
+ \global\@shortyear\@pubyear
+ \global\advance\@shortyear-1900
+  \ignorespaces}
+\def\copyear#1{%
+  \gdef\@copyrightyear{#1}%
+  \ignorespaces}
+\let\copyrightyear\copyear
+\newcounter{firstpage}
+\newcounter{lastpage}
+\let\ESpagenumber\arabic
+\def\firstpage#1{\def\@tempa{#1}\ifx\@tempa\@empty\else
+  \setcounter{firstpage}{#1}%
+  \global\c@page=#1 \ignorespaces\fi}
+\setcounter{firstpage}{1}
+\let\realpageref\pageref
+\setcounter{lastpage}{0}
+\def\lastpage#1{\def\@tempa{#1}\ifx\@tempa\@empty\else
+  \setcounter{lastpage}{#1}\ignorespaces\fi
+  }
+\AtEndDocument{%
+   \clearpage
+   \addtocounter{page}{-1}%
+   \immediate\write\@auxout{%
+   \string\global\string\c@lastpage=\the\c@page}%
+   \addtocounter{page}{1}%
+}
+\def\date#1{\gdef\@date{#1}}                  \def\@date{\today}
+\def\aid#1{}
+\def\ssdi#1#2{}
+\def\received#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@received{#1}\fi}
+  \def\@received{\relax}
+\def\revised#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@revised{#1}\fi}
+  \def\@revised{\relax}
+\def\accepted#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@accepted{#1}\fi}
+  \def\@accepted{\relax}
+\def\communicated#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@communicated{#1}\fi}
+  \def\@communicated{\relax}
+\def\dedicated#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@dedicated{#1}\fi}
+  \def\@dedicated{\relax}
+\def\presented#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@presented{#1}\fi}
+  \def\@presented{\relax}
+\def\articletype#1{\gdef\@articletype{#1}}
+  \@ifundefined{@articletype}{\def\@articletype{}}{}
+\def\received@prefix{Received~}
+\def\revised@prefix{; revised~}
+\def\accepted@prefix{; accepted~}
+\def\communicated@prefix{; communicated~by~}
+\def\history@prefix{}
+\def\received@postfix{}
+\def\revised@postfix{}
+\def\accepted@postfix{}
+\def\communicated@postfix{}
+\def\history@postfix{}
+\def\empty@data{\relax}
+\def\history@fmt{%
+  \bgroup
+  \@historysize
+  \vskip 6\p@ \@plus 2\p@ \@minus 1\p@         % Vertical space above history
+  \ifx\@received\empty@data \else       % If there is no \received,
+                                        % do not print anything
+    \leavevmode
+    \history@prefix
+    \received@prefix\@received \received@postfix%
+    \ifx\@revised\empty@data \else
+      \revised@prefix\@revised \revised@postfix%
+    \fi
+    \ifx\@accepted\empty@data \else
+      \accepted@prefix\@accepted \accepted@postfix%
+    \fi
+    \ifx\@communicated\empty@data \else
+      \communicated@prefix\@communicated \communicated@postfix%
+    \fi
+    \history@postfix
+  \fi
+  \par \egroup}
+\def\dedicated@fmt{%
+  \ifx\@dedicated\empty@data \else
+    \vskip 4\p@ \@plus 3\p@
+    \normalsize\it\centering \@dedicated
+    \fi}
+\def\@ialph#1{\ifcase#1\or \or \or \or \or e\or f\or g\or h\or i\or j\or
+k\or \ell\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or
+y\or z\or aa\or ab\or ac\or ad\or ae\or af\or ag\or ah\or ai\or aj\or
+ak\or a\ell\or am\or an\or ao\or ap\or aq\or ar\or as\or at\or au\or av\or
+aw\or ay\or az\or ba\or bb\or bc\or bd\or be\or bf\or bg\or bh\or bi\or
+bj\or bk\or b\ell\or bm\or bn\or bo\or bp\or bq\or br\or bs\or bt\or
+bu\or bw\or bx\or by\or bz\or ca\or cb\or cc\or cd\or ce\or cf\or cg\or
+ch\or ci\or cj\or ck\or c\ell\or cm\or cn\or co\or cp\or cq\or cr\or
+cs\or ct\or cu\or cw\or cx\or cy\or czda\or db\or dc\or dd\or de\or df\or dg\ordh\or di\or dj\or dk\or
+d\ell\or dm\or dn\or do\or dp\or dq\or dr\or ds\or dt\or du\or dw\or
+dx\or dy\or dz\or ea\or eb\or ec\or ed\or ee\or ef\or eg\or eh\or
+ei\or ej\or ek\or e\ell\or em\or en\or eo\or ep\or eq\or er\or es\or
+et\or eu\or ew\or ex\or ey\or ez\else\@ctrerr\fi}
+\def\fnstar#1{\@fnstar{\@nameuse{c@#1}}}
+\def\@fnstar#1{\ifcase#1\or
+    \hbox{$\star$}\or
+    \hbox{$\star\star$}\or
+    \hbox{$\star\star\star$}\or
+    \hbox{$\star\star\star\star$}\or
+    \hbox{$\star\star\star\star\star$}\or
+    \hbox{$\star\star\star\star\star\star$}
+  \else
+    \@ctrerr
+  \fi
+  \relax}
+\mark{{}{}}   % Initializes TeX's marks
+\def\ps@plain{\let\@mkboth\@gobbletwo
+ \def\@oddhead{}%
+ \def\@evenhead{}%
+ \def\@oddfoot{\hfil {\rmfamily\thepage} \hfil}%
+ \let\@evenfoot\@oddfoot}
+\def\@copyright{\@issn/\the\@shortyear/\$\@price\ $\copyright$\ \the\@pubyear\
+  \@company{} All  rights reserved}
+\def\@jou@vol@pag{\@journal\ \@volume\ (\the\@pubyear)\ \@pagerange}
+\def\sectionmark#1{}
+\def\subsectionmark#1{}
+\let\@j@v@p\@jou@vol@pag    % long journal title appears in reprint line
+\let\@@j@v@p\@jou@vol@pag   % long journal title appears in running headline
+\def\sectionmark#1{}
+\def\subsectionmark#1{}
+\def\ps@copyright{\let\@mkboth\@gobbletwo
+  \def\@oddhead{}%
+  \let\@evenhead\@oddhead
+  \def\@oddfoot{\small\slshape
+    \def\@tempa{0}
+    \ifx\@volume\@tempa
+      Preprint submitted to \@journal\hfil\@date\/%
+    \else
+      Article published in \@jou@vol@pag\hfil\hbox{}\fi}%
+  \let\@evenfoot\@oddfoot
+}
+\let\ps@noissn\ps@empty
+\let\ps@headings\ps@plain
+\def\today{\number\day\space\ifcase\month\or
+  January\or February\or March\or April\or May\or June\or
+  July\or August\or September\or October\or November\or December\fi
+  \space\number\year}
+\def\nuc#1#2{\relax\ifmmode{}^{#1}{\protect\text{#2}}\else${}^{#1}$#2\fi}
+\def\itnuc#1#2{\setbox\@tempboxa=\hbox{\scriptsize\it #1}
+  \def\@tempa{{}^{\box\@tempboxa}\!\protect\text{\it #2}}\relax
+  \ifmmode \@tempa \else $\@tempa$\fi}
+\let\old@vec\vec % save old definition of \vec
+\def\pol#1{\old@vec{#1}}
+\def\half{{\textstyle\frac{1}{2}}}
+\def\threehalf{{\textstyle\frac{3}{2}}}
+\def\quart{{\textstyle\frac{1}{4}}}
+\def\d{\,\mathrm{d}}
+\def\e{\mathop{\mathrm{e}}\nolimits}
+\def\int{\intop}
+\def\oint{\ointop}
+\newbox\slashbox \setbox\slashbox=\hbox{$/$}
+\newbox\Slashbox \setbox\Slashbox=\hbox{\large$/$}
+\def\pFMslash#1{\setbox\@tempboxa=\hbox{$#1$}
+  \@tempdima=0.5\wd\slashbox \advance\@tempdima 0.5\wd\@tempboxa
+  \copy\slashbox \kern-\@tempdima \box\@tempboxa}
+\def\pFMSlash#1{\setbox\@tempboxa=\hbox{$#1$}
+  \@tempdima=0.5\wd\Slashbox \advance\@tempdima 0.5\wd\@tempboxa
+  \copy\Slashbox \kern-\@tempdima \box\@tempboxa}
+\def\FMslash{\protect\pFMslash}
+\def\FMSlash{\protect\pFMSlash}
+  \def\Cset{\mathbb{C}}
+  \def\Hset{\mathbb{H}}
+  \def\Nset{\mathbb{N}}
+  \def\Qset{\mathbb{Q}}
+  \def\Rset{\mathbb{R}}
+  \def\Zset{\mathbb{Z}}
+\if@TwoColumn
+  \adjdemerits=100
+  \linepenalty=100
+  \doublehyphendemerits=5000        % experimental (1993-12-14)
+  \emergencystretch=1.6pc
+  \spaceskip=0.3em \@plus 0.17em \@minus 0.12em
+\fi
+\@frontmatterwidth\textwidth
+\ps@headings                                % 'headings' page style
+\pagenumbering{arabic}                      % Arabic page numbers
+\def\thepage{\@pagenumprefix\ESpagenumber{page}}  % preceded by \@pagenumprefix
+\InputIfFileExists{\@shortjid.cfg}{}{}
+\endinput
+%%
+%% End of file `elsart.cls'.