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 # from simulation import register_simulation
9 # from reconstruction import register_reconstruction
10 
11 set_log_level(LogLevel.ERROR)
12 
13 argvs = sys.argv
14 argc = len(argvs)
15 
16 # print argvs[1]
17 # print argc
18 # argvs[1] = input ring buffer
19 # argvs[2] = input ring buffer
20 # argvs[3] = RoI queue name
21 
22 print("MQname = " + argvs[3])
23 
24 # detecor components to be reconstructed
25 components = [
26  'MagneticField',
27  'BeamPipe',
28  'PXD',
29  'SVD',
30  'CDC',
31  'TOP',
32  'ARICH',
33  'BKLM',
34  'ECL',
35 ]
36 
37 # Register modules to declare objects
38 # register_simulation(components)
39 # register_reconstruction(components)
40 
41 # Register RoI related modules for object decoding
42 # roiGen = register_module('ROIGenerator')
43 # roiPayloadAssembler = register_module('ROIPayloadAssembler')
44 
45 # to avoid undefined symbol
46 geom = register_module("Geometry")
47 
48 # create a main path
49 main = create_path()
50 
51 # Add input module
52 # input = register_module("SeqRootInput")
53 # input.param ( "inputFileName", "/fcdisk1-1/data/sim/sim-evtgen.sroot")
54 # main.add_module(input)
55 
56 # Add output module
57 # output= register_module("SeqRootOutput")
58 # output.param ( "outputFileName", "/dev/null" )
59 # main.add_module(output)
60 
61 # Add Rbuf2Ds
62 rbuf2ds = register_module("Rbuf2Ds")
63 # rbuf2ds = register_module("FastRbuf2Ds")
64 rbuf2ds.param("RingBufferName", argvs[1])
65 main.add_module(rbuf2ds)
66 
67 # RoI related codes here
68 # roiReadTest = register_module('ROIReadTest')
69 # param_roiReadTest = {'outfileName': 'ROIoutReceiver.txt',
70 # 'ROIpayloadName': 'ROIpayload'}
71 # roiReadTest.param(param_roiReadTest)
72 # main.add_module(roiReadTest)
73 
74 # RoI sender
75 roisender = register_module('ROISender')
76 roisender.param("MessageQueueName", argvs[3])
77 roisender.param("MessageQueueDepth", 20)
78 roisender.param("MessageSize", 16384)
79 roisender.param("ROIpayloadName", "ROIpayload")
80 main.add_module(roisender)
81 
82 # Add Progress
83 progress = register_module("Progress")
84 progress.param('maxN', 4)
85 main.add_module(progress)
86 
87 # Add Elapsed Time
88 etime = register_module("ElapsedTime")
89 etime.param("EventInterval", 20000)
90 main.add_module(etime)
91 
92 # Add Ds2Raw
93 ds2raw = register_module("Ds2Raw")
94 ds2raw.param("RingBufferName", argvs[2])
95 main.add_module(ds2raw)
96 
97 
98 # Run
99 process(main)