21 from ROOT.Belle2
import TOPDatabaseImporter
22 from ROOT
import TFile
29 print(
"usage: basf2", argvs[0],
"pathToRootFiles localDB")
31 pathToFiles = argvs[1]
36 expNo = int((pathToFiles.split(
'/e')[-1]).split(
'/')[0])
38 b2.B2ERROR(
"Cannot determine experiment number from path name: " + pathToFiles)
42 allFileNames = sorted(glob.glob(pathToFiles +
'/moduleT0*.root'))
46 for fileName
in allFileNames:
47 file = TFile.Open(fileName)
48 h = file.Get(
'moduleT0')
50 b2.B2WARNING(fileName +
': no histogram with name moduleT0, file skipped.')
55 runNum = int(fileName.split(
'_to_r')[-1].split(
'.root')[0])
56 runFirst.append(runNum + 1)
57 runLast.append(runNum)
58 fileNames.append(fileName)
60 b2.B2WARNING(fileName +
61 ': cannot determine last run number from file name, file skipped.')
64 if len(fileNames) == 0:
65 b2.B2ERROR(
'No selected files found in ' + pathToFiles)
72 main = b2.create_path()
75 eventinfosetter = b2.register_module(
'EventInfoSetter')
76 eventinfosetter.param(
'evtNumList', [1])
77 main.add_module(eventinfosetter)
80 gearbox = b2.register_module(
'Gearbox')
81 main.add_module(gearbox)
84 main.add_module(
'TOPGeometryParInitializer', useDB=
False)
90 b2.use_local_database(localDB, readonly=
False)
93 dbImporter = TOPDatabaseImporter()
97 print(
'---- Importing constants for experiment ' + str(expNo) +
' ---->')
99 for i, fileName
in enumerate(fileNames):
100 dbImporter.importModuleT0(fileName, expNo, runFirst[i], runLast[i])
103 b2.B2RESULT(
"Done. Constants imported to " + localDB)