10 from ROOT.Belle2
import TOPDatabaseImporter
11 from ROOT
import TH1F, TFile
21 eventinfosetter = register_module(
'EventInfoSetter')
22 eventinfosetter.param(
'evtNumList', [1])
23 main.add_module(eventinfosetter)
26 gearbox = register_module(
'Gearbox')
27 main.add_module(gearbox)
30 main.add_module(
'TOPGeometryParInitializer', useDB=
False)
36 use_local_database(
"localDB/localDB.txt",
"localDB",
False)
39 dbImporter = TOPDatabaseImporter()
45 allFileNames = sorted(glob.glob(pathToFiles +
'/commonT0_r*.root'))
47 for fileName
in allFileNames:
48 file = TFile.Open(fileName)
49 h = file.Get(
'commonT0')
51 B2ERROR(
'no histogram with name commonT0')
54 tree = file.Get(
'tree')
56 B2ERROR(
'no TTree with name tree')
59 if tree.GetEntries() > 10:
60 fileNames.append(fileName)
63 numFiles = len(fileNames)
65 print(
'No files found')
70 bunchTimeSep = 47.163878 / 24
71 for i, fileName
in enumerate(fileNames):
72 runFirst = int((fileName.split(
'commonT0_r')[1]).split(
'.')[0])
75 if k < len(fileNames):
76 nextName = fileNames[k]
77 runLast = int((nextName.split(
'commonT0_r')[1]).split(
'.')[0]) - 1
78 if runLast < runFirst:
79 B2ERROR(
"first run:", runFirst,
"last run:", runLast)
80 B2ERROR(
"Last run is less than the first one: exiting!")
83 file = TFile.Open(fileName)
84 h = file.Get(
'commonT0')
85 t0 = h.GetBinContent(1)
86 t0 -= round(t0 / bunchTimeSep, 0) * bunchTimeSep
87 err = h.GetBinError(1)
88 dbImporter.importCommonT0(t0, err, expNo, runFirst, runLast)