28 from modularAnalysis
import inputMdst
29 from modularAnalysis
import reconstructDecay
30 from modularAnalysis
import matchMCTruth
31 from vertex
import raveFit
32 from modularAnalysis
import variablesToExtraInfo
33 from stdCharged
import stdPi, stdK
34 from modularAnalysis
import variablesToNtuple
35 from variables
import variables
as vm
41 my_path = b2.create_path()
44 inputMdst(environmentType=
'default',
45 filename=b2.find_file(
'B02pi0D0_D2kpi_B2Dstarpi_Dstar2Dpi_D2kpi.root',
'examples',
False),
51 stdPi(
'all', path=my_path)
53 stdPi(
'loose', path=my_path)
55 stdK(
'loose', path=my_path)
59 reconstructDecay(
'D0:kpi -> K-:loose pi+:loose',
'1.8 < M < 1.9', path=my_path)
60 reconstructDecay(
'D0:kpi_mass -> K-:loose pi+:loose',
'1.8 < M < 1.9', path=my_path)
66 vm.addAlias(
"M_BeforeFit",
"extraInfo(M_before_vertex_fit)")
68 raveFit(
'D0:kpi', 0.0, path=my_path)
74 raveFit(
'D0:kpi_mass', 0.0, fit_type=
'massvertex', path=my_path)
79 reconstructDecay(
'D*+:1 -> D0:kpi pi+:all',
80 '0.0 <= Q < 0.02 and 2.5 < useCMSFrame(p) < 5.5', path=my_path)
81 reconstructDecay(
'D*+:2 -> D0:kpi_mass pi+:all',
82 '0.0 <= Q < 0.02 and 2.5 < useCMSFrame(p) < 5.5', path=my_path)
85 matchMCTruth(
'D*+:1', path=my_path)
86 matchMCTruth(
'D*+:2', path=my_path)
90 raveFit(
'D*+:1', 0.0, path=my_path)
94 raveFit(
'D*+:2', 0.0, constraint=
'ipprofile', path=my_path)
98 dstar_vars = vc.inv_mass + vc.mc_truth + \
99 vc.mc_flight_info + vc.flight_info
101 fs_hadron_vars = vu.create_aliases_for_selected(
102 vc.pid + vc.track + vc.mc_truth,
103 'D*+ -> [D0 -> ^K- ^pi+] ^pi+')
105 d0_vars = vu.create_aliases_for_selected(
106 vc.inv_mass + vc.mc_truth + [
"M_BeforeFit"],
107 'D*+ -> ^D0 pi+',
'D0')
111 output_file =
'B2A405-Rave-MassVertexFit.root'
113 filename=output_file, treename=
'dsttree1', path=my_path)
115 filename=output_file, treename=
'dsttree2', path=my_path)