def userMuons(process): process.userPreselectedMuons = selectedPatMuons.clone( src='slimmedMuons', cut='(pt > 10.) && (abs(eta) < 2.4)', ) process.userMuonsWithUserData = cms.EDProducer( 'MuonPATUserData', src=cms.InputTag('userPreselectedMuons'), primaryVertices=cms.InputTag('offlineSlimmedPrimaryVertices'), valueMaps_float=cms.vstring(), userFloat_copycat=cms.PSet(), userInt_stringSelectors=cms.PSet(), ) process.userIsolatedMuons = selectedPatMuons.clone( src='userMuonsWithUserData', cut='(userInt("IDLoose") > 0) && userFloat("pfIsoR04") < 0.40', ) process.userMuonsTask = cms.Task( process.userPreselectedMuons, process.userMuonsWithUserData, process.userIsolatedMuons, ) process.userMuonsSequence = cms.Sequence(process.userMuonsTask) return process, 'userIsolatedMuons'
# Here we define the objects we want to work with. As an example we have # 3 types of muons: # - our signal muons with tight isolation # - our non-isolated muons for control region 1 # - our non-isolated muons for control region 2 # for each muon we have 1 jet collection and therefore 1 b-jet collection # which leads to a total of 6 jet collections and 3 muon collections. ############################################################################### cleaningDeltaR = 0.4 from PhysicsTools.PatAlgos.cleaningLayer1.jetCleaner_cfi import cleanPatJets from PhysicsTools.PatAlgos.selectionLayer1.muonSelector_cfi import selectedPatMuons from PhysicsTools.PatAlgos.selectionLayer1.electronSelector_cfi import selectedPatElectrons process.globalOrTrackerMuons= selectedPatMuons.clone( src='muonUserData', cut='userInt("isGlobalOrTrackerMuon")', ) process.goodMuons = selectedPatMuons.clone( src='muonUserData', cut='userInt("isGood")', ) process.vetoMuons = selectedPatMuons.clone( src='muonUserData', cut='userInt("isLoose")', ) process.goodNonIsoR1Muons = process.goodMuons.clone( cut='userInt("isGoodNonIsoR1")', )
import FWCore.ParameterSet.Config as cms from PhysicsTools.PatAlgos.selectionLayer1.electronSelector_cfi import selectedPatElectrons isolatedPatElectrons = selectedPatElectrons.clone(src="selectedPatElectrons", cut="pt>10 & abs(eta)<2.5 & (trackIso+caloIso)/pt<0.05") from PhysicsTools.PatAlgos.selectionLayer1.muonSelector_cfi import selectedPatMuons isolatedPatMuons = selectedPatMuons.clone(src="selectedPatMuons", cut="pt>10 & abs(eta)<2.5 & (trackIso+caloIso)/pt<0.05") customSelection = cms.Sequence( isolatedPatElectrons *isolatedPatMuons )
import FWCore.ParameterSet.Config as cms from PhysicsTools.PatAlgos.selectionLayer1.muonSelector_cfi import selectedPatMuons from EgammaAnalysis.ElectronTools.electronRegressionEnergyProducer_cfi import eleRegressionEnergy from EgammaAnalysis.ElectronTools.calibratedPatElectrons_cfi import calibratedPatElectrons from PhysicsTools.PatAlgos.selectionLayer1.electronSelector_cfi import selectedPatElectrons from PhysicsTools.PatAlgos.selectionLayer1.jetSelector_cfi import selectedPatJets # Step 1 selectedMuons = selectedPatMuons.clone( src = cms.InputTag( 'patMuons' ) , cut = '' # muonCut ) preSignalMuons = selectedPatMuons.clone( src = cms.InputTag( 'selectedMuons' ) , cut = '' # signalMuonCut ) signalMuons = cms.EDProducer( "MuonSelectorVertex" , muonSource = cms.InputTag( 'preSignalMuons' ) , vertexSource = cms.InputTag( 'offlinePrimaryVertices' ) , maxDZ = cms.double( 999. ) # muonVertexMaxDZ ) standAloneSignalMuonFilter = cms.EDFilter( "PATCandViewCountFilter" , src = cms.InputTag( 'signalMuons' ) , minNumber = cms.uint32( 1 )
'? innerTrack.isNonnull ? innerTrack.ptError() : -1') patMuons.userData.userFunctionLabels = cms.vstring( 'normChi2', 'numberOfValidMuonHits', 'numberOfMatchedStations', 'numberOfValidPixelHitsTr', 'numberOfValidTrackerHits', 'numberOfValidHits', 'numberOfValidPixelHitsInTr', 'numberOfMatches', 'ptError') ##select muons according to these criteria from PhysicsTools.PatAlgos.selectionLayer1.muonSelector_cfi import selectedPatMuons selectedMuons = selectedPatMuons.clone() selectedMuons.src = cms.InputTag("patMuons") selectedMuons.cut = cms.string("pt > 15. & abs(eta) < 3. ") if isMC == True: # Muon MC Matcher from PhysicsTools.PatAlgos.mcMatchLayer0.muonMatch_cfi import * muonMatch.src = cms.InputTag("muons") # RECO objects to match muonMatch.matched = cms.InputTag("genParticles") # mc-truth particle collection muonMatch.mcStatus = cms.vint32(1) selectedMuons.addGenMatch = cms.bool(True) selectedMuons.embedGenMatch = cms.bool(True) selectedMuons.genParticleMatch = cms.InputTag("muonMatch") # new class of selected Muons
import FWCore.ParameterSet.Config as cms from PhysicsTools.PatAlgos.selectionLayer1.muonSelector_cfi import selectedPatMuons userPreselectedMuons = selectedPatMuons.clone( src = 'slimmedMuons', cut = '(pt > 10.) && (abs(eta) < 2.4)', ) userMuonsWithUserData = cms.EDProducer('MuonPATUserData', src = cms.InputTag('userPreselectedMuons'), primaryVertices = cms.InputTag('offlineSlimmedPrimaryVertices'), valueMaps_float = cms.vstring(), userFloat_copycat = cms.PSet(), userInt_stringSelectors = cms.PSet(), ) userIsolatedMuons = selectedPatMuons.clone( src = 'userMuonsWithUserData', cut = '(userInt("IDLoose") > 0) && userFloat("pfIsoR04") < 0.40', ) userMuonsSequence = cms.Sequence( userPreselectedMuons * userMuonsWithUserData * userIsolatedMuons
process.load('JMETriggerAnalysis.NTuplizers.userMuons_cff') process.offlineEventSelectionSeq *= process.userMuonsSequence ## Electrons #from RecoEgamma.EgammaTools.EgammaPostRecoTools import setupEgammaPostRecoSeq #setupEgammaPostRecoSeq(process, runVID=True, runEnergyCorrections=False, era='2018-Prompt', phoIDModules=[]) #process.offlineEventSelectionSeq *= process.egammaPostRecoSeq process.load('JMETriggerAnalysis.NTuplizers.userElectrons_cff') process.offlineEventSelectionSeq *= process.userElectronsSequence ## Event Selection from PhysicsTools.PatAlgos.selectionLayer1.muonSelector_cfi import selectedPatMuons process.eventSelMuons = selectedPatMuons.clone( src='userIsolatedMuons', cut='pt>27 && userInt("IDMedium") && userFloat("pfIsoR04") < 0.25', ) from PhysicsTools.PatAlgos.selectionLayer1.electronSelector_cfi import selectedPatElectrons process.eventSelElectrons = selectedPatElectrons.clone( src='userIsolatedElectrons', cut='pt>35 && userInt("IDCutBasedMedium")', ) process.eventSelLeptons = cms.EDProducer( 'CandViewMerger', src=cms.VInputTag('eventSelMuons', 'eventSelElectrons'), ) process.eventSelOneLepton = cms.EDFilter(
############################################################################### # Here we define the objects we want to work with. As an example we have # 3 types of muons: # - our signal muons with tight isolation # - our non-isolated muons for control region 1 # - our non-isolated muons for control region 2 # for each muon we have 1 jet collection and therefore 1 b-jet collection # which leads to a total of 6 jet collections and 3 muon collections. ############################################################################### cleaningDeltaR = 0.4 from PhysicsTools.PatAlgos.cleaningLayer1.jetCleaner_cfi import cleanPatJets from PhysicsTools.PatAlgos.selectionLayer1.muonSelector_cfi import selectedPatMuons from PhysicsTools.PatAlgos.selectionLayer1.electronSelector_cfi import selectedPatElectrons process.globalOrTrackerMuons = selectedPatMuons.clone( src='muonUserData', cut='userInt("isGlobalOrTrackerMuon")', ) process.goodMuons = selectedPatMuons.clone( src='muonUserData', cut='userInt("isGood")', ) process.vetoMuons = selectedPatMuons.clone( src='muonUserData', cut='userInt("isLoose")', ) process.goodNonIsoR1Muons = process.goodMuons.clone( cut='userInt("isGoodNonIsoR1")', )
import FWCore.ParameterSet.Config as cms #______________________ Event-Selection _____________________________ from HLTrigger.HLTfilters.hltHighLevel_cfi import hltHighLevel hltFilter = hltHighLevel.clone( andOr = True, ## choose logical OR between Triggerbits HLTPaths = ['HLT_ZeroBias'], throw = False # tolerate triggers stated above, but not available ) #______________________ Object-Selection ____________________________ from PhysicsTools.PatAlgos.selectionLayer1.jetSelector_cfi import selectedPatJets from PhysicsTools.PatAlgos.selectionLayer1.electronSelector_cfi import selectedPatElectrons from PhysicsTools.PatAlgos.selectionLayer1.muonSelector_cfi import selectedPatMuons from PhysicsTools.PatAlgos.selectionLayer1.tauSelector_cfi import selectedPatTaus patJetSelector = selectedPatJets.clone( filter = cms.bool(False), src = "", cut = "") patElectronSelector = selectedPatElectrons.clone( filter = cms.bool(False), src = "", cut = "") patMuonSelector = selectedPatMuons.clone( filter = cms.bool(False), src = "", cut = "") patTauSelector = selectedPatTaus.clone( filter = cms.bool(False), src = "", cut = "") candStringSelector = cms.EDFilter("CandViewSelector", filter = cms.bool(False), src = cms.InputTag(""), cut = cms.string("") )
import FWCore.ParameterSet.Config as cms from PhysicsTools.PatAlgos.selectionLayer1.electronSelector_cfi import selectedPatElectrons isolatedPatElectrons = selectedPatElectrons.clone( src="selectedPatElectrons", cut="pt>10 & abs(eta)<2.5 & (trackIso+caloIso)/pt<0.05") from PhysicsTools.PatAlgos.selectionLayer1.muonSelector_cfi import selectedPatMuons isolatedPatMuons = selectedPatMuons.clone( src="selectedPatMuons", cut="pt>10 & abs(eta)<2.5 & (trackIso+caloIso)/pt<0.05") customSelection = cms.Sequence(isolatedPatElectrons * isolatedPatMuons)
#------------------------------------------------- ## muon selector from PhysicsTools.PatAlgos.selectionLayer1.jetSelector_cfi import selectedPatJets ## produce collection of well defined jets process.selectedJets = selectedPatJets.clone(src = 'selectedPatJets', cut = 'pt>30 & abs(eta)<3 & emEnergyFraction<0.95' ) ## muon selector from PhysicsTools.PatAlgos.selectionLayer1.muonSelector_cfi import selectedPatMuons ## as probe requirement choose standalonMuon process.probeMuons = selectedPatMuons.clone(src = 'selectedPatMuons', cut = 'standAloneMuon.isNull=0' ) ## as test requirement choose combinedMuon process.testMuons = selectedPatMuons.clone(src = 'probeMuons', cut = 'combinedMuon.isNull=0' ) ## pat sequences ## Geometry and Detector Conditions (needed for a few patTuple production steps) process.load("Configuration.StandardSequences.Geometry_cff") process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") ## global tag for 33X ## process.GlobalTag.globaltag = cms.string('STARTUP31X_V1::All')
#______________________ Event-Selection _____________________________ from HLTrigger.HLTfilters.hltHighLevel_cfi import hltHighLevel hltFilter = hltHighLevel.clone( andOr=True, ## choose logical OR between Triggerbits HLTPaths=['HLT_ZeroBias'], throw=False # tolerate triggers stated above, but not available ) #______________________ Object-Selection ____________________________ from PhysicsTools.PatAlgos.selectionLayer1.jetSelector_cfi import selectedPatJets from PhysicsTools.PatAlgos.selectionLayer1.electronSelector_cfi import selectedPatElectrons from PhysicsTools.PatAlgos.selectionLayer1.muonSelector_cfi import selectedPatMuons from PhysicsTools.PatAlgos.selectionLayer1.tauSelector_cfi import selectedPatTaus patJetSelector = selectedPatJets.clone(filter=cms.bool(False), src="", cut="") patElectronSelector = selectedPatElectrons.clone(filter=cms.bool(False), src="", cut="") patMuonSelector = selectedPatMuons.clone(filter=cms.bool(False), src="", cut="") patTauSelector = selectedPatTaus.clone(filter=cms.bool(False), src="", cut="") candStringSelector = cms.EDFilter("CandViewSelector", filter=cms.bool(False), src=cms.InputTag(""), cut=cms.string(""))