12Test import for Offline root file
13with histogram name include subdir prefix
14Test exp/run/type overide of existing histograms
18from ROOT
import TFile, TH1F, gROOT
22filein =
"histin5.root"
23fileout =
'histout5.root'
25f = TFile(filein,
"RECREATE")
27h_expno = TH1F(
"DQMInfo/expno",
"1", 1, 0, 1)
28h_runno = TH1F(
"DQMInfo/runno",
"1", 1, 0, 1)
29h_rtype = TH1F(
"DQMInfo/rtype",
"null", 1, 0, 1)
30h_test = TH1F(
"TEST/test",
"", 1, 0, 1)
31h_nevent = TH1F(
"DAQ/Nevent",
"", 1, 0, 1)
38main = b2.create_path()
40dqminput = b2.register_module(
'DQMHistAnalysisInputRootFile')
41dqminput.param(
'FileList', [filein])
42dqminput.param(
'Experiment', 2)
43dqminput.param(
'RunType',
'beam')
44dqminput.param(
'RunList', [2])
45dqminput.param(
'FillNEvent', 11)
46dqminput.param(
'EventInterval', 0)
47dqminput.param(
"EnableRunInfo",
True)
48main.add_module(dqminput)
50main.add_module(
"DQMHistAutoCanvas")
52dqmoutput = b2.register_module(
'DQMHistAnalysisOutputFile')
53dqmoutput.param(
'OutputFolder',
'./')
54dqmoutput.param(
'Filename', fileout)
55main.add_module(dqmoutput)
60expected = [
"DQMInfo/c_info",
"DAQ/c_Nevent",
"DQMInfo/c_expno",
"DQMInfo/c_runno",
"DQMInfo/c_rtype",
"TEST/c_test"]
61print(
"== resulting file content ==")
62f = TFile(fileout,
"READ")
63for k
in f.GetListOfKeys():
65 print(o.ClassName(), k)
66 if o.GetName() ==
"DQMInfo/c_info":
67 if "Exp 2, Run 2, RunType beam" not in o.GetTitle():
68 b2.B2ERROR(f
"Run Info not found in {o.GetName()}: {o.GetTitle()}")
69 if o.GetName()
in expected:
70 expected.remove(o.GetName())
71print(
"============================")
73 b2.B2ERROR(
"missing items in outfile: ", expected)