Belle II Software  release-05-01-25
svdDQMAnalysisExample.py
1 # !/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 # illustrative run:
5 # basf2 svdDQMAnalysisExample.py dqm_e0014r000921.root 1
6 
7 from basf2 import *
8 import sys
9 import re
10 from basf2 import conditions as b2conditions
11 
12 mypath = Path()
13 inputFile = sys.argv[1]
14 exp_nr = int(re.findall(r'\d+', inputFile)[0])
15 run_nr = int(re.findall(r'\d+', inputFile)[1])
16 nevt = int(sys.argv[2]) # number of events
17 
18 # setup database
19 b2conditions.reset()
20 b2conditions.override_globaltags()
21 b2conditions.globaltags = ['online']
22 
23 
24 inroot = register_module('DQMHistAnalysisInputRootFile')
25 inroot.param('FileList', inputFile)
26 inroot.param('SelectHistograms', ['SVD*/*'])
27 inroot.param('Experiment', exp_nr)
28 inroot.param('RunList', [run_nr])
29 inroot.param('EventsList', [nevt])
30 mypath.add_module(inroot)
31 
32 dqmSVD = register_module('DQMHistAnalysisSVDOnMiraBelle')
33 mypath.add_module(dqmSVD)
34 
35 mypath.add_module('Gearbox')
36 mypath.add_module('Geometry')
37 
38 dqmEff = register_module('DQMHistAnalysisSVDEfficiency')
39 dqmEff.set_log_level(LogLevel.INFO)
40 dqmEff.param("printCanvas", True)
41 mypath.add_module(dqmEff)
42 
43 dqmGen = register_module('DQMHistAnalysisSVDGeneral')
44 dqmGen.set_log_level(LogLevel.INFO)
45 dqmGen.param("printCanvas", True)
46 mypath.add_module(dqmGen)
47 
48 outroot = register_module('DQMHistAnalysisOutputMonObj')
49 outroot.param('ProcID', 'online') # set processing ID
50 outroot.param('exp', exp_nr)
51 outroot.param('run', run_nr)
52 outroot.param('nevt', nevt)
53 mypath.add_module(outroot)
54 
55 # Process the events
56 print_path(mypath)
57 process(mypath)
58 
59 # print out the summary
60 print(statistics)