Belle II Software  release-06-02-00
trgcdctsstream.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 
11 
12 import basf2 as b2
13 import os
14 
15 # suppress messages and warnings during processing:
16 # set_log_level(LogLevel.ERROR)
17 # Register modules
18 particlegun = b2.register_module('ParticleGun')
19 # particlegun.param('randomSeed', 3452346)
20 # particlegun.param('randomSeed', 345)
21 particlegun.param('randomSeed', 346)
22 # The particle we are shooting
23 particlegun.param('pdgCodes', [11])
24 particlegun.param('nTracks', 1)
25 particlegun.param('momentumGeneration', 'uniformPt')
26 # particlegun.param('momentumGeneration', 'uniform')
27 particlegun.param('momentumParams', [1.0, 1.0])
28 particlegun.param('thetaGeneration', 'uniform')
29 # particlegun.param('thetaParams', [35, 127])
30 particlegun.param('thetaParams', [45, 45])
31 particlegun.param('phiGeneration', 'uniform')
32 particlegun.param('phiParams', [0, 360])
33 particlegun.param('vertexGeneration', 'fixed')
34 particlegun.param('vertexGeneration', 'normal')
35 particlegun.param('xVertexParams', [0, 0.0])
36 particlegun.param('yVertexParams', [0, 0.0])
37 particlegun.param('zVertexParams', [0, 0.0])
38 
39 # Register modules
40 eventinfosetter = b2.register_module('EventInfoSetter')
41 eventinfoprinter = b2.register_module('Progress')
42 # eventinfoprinter = fw.register_module("EventInfoPrinter")
43 paramloader = b2.register_module('Gearbox')
44 geobuilder = b2.register_module('Geometry')
45 # geobuilder.log_level = LogLevel.INFO
46 g4sim = b2.register_module('FullSim')
47 cdcdigitizer = b2.register_module('CDCDigitizer')
48 out = b2.register_module('SimpleOutput')
49 cdctrg = b2.register_module("TRGCDC")
50 tsstream = b2.register_module("TRGCDCTSStream")
51 # mcparticle = fw.register_module('PrintMCParticles')
52 
53 # ...EventInfoSetter...
54 eventinfosetter.param({'EvtNumList': [10], 'RunList': [1]})
55 
56 # ...CDC Trigger...
57 cdctrg.param('ConfigFile',
58  os.path.join(basf2datadir,
59  "trg/TRGCDCConfig_0_20101111_1051.dat"))
60 cdctrg.param('DebugLevel', 0)
61 cdctrg.param('CurlBackStop', 1)
62 cdctrg.param('HoughFinderPerfect', 1)
63 
64 # ...CDC Trigger TS Stream...
65 tsstream.param('DebugLevel', 2)
66 tsstream.param('Mode', 0)
67 tsstream.param('OutputStreamFile', "TRGCDCTSStream.dat")
68 
69 
70 # set mcprinter
71 mcparticleprinter = b2.register_module('PrintMCParticles')
72 mcparticleprinter.param('maxLevel', -1)
73 
74 # set geometry(geobuilder)
75 geobuilder.param('Components', ['MagneticField', 'CDC'
76  ])
77 
78 # set digitizer to no smearing
79 param_cdcdigi = {'Fraction': 1, 'Resolution1': 0.00, 'Resolution2': 0.0}
80 cdcdigitizer.param(param_cdcdigi)
81 
82 # Create paths
83 main = b2.create_path()
84 
85 # Add modules to paths
86 main.add_module(eventinfosetter)
87 main.add_module(eventinfoprinter)
88 main.add_module(paramloader)
89 main.add_module(geobuilder)
90 main.add_module(particlegun)
91 main.add_module(mcparticleprinter)
92 main.add_module(g4sim)
93 main.add_module(cdcdigitizer)
94 main.add_module(cdctrg)
95 main.add_module(tsstream)
96 # main.add_module(out)
97 
98 # Process events
99 b2.process(main)
100 
101 # Print call statistics
102 print(b2.statistics)