Belle II Software  release-05-01-25
RecvStream1.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) != 4:
15  print('Usage : RecvStream1.py <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('DeSerializerPC')
23 dump = register_module('SeqRootOutput')
24 converter = register_module('Convert2RawDet')
25 
26 # Receiver
27 receiver.param('NodeID', 3) # ROPC node ID (only used for Run control)
28 receiver.param('NumConn', 2)
29 receiver.param('HostNameFrom', ['localhost', 'localhost'])
30 receiver.param('PortFrom', [34008, 34009])
31 receiver.param('EventDataBufferWords', 4801)
32 receiver.param('MaxTime', -1.)
33 receiver.param('MaxEventNum', -1)
34 receiver.param('NodeName', argvs[3]) # node name for Run control
35 use_shm_flag = int(argvs[1])
36 receiver.param('UseShmFlag', use_shm_flag)
37 
38 # Dump
39 dump.param('outputFileName', 'root_output.sroot')
40 
41 # Sender
42 sender = register_module('Serializer')
43 sender.param('DestPort', 36000)
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(converter)
52 main.add_module(dump)
53 # main.add_module(sender)
54 
55 # Process all events
56 process(main)