20from modularAnalysis
import inputMdst
21from modularAnalysis
import fillParticleList
22from variables
import variables
23from modularAnalysis
import reconstructDecay
24from modularAnalysis
import applyEventCuts
25from modularAnalysis
import rankByHighest
26from modularAnalysis
import cutAndCopyList
27from modularAnalysis
import variablesToEventExtraInfo
30mypath = b2.create_path()
32inputMdst(
'/group/belle2/dataprod/MC/MC13a_local/mumu/mumu_eph3_2295.root', path=mypath)
35fillParticleList(
'mu-:highp',
'useCMSFrame(p) > 3.5 and abs(d0) < 0.5 and abs(z0) < 4 and nCDCHits>0 and nVXDHits>0', path=mypath)
36cutAndCopyList(
'mu-:highE',
'mu-:highp',
'clusterE>1.', path=mypath)
38variables.addAlias(
'nhighp',
'nParticlesInList(mu-:highp)')
39variables.addAlias(
'nhighE',
'nParticlesInList(mu-:highE)')
40applyEventCuts(
'[nhighE==0] and [nhighp==2]', mypath)
43variables.addAlias(
'deltaPhiCMS',
'formula(57.2957795*abs(daughterDiffOfPhiCMS(0, 1)))')
44variables.addAlias(
'sumThetaCMS',
'formula(57.2957795*(daughter(0, useCMSFrame(theta)) + daughter(1, useCMSFrame(theta))))')
45event_cut =
'175 < sumThetaCMS < 185 and deltaPhiCMS > 175 and 9 < M < 11'
46reconstructDecay(
'vpho:0 -> mu-:highp mu+:highp', event_cut, path=mypath)
49variables.addAlias(
'nPair',
'nParticlesInList(vpho:0)')
50applyEventCuts(
'nPair==1', mypath)
53cutAndCopyList(
'mu-:muonID',
'mu-:highp',
'', path=mypath)
54rankByHighest(
'mu-:muonID',
'muonID', path=mypath)
56cutAndCopyList(
'mu-:bestID',
'mu-:muonID',
'extraInfo(muonID_rank)==1', path=mypath)
57variablesToEventExtraInfo(particleList=
'mu-:bestID', variables={
'muonID':
'bestID'}, path=mypath)
58variables.addAlias(
'bestMuonID',
'eventExtraInfo(bestID)')
60cutAndCopyList(
'mu-:worstID',
'mu-:muonID',
'extraInfo(muonID_rank)==2', path=mypath)
61variablesToEventExtraInfo(particleList=
'mu-:worstID', variables={
'muonID':
'worstID'}, path=mypath)
62variables.addAlias(
'worstMuonID',
'eventExtraInfo(worstID)')
65variables.addAlias(
'muThetaLab',
'formula(57.2957795*theta)')
66variables.addAlias(
'muPhiLab',
'formula(57.2957795*phi)')
67variables.addAlias(
'muPcms',
'useCMSFrame(p)')
68variables.addAlias(
'muptLab',
'pt')
69variables.addAlias(
'e1Uncorr',
'formula(clusterHighestE * clusterUncorrE / clusterE)')
70variables.addAlias(
'clustThetaLab',
'formula(57.2957795*clusterTheta)')
71variables.addAlias(
'clustPhiLab',
'formula(57.2957795*clusterPhi)')
90outputName =
"muPairAlignment.root"
93 outputName = sys.argv[1]
94mypath.add_module(
'VariablesToNtuple', particleList=
'mu-:highp', variables=varsToStore, fileName=outputName)