~maus-step4-study/maus/step4_reducedCurrent_study

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/usr/bin/env python

"""
Simulate the MICE experiment

This will simulate MICE spills through the entirety of MICE using Geant4, then
digitize and reconstruct TOF and tracker hits to space points.
"""

import io   #  generic python library for I/O

import MAUS # MAUS libraries

def run():
    """ Run the macro
    """

    # This input generates empty spills, to be filled by the beam maker later on
#    my_input = MAUS.InputPySpillGenerator()
    my_input = MAUS.InputCppRoot()

    # Create an empty array of mappers, then populate it
    # with the functionality you want to use.
    my_map = MAUS.MapPyGroup()

    # GEANT4
#    my_map.append(MAUS.MapPyBeamMaker()) # beam construction
#    my_map.append(MAUS.MapCppSimulation())  #  geant4 simulation

    # Pre detector set up
#    my_map.append(MAUS.MapPyMCReconSetup())  #  geant4 simulation

    # TOF
#    my_map.append(MAUS.MapCppTOFMCDigitizer())  # TOF MC Digitizer
#    my_map.append(MAUS.MapCppTOFSlabHits()) # TOF MC Slab Hits
#    my_map.append(MAUS.MapCppTOFSpacePoints()) # TOF Space Points

    # SciFi
    my_map.append(MAUS.MapCppTrackerMCDigitization()) # SciFi electronics model
    my_map.append(MAUS.MapCppTrackerRecon()) # SciFi Recon

    # Global Digits - post detector digitisation

    # Emittance Recon
#    my_reduce = MAUS.ReduceCppPatternRecognition()
    my_reduce = MAUS.ReducePyDoNothing()

    # Then construct a MAUS output component - filename comes from datacards
    my_output = MAUS.OutputCppRoot()

    # can specify datacards here or by using appropriate command line calls
    datacards = io.StringIO(u"")

    # The Go() drives all the components you pass in, then check the file
    # (default simulation.out) for output
    MAUS.Go(my_input, my_map, my_reduce, my_output, datacards)

if __name__ == '__main__':
    run()