10 from optparse
import OptionParser
15 set_log_level(LogLevel.INFO)
17 outroot =
'arichbtest.root'
19 parser = OptionParser()
20 parser.add_option(
'-r',
'--run', dest=
'runno', default=
'068',
23 parser.add_option(
'-y',
'--year', dest=
'year', default=
'2013',
24 help=
'beam test year')
26 parser.add_option(
'-m',
'--avgagel', dest=
'avgagel', default=
'0',
27 help=
'average thc calculation based on the mean agel')
34 help=
'Output filename',
38 parser.add_option(
'-n',
'--neve', dest=
'neve', default=20000,
39 help=
'Number of events to process')
41 (options, args) = parser.parse_args()
43 if options.output == outroot:
44 outroot =
'run_' + options.runno +
'.root'
46 outroot = options.output
48 runno = int(options.runno)
51 averageagel = int(options.avgagel)
53 eventinfosetter = register_module(
'EventInfoSetter')
54 eventinfosetter.param(
'evtNumList', [int(options.neve)])
55 eventinfosetter.param(
'runList', [int(options.runno)])
56 eventinfosetter.param(
'expList', [1])
59 paramloader = register_module(
'Gearbox')
61 xmlgeometry =
'file://%s/arich/modules/arichBtest/data/%s/arichBtest%s.xml' \
62 % (os.getcwd(), options.year, options.year)
63 paramloader.param(
'fileName', xmlgeometry)
65 paramloader.param(
'fileName', xmlgeometry)
81 geobuilder = register_module(
'Geometry')
82 geobuilder.param(
'components', [
'ARICHBtest'])
85 particlegun = register_module(
'ParticleGun')
89 particlegun.param(
'pdgCodes', [-211, 211])
91 particlegun.param(
'nTracks', 1)
96 particlegun.param(
'momentumGeneration',
'uniform')
97 particlegun.param(
'momentumParams', [3.5, 3.51])
100 particlegun.param(
'thetaGeneration',
'uniformCos')
101 particlegun.param(
'thetaParams', [0, 0.2])
102 particlegun.param(
'phiGeneration',
'uniform')
103 particlegun.param(
'phiParams', [0, 360])
105 particlegun.param(
'vertexGeneration',
'uniform')
106 particlegun.param(
'xVertexParams', [-2.5, 2.5])
107 particlegun.param(
'yVertexParams', [18, 22])
108 particlegun.param(
'zVertexParams', [-100, -101])
110 print_params(particlegun)
113 g4sim = register_module(
'FullSim')
118 g4sim.param(
'RegisterOptics', 1)
122 g4sim.param(
'PhotonFraction', 0.3)
124 arichDIGI = register_module(
'ARICHDigitizer')
126 arichrec = register_module(
'ARICHReconstructor')
127 arichrec.param(
'inputTrackType', 1)
130 arichrec.param(
'beamtest', 2)
135 arichrec.param(
'outfileName', outroot)
138 geosaver = register_module(
'ExportGeometry')
139 geosaver.param(
'Filename',
'BeamtestGeo.root')
142 main.add_module(eventinfosetter)
143 main.add_module(paramloader)
144 main.add_module(geobuilder)
145 main.add_module(particlegun)
146 main.add_module(g4sim)
147 main.add_module(arichDIGI)
148 main.add_module(arichrec)
153 print(
'Event Statistics:')