Belle II Software  release-05-01-25
roitest.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 histo = register_module('DqmHistoManager')
41 histo.param("Port", 9991)
42 histo.param("DumpInterval", 10000)
43 main.add_module(histo)
44 
45 # Monitor module
46 monitor = register_module('MonitorData')
47 main.add_module(monitor)
48 
49 # RoI Related codes here
50 roiGen = register_module('ROIGenerator')
51 param_roiGen = {'ROIListName': 'ROIs',
52  'nROIs': 8, 'Layer': 1, 'Ladder': 1, 'Sensor': 1}
53 roiGen.param(param_roiGen)
54 
55 
56 roiPayloadAssembler = register_module('ROIPayloadAssembler')
57 param_roiPayloadAssembler = {'ROIListName': 'ROIs',
58  'ROIpayloadName': 'ROIpayload'}
59 roiPayloadAssembler.param(param_roiPayloadAssembler)
60 
61 roiReadTest = register_module('ROIReadTest')
62 param_roiReadTest = {'outfileName': 'ROIoutHLT.txt',
63  'ROIpayloadName': 'ROIpayload'}
64 roiReadTest.param(param_roiReadTest)
65 
66 main.add_module(roiGen)
67 main.add_module(roiPayloadAssembler)
68 # main.add_module(roiReadTest)
69 
70 
71 # Ds2Rbuf as output module
72 ds2rbuf = register_module("Ds2Rbuf")
73 ds2rbuf.param("RingBufferName", argvs[2])
74 main.add_module(ds2rbuf)
75 
76 # Progress
77 progress = register_module('Progress')
78 main.add_module(progress)
79 
80 # Debug modules
81 elapsed = register_module('ElapsedTime')
82 elapsed.param('EventInterval', 10000)
83 main.add_module(elapsed)
84 
85 # Process events
86 set_nprocesses(int(argvs[4]))
87 process(main)