25 from modularAnalysis
import inputMdst
26 from modularAnalysis
import fillParticleList
27 from modularAnalysis
import reconstructDecay
28 from modularAnalysis
import matchMCTruth
29 from vertex
import raveFit
30 from kinfit
import fitKinematic4C
31 from modularAnalysis
import variablesToNtuple
38 my_path = b2.create_path()
41 inputMdst(environmentType=
'default',
42 filename=b2.find_file(
'darkphotonmumu_mdst.root',
'examples',
False),
46 fillParticleList(
"gamma:sel",
'E > 0.1 and abs(formula(clusterTiming/clusterErrorTiming)) < 1.0', path=my_path)
47 fillParticleList(
"mu-:sel",
'electronID < 0.01 and chiProb > 0.001 and abs(dz) < 3 and dr < 0.1', path=my_path)
49 reconstructDecay(
"A:sel -> mu-:sel mu+:sel",
"", path=my_path)
50 reconstructDecay(
"A:selvertex -> mu-:sel mu+:sel",
"", path=my_path)
53 raveFit(
"A:selvertex", -1.0, constraint=
"iptube", daughtersUpdate=
True, path=my_path)
56 reconstructDecay(
"beam:sel -> A:sel gamma:sel",
"", path=my_path)
57 reconstructDecay(
"beam:selv -> A:selvertex gamma:sel",
"", path=my_path)
58 reconstructDecay(
"beam:selv4c -> A:selvertex gamma:sel",
"", path=my_path)
61 matchMCTruth(
'beam:sel', path=my_path)
62 matchMCTruth(
'beam:selv', path=my_path)
63 matchMCTruth(
'beam:selv4c', path=my_path)
66 fitKinematic4C(
"beam:selv4c", path=my_path)
69 muvars = vc.kinematics + vc.mc_truth + vc.mc_kinematics + vc.pid + vc.momentum_uncertainty
70 gammavars = vc.inv_mass + vc.kinematics + vc.mc_kinematics + vc.mc_truth + vc.momentum_uncertainty
71 avars = vc.inv_mass + vc.kinematics + vc.mc_kinematics + vc.mc_truth + vc.momentum_uncertainty
72 uvars = vc.inv_mass + vc.kinematics + vc.mc_kinematics + vc.mc_truth + \
73 vu.create_aliases_for_selected(muvars,
'beam -> [A -> ^mu+ ^mu-] gamma') + \
74 vu.create_aliases_for_selected(gammavars,
'beam -> A ^gamma') + \
75 vu.create_aliases_for_selected(avars,
'beam -> ^A gamma')
77 uvarsv = uvars + [
'chiProb']
79 uvars4c = uvars + vu.create_aliases([
'OrcaKinFitProb',
82 'OrcaKinFitErrorCode'],
'extraInfo(variable)',
"") + \
83 vu.create_aliases([
'VertexFitChi2',
84 'VertexFitProb'],
'daughter(1,extraInfo(variable))',
"A")
87 output_file =
'B2A424-OrcaKinFit_vertexfit_4Cfit.root'
89 filename=output_file, treename=
'beamselv4c', path=my_path)
91 filename=output_file, treename=
'beamselv', path=my_path)
93 filename=output_file, treename=
'beamsel', path=my_path)