Belle II Software  release-05-01-25
RecvStream0.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 
10 
11 from basf2 import *
12 import sys
13 argvs = sys.argv
14 if len(argvs) != 5:
15  print('Usage : RecvStream0.py <COPPER hostname> <Use NSM(Network Shared Memory)? yes=1/no=0> <port # of eb0> <NSM nodename>')
16  sys.exit()
17 
18 # Set the log level to show only error and fatal messages
19 set_log_level(LogLevel.INFO)
20 
21 # Modules
22 receiver = register_module('DeSerializerPrePC')
23 dump = register_module('RootOutput')
24 output = register_module('PrintData')
25 
26 # Receiver
27 receiver.param('NodeID', 3) # ROPC node ID (only used for Run control)
28 receiver.param('NumConn', 1)
29 receiver.param('HostNameFrom', [argvs[1], 'aiueohost'])
30 receiver.param('PortFrom', [30000, 30000])
31 receiver.param('EventDataBufferWords', 4801)
32 receiver.param('MaxTime', -1.)
33 receiver.param('MaxEventNum', -1)
34 receiver.param('NodeName', argvs[4]) # node name for Run control
35 use_shm_flag = int(argvs[2])
36 receiver.param('UseShmFlag', use_shm_flag)
37 
38 # Dump
39 dump.param('outputFileName', 'root_output.root')
40 
41 # Sender
42 sender = register_module('Serializer')
43 sender.param('DestPort', int(argvs[3]))
44 sender.param('LocalHostName', 'localhost')
45 
46 # Create main path
47 main = create_path()
48 
49 # Add modules to main path
50 main.add_module(receiver)
51 # main.add_module(dump)
52 main.add_module(sender)
53 
54 # Process all events
55 process(main)