]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/doc/trd_software_writeup.tex
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / TRD / doc / trd_software_writeup.tex
index c37fefa498ea42ed796c988305244cd4ca2b4a2a..c69dff9621da0ad0d8e8606c4de6933c8ec94c26 100644 (file)
@@ -92,6 +92,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newpage
 \setcounter{chapter}{0}
 \setcounter{section}{0}    
 \Chapter{Introduction}
@@ -102,7 +103,7 @@ software components that are specific to the TRD.  It is an attempt
 to collect useful informations on the design and usage of the TRD
 software, in order to facilitate newcomers the introduction to the
 code.  The most important classes and procedures are described and
-several examples und use cases are given.
+several examples and use cases are given.
 However, this writeup is not meant to be a basic AliRoot introduction.  
 For this purpose the reader is referred to the general AliRoot users 
 guide \cite{ALIROOT}. 
@@ -198,13 +199,13 @@ The supermodule frames consist of the aluminum sheets on the sides, top,
 and bottom of a supermodule together with the traversing support structures.
 The left panel of Fig.~\ref{FIG_GEO:sm_geom} shows the structures that are
 implemented in the TRD geometry.  Also, parts of the services like the LV
-power bus bars and cooling arterias can be seen.  Additional electronics 
+power bus bars and cooling arteries can be seen.  Additional electronics 
 equipment (e.g. ``Sch\"utten-Box``) is represented by aluminum boxes that 
 contain corresponding copper layers to mimic the present material.  The 
 services also include e.g. gas distribution boxes, cooling pipes, power and
 readout cables, and power connection panels.  Part of the services extend
 into the baby and the back frame.  Therefore, additional mother volumes
-have been introduced in order to accomodate this material.  All supermodules 
+have been introduced in order to accommodate this material.  All supermodules 
 have inserts of carbon fiber sheets in the bottom part of the aluminum 
 casing, for the ones in front of the PHOS detector (sectors 11--15) also 
 the top part includes carbon fiber inserts.  The supermodules in the sectors 
@@ -290,7 +291,7 @@ glue that has been applied to fix the gas leaks.  Figure~\ref{FIG_GEO:mat_budget
 shows the resulting radiation length map in the active detector area for
 super module 0, which has only carbon fiber inserts at the bottom and is
 thus one of the super modules with the largest material budget.  It is
-clearly visible that the MCMs and the cooling pipes introduce hots spots
+clearly visible that the MCMs and the cooling pipes introduce hot spots
 in $X/X_{0}$.  However, after averaging over the shown area, the mean
 value is found to be $\langle X/X_{0}\rangle =$~24.7~\%.  For a supermodule
 with carbon fiber inserts at the top and the bottom one finds
@@ -428,12 +429,12 @@ by \\{\tt AliTRDSimParam::SetArgon()}.
 %
 \subsection{Photons from transition radiation}
 %
-Additionally to the hits from energy loss, also hits from the absorbtion of
+Additionally to the hits from energy loss, also hits from the absorption of
 TR photons are generated.  This is done in {\tt AliTRDv1::CreateTRhit()}, which
 in turn is called by the chosen step manager for electrons and positrons
 entering the entering the drift volume.  The process consists of two steps:
 first the number and energies of the TR photons have to be determined and then
-their absorbtion position inside the gas volume has to be calculated.  The
+their absorption position inside the gas volume has to be calculated.  The
 corresponding procedures, used by {\tt AliTRDv1::CreateTRhit()}, are 
 implemented in {\tt AliTRDsimTR()}.  This class contains a parametrization
 of TR photons generated by a regular foil stack radiator \cite{TRPHOT}.  This
@@ -444,8 +445,8 @@ adjusted in several momentum bins.  After a TR photon has been generated and put
 on the particle stack, it is assumed that it follows a straight trajectory 
 whose direction is determined by the momentum vector of the generating electron.  
 Since the emission angle for TR photons is very small ($\sim 1/\gamma$) this 
-is a valid approximation.  The absorbtion length, which thus determines the 
-TR hit position, is randomly chosen according to the absorbtion cross sections
+is a valid approximation.  The absorption length, which thus determines the 
+TR hit position, is randomly chosen according to the absorption cross sections
 in the gas mixture.  These energy dependent cross sections are also included
 in {\tt AliTRDsimTR}.
 %
@@ -479,7 +480,7 @@ that can be stored in digits objects ({\tt AliTRDdigits}):
 \end{tabular}
 \end{center}
 %
-However, in practise {\tt AliTRDdigits} is not used to store the digits 
+However, in practice {\tt AliTRDdigits} is not used to store the digits 
 information.  Instead the data containers described in \ref{DIGITS:containers}
 are used for this purpose.  The digitization process includes as an 
 intermediate step between hit and digits the so-called summable digits, or 
@@ -525,7 +526,7 @@ procedure each electron of a given hit is in principle followed along its
 path from the position of the primary ionization towards the anode wire.
 The position of this electron can be modified by diffusion in the gas
 ({\tt AliTRDdigitizer::Diffusion()}), ExB effect ({\tt AliTRDdigitizer::ExB()}),
-and absorbtion ({\tt AliTRDdigitizer::Absorbtion()}, off per default).
+and absorption ({\tt AliTRDdigitizer::Absorbtion()}, off per default).
 The drift time of the electrons is also modified according to their distance
 to the corresponding anode wire position ({\tt AliTRDdigitizer::TimeStruct()}),
 since the electric field lines are not uniform inside the amplification region.
@@ -535,19 +536,19 @@ simulation are used in the digitizing process to adjust the drift times
 accordingly. Once the position and the drift time of the electron at the
 anode wire plane are know, the signal induced on the pads can be calculated.
 This involves three effects: the pad response, which distributes the charge
-on several pads ({\tt AliTRDdigitizer::PadResponse()}), the time reponse due 
+on several pads ({\tt AliTRDdigitizer::PadResponse()}), the time response due 
 to the slow ion drift and the PASA response function, which distributes the
 charge onto the following time bins, ({\tt AliTRDdigitizer::TimeResponse()}), 
-and the cross talk between neighbouring pads ({\tt AliTRDdigitizer::CrossTalk()}).  
+and the cross talk between neighboring pads {\tt AliTRD\-digitizer::CrossTalk()}).  
 At the end of this procedure, the charge seen by each pad in each time bin 
 is available.  Also, the indices of maximally three MC particles in the kine
 tree contributing to a given pad signal are stored, so that in a later 
 analysis it can be tested which particle generated what signal.
 As a next step the signals could either directly be converted into {\bf DIGITS},
 or, which is the default procedure, they are stored as {\bf SDIGITIS}.
-The correponding functions ({\tt AliTRDdigitizer::Signal2SDigits()} and
+The corresponding functions ({\tt AliTRDdigitizer::Signal2SDigits()} and
 {\tt AliTRDdigitizer::Signal2ADC()}) are called from 
-{\tt AliTRDdigitizer::ConvertSignals()}, depending on the configuation.
+{\tt AliTRDdigitizer::ConvertSignals()}, depending on the configuration.
 The function {\tt AliTRDdigitizer::Signal2SDigits()} stores the signals as 
 {\bf SDIGITS} in data structures of the type {\tt AliTRDarraySignal} (see 
 section \ref{DIGITS:containers}).  
@@ -590,7 +591,7 @@ signal is sampled in the digitization process. At this point also the relative
 gain factors derived from the calibration procedures for a given dataset will 
 be used to distort the simulated data correspondingly. The noise is generated 
 according to a Gaussian distribution of a given width and added to the output. 
-Finally, the converted signals are discretized into the ADC values of the 
+Finally, the converted signals are discretize into the ADC values of the 
 defined resolution. At this stage also the zero suppression mechanism is applied 
 to the simulated ADC values ({\tt AliTRDdigitizer::ZS()}), in order to reduce 
 the output volume (see section \ref{DIGITS:zs}). These {\bf DIGITS} can then 
@@ -755,7 +756,7 @@ sections.
 
 \subsection{MCM simulation}
 The MCM simulation is contained in {\tt AliTRDmcmSim}. This class
-mimicks the digital part of an MCM. It can be used for the simulation
+mimics the digital part of an MCM. It can be used for the simulation
 after digitization has been performed.
 
 Internally, an object of {\tt AliTRDmcmSim} can hold the data of
@@ -901,38 +902,48 @@ use of the TRD inputs has to be defined in the trigger configuration.
 %
 \section{Cluster Finding}\label{REC:CL:}
 %
-\subsection[Cluster position reconstruction]{Cluster position reconstruction\footnote{The procedures described in this section are implemented in the functions 
+\subsection[Cluster position reconstruction]{Cluster position reconstruction
+\footnote{The procedures described in this section are implemented in the functions 
 {\tt AliTRDcluster::GetXloc()}, {\tt AliTRDcluster::GetYloc()},
 {\tt AliTRDcluster::GetSX()} and {\tt AliTRDcluster::GetSY()}.}}\label{REC:CL:rphi}
 {\it Author: A.~Bercuci (A.Bercuci@gsi.de)}
-
-{\bf Calculation of cluster position in the radial direction} in local chamber coordinates (with respect to the anode wire 
-position) is using the following parameters:\\
+\\
+{\bf Calculation of cluster position in the radial direction} in local chamber 
+coordinates (with respect to the anode wire position) is using the following 
+parameters:\\
   $t_0$ - calibration aware trigger delay $[\mu s]$\\
   $v_d$ - drift velocity in the detector region of the cluster $[cm/\mu s]$\\
-   - distance to the anode wire [cm]. By default average over the drift cell width\\
-  q \& $x_q$ - array of charges and cluster positions from previous clusters in the tracklet [a.u.]
+  $z$ - distance to the anode wire [cm]. By default average over the drift cell width\\
+  $q$ \& $x_q$ - array of charges and cluster positions from previous clusters in the tracklet [a.u.]
 
-The estimation of the radial position is based on calculating the drift time and the drift velocity at the point of 
-estimation. The drift time can be estimated according to the expression:
+The estimation of the radial position is based on calculating the drift time 
+and the drift velocity at the point of estimation. The drift time can be 
+estimated according to the expression:
 \begin{equation}
 t_{drift} = t_{bin} - t_{0} - t_{cause}(x) - t_{TC}(q_{i-1}, q_{i-2}, ...)
 \end{equation}
-where $t_0$ is the delay of the trigger signal. $t_{cause}$ is the causality delay between ionisation electrons hitting 
-the anode and the registration of mean signal by the electronics - due to the rising time of the TRF 
-A second order correction here comes from the fact that the time spreading of charge at anode is the convolution of
-TRF with the diffusion and thus cross-talk between clusters before and after local clusters changes with drift length. 
-$t_{TC}$ is the residual charge from previous (in time) clusters due to residual tails after tail cancellation. 
-This tends to push cluster forward and depends on the magnitude of their charge.
-
-The drift velocity varies with the drift length (and distance to anode wire) as described by cell structure simulation. 
-Thus one, in principle, can calculate iteratively the drift length from the expression:
+where $t_0$ is the delay of the trigger signal. $t_{cause}$ is the causality 
+delay between ionization electrons hitting the anode and the registration of 
+the mean signal by the electronics - due to the rising time of the TRF. A 
+second order correction here comes from the fact that the time spreading of 
+charge at anode is the convolution of TRF with the diffusion and thus 
+cross-talk between clusters before and after local clusters changes with drift 
+length. $t_{TC}$ is the residual charge from previous (in time) clusters due 
+to residual tails after tail cancellation. This tends to push cluster forward 
+and depends on the magnitude of their charge.
+
+The drift velocity varies with the drift length (and distance to anode wire) 
+as described by cell structure simulation. Thus one, in principle, can calculate 
+iteratively the drift length from the expression:
 \begin{equation}
 x = t_{drift}(x)*v_{drift}(x)
 \end{equation}
-In practice we use a numerical approach (see AliTRDcluster::GetXcorr() and Figure \ref{FIG_CLUSTER:Xcorr} left) to correct for anisochronity obtained from MC 
-comparison (see AliTRDclusterResolution::ProcessSigma() for the implementation). Also the calibration of the 0 approximation (no x dependence)
-for $t_{cause}$ is obtained from MC comparisons and impossible to disentangle in real life from trigger delay.
+In practice we use a numerical approach (see {\tt AliTRDcluster::GetXcorr()} 
+and Figure \ref{FIG_CLUSTER:Xcorr} left) to correct for anisochronity obtained 
+from a MC comparison (see {\tt AliTRDclusterResolution\-::ProcessSigma()} for 
+the implementation). Also the calibration of the 0th approximation (no $x$ 
+dependence) for $t_{cause}$ is obtained from MC comparisons and is impossible 
+to disentangle in real life from trigger delay.
 \begin{figure}[htb]
 \begin{center}
 \includegraphics[width=0.48\textwidth]{plots/clusterXcorr.eps}
@@ -942,60 +953,82 @@ for $t_{cause}$ is obtained from MC comparisons and impossible to disentangle in
 Correction of the radial and $r-\phi$ position of the TRD cluster.}
 \label{FIG_CLUSTER:Xcorr}
 \end{figure}
+\\
+\\
+For {\bf the calculation of the $r-\phi$ offset} of the cluster from the middle 
+of the center pad three methods are implemented:
+\begin{itemize}
+  \item[-] Center of Gravity (COG) see {\tt AliTRDcluster::GetDYcog()}
+  \item[-] Look-up Table (LUT) see {\tt AliTRDcluster::GetDYlut()}
+  \item[-] Gaussian shape (GAUS) see {\tt AliTRDcluster::GetDYgauss()}
+\end{itemize}
+In addition for the case of LUT method position corrections are also applied 
+(see {\tt AliTRDcluster\-::GetYcorr()} and Figure \ref{FIG_CLUSTER:Xcorr} right).
 
-For {\bf the calculation of the $r-\phi$ offset} of the cluster from the middle of the center pad three methods are implemented:
-  - Center of Gravity (COG) see AliTRDcluster::GetDYcog()
-  - Look-up Table (LUT) see AliTRDcluster::GetDYlut()
-  - Gauss shape (GAUS) see AliTRDcluster::GetDYgauss()
-In addition for the case of LUT method position corrections are also applied (see AliTRDcluster::GetYcorr() and Figure \ref{FIG_CLUSTER:Xcorr} right).
-
-One may calculate the $r-\phi$ offset, based on the gaussian approximation of the PRF, from the signals $q_{i-1}$, $q_i$ and $q_{i+1}$ in the 3 adiacent pads by:
+One may calculate the $r-\phi$ offset, based on the Gaussian approximation of 
+the PRF, from the signals $q_{i-1}$, $q_i$ and $q_{i+1}$ in the 3 adjacent pads 
+by:
 \begin{equation}
-y = \frac{1}{w_{1}+w_{2}} [{w_{1}({y_{0}-\frac{W}{2}+\frac{s^{2}}{W}ln\frac{q_{i}}{q_{i-1}}})+w_{2}({y_{0}+ \frac{W}{2}+\frac{s^{2}}{W}ln\frac{q_{i+1}}{q_{i}}}})]
+y = \frac{1}{w_{1}+w_{2}} \left[ w_{1} \left( y_{0}-\frac{W}{2}
+                                                   +\frac{s^{2}}{W}
+                                                    \ln\frac{q_{i}}{q_{i-1}} \right)
+                                + w_{2}\left( y_{0}+\frac{W}{2}
+                                                   +\frac{s^{2}}{W}
+                                                    \ln\frac{q_{i+1}}{q_{i}} \right) \right]
 \end{equation}
-where W is the pad width, $y_0$ is the position of the middle of the center pad and $s^2$ is given by
+where $W$ is the pad width, $y_0$ is the position of the middle of the center 
+pad and $s^2$ is given by
 \begin{equation}
-s^{2} = s^{2}_{0} + s^{2}_{diff} (x,B) + \frac{tg^{2}(\phi-\alpha_{L})*l^{2}}{12}
+s^{2} = s^{2}_{0} + s^{2}_{diff} (x,B) + \frac{\tan^{2}(\phi-\alpha_{L})*l^{2}}{12}
 \end{equation}
-with $s_0$ being the PRF for 0 drift and track incidence phi equal to the lorentz angle $\alpha_L$ and the diffusion term being described by:
+with $s_0$ being the PRF for 0 drift and track incidence $\phi$ equal to the Lorentz 
+angle $\alpha_L$ and the diffusion term being described by:
 \begin{equation}
-s_{diff} (x,B) = \frac{D_{L}\sqrt{x}}{1+({\omega\tau}^{2}})
+s_{diff} (x,B) = \frac{D_{L}\sqrt{x}}{1+({\omega\tau}^{2})}
 \end{equation}
-with x being the drift length. The weights $w_1$ and $w_2$ are taken to be $q_{i-1}^2$ and $q_{i+1}^2$ respectively.
+with $x$ being the drift length. The weights $w_1$ and $w_2$ are taken to be 
+$q_{i-1}^2$ and $q_{i+1}^2$ respectively.
+\\
 
-{\bf Determination of shifts by comparing with MC}\\
+\noindent
+{\bf Determination of shifts by comparing with MC}
+\\
 
-The resolution of the cluster corrected for pad tilt with respect to MC in the $r-\phi$ (measuring) plane can be 
-expressed by:
+The resolution of the cluster corrected for pad tilt with respect to MC in the 
+$r-\phi$ (measuring) plane can be expressed by:
 \begin{eqnarray}
 \Delta y&=&w - y_{MC}(x_{cl})\\
 w &=& y_{cl}^{'} + h*(z_{MC}(x_{cl})-z_{cl})\\
 y_{MC}(x_{cl}) &=& y_{0} - dy/dx*x_{cl}\\
 z_{MC}(x_{cl}) &=& z_{0} - dz/dx*x_{cl}\\
-y_{cl}^{'} &=& y_{cl}-x_{cl}*tg(\alpha_{L})
+y_{cl}^{'} &=& y_{cl}-x_{cl}*\tan(\alpha_{L})
 \end{eqnarray}
-where $x_{cl}$ is the drift length attached to a cluster, $y_{cl}$ is the $r-\phi$ coordinate of the cluster measured by
-charge sharing on adjacent pads and $y_0$ and $z_0$ are MC reference points (as example the track references at 
-entrance/exit of a chamber). If we suppose that both $r-\phi$ (y) and radial (x) coordinate of the clusters are 
-affected by errors we can write
+where $x_{cl}$ is the drift length attached to a cluster, $y_{cl}$ is the 
+$r-\phi$ coordinate of the cluster measured by charge sharing on adjacent pads 
+and $y_0$ and $z_0$ are MC reference points (as example the track references at 
+entrance/exit of a chamber). If we suppose that both $r-\phi$ ($y$) and radial 
+($x$) coordinate of the clusters are affected by errors we can write
 \begin{eqnarray}
 x_{cl} &=& x_{cl}^{*} + \delta x\\ 
 y_{cl} &=& y_{cl}^{*} + \delta y 
 \end{eqnarray} 
-where the starred components are the corrected values. Thus by definition the following quantity
+where the starred components are the corrected values. Thus by definition the 
+following quantity
 \begin{equation}
 \Delta y^{*}= w^{*} - y_{MC}(x_{cl}^{*})
 \end{equation}
 has 0 average over all dependency. Using this decomposition we can write:
 \begin{equation}\label{EQ_CLUSTER:shift}
-<\Delta y>=<\Delta y^{*}> + <\delta x * (dy/dx-h*dz/dx) + \delta y - \delta x * tg(\alpha_{L})>
+<\Delta y>=<\Delta y^{*}> + <\delta x * (dy/dx-h*dz/dx) + \delta y - \delta x 
+          * \tan(\alpha_{L})>
 \end{equation}
 which can be transformed to the following linear dependence:
 \begin{equation}
-<\Delta y>= <\delta x> * (dy/dx-h*dz/dx) + <\delta y - \delta x * tg(\alpha_{L})>
+<\Delta y>= <\delta x> * (dy/dx-h*dz/dx) + <\delta y - \delta x * \tan(\alpha_{L})>
 \end{equation}
-if expressed as function of dy/dx-h*dz/dx. Furtheremore this expression can be plotted for various clusters
-i.e. we can explicitely introduce the diffusion ($x_{cl}$) and drift cell - anisochronity ($z_{cl}$) dependences. From 
+if expressed as function of $dy/dx-h*dz/dx$. Furtheremore this expression can 
+be plotted for various clusters i.e. we can explicitely introduce the diffusion 
+($x_{cl}$) and drift cell - anisochronity ($z_{cl}$) dependences. From 
 plotting this dependence and linear fitting it with:
 \begin{equation}
 <\Delta y>= a(x_{cl}, z_{cl}) * (dy/dx-h*dz/dx) + b(x_{cl}, z_{cl})
@@ -1003,7 +1036,7 @@ plotting this dependence and linear fitting it with:
 the systematic shifts will be given by:
 \begin{eqnarray}
 \delta x (x_{cl}, z_{cl}) &=& a(x_{cl}, z_{cl})\\
-\delta y (x_{cl}, z_{cl}) &=& b(x_{cl}, z_{cl}) + a(x_{cl}, z_{cl}) * tg(\alpha_{L})
+\delta y (x_{cl}, z_{cl}) &=& b(x_{cl}, z_{cl}) + a(x_{cl}, z_{cl}) * \tan(\alpha_{L})
 \end{eqnarray}
 In Figure \ref{FIG_CLUSTER:shift} left there is an example of such dependency. 
 \begin{figure}[htb]
@@ -1015,136 +1048,197 @@ In Figure \ref{FIG_CLUSTER:shift} left there is an example of such dependency.
 Linear relation to estimate radial and $r-\phi$ cluster shifts and error.}
 \label{FIG_CLUSTER:shift}
 \end{figure}
-
-The occurance of the radial shift is due to the following conditions \\
-- the approximation of a constant drift velocity over the drift length (larger drift velocities close to 
-  cathode wire plane)\\
-- the superposition of charge tails in the amplification region (first clusters appear to be located at the 
-  anode wire)\\
-- the superposition of charge tails in the drift region (shift towards anode wire)\\
-- diffusion effects which convolute with the TRF thus enlarging it\\
-- approximate knowledge of the TRF (approximate measuring in test beam conditions) \\
-The numerical results for ideal simulations for the radial are displayed in Figure \ref{FIG_CLUSTER:Xcorr}.
-
-The representation of $dy=f(y_cen, x_drift| layer, \phi=tg(\alpha_L))$ can be also used to estimate the systematic shift in the $r-\phi$ 
-coordinate resulting from imperfection in the cluster shape parameterization. From Eq. \ref{EQ_CLUSTER:shift} with $\phi=tg(\alpha_L)$ one gets: 
+\\
+\\
+The occurance of the radial shift is due to the following conditions:
+\begin{itemize}
+  \item[-] The approximation of a constant drift velocity over the drift length 
+           (larger drift velocities close to the cathode wire plane).
+  \item[-] The superposition of charge tails in the amplification region (first 
+           clusters appear to be located at the anode wire).
+  \item[-] The superposition of charge tails in the drift region (shift towards 
+           anode wire).
+  \item[-] Diffusion effects which convolute with the TRF thus enlarging it.
+  \item[-] Approximate knowledge of the TRF (approximate measuring in test beam 
+           conditions).
+\end{itemize}
+The numerical results for ideal simulations for the radial are displayed in 
+Figure \ref{FIG_CLUSTER:Xcorr}.
+\\
+\\
+The representation of $dy=f(y_cen, x_drift| layer, \phi=\tan(\alpha_L))$ can be 
+also used to estimate the systematic shift in the $r-\phi$ coordinate resulting 
+from an imperfection in the cluster shape parameterization. From 
+Eq.~\ref{EQ_CLUSTER:shift} with $\phi=\tan(\alpha_L)$ one gets: 
 \begin{eqnarray}
-<\Delta y>&=& <\delta x> * (tg(\alpha_{L})-h*dz/dx) + <\delta y - \delta x * tg(\alpha_{L})>\\
+<\Delta y>&=& <\delta x> * (\tan(\alpha_{L})-h*dz/dx) + <\delta y - \delta x * \tan(\alpha_{L})>\\
 <\Delta y>(y_{cen})&=& -h*<\delta x>(x_{drift}, q_{cl}) * dz/dx + \delta y(y_{cen}, ...)
 \end{eqnarray}
 where all dependences are made explicit. This last expression can be used in two ways:
-  - by average on the dz/dx we can determine directly dy (the method implemented here - see Figure \ref{FIG_CLUSTER:Xcorr} right) 
-  - by plotting as a function of dzdx one can determine both dx and dy components in an independent method.
-The occurance of the $r-\phi$ shift is due to the following conditions:\\ 
-  - approximate model for cluster shape (LUT)\\
-  - rounding-up problems
+\begin{itemize}
+  \item[-] By average on the $dz/dx$ we can determine directly $dy$ (the method 
+           implemented here - see Figure \ref{FIG_CLUSTER:Xcorr} right).
+  \item[-] By plotting as a function of $dzdx$ one can determine both $dx$ and $dy$ 
+           components in an independent method.
+\end{itemize}
+The occurance of the $r-\phi$ shift is due to the following conditions:
+\begin{itemize}
+  \item[-] Approximate model for cluster shape (LUT).
+  \item[-] Rounding-up problems.
+\end{itemize}
 
 
-\subsection[Cluster error parameterization]{Cluster error parametrization\footnote{The procedures described in this section are implemented in the functions 
-{\tt AliTRDcluster::SetSigmaY2()}, {\tt AliTRDclusterResolution::ProcessCharge()}, {\tt AliTRDclusterResolution::ProcessCenterPad()}, {\tt AliTRDclusterResolution::ProcessSigma()} and {\tt AliTRDclusterResolution::ProcessMean()}.}}\label{REC:CL:error}
+\subsection[Cluster error parameterization]{Cluster error parametrization
+\footnote{The procedures described in this section are implemented in the functions 
+{\tt AliTRDcluster::SetSigmaY2()}, {\tt AliTRDclusterResolution::ProcessCharge()}, 
+{\tt AliTRDclusterResolution::ProcessCenterPad()}, 
+{\tt AliTRDclusterResolution::ProcessSigma()} and 
+{\tt AliTRDclusterResolution::ProcessMean()}.}}\label{REC:CL:error}
 {\it Author: A.~Bercuci (A.Bercuci@gsi.de)}
+\\
 
-The error of TRD cluster is represented by the variance in the $r-\phi$ and radial direction. For the z direction the error is simply given by:
+The error of TRD cluster is represented by the variance in the $r-\phi$ and radial 
+direction. For the $z$ direction the error is simply given by:
 \begin{equation}
 \sigma^2_z=L^2_{pad}/12
 \end{equation}
 
-The parameters on which the {\bf $r-\phi$ error parameterization} depends are:\\ 
-  - $s^2$  - variance due to PRF width for the case of Gauss model. Replaced by parameterization in case of LUT.\\
-  - dt  - transversal diffusion coeficient\\ 
-  - exb - tg of lorentz angle\\
-  - x   - drift length - with respect to the anode wire\\
-  - z   - offset from the anode wire\\
-  - tgp - local tangent of the track momentum azimuthal angle\\
-
-The ingredients from which the error is computed are:\\
-  - PRF (charge sharing on adjacent pads)  - see AliTRDcluster::GetSYprf()
-  - diffusion (dependence with drift length and [2nd order] distance to anode wire) - see AliTRDcluster::GetSYdrift()\\
-  - charge of the cluster (complex dependence on gain and tail cancellation) - see AliTRDcluster::GetSYcharge()\\
-  - lorentz angle (dependence on the drift length and [2nd order] distance to anode wire) - see AliTRDcluster::GetSX()\\
-  - track angle (superposition of charges on the anode wire) - see AliTRDseedV1::Fit()\\
-  - projection of radial(x) error on $r-\phi$ due to fixed value assumed in tracking for x - see AliTRDseedV1::Fit()\\
-
-The last 2 contributions to cluster error can be estimated only during tracking when the track angle 
-is known (tgp). For this reason the errors (and optional position) of TRD clusters are recalculated during 
-tracking and thus clusters attached to tracks might differ from bare clusters.
-
-Taking into account all contributions one can write the the TRD cluster error parameterization as:
+The parameters on which the {\bf $r-\phi$ error parameterization} depends are:
+\begin{itemize}
+  \item[-] $s^2$  - variance due to PRF width for the case of Gauss model. Replaced 
+           by parameterization in case of LUT.
+  \item[-] $dt$  - transversal diffusion coefficient.
+  \item[-] $e \times B$ - tangens of Lorentz angle.
+  \item[-] $x$-drift length - with respect to the anode wire.
+  \item[-] $z$-offset from the anode wire.
+  \item[-] $\tan(p)$ - local tangens of the track momentum azimuthal angle.
+\end{itemize}
+
+The ingredients from which the error is computed are:
+\begin{itemize}
+  \item[-] PRF (charge sharing on adjacent pads)  - see {\tt AliTRDcluster::GetSYprf()}.
+  \item[-] Diffusion (dependence with drift length and [2nd order] distance to anode wire) 
+           (see {\tt AliTRDcluster::GetSYdrift()}).
+  \item[-] Charge of the cluster (complex dependence on gain and tail cancellation) - see 
+           ({\tt AliTRD\-cluster::GetSYcharge()}).
+  \item[-] Lorentz angle (dependence on the drift length and [2nd order] distance to anode 
+           wire) - see {\tt AliTRDcluster::GetSX()}.
+  \item[-] Track angle (superposition of charges on the anode wire) 
+           (see {\tt AliTRDseedV1::Fit()}).
+  \item[-] Projection of radial ($x$) error on $r-\phi$ due to fixed value assumed in 
+           tracking for $x$ - see {\tt AliTRDseedV1::Fit()}.
+\end{itemize}
+
+The last 2 contributions to cluster error can be estimated only during tracking 
+when the track angle is known ($\tan(p)$). For this reason the errors (and 
+optional position) of TRD clusters are recalculated during tracking and thus 
+clusters attached to tracks might differ from bare clusters.
+
+Taking into account all contributions one can write the the TRD cluster error 
+parameterization as:
 \begin{equation}\label{EQ_CLUSTER:error}
-\sigma_{y}^{2} = (\sigma_{diff}*Gauss(0, s_{ly}) + \delta_{\sigma}(q))^{2} + tg^{2}(\alpha_{L})*\sigma_{x}^{2} + tg^{2}(\phi-\alpha_{L})*\sigma_{x}^{2}+[tg(\phi-\alpha_{L})*tg(\alpha_{L})*x]^{2}/12
+\sigma_{y}^{2} = (\sigma_{diff}*\rm{Gauss}(0, s_{ly}) + \delta_{\sigma}(q))^{2} 
+               + \tan^{2}(\alpha_{L})*\sigma_{x}^{2} 
+               + \tan^{2}(\phi-\alpha_{L})*\sigma_{x}^{2}
+               + [\tan(\phi-\alpha_{L})*\tan(\alpha_{L})*x]^{2}/12
 \end{equation}
-From this formula one can deduce that the simplest calibration method for PRF and diffusion contributions is 
-by measuring resolution at B=0T and phi=0. To disentangle further the two remaining contributions one has 
-to represent $s^2$ as a function of drift length. 
+From this formula one can deduce that the simplest calibration method for PRF and 
+diffusion contributions is by measuring resolution at $B = 0$~T and $\phi = 0$. 
+To disentangle further the two remaining contributions one has to represent $s^2$ 
+as a function of drift length. 
 
-In the gaussian model the diffusion contribution can be expressed as:
+In the Gaussian model the diffusion contribution can be expressed as:
 \begin{equation}
-\sigma^{2}_{y} = \sigma^{2}_{PRF} + \frac{x\delta_{t}^{2}}{(1+tg(\alpha_{L}))^{2}}
+\sigma^{2}_{y} = \sigma^{2}_{PRF} + \frac{x\delta_{t}^{2}}{(1+\tan(\alpha_{L}))^{2}}
 \end{equation}
-thus resulting the PRF contribution. For the case of the LUT model both contributions have to be determined from 
-the fit (see AliTRDclusterResolution::ProcessCenterPad() for details).\\
+thus resulting the PRF contribution. For the case of the LUT model both contributions 
+have to be determined from the fit (see {\tt AliTRDclusterResolution::ProcessCenterPad()} 
+for details).
+\\
 
-{\bf Parameterization with respect to the distance to the middle of the center pad}\\
+\noindent
+{\bf Parameterization with respect to the distance to the middle of the center pad}
+\\
 
-If $\phi = \alpha_L$ in Eq. \ref{EQ_CLUSTER:error}  one gets the following expression:
+If $\phi = \alpha_L$ in Eq.~\ref{EQ_CLUSTER:error}  one gets the following expression:
 \begin{equation}\label{EQ_CLUSTER:errorPhiAlpha}
-\sigma_{y}^{2} = \sigma_{y}^{2}|_{B=0} + tg^{2}(\alpha_{L})*\sigma_{x}^{2}
+\sigma_{y}^{2} = \sigma_{y}^{2}|_{B=0} + \tan^{2}(\alpha_{L})*\sigma_{x}^{2}
 \end{equation}
-where we have explicitely marked the remaining term in case of absence of magnetic field. Thus one can use the 
-previous equation to estimate $s_y$ for B=0 and than by comparing in magnetic field conditions one can get the $s_x$.
-This is a simplified method to determine the error parameterization for $s_x$ and $s_y$ as compared to the one 
-implemented in ProcessSigma(). For more details on cluster error parameterization please see also 
-AliTRDcluster::SetSigmaY2().\\
-
-{\bf Parameterization with respect to drift length and distance to the anode wire}\\
-
-As the $r-\phi$ coordinate is the only one which is measured by the TRD detector we have to rely on it to
-estimate both the radial (x) and $r-\phi$ (y) errors. This method is based on the following assumptions. 
-The measured error in the y direction is the sum of the intrinsic contribution of the $r-\phi$ measurement
-with the contribution of the radial measurement - because x is not a parameter of Alice track model (Kalman).
+where we have explicitely marked the remaining term in case of absence of magnetic 
+field. Thus one can use the previous equation to estimate $s_y$ for B~=~0 and than 
+by comparing in magnetic field conditions one can get the $s_x$. This is a simplified 
+method to determine the error parameterization for $s_x$ and $s_y$ as compared to the one 
+implemented in {\tt ProcessSigma()}. For more details on cluster error 
+parameterization please see also {\tt AliTRDcluster::SetSigmaY2()}.
+\\
+
+\noindent
+{\bf Parameterization with respect to drift length and distance to the anode wire}
+\\
+
+As the $r-\phi$ coordinate is the only one which is measured by the TRD detector we 
+have to rely on it to estimate both the radial ($x$) and $r-\phi$ ($y$) errors. This 
+method is based on the following assumptions. The measured error in the $y$ 
+direction is the sum of the intrinsic contribution of the $r-\phi$ measurement
+with the contribution of the radial measurement - because $x$ is not a parameter of 
+Alice track model (Kalman).
 \begin{equation}
 \sigma^{2}|_{y} = \sigma^{2}_{y*} + \sigma^{2}_{x*}   
 \end{equation}
 In the general case 
 \begin{eqnarray}
-\sigma^{2}_{y*}& =& \sigma^{2}_{y} + tg^{2}(\alpha_{L})\sigma^{2}_{x_{drift}}\\   
-\sigma^{2}_{x*} &=& tg^{2}(\phi - \alpha_{L})*(\sigma^{2}_{x_{drift}} + \sigma^{2}_{x_{0}} + tg^{2}(\alpha_{L})*x^{2}/12)
+\sigma^{2}_{y*}& =& \sigma^{2}_{y} + \tan^{2}(\alpha_{L})\sigma^{2}_{x_{drift}}\\   
+\sigma^{2}_{x*} &=& \tan^{2}(\phi - \alpha_{L})*(\sigma^{2}_{x_{drift}} 
+                 + \sigma^{2}_{x_{0}} + \tan^{2}(\alpha_{L})*x^{2}/12)
 \end{eqnarray}
-where we have explicitely show the lorentz angle correction on y and the projection of radial component on the y
-direction through the track angle in the bending plane ($\phi$). Also we have shown that the radial component in the
-last equation has two terms, the drift and the misalignment ($x_0$). For ideal geometry or known misalignment one 
-can solve the equation
+where we have explicitely show the Lorentz angle correction on $y$ and the projection 
+of radial component on the $y$ direction through the track angle in the bending plane 
+($\phi$). Also we have shown that the radial component in the last equation has two 
+terms, the drift and the misalignment ($x_0$). For ideal geometry or known misalignment 
+one can solve the equation
 \begin{equation}
-\sigma^{2}|_{y} = tg^{2}(\phi - \alpha_{L})*(\sigma^{2}_{x} + tg^{2}(\alpha_{L})*x^{2}/12)+ [\sigma^{2}_{y} + tg^{2}(\alpha_{L})\sigma^{2}_{x}]
+\sigma^{2}|_{y} = \tan^{2}(\phi - \alpha_{L})*(\sigma^{2}_{x} 
+                + \tan^{2}(\alpha_{L})*x^{2}/12)
+                + [\sigma^{2}_{y} + \tan^{2}(\alpha_{L})\sigma^{2}_{x}]
 \end{equation}
 by fitting a straight line:
 \begin{equation}
-\sigma^{2}|_{y} = a(x_{cl}, z_{cl}) * tg^{2}(\phi - \alpha_{L}) + b(x_{cl}, z_{cl})
+\sigma^{2}|_{y} = a(x_{cl}, z_{cl}) * \tan^{2}(\phi - \alpha_{L}) + b(x_{cl}, z_{cl})
 \end{equation}
 the error parameterization will be given by:
 \begin{eqnarray}
-\sigma_{x} (x_{cl}, z_{cl}) &=& \sqrt{a(x_{cl}, z_{cl}) - tg^{2}(\alpha_{L})*x^{2}/12}\\
-\sigma_{y} (x_{cl}, z_{cl}) &=& \sqrt{b(x_{cl}, z_{cl}) - \sigma^{2}_{x} (x_{cl}, z_{cl}) * tg^{2}(\alpha_{L})}
+\sigma_{x} (x_{cl}, z_{cl}) &=& \sqrt{a(x_{cl}, z_{cl}) - \tan^{2}(\alpha_{L})*x^{2}/12}\\
+\sigma_{y} (x_{cl}, z_{cl}) &=& \sqrt{b(x_{cl}, z_{cl}) - \sigma^{2}_{x} (x_{cl}, z_{cl}) 
+                             * \tan^{2}(\alpha_{L})}
 \end{eqnarray}
 In Figure \ref{FIG_CLUSTER:shift} left, there is an example of such dependency. 
 
-The error parameterization obtained by this method are implemented in the functions AliTRDcluster::GetSX() and
-AliTRDcluster::GetSYdrift()
+The error parameterization obtained by this method are implemented in the functions 
+{\tt AliTRD\-cluster::GetSX()} and {\tt AliTRDcluster::GetSYdrift()}
 
-An independent method to determine $s_y$ as a function of drift length (see AliTRDclusterResolution::ProcessCenterPad()) is to plot cluster resolution as a function of drift length at $\phi = \alpha_L$ as seen in Eq. \ref{EQ_CLUSTER:errorPhiAlpha}. Thus one can use directly the 
-previous equation to estimate $s_y$ for $B=0$ and than by comparing in magnetic field conditions one can get the $s_x$.
+An independent method to determine $s_y$ as a function of drift length (see 
+{\tt AliTRDcluster\-Resolution::ProcessCenterPad()}) is to plot cluster resolution as 
+a function of drift length at $\phi = \alpha_L$ as seen in 
+Eq.~\ref{EQ_CLUSTER:errorPhiAlpha}. Thus one can use directly the previous equation 
+to estimate $s_y$ for $B = 0$ and than by comparing in magnetic field conditions one 
+can get the $s_x$.
 
-One has to keep in mind that while the first method returns the mean $s_y$ over the distance
-to the middle of center pad ($y_{center}$) distribution the second method returns the *STANDARD* value at $y_{center}=0$ (maximum). To recover the 
-standard value one has to solve the obvious equation:
+One has to keep in mind that while the first method returns the mean $s_y$ over the 
+distance to the middle of center pad ($y_{center}$) distribution the second method 
+returns the *STANDARD* value at $y_{center}=0$ (maximum). To recover the standard 
+value one has to solve the obvious equation:
 \begin{equation}
 \sigma_{y}^{STANDARD} = \frac{<\sigma_{y}>}{\int{s exp(s^{2}/\sigma) ds}}
 \end{equation}
-with "$<s_y>$" being the value calculated in first method and "sigma" the width of the $s_y$ distribution calculated in the second.\\
+with "$<s_y>$" being the value calculated in first method and "sigma" the width of 
+the $s_y$ distribution calculated in the second.
+\\
 
-{\bf Parameterization with respect to cluster charge}\\
+\noindent
+{\bf Parameterization with respect to cluster charge}
+\\
 
-In Eq. \ref{EQ_CLUSTER:errorPhiAlpha} one can explicitely write:
+In Eq.~\ref{EQ_CLUSTER:errorPhiAlpha} one can explicitely write:
 \begin{equation}
 \sigma_{y}|_{B=0} = \sigma_{diff}*Gauss(0, s_{ly}) + \delta_{\sigma}(q)
 \end{equation}
@@ -1153,7 +1247,7 @@ which further can be simplified to:
 <\sigma_{y}|_{B=0}>(q) &=& <\sigma_{y}> + \delta_{\sigma}(q)\\
 <\sigma_{y}> &=& \int{f(q)\sigma_{y}dq}
 \end{eqnarray}
-The results for $s_y$ and $f(q)$ are displayed in Figure \ref{FIG_CLUSTER:errorCharge}:
+The results for $s_y$ and $f(q)$ are displayed in Fig.~\ref{FIG_CLUSTER:errorCharge}:
 \begin{figure}[htb]
 \begin{center}
 \includegraphics[width=0.48\textwidth]{plots/clusterQerror.eps}
@@ -1164,7 +1258,7 @@ The results for $s_y$ and $f(q)$ are displayed in Figure \ref{FIG_CLUSTER:errorC
 Cluster error parameterization for different components.}
 \label{FIG_CLUSTER:errorCharge}
 \end{figure}
-The function has to extended to accomodate gain calibration scalling and errors.
+The function has to extended to accommodate gain calibration scaling and errors.
 
 %
 \setcounter{footnote}{0}
@@ -1174,8 +1268,8 @@ The function has to extended to accomodate gain calibration scalling and errors.
 \noindent
 The tracking in TRD can be done in two major ways:
 \begin{itemize}
-\item Track prolongation from TPC.
-\item Stand alone track finding.
+\item[-] Track prolongation from TPC.
+\item[-] Stand alone track finding.
 \end{itemize}
 The first mode is the main tracking mode for all barrel tracks while the second 
 is used to peak-up track segments fully contained in the TRD fiducial volume 
@@ -1192,36 +1286,47 @@ of the framework in which they are living (tracking) in the sections
 barrel (section \ref{REC:Tracking:Propagate}) and stand alone tracking (section 
 \ref{REC:Tracking:Clusters2TracksStack}).
 
-\subsection[Tracklet building]{Tracklet building - Attaching clusters to tracklet\footnote{The 
-procedures described in this section are implemented in the function 
+\subsection[Tracklet building]{Tracklet building - Attaching clusters to tracklet
+\footnote{The procedures described in this section are implemented in the function 
 {\tt AliTRDseedV1::AttachClusters()}.}}\label{REC:Tracking:TrackletAttach}
 
-Projective algorithm to attach clusters to seeding tracks. The following steps are performed :\\
-1. Collapse x coordinate for the full detector along track direction dydx.\\
-2. truncated mean on y (r-phi) direction\\
-3. purge clusters\\
-4. truncated mean on z direction\\
-5. purge clusters\\
-Optionally one can use the z, dz/dx information from the sseding track to correct for tilting.
+Projective algorithm to attach clusters to seeding tracks. The following steps are 
+performed:
+\begin{enumerate}
+\item[-] Collapse $x$ coordinate for the full detector along track direction $dy dx$.
+\item[-] Truncated mean on $y$ ($r-\phi$) direction.
+\item[-] Purge clusters.
+\item[-] Truncated mean on $z$ direction.
+\item[-] Purge clusters.
+\end{enumerate}
+Optionally one can use the $z$, $dz/dx$ information from the seeding track to 
+correct for tilting.
        
-We start up by defining the track direction in the xy plane and roads. The roads are calculated based
-on tracking information (variance in the $r-\phi$ direction) and estimated variance of the standard 
-clusters (see AliTRDcluster::SetSigmaY2()) corrected for tilt (see GetCovAt()). From this the road is.
+We start up by defining the track direction in the $xy$ plane and roads. The 
+roads are calculated based on tracking information (variance in the $r-\phi$ 
+direction) and estimated variance of the standard clusters (see 
+{\tt AliTRDcluster::SetSigmaY2()}) corrected for tilt (see {\tt GetCovAt()}). 
+From this the road is:
 \begin{eqnarray}
-r_{y} &=& 3*\sqrt{12*(\sigma^{2}_{Trk}(y) + \frac{\sigma^{2}_{cl}(y) + tg^{2}(\alpha_{L})\sigma^{2}_{cl}(z)}{1+tg^{2}(\alpha_{L})})}\\
+r_{y} &=& 3*\sqrt{12*(\sigma^{2}_{Trk}(y) + \frac{\sigma^{2}_{cl}(y) 
++ \tan^{2}(\alpha_{L})\sigma^{2}_{cl}(z)}{1+\tan^{2}(\alpha_{L})})}\\
 r_{z} &= &1.5*L_{pad}
 \end{eqnarray}
 
 \subsection[Tracklet fitting]{Tracklet fitting\footnote{The procedures described in this 
-section are implemented in the function {\tt AliTRDseedV1::Fit()}.}}\label{REC:Tracking:TrackletFit}
+section are implemented in the function 
+{\tt AliTRDseedV1::Fit()}.}}\label{REC:Tracking:TrackletFit}
 
-{\bf Fit in the xy plane}\\
+\noindent
+{\bf Fit in the $xy$ plane}
+\\
 
-The fit is performed to estimate the y position of the tracklet and the track 
+The fit is performed to estimate the $y$ position of the tracklet and the track 
 angle in the bending plane. The clusters are represented in the chamber coordinate 
-system (with respect to the anode wire - see {\tt AliTRDtrackerV1::FollowBackProlongation()} 
-on how this is set). The $x$ and $y$ position of the cluster and also their variances 
-are known from clusterizer level (see {\tt AliTRDcluster::GetXloc()}, 
+system (with respect to the anode wire - see 
+{\tt AliTRDtrackerV1::FollowBackProlongation()} on how this is set). The $x$ and $y$ 
+position of the cluster and also their variances are known from clusterizer level 
+(see {\tt AliTRDcluster::GetXloc()}, 
 {\tt AliTRDcluster::GetYloc()}, {\tt AliTRDcluster::GetSX()} and \\
 {\tt AliTRDcluster::GetSY()}). If a Gaussian approximation is used to calculate 
 $y$ coordinate of the cluster the position is recalculated taking into account the 
@@ -1230,39 +1335,45 @@ track angle.
 Since errors are calculated only in the $y$ directions, radial errors ($x$ direction) 
 are mapped to $y$ by projection i.e.
 \begin{equation}
-\sigma_{x|y} = tg(\phi) \sigma_{x}
+\sigma_{x|y} = \tan(\phi) \sigma_{x}
 \end{equation}
-and also by the Lorentz angle correction.\\
+and also by the Lorentz angle correction.
+\\
 
-{\bf Fit in the xz plane}\\
+\noindent
+{\bf Fit in the xz plane}
+\\
 
 The "fit" is performed to estimate the radial position ($x$ direction) where pad 
 row cross happens. If no pad row crossing the $z$ position is taken from geometry 
-and radial position is taken from the xy fit (see below).
+and radial position is taken from the $xy$ fit (see below).
 
 There are two methods to estimate the radial position of the pad row cross:\\
-1. leading cluster radial position : Here the lower part of the tracklet is 
+1. leading cluster radial position: Here the lower part of the tracklet is 
 considered and the last cluster registered (at radial $x_{0}$) on this segment 
 is chosen to mark the pad row crossing. The error of the $z$ estimate is given by :
 \begin{equation}
-\sigma_{z} = tg(\theta) \Delta x_{x_{0}}/\sqrt{12}
+\sigma_{z} = \tan(\theta) \Delta x_{x_{0}}/\sqrt{12}
 \end{equation}
 The systematic errors for this estimation are generated by the following sources:
   - no charge sharing between pad rows is considered (sharp cross)
   - missing cluster at row cross (noise peak-up, under-threshold signal etc.).
 \\
-2. charge fit over the crossing point : Here the full energy deposit along 
+2. charge fit over the crossing point: Here the full energy deposit along 
 the tracklet is considered to estimate the position of the crossing by a fit 
-in the qx plane. The errors in the q directions are parameterized as 
+in the $qx$ plane. The errors in the $q$ directions are parameterized as 
 $\sigma_q = q^2$. The systematic errors for this estimation are generated by the 
 following sources:
-  - no general model for the qx dependence
-  - physical fluctuations of the charge deposit 
-  - gain calibration dependence.\\
+\begin{itemize}
+\item[-] No general model for the $qx$ dependence.
+\item[-] Physical fluctuations of the charge deposit.
+\item[-] Gain calibration dependence.
+\end{itemize}
 
+\noindent
 {\bf Estimation of the radial position of the tracklet}\\
 
-For pad row cross the radial position is taken from the xz fit (see above). 
+For pad row cross the radial position is taken from the $xz$ fit (see above). 
 Otherwise it is taken as the interpolation point of the tracklet i.e. the 
 point where the error in $y$ of the fit is minimum. The error in the $y$ 
 direction of the tracklet is (see {\tt AliTRDseedV1::GetCovAt()}):
@@ -1273,28 +1384,32 @@ and thus the radial position is:
 \begin{equation}
 x = - cov(y_{0}, dy/dx)/\sigma^{2}_{dy/dx}
 \end{equation}
+\\
 
+\noindent
 {\bf Estimation of tracklet position error}\\ 
 
 The error in $y$ direction is the error of the linear fit at the radial 
 position of the tracklet while in the $z$ direction is given by the cluster 
 error or pad row cross error. In case of no pad row cross this is given by:
 \begin{eqnarray}
-\sigma_{y} &=& \sigma^{2}_{y_{0}} - 2cov^{2}(y_{0}, dy/dx)/\sigma^{2}_{dy/dx} + \sigma^{2}_{dy/dx}\\
+\sigma_{y} &=& \sigma^{2}_{y_{0}} - 2cov^{2}(y_{0}, dy/dx)/\sigma^{2}_{dy/dx} 
+            + \sigma^{2}_{dy/dx}\\
 \sigma_{z} &=& L_{pad}/\sqrt{12}
 \end{eqnarray}
 For pad row cross the full error is calculated at the radial position of the 
 crossing (see above) and the error in $z$ by the width of the crossing region - 
 being a matter of parameterization. 
 \begin{equation}
-\sigma_{z} = tg(\theta) \Delta x_{x_{0}}/\sqrt{12}
+\sigma_{z} = \tan(\theta) \Delta x_{x_{0}}/\sqrt{12}
 \end{equation}
 In case of no tilt correction (default in the barrel tracking) the tilt is 
 taken into account by the rotation of the covariance matrix. See 
 {\tt AliTRDseedV1::GetCovAt()} or \ref{REC:Tracking:TrackletErrors} for details.
 
 \subsection[Tracklet errors]{Tracklet errors\footnote{The procedures described in this 
-section are implemented in the function {\tt AliTRDseedV1::GetCovAt()}.}}\label{REC:Tracking:TrackletErrors}
+section are implemented in the function 
+{\tt AliTRDseedV1::GetCovAt()}.}}\label{REC:Tracking:TrackletErrors}
 
 In general, for the linear transformation
 \begin{equation}
@@ -1329,20 +1444,22 @@ C_{X}&=&
     0 &Var(z) 
   \end{array} \right)
 \end{eqnarray}
-using simple trigonometrics one can write for this last case
+using simple trigonometric one can write for this last case
 \begin{equation}
-C_{Y}=\frac{1}{1+tg^{2}\alpha} 
+C_{Y}=\frac{1}{1+\tan^{2}\alpha} 
   \left( \begin{array}{cc}
-    \sigma_{y}^{2}+tg^{2}(\alpha)\sigma_{z}^{2} &  tg(\alpha)(\sigma_{z}^{2}-\sigma_{y}^{2})\\
-    tg(\alpha)(\sigma_{z}^{2}-\sigma_{y}^{2}) & \sigma_{z}^{2}+tg^{2}(\alpha)\sigma_{y}^{2}
+    \sigma_{y}^{2}+\tan^{2}(\alpha)\sigma_{z}^{2} &  
+    \tan(\alpha)(\sigma_{z}^{2}-\sigma_{y}^{2})\\
+    \tan(\alpha)(\sigma_{z}^{2}-\sigma_{y}^{2}) & 
+    \sigma_{z}^{2}+\tan^{2}(\alpha)\sigma_{y}^{2}
   \end{array} \right)
 \end{equation}
-which can be aproximated for small alphas (2 deg) with
+which can be approximated for small alphas (2 deg) with
 \begin{equation}
 C_{Y}=
   \left( \begin{array}{cc}
-    \sigma_{y}^{2} & (\sigma_{z}^{2}-\sigma_{y}^{2})tg(\alpha)\\
-    ((\sigma_{z}^{2}-\sigma_{y}^{2})tg(\alpha) & \sigma_{z}^{2} 
+    \sigma_{y}^{2} & (\sigma_{z}^{2}-\sigma_{y}^{2})\tan(\alpha)\\
+    ((\sigma_{z}^{2}-\sigma_{y}^{2})\tan(\alpha) & \sigma_{z}^{2} 
   \end{array} \right)
 \end{equation}
 before applying the tilt rotation we also apply systematic uncertainties 
@@ -1350,36 +1467,80 @@ to the tracklet position which can be tuned from outside via the
 {\tt AliTRDrecoParam::SetSysCovMatrix()}. They might account for extra 
 misalignment/miscalibration uncertainties. 
 
-\subsection[Tracklet dE/dx]{Energy loss calculations\footnote{The procedures described in this 
-section are implemented in the function {\tt AliTRDseedV1::CookdEdx()} and {\tt AliTRDseedV1::GetdQdl()}.}}\label{REC:Tracking:TrackletdEdx}
+\subsection[Tracklet dE/dx]{Energy loss calculations\footnote{The procedures 
+described in this section are implemented in the function 
+{\tt AliTRDseedV1::CookdEdx()} and 
+{\tt AliTRDseedV1::GetdQdl()}.}}\label{REC:Tracking:TrackletdEdx}
 
 Using the linear approximation of the track inside one TRD chamber (TRD tracklet) 
 the charge per unit length can be written as:
 \begin{equation}
-\frac{dq}{dl}(x) = \frac{q_{c}}{dx(x) * \sqrt{1 + (\frac{dy}{dx})^{2}_{fit} + (\frac{dz}{dx})^{2}_{ref}}}
+\frac{dq}{dl}(x) = \frac{q_{c}}{dx(x) 
+                 * \sqrt{1 + (\frac{dy}{dx})^{2}_{fit} + (\frac{dz}{dx})^{2}_{ref}}}
 \end{equation}
-where $q_c$ is the total charge collected in the current time bin and dx is the length 
-of the time bin (see Figure \ref{FIG_TRACKLET:dEdx} left). The representation of charge deposit used for PID differs thus in principle from the measured dQ/dt distribution (see Figure \ref{FIG_TRACKLET:dEdx} right) 
+where $q_c$ is the total charge collected in the current time bin and $dx$ is the length 
+of the time bin (see Fig.~\ref{FIG_TRACKLET:dEdx} right). The representation of charge 
+deposit used for PID differs thus in principle from the measured $dQ/dt$ distribution 
+(see Fig.~\ref{FIG_TRACKLET:dEdx} left) 
 \begin{figure}[htb]
 \begin{center}
-% \includegraphics[width=0.48\textwidth]{plots/trackletDQDL.eps}
-% \includegraphics[width=0.48\textwidth]{plots/trackletDQDT.eps}
+\includegraphics[width=0.88\textwidth, height=0.45\textwidth]{plots/trackletDQDT.eps}
 \end{center}
 \caption{
-Enargy loss measurement on the tracklet as a function of drft length [left] and as a function of drift time [right] for different particle species.}
+Energy loss measurement on the tracklet as a function of drift time [left] and 
+respectively drift length [right] for different particle species.}
 \label{FIG_TRACKLET:dEdx}
-\end{figure}
-The following correction are applied :
-  - charge : pad row cross corrections
-             [diffusion and TRF assymetry] TODO
-  - dx     : anisochronity.
-Due to anisochronity of the TRD detector drift velocity varies as function of drift length and distance to the anode wire. Thus 
+\end{figure} 
+The following correction are applied:
+\begin{itemize}
+\item[-] Charge: pad row cross corrections [diffusion and TRF asymmetry] TODO.
+\item[-] $dx$: anisochronity.
+\end{itemize}
+Due to the anisochronity of the TRD detector drift velocity varies as function of 
+drift length and distance to the anode wire. Thus 
 \begin{eqnarray}
 dx(x) &=& dx(\inf) + \delta_x(x,z)\\ 
       &=& dt*v_d^{\inf} + \delta_x(x,z) 
 \end{eqnarray}
-the dependence of $\delta_x$ can be found in Figure \ref{FIG_CLUSTER:Xcorr}.
+the dependence of $\delta_x$ can be found in Fig.~\ref{FIG_CLUSTER:Xcorr}.
+
+\subsection[Tracklet PID]{Particle identification\footnote{The procedures described 
+in this section are implemented in the function {\tt AliTRDtrackV1::CookPID()} and 
+{\tt AliTRDseedV1::CookPID()}.}}\label{REC:Tracking:TrackletPID}
+
+Retrieve the PID probabilities for $e^\pm$, $\mu^\pm$, $K^\pm$, $\pi^\pm$ and $p^\pm$ 
+from the OCDB according to tracklet information:
+\begin{itemize}
+\item[-] Estimated momentum at tracklet reference point.
+\item[-] $dE/dx$ measurements.
+\item[-] Tracklet length.
+\item[-] TRD layer.
+\end{itemize}
+According to the steering settings specified in the reconstruction one of the 
+following methods are used.
+\begin{itemize}
+\item[-] Neural Network [default] - option "nn".
+\item[-] 2D Likelihood - option "!nn".
+\end{itemize}
+\begin{figure}[htb]
+\begin{center}
+\includegraphics[width=0.88\textwidth, height=0.45\textwidth]{plots/trackPID.eps}
+\end{center}
+\caption{
+Pion efficiency capability of the TRD for tracks with 6 tracklets as a function of 
+momentum [left] and the corresponding threshold value for selecting $90\%$ of 
+electrons [right] for the two methods used.}
+\label{FIG_TRACK:PID}
+\end{figure}
+
+At track level the PID information is calculated by delegating the function of 
+the tracklets. The number of tracklets used is also computed. The tracklet 
+information are considered independent. For the moment no global track measurement 
+of PID is performed as for example to estimate bremsstrahlung probability based on 
+global $\chi^2$ of the track. The status bit {\tt AliESDtrack::kTRDpid} is set 
+during the call of {\tt AliTRDtrackV1::UpdateESDtrack()}. The PID performance of 
+the TRD for tracks with 6 tacklets is displayed in Fig.~\ref{FIG_TRACK:PID}. 
+\\
 
 \setcounter{footnote}{0}
 \section{Tracking}\label{REC:Tracking:}
@@ -1396,17 +1557,191 @@ in this procedure is {\tt AliTRDtrackerV1} and the helper classes {\tt AliTRDclu
 procedures described in this section are implemented in the function 
 {\tt AliTRDtrackerV1::PropagateBack()}.}}\label{REC:Tracking:Propagate}
 
+Propagate the ESD tracks from TPC to TOF detectors and building of the TRD track. For 
+building a TRD track an ESD track is used as seed. The informations obtained on the TRD 
+track (measured points, covariance, PID, etc.) are than used to update the corresponding 
+ESD track. Each track seed is first propagated to the geometrical limit of the TRD 
+detector. Its prolongation is searched in the TRD and if corresponding clusters are found 
+tracklets are constructed out of them (see {\tt AliTRDseedV1::AttachClusters()}) and the 
+track is updated. Otherwise the ESD track is left unchanged.
+
+The following steps are performed:
+\begin{itemize}
+\item[1.] Selection of tracks based on the variance in the $y-z$ plane.
+\item[2.] Propagation to the geometrical limit of the TRD volume. If track 
+          propagation fails the {\tt AliESDtrack::kTRDStop} is set.
+\item[3.] Prolongation inside the fiducial volume (see 
+          {\tt AliTRDtrackerV1::FollowBackProlonga\-tion()}) and marking
+          the following status bits:
+          \begin{center}
+          \begin{tabular}{|l|l|}  \hline
+          {\tt AliESDtrack::kTRDin}     & Tracks enters the TRD fiducial volume.  \\ \hline
+          {\tt AliESDtrack::kTRDStop}   & Tracks fails propagation.               \\ \hline
+          {\tt AliESDtrack::kTRDbackup} & Tracks fulfills the $\chi^{2}$ 
+                                          conditions and qualifies for refitting. \\ \hline
+          \end{tabular}
+          \end{center}
+\item[4.] Writting to friends, PID, MC label, quality etc. Setting the status bit 
+          {\tt AliESDtrack::kTRDout}.
+\item[5.] Propagation to TOF. If track propagation fails the {\tt AliESDtrack::kTRDStop} 
+          is set.
+\end{itemize}
+
+
+\noindent
 {\bf TRD Tracklet initialization and Kalman fit}\footnote{The procedures 
 described in this section are implemented in the function 
-{\tt AliTRDtrackerV1::FollowBackProlongation()}.}\\
+{\tt AliTRDtrackerV1::FollowBackProlongation()}.}
+\\
+
+Starting from the arbitrary radial position of the track this is
+extrapolated through the 6 TRD layers. The following steps
+are being performed for each layer:
+\begin{itemize}
+\item[1.] Propagate track to the entrance of the next chamber:
+  \begin{itemize}
+  \item[-] Get chamber limits in the radial direction.
+  \item[-] Check crossing sectors.
+  \item[-] Check track inclination.
+  \item[-] Check track prolongation against boundary conditions (see exclusion 
+           boundaries on {\tt AliTRDgeometry::IsOnBoundary()}).
+  \end{itemize}
+\item[2.] Build tracklet (see {\tt AliTRDseed::AttachClusters()} for details) for 
+          this layer if needed. If only the Kalman filter is needed and tracklets 
+          are already linked to the track this step is skipped.
+\item[3.] Fit tracklet using the information from the Kalman filter.
+\item[4.] Propagate and update track at reference radial position of the tracklet.
+\item[5.] Register tracklet with the tracker and track. Update pulls monitoring.
+\end{itemize}
+
+During the propagation a bit map is filled detailing the status of the track in 
+each TRD chamber.
+\begin{center}
+\begin{tabular}{|l|l|}  \hline
+{\tt AliTRDtrackV1::kProlongation} & Track prolongation failed.                   \\ \hline
+{\tt AliTRDtrackV1::kPropagation}  & Track prolongation failed.                   \\ \hline
+{\tt AliTRDtrackV1::kAdjustSector} & Failed during sector crossing.               \\ \hline
+{\tt AliTRDtrackV1::kSnp}          & Too large bending.                           \\ \hline
+{\tt AliTRDtrackV1::kTrackletInit} & Fail to initialize tracklet.                 \\ \hline
+{\tt AliTRDtrackV1::kUpdate}       & Fail to attach clusters or fit the tracklet. \\ \hline
+{\tt AliTRDtrackV1::kUnknown}      & Anything which is not covered before.        \\ \hline
+\end{tabular}
+\end{center}
+By default the status of the track before first TRD update is saved. 
 
 \subsection[Stand alone track finding]{Stand alone track finding\footnote{The procedures 
 described in this section are implemented in the function 
 {\tt AliTRDtrackerV1::Clusters2TracksStack()}.}}\label{REC:Tracking:Clusters2TracksStack}
 
+Seeding tracklets and build candidate TRD tracks. The procedure is used during 
+barrel tracking to account for tracks which are either missed by TPC prolongation 
+or are conversions inside the TRD volume. For stand alone tracking the procedure 
+is used to estimate all tracks measured by TRD. 
+\\
+
+\noindent
 {\bf TRD track finding}\footnote{The procedures described in this section 
 are implemented in the function {\tt AliTRDtrackerV1::MakeSeeds()}.}
 \\
+
+The following steps are performed:
+\begin{itemize}
+\item[1.] Build seeding layers by collapsing all time bins from each of the four 
+          seeding chambers along the radial coordinate. See 
+          {\tt AliTRDtrackingChamber::GetSeedingLayer()} for details. The chambers 
+          selection for seeding is described in 
+          {\tt AliTRDtrackerV1::Clusters2\-TracksStack()}.
+\item[2.] By using the seeding clusters from the seeding layer (step 1) build 
+          combinatorics using the following algorithm:
+  \begin{itemize}
+  \item[-] For each seeding cluster in the lower seeding layer find.
+  \item[-] All seeding clusters in the upper seeding layer inside a road defined by 
+           a given $\phi$ angle. The angle is calculated on the minimum \pt\ of tracks 
+           from the main vertex, accessible by the stand alone tracker.
+  \item[-] For each pair of two extreme seeding clusters select middle upper cluster 
+           using roads defined externally by the reco params.
+  \item[-] Select last seeding cluster as the nearest to the linear approximation of 
+           the track described by the first three seeding clusters. The implementation 
+           of the road calculation and cluster selection can be found in the functions 
+           {\tt AliTRDchamberTimeBin::Build\-Cond()} and 
+           {\tt AliTRDchamberTimeBin::GetClusters()}.
+  \end{itemize}
+\item[3.] Helix fit to the set of eeding clusters 
+          (see {\tt AliTRDtrackerFitter::FitRieman(AliTRD\-cluster**)}). No tilt 
+          correction is performed at this level 
+\item[4.] Initialize seeding tracklets in the seeding chambers.
+\item[5.] {\bf Filter 0:} $\chi^{2}$ cut on the $y$ and $z$ directions. The threshold is 
+          set externally by the reco params.
+\item[6.] Attach (true) clusters to seeding tracklets 
+          (see {\tt AliTRDseedV1::AttachClusters()}) and fit tracklet 
+          (see {\tt AliTRDseedV1::Fit()}). The number of used clusters used by current 
+          seeds should not exceed ... (25).
+\item[7.] {\bf Filter 1:} Check if all 4 seeding tracklets are correctly constructed.
+\item[8.] Helix fit to the clusters from the seeding tracklets with tilt correction. 
+          Refit tracklets using the new approximation of the track. The model of the 
+          Riemann tilt fit is based on solving simultaneously the equations:
+          \begin{eqnarray}
+          R^{2} &=& (x-x_{0})^{2} + (y^{*}-y_{0})^{2}\\
+          y^{*} &=& y - \tan(h)(z - z_{t})\\
+          z_{t} &=& z_{0}+dzdx*(x-x_{r})
+          \end{eqnarray}
+          with $(x, y, z)$ the coordinate of the cluster, $(x_0, y_0, z_0)$ the 
+          coordinate of the center of the Riemann circle, $R$ its radius, $x_r$ a 
+          constant reference radial position in the middle of the TRD stack and $dzdx$ 
+          the slope of the track in the $x-z$ plane. Using the following transformations
+          \begin{eqnarray}
+          t &=& 1 / (x^{2} + y^{2})\\
+          u &=& 2 * x * t\\
+          v &=& 2 * \tan(h) * t\\
+          w &=& 2 * \tan(h) * (x - x_{r}) * t
+          \end{eqnarray}
+          one gets the following linear equation
+          \begin{equation}
+          a + b * u + c * t + d * v  + e * w = 2 * (y + \tan(h) * z) * t
+          \end{equation}
+          where the coefficients have the following meaning 
+          \begin{eqnarray}
+          a &=& -1/y_{0}\\
+          b &=& x_{0}/y_{0}\\
+          c &=& (R^{2} -x_{0}^{2} - y_{0}^{2})/y_{0}\\
+          d &=& z_{0}\\
+          e &=& dz/dx
+          \end{eqnarray}
+          The error calculation for the free term is thus
+          \begin{equation}
+          \sigma = 2 * \sqrt{\sigma^{2}_{y}(tilt\ corr ...) 
+                 + \tan^{2}(h) * \sigma^{2}_{z}} * t
+          \end{equation}
+          From this simple model one can compute $\chi^2$ estimates and a rough 
+          approximation of $1/p_t$ from the curvature according to the formula:
+          \begin{equation}
+          C = 1/R = a/(1 + b^{2} + c*a)
+          \end{equation}
+\item[9.] {\bf Filter 2:} Calculate likelihood of the track 
+          (see {\tt AliTRDtrackerV1::CookLikelihood()}). The following quantities are 
+          checked against the Riemann fit:
+          \begin{itemize}
+          \item[-] Position resolution in $y$.
+          \item[-] Angular resolution in the bending plane.
+          \item[-] Likelihood of the number of clusters attached to the tracklet.
+          \end{itemize}
+\item[10.] Extrapolation of the helix fit to the other 2 chambers *non seeding* 
+          chambers:
+          \begin{itemize}
+          \item[-] Initialization of extrapolation tracklets with the fit parameters.
+          \item[-] Attach clusters to extrapolated tracklets.
+          \item[-] Helix fit of tracklets
+          \end{itemize}
+\item[11.] Improve seeding tracklets quality by reassigning clusters based on the 
+          last parameters of the track (see {\tt AliTRDtrackerV1::ImproveSeedQuality()} 
+          for details).
+\item[12.] Helix fit of all 6 seeding tracklets and $\chi^{2}$ calculation
+\item[13.] Hyperplane fit and track quality calculation 
+          (see {\tt AliTRDtrackerFitter::FitHyperplane()} for details.
+\item[14.] Cooking labels for tracklets. Should be done only for MC.
+\item[15.] Register seeds.
+\end{itemize}
+
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \newpage