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