8 import modularAnalysis
as ma
9 from vertex
import kFit
10 from ROOT
import Belle2
11 from ROOT
import TFile
12 from ROOT
import TNtuple
17 Verify results make sense.
19 ntuplefile = TFile(filename)
20 ntuple = ntuplefile.Get(
'ntuple')
22 if ntuple.GetEntries() == 0:
23 B2FATAL(
"No D0s saved")
25 if ntuple.GetEntries(
"significanceOfDistance < 0 && significanceOfDistance != -1") > 0:
26 B2FATAL(
"Some entries have negative significanceOfDistance?")
28 if ntuple.GetEntries(
"significanceOfDistance > 0") == 0:
29 B2FATAL(
"significanceOfDistance never positive?")
32 testFile = tempfile.NamedTemporaryFile()
34 main = basf2.create_path()
38 ma.fillParticleList(
'K-',
'', path=main)
39 ma.fillParticleList(
'pi+',
'', path=main)
41 ma.fillParticleList(
'gamma',
'', path=main)
42 ma.reconstructDecay(
'pi0 -> gamma gamma',
'0.11 < M < 0.15', 0, path=main)
43 ma.matchMCTruth(
'pi0', path=main)
46 kFit(
'pi0', 0.0, path=main)
48 ma.reconstructDecay(
'D0 -> K- pi+ pi0',
'', 0, path=main)
49 ma.matchMCTruth(
'D0', path=main)
51 kFit(
'D0', 0.0, decay_string=
'D0 -> ^K- ^pi+ pi0', path=main)
53 ntupler = basf2.register_module(
'VariablesToNtuple')
54 ntupler.param(
'fileName', testFile.name)
55 ntupler.param(
'variables', [
'M',
'isSignal',
'distance',
'dr',
'dz',
'significanceOfDistance',
'pValue'])
56 ntupler.param(
'particleList',
'D0')
57 main.add_module(ntupler)