Belle II Software  release-05-01-25
svdDQMEfficiency.py
1 # !/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 from basf2 import *
5 import sys
6 import rawdata as raw
7 import tracking as tr
8 
9 main = Path()
10 outputFile = sys.argv[1]
11 
12 
13 def remove_module(path, name):
14  new_path = create_path()
15  for m in path.modules():
16  if name != m.name():
17  new_path.add_module(m)
18  return new_path
19 
20 
21 reset_database()
22 use_database_chain()
23 use_central_database('data_reprocessing_prompt_bucket6')
24 
25 main.add_module('RootInput', branchNames=['RawSVDs', 'RawPXDs', 'RawCDCs'])
26 main.add_module('HistoManager', histoFileName=outputFile)
27 
28 main.add_module('Gearbox')
29 main.add_module('Geometry')
30 
31 # raw data unpacking
32 raw.add_unpackers(main, components=['PXD', 'SVD', 'CDC'])
33 for module in main.modules():
34  if module.name() == 'PXDPostErrorChecker':
35  module.param('CriticalErrorMask', 0)
36 
37 tr.add_tracking_reconstruction(main)
38 
39 main = remove_module(main, 'FullGridChi2TrackTimeExtractor')
40 
41 # from here to the end:
42 
43 # ROI finder
44 svdDataRed = register_module('SVDROIFinder')
45 param_svdDataRed = {
46  'recoTrackListName': 'RecoTracks',
47  'SVDInterceptListName': 'SVDIntercepts',
48 }
49 svdDataRed.param(param_svdDataRed)
50 # svdDataRed.logging.log_level = LogLevel.INFO
51 main.add_module(svdDataRed)
52 
53 dqm = register_module('SVDDQMEfficiency')
54 dqm.param("svdClustersName", "SVDClusters")
55 dqm.param("interceptsName", "SVDIntercepts")
56 dqm.param("histogramDirectoryName", "svdeff")
57 dqm.param("binsU", 4)
58 dqm.param("binsV", 6)
59 dqm.param("minSVDHits", 1)
60 dqm.param("minCDCHits", 20)
61 dqm.param("momCut", 0)
62 dqm.param("ptCut", 1)
63 dqm.param("maxHalfResidU", 0.05)
64 dqm.param("maxHalfResidV", 0.05)
65 # dqm.logging.log_level = LogLevel.ERROR
66 main.add_module(dqm)
67 
68 # Process the events
69 main.add_module('Progress')
70 print_path(main)
71 process(main)
72 
73 # print out the summary
74 print(statistics)