10An example script showing how to reconstruct D* mesons inclusively from slow
15import modularAnalysis
as mA
19main_path = basf2.create_path()
22 filelist=[basf2.find_file(
"analysis/tests/mdst.root")],
26list_tree_tuples = list()
29mA.fillParticleListFromMC(
"pi+:from_mc", cut=
"[dr < 2] and [abs(dz) < 4]", addDaughters=
True, path=main_path)
30mA.addInclusiveDstarReconstruction(
31 "D*+:Dstcharged_slowPicharged_MC -> pi+:from_mc",
32 slowPionCut=
"[useCMSFrame(p) < 2]",
33 DstarCut=
"useCMSFrame(p) < 2",
36mA.fillParticleListFromMC(
"pi0:from_mc",
"", addDaughters=
True, path=main_path)
37mA.addInclusiveDstarReconstruction(
38 "D*+:Dstcharged_slowPizero_MC -> pi0:from_mc",
39 slowPionCut=
"[useCMSFrame(p) < 2]",
40 DstarCut=
"useCMSFrame(p) < 2",
42mA.addInclusiveDstarReconstruction(
43 "D*0:Dstzero_slowPizero_MC -> pi0:from_mc",
44 slowPionCut=
"[useCMSFrame(p) < 2]",
45 DstarCut=
"useCMSFrame(p) < 2",
47mA.matchMCTruth(
"D*+:Dstcharged_slowPizero_MC", path=main_path)
48mA.matchMCTruth(
"D*0:Dstzero_slowPizero_MC", path=main_path)
49mA.matchMCTruth(
"D*+:Dstcharged_slowPicharged_MC", path=main_path)
51list_tree_tuples.append((
"D*+:Dstcharged_slowPicharged_MC",
"Dstcharged_slowPicharged_MC"))
52list_tree_tuples.append((
"D*+:Dstcharged_slowPizero_MC",
"Dstcharged_slowPizero_MC"))
53list_tree_tuples.append((
"D*0:Dstzero_slowPizero_MC",
"Dstzero_slowPizero_MC"))
56mA.fillParticleList(
"pi+:slow", cut=
"[dr < 2] and [abs(dz) < 4]", path=main_path)
57mA.matchMCTruth(
"pi+:slow", path=main_path)
59mA.addInclusiveDstarReconstruction(
60 "D*+:Dstcharged_slowPicharged -> pi+:slow",
61 slowPionCut=
"[useCMSFrame(p) < 2]",
62 DstarCut=
"useCMSFrame(p) < 2",
64mA.matchMCTruth(
"D*+:Dstcharged_slowPicharged", path=main_path)
66mA.addInclusiveDstarReconstruction(
67 "D*-:Dstcharged_slowPicharged_negative -> pi-:slow",
68 slowPionCut=
"[useCMSFrame(p) < 2]",
69 DstarCut=
"useCMSFrame(p) < 2",
71mA.matchMCTruth(
"D*-:Dstcharged_slowPicharged_negative", path=main_path)
74mA.matchMCTruth(
"pi0:eff60_May2020", path=main_path)
76mA.addInclusiveDstarReconstruction(
77 "D*+:Dstcharged_slowPizero -> pi0:eff60_May2020",
78 slowPionCut=
"[useCMSFrame(p) < 2]",
79 DstarCut=
"useCMSFrame(p) < 2",
81mA.matchMCTruth(
"D*+:Dstcharged_slowPizero", path=main_path)
83mA.addInclusiveDstarReconstruction(
84 "D*0:Dstzero_slowPizero -> pi0:eff60_May2020",
85 slowPionCut=
"[useCMSFrame(p) < 2]",
86 DstarCut=
"useCMSFrame(p) < 2",
88mA.matchMCTruth(
"D*0:Dstzero_slowPizero", path=main_path)
90list_tree_tuples.append((
"D*+:Dstcharged_slowPicharged",
"Dstcharged_slowPicharged"))
91list_tree_tuples.append((
"D*-:Dstcharged_slowPicharged_negative",
"Dstcharged_slowPicharged_negative"))
92list_tree_tuples.append((
"D*+:Dstcharged_slowPizero",
"Dstcharged_slowPizero"))
93list_tree_tuples.append((
"D*0:Dstzero_slowPizero",
"Dstzero_slowPizero"))
107 "matchedMC(useCMSFrame(p))",
114 "daughter(0, isSignal)",
117 "daughter(0, useCMSFrame(p))",
118 "daughter(0, matchedMC(p))",
119 "daughter(0, matchedMC(E))",
120 "daughter(0, matchedMC(useCMSFrame(p)))",
121 "daughter(0, matchedMC(PDG))",
122 "daughter(0, daughter(0, matchedMC(PDG)))",
123 "daughter(0, daughter(1, matchedMC(PDG)))",
124 "daughter(0, mcMother(PDG))",
125 "daughter(0, mcMother(p))",
126 "daughter(0, mcMother(useCMSFrame(p)))",
127 "daughter(0, mcMother(E))",
128 "daughter(0, mcMother(mcDaughter(0, PDG)))",
129 "daughter(0, mcMother(mcDaughter(0, p)))",
130 "daughter(0, mcMother(mcDaughter(0, E)))",
131 "daughter(0, mcMother(mcDaughter(0, useCMSFrame(p))))",
132 "daughter(0, mcMother(mcDaughter(1, PDG)))",
133 "daughter(0, mcMother(mcDaughter(1, p)))",
134 "daughter(0, mcMother(mcDaughter(1, E)))",
135 "daughter(0, mcMother(mcDaughter(1, useCMSFrame(p))))",
136 "daughter(0, mcMother(mcMother(mcDaughter(0, PDG))))",
137 "daughter(0, mcMother(mcMother(mcDaughter(1, PDG))))",
140for list_tree_tuple
in list_tree_tuples:
141 mA.variablesToNtuple(
142 decayString=list_tree_tuple[0],
143 variables=dstar_variables,
144 treename=list_tree_tuple[1],
148basf2.process(main_path)
stdPi0s(listtype="eff60_May2020", path=None, beamBackgroundMVAWeight="", fakePhotonMVAWeight="", biasCorrectionTable="")