5 An example script showing how to reconstruct D* mesons inclusively from slow
10 import modularAnalysis
as mA
13 from ROOT
import Belle2
16 main_path = basf2.create_path()
19 environmentType=
"default",
24 list_tree_tuples = list()
27 mA.fillParticleListFromMC(
"pi-:from_mc", cut=
"[dr < 2] and [abs(dz) < 4]", addDaughters=
True, path=main_path)
28 mA.addInclusiveDstarReconstruction(
"pi-:from_mc",
"D*-:Dstcharged_slowPicharged_MC",
"[useCMSFrame(p) < 0.2]", main_path)
30 mA.fillParticleListFromMC(
"pi0:from_mc",
"", addDaughters=
True, path=main_path)
31 mA.addInclusiveDstarReconstruction(
"pi0:from_mc",
"D*-:Dstcharged_slowPizero_MC",
"[useCMSFrame(p) < 0.2]", main_path)
32 mA.addInclusiveDstarReconstruction(
"pi0:from_mc",
"D*0:Dstzero_slowPizero_MC",
"[useCMSFrame(p) < 0.2]", main_path)
34 list_tree_tuples.append((
"D*-:Dstcharged_slowPicharged_MC",
"Dstcharged_slowPicharged_MC"))
35 list_tree_tuples.append((
"D*-:Dstcharged_slowPizero_MC",
"Dstcharged_slowPizero_MC"))
36 list_tree_tuples.append((
"D*0:Dstzero_slowPizero_MC",
"Dstzero_slowPizero_MC"))
39 mA.fillParticleList(
"pi-:slow", cut=
"[dr < 2] and [abs(dz) < 4]", path=main_path)
40 mA.matchMCTruth(
"pi-:slow", path=main_path)
41 mA.addInclusiveDstarReconstruction(
"pi-:slow",
"D*-:Dstcharged_slowPicharged",
"[useCMSFrame(p) < 0.2]", main_path)
42 mA.matchMCTruth(
"D*-:Dstcharged_slowPicharged", main_path)
45 mA.matchMCTruth(
"pi0:eff60_Jan2020", main_path)
46 mA.addInclusiveDstarReconstruction(
"pi0:eff60_Jan2020",
"D*-:Dstcharged_slowPizero",
"[useCMSFrame(p) < 0.2]", main_path)
47 mA.matchMCTruth(
"D*-:Dstcharged_slowPizero", main_path)
48 mA.addInclusiveDstarReconstruction(
"pi0:eff60_Jan2020",
"D*0:Dstzero_slowPizero",
"[useCMSFrame(p) < 0.2]", main_path)
49 mA.matchMCTruth(
"D*0:Dstzero_slowPizero", main_path)
51 list_tree_tuples.append((
"D*-:Dstcharged_slowPicharged",
"Dstcharged_slowPicharged"))
52 list_tree_tuples.append((
"D*-:Dstcharged_slowPizero",
"Dstcharged_slowPizero"))
53 list_tree_tuples.append((
"D*0:Dstzero_slowPizero",
"Dstzero_slowPizero"))
64 "matchedMC(useCMSFrame(p))",
71 "daughter(0, isSignal)",
74 "daughter(0, useCMSFrame(p))",
75 "daughter(0, matchedMC(p))",
76 "daughter(0, matchedMC(E))",
77 "daughter(0, matchedMC(useCMSFrame(p)))",
78 "daughter(0, matchedMC(PDG))",
79 "daughter(0, daughter(0, matchedMC(PDG)))",
80 "daughter(0, daughter(1, matchedMC(PDG)))",
81 "daughter(0, mcMother(PDG))",
82 "daughter(0, mcMother(p))",
83 "daughter(0, mcMother(useCMSFrame(p)))",
84 "daughter(0, mcMother(E))",
85 "daughter(0, mcMother(mcDaughter(0, PDG)))",
86 "daughter(0, mcMother(mcDaughter(0, p)))",
87 "daughter(0, mcMother(mcDaughter(0, E)))",
88 "daughter(0, mcMother(mcDaughter(0, useCMSFrame(p))))",
89 "daughter(0, mcMother(mcDaughter(1, PDG)))",
90 "daughter(0, mcMother(mcDaughter(1, p)))",
91 "daughter(0, mcMother(mcDaughter(1, E)))",
92 "daughter(0, mcMother(mcDaughter(1, useCMSFrame(p))))",
93 "daughter(0, mcMother(mcMother(mcDaughter(0, PDG))))",
94 "daughter(0, mcMother(mcMother(mcDaughter(1, PDG))))",
97 for list_tree_tuple
in list_tree_tuples:
99 decayString=list_tree_tuple[0],
100 variables=dstar_variables,
101 treename=list_tree_tuple[1],
106 print(basf2.statistics)