File indexing completed on 2024-04-06 12:22:48
0001
0002
0003
0004 from SimMuon.MCTruth.muonAssociatorByHitsNoSimHitsHelper_cfi import *
0005
0006 classByHitsTM = cms.EDProducer("MuonMCClassifier",
0007 muons = cms.InputTag("muons"),
0008 muonPreselection = cms.string("muonID('TrackerMuonArbitrated')"),
0009 trackType = cms.string("segments"),
0010 trackingParticles = cms.InputTag("mix","MergedTrackTruth"),
0011 associatorLabel = cms.InputTag("muonAssociatorByHitsNoSimHitsHelper"),
0012 decayRho = cms.double(200),
0013 decayAbsZ = cms.double(400),
0014 linkToGenParticles = cms.bool(True),
0015 genParticles = cms.InputTag("genParticles"),
0016 )
0017 classByHitsTMLSAT = classByHitsTM.clone(
0018 muonPreselection = cms.string("muonID('TMLastStationAngTight')")
0019 )
0020 classByHitsGlb = classByHitsTM.clone(
0021 muonPreselection = cms.string("isGlobalMuon"),
0022 trackType = "global"
0023 )
0024 classByHitsSta = classByHitsTM.clone(
0025 muonPreselection = cms.string("isStandAloneMuon"),
0026 trackType = "outer"
0027 )
0028 classByHitsGlbOrTrk = classByHitsTM.clone(
0029 muonPreselection = cms.string("isGlobalMuon || muonID('TrackerMuonArbitrated')"),
0030 trackType = "glb_or_trk"
0031 )
0032
0033
0034 muonClassificationByHits = cms.Sequence(
0035 muonAssociatorByHitsNoSimHitsHelper +
0036 (
0037
0038
0039
0040
0041 classByHitsGlbOrTrk
0042 )
0043 )
0044
0045 def addUserData(patMuonProducer,labels=['classByHitsGlbOrTrk'], extraInfo = False):
0046 for label in labels:
0047 patMuonProducer.userData.userInts.src.append( cms.InputTag(label) )
0048 patMuonProducer.userData.userInts.src.append( cms.InputTag(label, "ext") )
0049 if extraInfo:
0050 for ints in ("flav", "hitsPdgId", "G4processType", "momPdgId", "gmomPdgId", "momFlav", "gmomFlav", "hmomFlav", "tpId", "tpBx", "tpEv", "momStatus"):
0051 patMuonProducer.userData.userInts.src.append(cms.InputTag(label, ints))
0052 for ins in ("signp", "pt", "eta", "phi", "prodRho", "prodZ", "tpAssoQuality", "momRho", "momZ"):
0053
0054 patMuonProducer.userData.userFloats.src.append(cms.InputTag(label, ins))
0055
0056 def addGenParticleRef(patMuonProducer, label = 'classByHitsGlbOrTrk'):
0057 patMuonProducer.addGenMatch = True
0058 patMuonProducer.genParticleMatch = cms.VInputTag(cms.InputTag(label, "toPrimaries"), cms.InputTag(label, "toSecondaries"))
0059