~christopher-hunt08/maus/maus_radiation_det

« back to all changes in this revision

Viewing changes to doc/doc_src/detectors/tracker/01-Introduction/01-Introduction.tex

  • Committer: Christopher Hunt
  • Date: 2014-01-28 11:09:46 UTC
  • mfrom: (1019.5.38 tracker_devel)
  • Revision ID: christopher.hunt08@imperial.ac.uk-20140128110946-vy5z1vax8gshxtxm
MergedĀ Again

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
\section{Introduction}
 
2
\label{Sect:SciFiIntroduction}
 
3
 
 
4
\subsection{Overview}
 
5
\label{SubSect:SciFiOverview}
 
6
 
 
7
This chapter describes the software used to simulate and reconstruct the MICE scintillating fibre trackers. Section~\ref{Sect:SciFiDefinitions}, \ref{Sect:SciFiRefSurf&CoordSysts} and \ref{Sect:SciFiReconstructionAlgorithms} are reference sections providing descriptions of the official definitions, reference surfaces and coordinate systems, and reconstruction algorithms respectively.  The later sections provide descriptions of the code as implemented in MAUS.  A quick start guide regular users appears in below in section~\ref{SubSect:SciFiQuickStart}.
 
8
 
 
9
\subsection{Quick start guide}
 
10
\label{SubSect:SciFiQuickStart}
 
11
 
 
12
Example scripts and datacards for the tracker reconstruction can be found in the \verb;bin/user/scifi; directory.  A typical top level python file to run a simulation with tracker reconstruction is shown below.
 
13
 
 
14
\begin{lstlisting}[
 
15
    language=Python,
 
16
    caption={Example SciFi python script},
 
17
    label=api:IModule, 
 
18
    index={IModule},
 
19
    emph={birth,death},
 
20
    emphstyle={\color{DarkBlue}}
 
21
  ]
 
22
import io   #  generic python library for I/O
 
23
import gzip #  For compressed output # pylint: disable=W0611
 
24
import MAUS
 
25
 
 
26
def run():
 
27
    # This input generates empty spills,
 
28
    # to be filled by the beam maker later
 
29
    my_input = MAUS.InputPySpillGenerator()
 
30
 
 
31
    # The mappers for to set up the simulation
 
32
    my_map = MAUS.MapPyGroup()
 
33
    my_map.append(MAUS.MapPyBeamMaker()) # beam construction
 
34
    my_map.append(MAUS.MapCppSimulation())  #  geant4 sim
 
35
    
 
36
    # The mappers for tracker MC digitisation and recon
 
37
    my_map.append(MAUS.MapCppTrackerMCDigitization()) 
 
38
    my_map.append(MAUS.MapCppTrackerRecon())
 
39
    
 
40
    # Specify config parameters via a datacard
 
41
    datacards = io.StringIO(u"")
 
42
 
 
43
    # The Pattern Recognition reducer to display tracks
 
44
    reducer = MAUS.ReduceCppPatternRecognition()
 
45
 
 
46
    # Output to ROOT file
 
47
    my_output = MAUS.OutputCppRoot()
 
48
 
 
49
    # The Go() drives all the components you pass in
 
50
    MAUS.Go(my_input, my_map, reducer, my_output, datacards)
 
51
 
 
52
if __name__ == '__main__':
 
53
    run()
 
54
\end{lstlisting}
 
55
 
 
56
\noindent
 
57
Some important datacard parameters to consider when using the tracker software are:
 
58
 
 
59
\begin{itemize}
 
60
 \item \verb;SciFiPRHelicalOn; - set to True or False for helical pattern recognition
 
61
 \item \verb;SciFiPRStraightOn; - set to True or False for straight pattern recognition
 
62
 \item \verb;SciFiKalmanOn; - set to True or False for running the final track fit
 
63
\end{itemize}