def patAllMuonsPF(process): from PhysicsTools.PatAlgos.producersLayer1.muonProducer_cfi import patMuons process.patAllMuonsPF = patMuons.clone( #override defaults pfMuonSource="pfAllMuonsPF", useParticleFlow=True, addGenMatch=False, genParticleMatch="", embedTrack=True, embedGenMatch=False, embedPickyMuon=False, embedTpfmsMuon=False, embedHighLevelSelection=False, embedCaloMETMuonCorrs=False, embedTcMETMuonCorrs=False) return process.patAllMuonsPF
def patAllMuonsPF(process) : from PhysicsTools.PatAlgos.producersLayer1.muonProducer_cfi import patMuons process.patAllMuonsPF = patMuons.clone( #override defaults pfMuonSource = "pfAllMuonsPF", useParticleFlow = True, addGenMatch = False, genParticleMatch = "", embedTrack = True, embedGenMatch = False, embedPickyMuon = False, embedTpfmsMuon = False, embedHighLevelSelection = False, embedCaloMETMuonCorrs = False, embedTcMETMuonCorrs = False ) return process.patAllMuonsPF
#from PhysicsTools.PatAlgos.tools.trigTools import * Tau3MuHLTFilter = copy.deepcopy(hltHighLevel) Tau3MuHLTFilter.throw = cms.bool(False) Tau3MuHLTFilter.HLTPaths = [ "HLT_Mu8*", "HLT_Mu7*", "HLT_Mu9_IP*", "HLT_Mu10p5_IP*", "HLT_Mu12_IP*", "HLT_Mu8p5*" ] #list taken from https://github.com/cms-sw/cmssw/blob/CMSSW_9_2_X/HLTrigger/Configuration/tables/GRun.txt PatMuons = patMuons.clone( src=cms.InputTag("muons"), useParticleFlow=cms.bool(False), #embedHighLevelSelection = cms.bool(True), computeMiniIso=cms.bool(False), computeMuonMVA=cms.bool(False), computeSoftMuonMVA=cms.bool(True), addTriggerMatching=cms.bool(False), addGenMatch=cms.bool(False), embedGenMatch=cms.bool(True), ) looseMuons = cms.EDFilter( "PATMuonSelector", src=cms.InputTag("PatMuons"), #cut = cms.string('pt > 0.5 && abs(eta)<2.4 && (innerTrack().isNonnull) && (charge!=0) && (innerTrack().hitPattern().numberOfValidPixelHits()>0) && innerTrack.quality("highPurity")'), cut=cms.string( 'pt > 1 && abs(eta)<2.4 && (innerTrack().isNonnull) && (charge!=0) && (innerTrack().hitPattern().numberOfValidPixelHits()>0)' ), filter=cms.bool(True))
import FWCore.ParameterSet.Config as cms from PhysicsTools.PatAlgos.producersLayer1.muonProducer_cfi import patMuons patMuonsForZmumuSelection = patMuons.clone() patMuonsForZmumuSelection.addGenMatch = cms.bool(False) patMuonsForZmumuSelection.embedCaloMETMuonCorrs = cms.bool(False) patMuonsForZmumuSelection.embedTcMETMuonCorrs = cms.bool(False) goodVertex = cms.EDFilter("VertexSelector", src = cms.InputTag("offlinePrimaryVertices"), cut = cms.string("(!isFake) & ndof >= 4 & abs(z) < 24 & position.Rho < 2"), filter = cms.bool(False) ) goodMuons = cms.EDFilter("PATMuonSelector", src = cms.InputTag("patMuonsForZmumuSelection"), cut = cms.string( 'pt > 8 && abs(eta) < 2.5 && isGlobalMuon && isPFMuon ' ' && track.hitPattern.trackerLayersWithMeasurement > 5 & innerTrack.hitPattern.numberOfValidPixelHits > 0' ' && abs(dB) < 0.2 && globalTrack.normalizedChi2 < 10' ' && globalTrack.hitPattern.numberOfValidMuonHits > 0 && numberOfMatchedStations > 1' ), filter = cms.bool(False) ) highestPtMuPlus = cms.EDFilter("UniquePATMuonSelector", src = cms.VInputTag('goodMuons'), cut = cms.string('charge > 0.5'), rank = cms.string('pt'), filter = cms.bool(False) )
muonPFIsolationSequenceForPAT = cms.Sequence( muPFIsoDepositChargedForPAT * muPFIsoDepositNeutralForPAT * muPFIsoDepositGammaForPAT * muPFIsoDepositChargedAllForPAT * muPFIsoDepositPUforPAT ) patMuonsForGoldenZmmSelection = patMuons.clone( isoDeposits = cms.PSet( # CV: strings for IsoDeposits defined in PhysicsTools/PatAlgos/plugins/PATMuonProducer.cc pfChargedHadrons = cms.InputTag("muPFIsoDepositChargedForPAT"), pfNeutralHadrons = cms.InputTag("muPFIsoDepositNeutralForPAT"), pfPhotons = cms.InputTag("muPFIsoDepositGammaForPAT"), user = cms.VInputTag( cms.InputTag("muPFIsoDepositChargedAllForPAT"), cms.InputTag("muPFIsoDepositPUforPAT") ) ), addGenMatch = cms.bool(False), embedHighLevelSelection = cms.bool(True), embedCaloMETMuonCorrs = cms.bool(False), embedTcMETMuonCorrs = cms.bool(False), usePV = cms.bool(False) # compute transverse impact parameter wrt. beamspot (not event vertex) ) patMuonsForGoldenZmmSelection.userIsolation = cms.PSet( # CV: strings for Isolation values defined in PhysicsTools/PatAlgos/src/MultiIsolator.cc pfChargedHadron = cms.PSet( deltaR = cms.double(0.4), src = patMuonsForGoldenZmmSelection.isoDeposits.pfChargedHadrons, vetos = muPFIsoValueCharged04.deposits[0].vetos,
src=cms.InputTag('muons')) muPFIsoDepositChargedAllForPAT = muPFIsoDepositChargedAll.clone( src=cms.InputTag('muons')) muPFIsoDepositPUforPAT = muPFIsoDepositPU.clone(src=cms.InputTag('muons')) muonPFIsolationSequenceForPAT = cms.Sequence( muPFIsoDepositChargedForPAT * muPFIsoDepositNeutralForPAT * muPFIsoDepositGammaForPAT * muPFIsoDepositChargedAllForPAT * muPFIsoDepositPUforPAT) patMuonsForGoldenZmmSelection = patMuons.clone( isoDeposits=cms.PSet( # CV: strings for IsoDeposits defined in PhysicsTools/PatAlgos/plugins/PATMuonProducer.cc pfChargedHadrons=cms.InputTag("muPFIsoDepositChargedForPAT"), pfNeutralHadrons=cms.InputTag("muPFIsoDepositNeutralForPAT"), pfPhotons=cms.InputTag("muPFIsoDepositGammaForPAT"), user=cms.VInputTag(cms.InputTag("muPFIsoDepositChargedAllForPAT"), cms.InputTag("muPFIsoDepositPUforPAT"))), addGenMatch=cms.bool(False), embedHighLevelSelection=cms.bool(True), embedCaloMETMuonCorrs=cms.bool(False), embedTcMETMuonCorrs=cms.bool(False), usePV=cms.bool( False ) # compute transverse impact parameter wrt. beamspot (not event vertex) ) patMuonsForGoldenZmmSelection.userIsolation = cms.PSet( # CV: strings for Isolation values defined in PhysicsTools/PatAlgos/src/MultiIsolator.cc pfChargedHadron=cms.PSet( deltaR=cms.double(0.4), src=patMuonsForGoldenZmmSelection.isoDeposits.pfChargedHadrons, vetos=muPFIsoValueCharged04.deposits[0].vetos, skipDefaultVeto=muPFIsoValueCharged04.deposits[0].skipDefaultVeto),
deltaR=cms.double(0.3), #threshold = cms.double(1.5) ), ), isoDeposits=cms.PSet(tracker=cms.InputTag("tkIsoDepositTk"), ), ) ###create the "probe collection" of isolated tracks looseIsoMuonsForZMuSkim = cms.EDFilter( "PATGenericParticleSelector", src=cms.InputTag("allPatTracks"), cut=cms.string("(userIsolation('pat::TrackIso')/pt)<0.4"), filter=cms.bool(True)) ###create the "tag collection" of muon candidate, embedding the relevant infos tightMuonsCandidateForZMuSkim = patMuons.clone( src=cms.InputTag("muons"), embedHighLevelSelection=cms.bool(True), ) ##apply ~tight muon ID tightMuonsForZMuSkim = cms.EDFilter( "PATMuonSelector", src=cms.InputTag("tightMuonsCandidateForZMuSkim"), cut=cms.string( '(pt > 28) && (abs(eta)<2.4) && (isPFMuon>0) && (isGlobalMuon = 1) && (globalTrack().normalizedChi2() < 10) && (globalTrack().hitPattern().numberOfValidMuonHits()>0)&& (numberOfMatchedStations() > 1)&& (innerTrack().hitPattern().numberOfValidPixelHits() > 0)&& (innerTrack().hitPattern().trackerLayersWithMeasurement() > 5) && (abs(dB)<0.2) && ((isolationR03().sumPt/pt)<0.1)' ), filter=cms.bool(True)) # build Z-> MuMu candidates dimuonsZMuSkim = cms.EDProducer( "CandViewShallowCloneCombiner", checkCharge=cms.bool(False),
import FWCore.ParameterSet.Config as cms from PhysicsTools.PatAlgos.producersLayer1.muonProducer_cfi import patMuons patMuonsForZmumuSelection = patMuons.clone() patMuonsForZmumuSelection.addGenMatch = cms.bool(False) patMuonsForZmumuSelection.embedCaloMETMuonCorrs = cms.bool(False) patMuonsForZmumuSelection.embedTcMETMuonCorrs = cms.bool(False) goodVertex = cms.EDFilter( "VertexSelector", src=cms.InputTag("offlinePrimaryVertices"), cut=cms.string("(!isFake) & ndof >= 4 & abs(z) < 24 & position.Rho < 2"), filter=cms.bool(False)) goodMuons = cms.EDFilter( "PATMuonSelector", src=cms.InputTag("patMuonsForZmumuSelection"), cut=cms.string( 'pt > 8 && abs(eta) < 2.5 && isGlobalMuon && isPFMuon ' ' && track.hitPattern.trackerLayersWithMeasurement > 5 & innerTrack.hitPattern.numberOfValidPixelHits > 0' ' && abs(dB) < 0.2 && globalTrack.normalizedChi2 < 10' ' && globalTrack.hitPattern.numberOfValidMuonHits > 0 && numberOfMatchedStations > 1' ), filter=cms.bool(False)) highestPtMuPlus = cms.EDFilter("UniquePATMuonSelector", src=cms.VInputTag('goodMuons'), cut=cms.string('charge > 0.5'), rank=cms.string('pt'), filter=cms.bool(False))