~e-santos10/maus/devel

« back to all changes in this revision

Viewing changes to doc/doc_src/detectors/tracker/06-CodeDesign/06-CodeDesign.tex

  • Committer: Edward Santos
  • Date: 2014-01-27 12:07:12 UTC
  • mfrom: (1034.3.28 tracker_devel)
  • Revision ID: e.santos10@imperial.ac.uk-20140127120712-ne6kwn7nx3os9l47
debug

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
\section{Code Design}
 
2
\label{Sect:CodeDesign}
 
3
 
 
4
\subsection{General Code Structure}
 
5
 
 
6
The main body of the tracker code is implemented as three distinct MAUS map modules and, at present, one reducer module.  There also exist various helpful top-level user tools, and the tracker geometry, calibration and configuration files. A diagram showing the tracker software data flow with the corresponding modules is shown in figure~\ref{Fig:DataFlow}, with the following sections expanding on each area.
 
7
 
 
8
\begin{figure}[htb]
 
9
    \includegraphics[width=1.0\textwidth]{detectors/tracker/06-CodeDesign/Figures/DataFlow.pdf}
 
10
    \caption{Schematic of the tracker software data showing MC and Real data input, and subsequent reconstruction. MAUS modules corresponding to given process are indicated (MapCppTrackerRecon encompasses all of the reconstruction, shown in blue).  Once digits have been formed, reconstruction is agnostic as to whether the MC or Real path was followed.}
 
11
    \label{Fig:DataFlow}
 
12
\end{figure}
 
13
 
 
14
\subsubsection{MapCppTrackerDigits}
 
15
This map is used to digitise real data.  It calls on additional functionality from the RealDataDigitisation class, which is stored in \verb;src/common_cpp/Recon/SciFi;.
 
16
 
 
17
\subsubsection{MapCppTrackerMCDigitisation}
 
18
This map is used to digitise Monte Carlo data.
 
19
 
 
20
\subsubsection{MapCppTrackerRecon}
 
21
This map performs the main reconstruction work, moving from digits to cluster to spacepoints to pattern recognition tracks, and finally full Kalman tracks. Most work is farmed out to backend C++ classes. The following are the top level classes for each stage of the reconstruction, and are stored in \verb;src/common_cpp/Recon/SciFi;:
 
22
 
 
23
\begin{itemize}
 
24
 \item SciFiClusterRecon - cluster reconstruction from digits
 
25
 \item SciFiSpacepointRecon - spacepoint reconstruction from cluster
 
26
 \item PatternRecognition - association of spacepoints to tracks, and crude initial track fit
 
27
\end{itemize}
 
28
 
 
29
The backend classes for the final track fit are stored under \verb;src/common_cpp/Recon/Kalman; and  \verb;src/common_cpp/Recon/Bayes;, the top level class being KalmanTrackFit.  Other classes used include:
 
30
 
 
31
\begin{itemize}
 
32
 \item KalmanFilter
 
33
 \item KalmanHelicalPropagator
 
34
 \item KalmanStraightPropagator
 
35
 \item KalmanState
 
36
 \item KalmanSeed
 
37
\end{itemize}
 
38
 
 
39
 
 
40