Belle II Software development
roitest.py
1#!/usr/bin/env python3
2
3
10
11import sys
12
13import basf2 as b2
14
15# command arguments
16# argvs[1] = input ring buffer name
17# argvs[2] = output ring buffer name
18# argvs[3] = port number of hserver
19# argvs[4] = number of cores for parallel processing
20argvs = sys.argv
21argc = len(argvs)
22
23# set_log_level(LogLevel.INFO)
24b2.set_log_level(b2.LogLevel.ERROR)
25
26# to avoid undefined symbol
27geom = b2.register_module("Geometry")
28
29# path create
30main = b2.create_path()
31
32
33# Rbuf2Ds as input module
34# rbuf2ds = register_module("Rbuf2Ds")
35# rbuf2ds.param("RingBufferName", argvs[1])
36# main.add_module(rbuf2ds)
37
38# Raw2Ds as input module
39raw2ds = b2.register_module("Raw2Ds")
40raw2ds.param("RingBufferName", argvs[1])
41main.add_module(raw2ds)
42
43# Histo Module
44# histo = register_module('HistoManager')
45# main.add_module (histo)
46histo = b2.register_module('DqmHistoManager')
47histo.param("Port", 9991)
48histo.param("DumpInterval", 10000)
49main.add_module(histo)
50
51# Monitor module
52monitor = b2.register_module('MonitorData')
53main.add_module(monitor)
54
55# RoI Related codes here
56roiGen = b2.register_module('ROIGenerator')
57param_roiGen = {'ROIListName': 'ROIs',
58 'nROIs': 8, 'Layer': 1, 'Ladder': 1, 'Sensor': 1}
59roiGen.param(param_roiGen)
60
61
62roiPayloadAssembler = b2.register_module('ROIPayloadAssembler')
63param_roiPayloadAssembler = {'ROIListName': 'ROIs',
64 'ROIpayloadName': 'ROIpayload'}
65roiPayloadAssembler.param(param_roiPayloadAssembler)
66
67roiReadTest = b2.register_module('ROIReadTest')
68param_roiReadTest = {'outfileName': 'ROIoutHLT.txt',
69 'ROIpayloadName': 'ROIpayload'}
70roiReadTest.param(param_roiReadTest)
71
72main.add_module(roiGen)
73main.add_module(roiPayloadAssembler)
74# main.add_module(roiReadTest)
75
76
77# Ds2Rbuf as output module
78ds2rbuf = b2.register_module("Ds2Rbuf")
79ds2rbuf.param("RingBufferName", argvs[2])
80main.add_module(ds2rbuf)
81
82# Progress
83progress = b2.register_module('Progress')
84main.add_module(progress)
85
86# Debug modules
87elapsed = b2.register_module('ElapsedTime')
88elapsed.param('EventInterval', 10000)
89main.add_module(elapsed)
90
91# Process events
92b2.set_nprocesses(int(argvs[4]))
93b2.process(main)