12Test import for Offline root file
13with histogram name include subdir prefix
17from ROOT
import TFile, TH1F, gROOT
21filein =
"histin1.root"
22fileout =
'histout1.root'
24f = TFile(filein,
"RECREATE")
26h_expno = TH1F(
"DQMInfo/expno",
"1", 1, 0, 1)
27h_runno = TH1F(
"DQMInfo/runno",
"1", 1, 0, 1)
28h_rtype = TH1F(
"DQMInfo/rtype",
"null", 1, 0, 1)
29h_test = TH1F(
"TEST/test",
"", 1, 0, 1)
30h_nevent = TH1F(
"DAQ/Nevent",
"", 1, 0, 1)
37main = b2.create_path()
39dqminput = b2.register_module(
'DQMHistAnalysisInputRootFile')
40dqminput.param(
'SelectHistograms', [])
41dqminput.param(
'FileList', [filein])
42dqminput.param(
'EventInterval', 0)
43dqminput.param(
"EnableRunInfo",
True)
44main.add_module(dqminput)
46main.add_module(
"DQMHistAutoCanvas")
48dqmoutput = b2.register_module(
'DQMHistAnalysisOutputFile')
49dqmoutput.param(
'OutputFolder',
'./')
50dqmoutput.param(
'Filename', fileout)
51main.add_module(dqmoutput)
56expected = [
"DQMInfo/c_info",
"DAQ/c_Nevent",
"DQMInfo/c_expno",
"DQMInfo/c_runno",
"DQMInfo/c_rtype",
"TEST/c_test"]
57print(
"== resulting file content ==")
58f = TFile(fileout,
"READ")
59for k
in f.GetListOfKeys():
61 print(o.ClassName(), k)
62 if o.GetName() ==
"DQMInfo/c_info":
63 if "Exp 1, Run 1, RunType null" not in o.GetTitle():
64 b2.B2ERROR(f
"Run Info not found in {o.GetName()}: {o.GetTitle()}")
65 if o.GetName()
in expected:
66 expected.remove(o.GetName())
67print(
"============================")
69 b2.B2ERROR(
"missing items in outfile: ", expected)