\chaptername~\vref{ch-defs} points out that tracks are reconstructed only in some simple cases. In addition, during the analysis process we only used the tracks satisfying the following conditions:
\begin{enumerate}
	\item there is exactly one \textit{x-track} and one \textit{y-track} per event;
	\item $\chi^2 < 10$ for both the \textit{x-track} and the \textit{y-track};
	\item the distance between the hits on the tracker chambers and their first order polinomial fit defining the track is $< 10mm$ for every hit.	
\end{enumerate}
Inside a ROOT framework, this means to declare a \texttt{TCut} object that will be used as a mandatory option while selecting the data to process:\\
%
\lstset{language=C++, breaklines=true, showspaces=true, basicstyle=\tiny, frame=single}
\begin{lstlisting}
TCut goodtr("goodtr","trackx@.GetEntries()==1 && tracky@.GetEntries()==1 && trackx[0].chi2<10 && tracky[0].chi2<10 && residualx[0]<10 && residualy[0]<10")
\end{lstlisting}

Most of the analysis processes exploit the ROOT \texttt{Draw()} command, that accepts \texttt{TCut} objects as options. For the data sets we have seen so far, whose acquisition needed the chamber to be shifted $14$ times, we had to declare the $(x,y)$ offsets of the chamber with respect to the center of the beam each time. We achieved that again via \texttt{TCut} objects, which also contained a definition of efficiency radius. The following declarations were used:\\

\begin{lstlisting}
TCut Aeff("Aeff","dist(GetX(bgch.ch),GetY(bgch.ch),trackx[0]->q - 240.8,tracky[0]->q + 6.3)<6")
TCut Beff("Beff","dist(GetX(bgch.ch),GetY(bgch.ch),trackx[0]->q - 303.2,tracky[0]->q - 34.4)<7")
TCut Ceff("Ceff","dist(GetX(bgch.ch),GetY(bgch.ch),trackx[0]->q - 362.9,tracky[0]->q - 34)<8.5")
TCut Deff("Deff","dist(GetX(bgch.ch),GetY(bgch.ch),trackx[0]->q - 362.9,tracky[0]->q + 5.6)<9")
TCut Eeff("Eeff","dist(GetX(bgch.ch),GetY(bgch.ch),trackx[0]->q - 362.7,tracky[0]->q + 46.9)<9")
TCut Feff("Feff","dist(GetX(bgch.ch),GetY(bgch.ch),trackx[0]->q - 362.8,tracky[0]->q + 86.2)<9")
TCut Geff("Geff","dist(GetX(bgch.ch),GetY(bgch.ch),trackx[0]->q - 482.6,tracky[0]->q - 34.1)<12")
TCut Heff("Heff","dist(GetX(bgch.ch),GetY(bgch.ch),trackx[0]->q - 482.6,tracky[0]->q + 6.7)<12")
TCut Ieff("Ieff","dist(GetX(bgch.ch),GetY(bgch.ch),trackx[0]->q - 482.7,tracky[0]->q + 86.3)<12")
TCut Leff("Leff","dist(GetX(bgch.ch),GetY(bgch.ch),trackx[0]->q - 663.4,tracky[0]->q - 1.1)<23.5")
TCut Meff("Meff","dist(GetX(bgch.ch),GetY(bgch.ch),trackx[0]->q - 664.9,tracky[0]->q + 108)<30")
TCut Neff("Neff","dist(GetX(bgch.ch),GetY(bgch.ch),trackx[0]->q - 662.5,tracky[0]->q + 207.3)<18")
TCut Oeff("Oeff","dist(GetX(bgch.ch),GetY(bgch.ch),trackx[0]->q - 483.8,tracky[0]->q + 46.7)<12")
TCut Peff("Peff","dist(GetX(bgch.ch),GetY(bgch.ch),trackx[0]->q - 695.2,tracky[0]->q + 49.3)<18")
\end{lstlisting}
where the first two numbers in each string represent the $(x,y)$ position of the chamber for the specific data set, and the last one is the best fitting efficiency radius.\\

This approach worked fine. The software did not run across any problems when variables were declared this way, and selecting tracks according to strict rules did not affect the analysis process, as the amount of data acquired during the test-beam period was huge.