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