Belle II Software  release-05-01-25
SVDCoGTimeCalibrationCheck.py
1 # !/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 
4 
14 
15 
16 from basf2 import *
17 from svd import *
18 import os
19 import math
20 from array import array
21 import basf2
22 import sys
23 from ROOT.Belle2 import SVDCoGCalibrationFunction
24 from ROOT.Belle2 import SVDCoGTimeCalibrations
25 from svd import *
26 from rawdata import *
27 from svd.CoGCalibration_utils_checkCalibration import SVDCoGTimeCalibrationCheckModule
28 from basf2 import conditions
29 import rawdata as raw
30 
31 import matplotlib.pyplot as plt
32 import simulation
33 
34 
35 def remove_module(path, name):
36  new_path = create_path()
37  for m in path.modules():
38  if name != m.name():
39  new_path.add_module(m)
40  return new_path
41 
42 localdb = sys.argv[1]
43 filename = sys.argv[2]
44 run = sys.argv[3]
45 exp = sys.argv[4]
46 branches = ['RawSVDs', 'SVDShaperDigitsFromTracks', 'EventT0']
47 
48 trk_outputFile = "TrackFilterControlNtuples_" + localdb + ".root"
49 nSVD = 6
50 nCDC = 1
51 pVal = 0.0 # 0001
52 
53 inputFileList = []
54 
55 if filename.rfind(".root") != -1:
56  inputFileList.append(filename)
57 else:
58  with open(filename, 'r') as f:
59  inputFileList = [line.strip() for line in f]
60 
61 conditions.override_globaltags()
62 conditions.globaltags = [
63  "svd_NOCoGCorrections",
64  "staging_data_reprocessing_proc11",
65  "data_reprocessing_proc11_baseline",
66  "online_proc11"]
67 
68 conditions.testing_payloads = [
69  str(localdb) + "/database.txt",
70 ]
71 
72 main = create_path()
73 
74 rootinput = register_module('RootInput')
75 rootinput.param('inputFileNames', inputFileList)
76 rootinput.param('branchNames', branches)
77 main.add_module(rootinput)
78 
79 main.add_module("Gearbox")
80 main.add_module("Geometry", useDB=True)
81 
82 # unpack raw data to get SVDEventInfo
83 add_unpackers(main, components=['SVD'])
84 
85 # re-reconstruct SVDShaperDigitsFromTracks using the localDB
86 add_svd_reconstruction(main)
87 
88 for moda in main.modules():
89  if moda.name() == 'SVDCoGTimeEstimator':
90  moda.param("ShaperDigits", 'SVDShaperDigitsFromTracks')
91  moda.param("RecoDigits", 'SVDRecoDigitsFromTracks')
92  if moda.name() == 'SVDSimpleClusterizer':
93  moda.param("Clusters", 'SVDClustersFromTracks')
94  moda.param("RecoDigits", 'SVDRecoDigitsFromTracks')
95  moda.param("timeAlgorithm", 0)
96  if moda.name() == 'SVDSpacePointCreator':
97  moda.param("SVDClusters", 'SVDClustersFromTracks')
98 
99 main = remove_module(main, 'SVDMissingAPVsClusterCreator')
100 
101 check = SVDCoGTimeCalibrationCheckModule()
102 check.set_localdb(localdb)
103 check.set_run_number(run)
104 check.set_exp_number(exp)
105 main.add_module(check)
106 
107 # Show progress of processing
108 progress = register_module('ProgressBar')
109 main.add_module(progress)
110 
111 print_path(main)
112 
113 # Process events
114 process(main)
115 
116 print(statistics)
svd.CoGCalibration_utils_checkCalibration
Definition: CoGCalibration_utils_checkCalibration.py:1