Belle II Software  release-06-01-15
processor.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 
11 
12 import sys
13 
14 import basf2 as b2
15 
16 # command arguments
17 # argvs[1] = input ring buffer name
18 # argvs[2] = output ring buffer name
19 # argvs[3] = port number of hserver
20 # argvs[4] = number of cores for parallel processing
21 argvs = sys.argv
22 argc = len(argvs)
23 
24 # set_log_level(LogLevel.INFO)
25 b2.set_log_level(b2.LogLevel.ERROR)
26 
27 # to avoid undefined symbol
28 geom = b2.register_module("Geometry")
29 
30 # path create
31 main = b2.create_path()
32 
33 
34 # Rbuf2Ds as input module
35 rbuf2ds = b2.register_module("Rbuf2Ds")
36 rbuf2ds.param("RingBufferName", argvs[1])
37 main.add_module(rbuf2ds)
38 
39 # Raw2Ds as input module
40 # raw2ds = register_module("Raw2Ds")
41 # raw2ds.param("RingBufferName", argvs[1])
42 # main.add_module(raw2ds)
43 
44 # Histo Module
45 # histo = register_module('HistoManager')
46 # main.add_module (histo)
47 
48 histo = b2.register_module('DqmHistoManager')
49 # histo.param("Port", 9991)
50 histo.param("Port", 10391)
51 histo.param("DumpInterval", 10000)
52 main.add_module(histo)
53 
54 # Sampler module
55 sample = b2.register_module('Ds2Sample')
56 sample.param('RingBufferName', argvs[2])
57 main.add_module(sample)
58 
59 # Monitor module
60 # monitor = register_module('MonitorData')
61 # main.add_module(monitor)
62 
63 # PXD monitor
64 unpacker = b2.register_module('PXDUnpacker')
65 unpacker.param("IgnoreDATCON", True)
66 main.add_module(unpacker)
67 
68 PXDRawDQM = b2.register_module('PXDRawDQM')
69 main.add_module(PXDRawDQM)
70 
71 # Progress
72 progress = b2.register_module('Progress')
73 main.add_module(progress)
74 
75 # Debug modules
76 elapsed = b2.register_module('ElapsedTime')
77 elapsed.param('EventInterval', 10000)
78 main.add_module(elapsed)
79 
80 
81 # Process events
82 b2.set_nprocesses(int(argvs[4]))
83 b2.process(main)