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