14 from ROOT.Belle2
import TOPDatabaseImporter
15 from ROOT
import TH1F, TFile
23 print(
"usage: basf2", argvs[0],
"pathToRootFiles localDB")
25 pathToFiles = argvs[1]
30 expNo = int((pathToFiles.split(
'/e')[-1]).split(
'/')[0])
32 B2ERROR(
"Cannot determine experiment number from path name: " + pathToFiles)
36 allFileNames = sorted(glob.glob(pathToFiles +
'/moduleT0*.root'))
40 for fileName
in allFileNames:
41 file = TFile.Open(fileName)
42 h = file.Get(
'moduleT0')
44 B2WARNING(fileName +
': no histogram with name moduleT0, file skipped.')
49 runNum = int(fileName.split(
'_to_r')[-1].split(
'.root')[0])
50 runFirst.append(runNum + 1)
51 runLast.append(runNum)
52 fileNames.append(fileName)
55 ': cannot determine last run number from file name, file skipped.')
58 if len(fileNames) == 0:
59 B2ERROR(
'No selected files found in ' + pathToFiles)
69 eventinfosetter = register_module(
'EventInfoSetter')
70 eventinfosetter.param(
'evtNumList', [1])
71 main.add_module(eventinfosetter)
74 gearbox = register_module(
'Gearbox')
75 main.add_module(gearbox)
78 main.add_module(
'TOPGeometryParInitializer', useDB=
False)
84 use_local_database(localDB, readonly=
False)
87 dbImporter = TOPDatabaseImporter()
91 print(
'---- Importing constants for experiment ' + str(expNo) +
' ---->')
93 for i, fileName
in enumerate(fileNames):
94 dbImporter.importModuleT0(fileName, expNo, runFirst[i], runLast[i])
97 B2RESULT(
"Done. Constants imported to " + localDB)