14 import modularAnalysis
as ma
15 from stdCharged
import stdMu
16 from stdKlongs
import stdKlongs
19 from variables
import variables
20 from vertex
import TagV
23 main = basf2.create_path()
25 ma.inputMdstList(
'default', [basf2.find_file(
'B02JpsiKL_Jpsi2mumu.root',
'examples',
False)], path=main)
28 main.add_module(
'ProgressBar')
30 stdMu(
'loose', path=main)
33 ma.reconstructDecay(
'J/psi:mumu -> mu-:loose mu+:loose', cut=
'3.08 < M < 3.12 and 1.45 < useCMSFrame(p) < 1.95', path=main)
35 pcalc = basf2.register_module(
'KlongMomentumCalculatorExpert')
36 pcalc.set_name(
'KlongMomentumCalculatorExpert_' +
'B0 -> J/psi:mumu K_L0:allklm')
37 pcalc.param(
'decayString',
'B0 -> J/psi:mumu K_L0:allklm')
38 pcalc.param(
'cut',
'')
39 pcalc.param(
'decayMode', 0)
40 pcalc.param(
'writeOut',
False)
41 pcalc.param(
'recoList',
"_reco")
42 main.add_module(pcalc)
44 rmake = basf2.register_module(
'KlongDecayReconstructorExpert')
45 rmake.set_name(
'KlongDecayReconstructorExpert_' +
'B0 -> J/psi:mumu K_L0:allklm')
46 rmake.param(
'decayString',
'B0 -> J/psi:mumu K_L0:allklm')
47 rmake.param(
'cut',
'M > 0')
48 rmake.param(
'decayMode', 0)
49 rmake.param(
'writeOut',
False)
50 rmake.param(
'recoList',
"_reco")
51 main.add_module(rmake)
53 ma.buildRestOfEvent(
'B0', path=main)
54 ma.matchMCTruth(
'B0', path=main)
56 TagV(
'B0', constraintType=
'tube', confidenceLevel=0.0001, path=main)
58 commonVariables = vc.inv_mass + vc.mc_truth
59 commonVariables += vc.kinematics + vc.mc_kinematics
60 commonVariables += vc.vertex + vc.mc_vertex
62 variableList = [var
for var
in commonVariables]
63 variableList += vc.deltae_mbc + vc.tag_vertex + vc.mc_tag_vertex + vc.reco_stats
64 variableList += vu.create_aliases(commonVariables,
'daughter(0, {variable})',
'Jpsi')
65 variableList += vu.create_aliases(commonVariables,
'daughter(1, {variable})',
'KL0')
66 variableList += vu.create_aliases(vc.kinematics,
'useCMSFrame({variable})',
'CMS')
67 variableList += vu.create_aliases(vc.kinematics,
'daughter(0, useCMSFrame({variable}))',
'Jpsi_CMS')
68 variableList += vu.create_aliases(vc.kinematics,
'daughter(1, useCMSFrame({variable}))',
'KL0_CMS')
69 variables.addAlias(
'dmID',
'extraInfo(decayModeID)')
70 variableList += [
'dmID']
72 ma.variablesToNtuple(
'B0', variables=variableList, filename=
"Reconstruct_jpsi_kl_example.root", treename=
'tree', path=main)
78 print(basf2.statistics)