Belle II Software  release-06-00-14
Run_study_phase1.py
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 
4 
11 import sys
12 import datetime
13 import basf2 as b2
14 
15 d = datetime.datetime.today()
16 print((d.strftime('job start: %Y-%m-%d %H:%M:%S\n')))
17 
18 # parse input
19 location = ""
20 
21 # input file path
22 inputs = str(sys.argv[1]) + "/" + str(sys.argv[2]) + "_" + str(sys.argv[3]) + "*.root"
23 print(inputs)
24 # output file path
25 outfile = str(sys.argv[4]) + "/" + str(sys.argv[2]) + "_" + str(sys.argv[3]) + ".root"
26 print(outfile)
27 
28 # Set the global log level
29 b2.set_log_level(b2.LogLevel.WARNING)
30 seed = str(sys.argv[5])
31 print('seed: ', seed)
32 b2.set_random_seed(int(seed))
33 
34 ethres = str(sys.argv[6])
35 print('thres: ', ethres)
36 erange = str(sys.argv[7])
37 print('range: ', erange)
38 sampletime = str(sys.argv[8])
39 print('sample time: ', sampletime)
40 
41 # Input
42 simpleinput = b2.register_module('RootInput')
43 simpleinput.param('inputFileNames', inputs)
44 
45 # Output
46 histo = b2.register_module("HistoManager") # Histogram Manager
47 histo.param('histoFileName', outfile)
48 
49 # suppress info messages during processing:
50 # set_log_level(LogLevel.WARNING)
51 
52 # Gearbox
53 gearbox = b2.register_module('Gearbox')
54 gearbox.param('fileName', '/geometry/Beast2_phase1.xml')
55 
56 detector = b2.register_module('QcsmonitorStudy')
57 detector.param('Ethres', float(ethres))
58 detector.param('Erange', float(erange))
59 detector.param('SampleTime', float(sampletime))
60 
61 # Show progress of processing
62 progress = b2.register_module('Progress')
63 
64 # Register necessary modules
65 main = b2.create_path()
66 main.add_module(simpleinput)
67 main.add_module(gearbox)
68 main.add_module(detector)
69 main.add_module(histo)
70 main.add_module(progress)
71 
72 b2.process(main)
73 
74 print('Event Statistics:')
75 print(b2.statistics)
76 
77 d = datetime.datetime.today()
78 print(d.strftime('job finish: %Y-%m-%d %H:%M:%S\n'))