2
\label{Sect:SciFiIntroduction}
5
\label{SubSect:SciFiOverview}
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}.
9
\subsection{Quick start guide}
10
\label{SubSect:SciFiQuickStart}
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.
16
caption={Example SciFi python script},
20
emphstyle={\color{DarkBlue}}
22
import io # generic python library for I/O
23
import gzip # For compressed output # pylint: disable=W0611
27
# This input generates empty spills,
28
# to be filled by the beam maker later
29
my_input = MAUS.InputPySpillGenerator()
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
36
# The mappers for tracker MC digitisation and recon
37
my_map.append(MAUS.MapCppTrackerMCDigitization())
38
my_map.append(MAUS.MapCppTrackerRecon())
40
# Specify config parameters via a datacard
41
datacards = io.StringIO(u"")
43
# The Pattern Recognition reducer to display tracks
44
reducer = MAUS.ReduceCppPatternRecognition()
47
my_output = MAUS.OutputCppRoot()
49
# The Go() drives all the components you pass in
50
MAUS.Go(my_input, my_map, reducer, my_output, datacards)
52
if __name__ == '__main__':
57
Some important datacard parameters to consider when using the tracker software are:
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