Belle II Software  release-06-01-15
TRGValidationGen.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 
11 
12 """
13 <header>
14 <output>TRGValidationGen.root</output>
15 <contact>Yun-Tsung Lai, ytlai@post.kek.jp</contact>
16 <description>This steering file generates 1000 e+/e- mu+/mu- particle guns to validate the trg package.</description>
17 </header>
18 """
19 
20 import basf2 as b2
21 from simulation import add_simulation
22 from L1trigger import add_trigger_simulation
23 
24 
25 main = b2.create_path()
26 eventinfosetter = b2.register_module('EventInfoSetter')
27 eventinfosetter.param({'evtNumList': [1000], 'runList': [1]})
28 main.add_module(eventinfosetter)
29 
30 particlegun = b2.register_module('ParticleGun')
31 particlegun.param('pdgCodes', [11, -11, 13, -13])
32 particlegun.param('nTracks', 1)
33 particlegun.param('momentumGeneration', 'uniformPt')
34 particlegun.param('momentumParams', [0.2, 5.0])
35 particlegun.param('thetaParams', [35, 127])
36 particlegun.param('phiGeneration', 'uniform')
37 particlegun.param('phiParams', [0, 360])
38 particlegun.param('vertexGeneration', 'uniform')
39 particlegun.param('xVertexParams', [0, 0])
40 particlegun.param('yVertexParams', [0, 0])
41 particlegun.param('zVertexParams', [-20.0, 20.0])
42 main.add_module(particlegun)
43 
44 
45 # trigger simulation is included in latest basf2
46 add_simulation(main)
47 
48 # output
49 rootoutput = b2.register_module('RootOutput')
50 rootoutput.param('outputFileName', "../TRGValidationGen.root")
51 main.add_module(
52  rootoutput,
53  branchNames=[
54  "TRGKLMHits",
55  "TRGKLMTracks",
56  "KLMTrgSummary",
57  "TRGCDC2DFinderTracks",
58  "TRGCDC3DFitterTracks",
59  "TRGCDCNeuroTracks",
60  "TRGECLClusters",
61  "TRGSummary",
62  "MCParticles"])
63 
64 # main
65 b2.process(main)
66 print(b2.statistics)
67 # ===<END>