9 basf2.set_log_level(basf2.LogLevel.INFO)
12 eventinfosetter = basf2.register_module(
'EventInfoSetter')
13 eventinfosetter.param(
'evtNumList', [200])
16 particlegun = basf2.register_module(
'ParticleGun')
17 particlegun.param(
'nTracks', 1)
18 particlegun.param(
'pdgCodes', [13, -13])
19 particlegun.param(
'momentumGeneration',
'uniform')
20 particlegun.param(
'momentumParams', [1, 3])
21 particlegun.param(
'thetaGeneration',
'uniform')
22 particlegun.param(
'thetaParams', [17, 150])
23 particlegun.param(
'phiGeneration',
'uniform')
24 particlegun.param(
'phiParams', [0, 360])
27 paramloader = basf2.register_module(
'Gearbox')
30 geobuilder = basf2.register_module(
'Geometry')
31 geobuilder.param(
'components', [
'KLM'])
32 geobuilder.param(
'useDB',
False)
35 g4sim = basf2.register_module(
'FullSim')
38 klm_digitizer = basf2.register_module(
'KLMDigitizer')
41 klm_packer = basf2.register_module(
'KLMPacker')
44 klm_unpacker = basf2.register_module(
'KLMUnpacker')
45 klm_unpacker.param(
'outputKLMDigitsName',
'KLMDigitsUnpacked')
48 klm_reconstructor = basf2.register_module(
'KLMReconstructor')
51 output = basf2.register_module(
'RootOutput')
52 output.param(
'outputFileName',
'ParticleGunMuonsKLM.root')
55 main = basf2.create_path()
58 main.add_module(eventinfosetter)
59 main.add_module(particlegun)
60 main.add_module(paramloader)
61 main.add_module(geobuilder)
62 main.add_module(g4sim)
64 main.add_module(klm_digitizer)
65 main.add_module(klm_packer)
66 main.add_module(klm_unpacker)
67 main.add_module(klm_reconstructor)
69 main.add_module(output)
73 print(basf2.statistics)
76 root_file = ROOT.TFile(
'ParticleGunMuonsKLM.root')
77 tree = root_file.Get(
'tree')
78 events = tree.GetEntriesFast()
79 print(
'Events: %d' % events)
80 for branch
in tree.GetListOfBranches():
81 name = branch.GetName()
82 if name.startswith(
'Raw'):
83 size = branch.GetTotBytes(
'*') * 1.0
84 zipsize = branch.GetZipBytes(
'*') * 1.0
85 print(
"%s %.2f (%.2f)" % (name, size / 1024. / events, zipsize / 1024. / events))