15 from modularAnalysis
import inputMdst
16 from modularAnalysis
import fillParticleList
17 from variables
import variables
18 from modularAnalysis
import reconstructDecay
19 from modularAnalysis
import applyEventCuts
20 from modularAnalysis
import variablesToHistogram
21 from modularAnalysis
import rankByHighest
22 from modularAnalysis
import rankByLowest
23 from modularAnalysis
import cutAndCopyList
24 from modularAnalysis
import variablesToEventExtraInfo
27 mypath = b2.create_path()
29 inputMdst(
'default',
'/group/belle2/dataprod/MC/MC13a_local/mumu/mumu_eph3_2295.root', path=mypath)
32 fillParticleList(
'mu-:highp',
'useCMSFrame(p) > 3.5 and abs(d0) < 0.5 and abs(z0) < 4 and nCDCHits>0 and nVXDHits>0', path=mypath)
33 cutAndCopyList(
'mu-:highE',
'mu-:highp',
'clusterE>1.', path=mypath)
35 variables.addAlias(
'nhighp',
'nParticlesInList(mu-:highp)')
36 variables.addAlias(
'nhighE',
'nParticlesInList(mu-:highE)')
37 applyEventCuts(
'[nhighE==0] and [nhighp==2]', mypath)
40 variables.addAlias(
'deltaPhiCMS',
'formula(57.2957795*abs(daughterDiffOfPhiCMS(0, 1)))')
41 variables.addAlias(
'sumThetaCMS',
'formula(57.2957795*(daughter(0, useCMSFrame(theta)) + daughter(1, useCMSFrame(theta))))')
42 event_cut =
'175 < sumThetaCMS < 185 and deltaPhiCMS > 175 and 9 < M < 11'
43 reconstructDecay(
'vpho:0 -> mu-:highp mu+:highp', event_cut, path=mypath)
46 variables.addAlias(
'nPair',
'nParticlesInList(vpho:0)')
47 applyEventCuts(
'nPair==1', mypath)
50 cutAndCopyList(
'mu-:muonID',
'mu-:highp',
'', path=mypath)
51 rankByHighest(
'mu-:muonID',
'muonID', path=mypath)
53 cutAndCopyList(
'mu-:bestID',
'mu-:muonID',
'extraInfo(muonID_rank)==1', path=mypath)
54 variablesToEventExtraInfo(particleList=
'mu-:bestID', variables={
'muonID':
'bestID'}, path=mypath)
55 variables.addAlias(
'bestMuonID',
'eventExtraInfo(bestID)')
57 cutAndCopyList(
'mu-:worstID',
'mu-:muonID',
'extraInfo(muonID_rank)==2', path=mypath)
58 variablesToEventExtraInfo(particleList=
'mu-:worstID', variables={
'muonID':
'worstID'}, path=mypath)
59 variables.addAlias(
'worstMuonID',
'eventExtraInfo(worstID)')
62 variables.addAlias(
'muThetaLab',
'formula(57.2957795*theta)')
63 variables.addAlias(
'muPhiLab',
'formula(57.2957795*phi)')
64 variables.addAlias(
'muPcms',
'useCMSFrame(p)')
65 variables.addAlias(
'muptLab',
'pt')
66 variables.addAlias(
'e1Uncorr',
'formula(clusterHighestE * clusterUncorrE / clusterE)')
67 variables.addAlias(
'clustThetaLab',
'formula(57.2957795*clusterTheta)')
68 variables.addAlias(
'clustPhiLab',
'formula(57.2957795*clusterPhi)')
87 outputName =
"muPairAlignment.root"
90 outputName = sys.argv[1]
91 mypath.add_module(
'VariablesToNtuple', particleList=
'mu-:highp', variables=varsToStore, fileName=outputName)