Belle II Software  release-05-01-25
RecvSendCOPPER.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 
19 
20 from basf2 import *
21 import sys
22 argvs = sys.argv
23 
24 if len(argvs) < 6:
25  print('Usage : RecvSendCOPPER.py <COPPER hostname> <COPPER node ID> ')
26  print('<bit flag of FINNESEs> <Use NSM(Network Shared Memory)? yes=1/no=0> <NSM nodename>')
27  sys.exit()
28 
29 # Set the log level to show only error and fatal messages
30 set_log_level(LogLevel.INFO)
31 
32 # Reader
33 # reader = register_module('HSLBReaderArray')
34 reader = register_module('DeSerializerCOPPER')
35 reader.param('NodeID', int(argvs[2])) # COPPER node ID (stored in RawHeader)
36 reader.param('FinesseBitFlag', int(argvs[3]))
37 use_shm_flag = int(argvs[4])
38 reader.param('UseShmFlag', use_shm_flag)
39 reader.param('NodeName', argvs[5])
40 reader.param('MaxTime', -1.)
41 reader.param('MaxEventNum', -1)
42 
43 # reader.param('DumpFileName', 'COPPERdump.dat' )
44 
45 # Monitor module
46 monitor = register_module('MonitorDataCOPPER')
47 
48 # File output
49 dump = register_module('RootOutput')
50 dump.param('outputFileName', 'root_output.root')
51 
52 # Sender
53 sender = register_module('Serializer')
54 sender.param('DestPort', 30000)
55 # sender.param('LocalHostName', 'cpr006')
56 sender.param('LocalHostName', argvs[1])
57 
58 # Create main path
59 main = create_path()
60 
61 # Add modules to main path
62 main.add_module(reader)
63 # if use_shm_flag != 0:
64 # main.add_module(monitor)
65 # main.add_module(dump)
66 main.add_module(sender)
67 
68 # Process all events
69 process(main)