8 from ROOT
import Belle2
11 path = basf2.create_path()
12 path.add_module(
'RootInput', inputFileName=inputFile)
13 path.add_module(
'ParticleLoader', decayStringsWithCuts=[(
'e+',
'')])
16 path.add_module(
'VariablesToHistogram',
18 variables=[(
'electronID', 100, 0, 1), (
'isSignal', 2, -0.5, 1.5)],
19 variables_2d=[(
'mcErrors', 513, -0.5, 512.5,
'isSignal', 2, -0.5, 1.5)],
20 fileName=
'particleListNtuple.root')
23 path.add_module(
'VariablesToHistogram',
25 variables=[(
'nTracks', 31, -0.5, 30.5), (
'nKLMClusters', 51, -0.5, 50.5)],
26 variables_2d=[(
'nTracks', 31, -0.5, 30.5,
'nKLMClusters', 51, -0.5, 50.5)],
27 fileName=
'eventNtuple.root')
34 assert os.path.isfile(
'particleListNtuple.root'),
"particleListNtuple.root wasn't created"
35 f = ROOT.TFile(
'particleListNtuple.root')
36 t = f.Get(
'electronID')
37 assert bool(t),
"electronID histogram isn't contained in file"
38 assert t.GetBinContent(1) > t.GetBinContent(
39 100),
'Expected fewer candidates with a highest electronID compared to lowest electronID'
41 assert bool(t),
"isSignal histogram isn't contained in file"
42 assert t.GetBinContent(1) > t.GetBinContent(2),
'Expected more background than signal'
43 signal_1d = t.GetBinContent(2)
44 t = f.Get(
'mcErrorsisSignal')
45 assert bool(t),
"mcErrorsisSignal histogram isn't contained in file"
50 assert t.GetBinContent(i, 2) == 0,
'Expected no entries for mcError >= 4 and true electron candidates'
52 assert t.GetBinContent(i, 1) == 0,
'Expected no entries for mcError < 4 and false electron candidates'
53 signal_2d.append(t.GetBinContent(i, 2))
54 assert signal_1d == sum(signal_2d),\
55 'Expected same amount of signal in 1D and 2D histograms got {} {}'.format(signal_1d, sum(signal_2d))
57 assert os.path.isfile(
'eventNtuple.root'),
"eventNtuple.root wasn't created"
58 f = ROOT.TFile(
'eventNtuple.root')
60 assert bool(t),
"nTracks histogram isn't contained in file"
61 assert t.GetBinContent(13) > t.GetBinContent(1),
'Expected more 12 track events than 1 track events'
62 assert t.GetBinContent(13) > t.GetBinContent(2),
'Expected more 12 track events than 2 track events'
63 assert t.GetBinContent(13) > t.GetBinContent(3),
'Expected more 12 track events than 3 track events'
64 assert t.GetBinContent(13) > t.GetBinContent(4),
'Expected more 12 track events than 4 track events'
65 assert t.GetBinContent(13) > t.GetBinContent(26),
'Expected more 12 track events than 26 track events'
66 assert t.GetBinContent(13) > t.GetBinContent(27),
'Expected more 12 track events than 27 track events'
67 assert t.GetBinContent(13) > t.GetBinContent(28),
'Expected more 12 track events than 28 track events'
68 assert t.GetBinContent(13) > t.GetBinContent(29),
'Expected more 12 track events than 29 track events'
69 ntracks_12_1d = t.GetBinContent(13)
71 t = f.Get(
'nKLMClusters')
72 assert bool(t),
"nKLMClusters histogram isn't contained in file"
74 t = f.Get(
'nTracksnKLMClusters')
75 assert bool(t),
"nTracksnKLMClusters 2d histogram isn't contained in file"
78 ntracks_12_2d.append(t.GetBinContent(13, i))
79 assert ntracks_12_1d == sum(ntracks_12_2d),\
80 'Expected same amount of events with 12 tracks in 1D and 2D histograms got {} {}'.format(ntracks_12_1d, sum(ntracks_12_2d))