17 basf2.set_log_level(basf2.LogLevel.INFO)
20 eventinfosetter = basf2.register_module(
'EventInfoSetter')
21 eventinfosetter.param(
'evtNumList', [200])
24 particlegun = basf2.register_module(
'ParticleGun')
25 particlegun.param(
'nTracks', 1)
26 particlegun.param(
'pdgCodes', [13, -13])
27 particlegun.param(
'momentumGeneration',
'uniform')
28 particlegun.param(
'momentumParams', [1, 3])
29 particlegun.param(
'thetaGeneration',
'uniform')
30 particlegun.param(
'thetaParams', [17, 150])
31 particlegun.param(
'phiGeneration',
'uniform')
32 particlegun.param(
'phiParams', [0, 360])
35 paramloader = basf2.register_module(
'Gearbox')
38 geobuilder = basf2.register_module(
'Geometry')
39 geobuilder.param(
'components', [
'KLM'])
40 geobuilder.param(
'useDB',
False)
43 g4sim = basf2.register_module(
'FullSim')
46 klm_digitizer = basf2.register_module(
'KLMDigitizer')
49 klm_packer = basf2.register_module(
'KLMPacker')
52 klm_unpacker = basf2.register_module(
'KLMUnpacker')
53 klm_unpacker.param(
'outputKLMDigitsName',
'KLMDigitsUnpacked')
56 klm_reconstructor = basf2.register_module(
'KLMReconstructor')
59 output = basf2.register_module(
'RootOutput')
60 output.param(
'outputFileName',
'ParticleGunMuonsKLM.root')
63 main = basf2.create_path()
66 main.add_module(eventinfosetter)
67 main.add_module(particlegun)
68 main.add_module(paramloader)
69 main.add_module(geobuilder)
70 main.add_module(g4sim)
72 main.add_module(klm_digitizer)
73 main.add_module(klm_packer)
74 main.add_module(klm_unpacker)
75 main.add_module(klm_reconstructor)
77 main.add_module(output)
81 print(basf2.statistics)
84 root_file = ROOT.TFile(
'ParticleGunMuonsKLM.root')
85 tree = root_file.Get(
'tree')
86 events = tree.GetEntriesFast()
87 print(
'Events: %d' % events)
88 for branch
in tree.GetListOfBranches():
89 name = branch.GetName()
90 if name.startswith(
'Raw'):
91 size = branch.GetTotBytes(
'*') * 1.0
92 zipsize = branch.GetZipBytes(
'*') * 1.0
93 print(
"%s %.2f (%.2f)" % (name, size / 1024. / events, zipsize / 1024. / events))