Belle II Software  release-05-01-25
DQM_IP.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 import basf2 as b2
5 import sys
6 argv = sys.argv
7 
8 
9 # Set the log level to show only error and fatal messages
10 # set_log_level(LogLevel.ERROR)
11 b2.set_log_level(b2.LogLevel.INFO)
12 # set_log_level(LogLevel.DEBUG)
13 # set_debug_level(1000)
14 
15 # Create main path
16 main = b2.create_path()
17 
18 # Modules
19 inroot = b2.register_module('DQMHistAnalysisInputRootFile')
20 inroot.param('InputRootFile', sys.argv[1])
21 main.add_module(inroot)
22 
23 # input = register_module('DQMHistAnalysisInput')
24 # input.param('HistMemoryPath', argv[1])
25 # input.param('AutoCanvas', False)
26 # input.param('AutoCanvasFolders', [])
27 # main.add_module(input)
28 
29 ip_x = b2.register_module('DQMHistAnalysisIP')
30 ip_x.param("HistoName", "IPMonitoring/Y4S_Vertex.X")
31 ip_x.param('PVName', 'DQM:Beam:IP:X:')
32 main.add_module(ip_x)
33 
34 ip_y = b2.register_module('DQMHistAnalysisIP')
35 ip_y.param("HistoName", "IPMonitoring/Y4S_Vertex.Y")
36 ip_y.param('PVName', 'DQM:Beam:IP:Y:')
37 main.add_module(ip_y)
38 
39 ip_z = b2.register_module('DQMHistAnalysisIP')
40 ip_z.param("HistoName", "IPMonitoring/Y4S_Vertex.Z")
41 ip_z.param('PVName', 'DQM:Beam:IP:Z:')
42 main.add_module(ip_z)
43 
44 
45 epicsarray = b2.register_module('DQMHistOutputToEPICS')
46 epicsarray.param('HistoList', [
47  ['IPMonitoring/Y4S_Vertex.X', 'DQM:Beam:IP:X:Proj', 'DQM:Beam:IP:X:Proj:Last'],
48  ['IPMonitoring/Y4S_Vertex.Y', 'DQM:Beam:IP:Y:Proj', 'DQM:Beam:IP:Y:Proj:Last'],
49  ['IPMonitoring/Y4S_Vertex.Z', 'DQM:Beam:IP:Z:Proj', 'DQM:Beam:IP:Z:Proj:Last'],
50 ])
51 
52 main.add_module(epicsarray)
53 
54 # outroot = register_module('DQMHistAnalysisOutputFile')
55 # outroot.param('SaveHistos', False) # don't save histograms
56 # outroot.param('SaveCanvases', True) # save canvases
57 # main.add_module(outroot)
58 
59 output = b2.register_module('DQMHistAnalysisOutputRelayMsg')
60 # check that port fit your root canvas server
61 output.param('Port', int(argv[2]))
62 main.add_module(output)
63 
64 
65 b2.print_path(main)
66 # Process all events
67 b2.process(main)