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