Ejemplo n.º 1
0
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")',
)
Ejemplo n.º 3
0
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
    )
Ejemplo n.º 4
0
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 )
Ejemplo n.º 5
0
                                              '? 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
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
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(
Ejemplo n.º 8
0
###############################################################################
# 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")', )
Ejemplo n.º 9
0
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("")
)


Ejemplo n.º 10
0
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)
Ejemplo n.º 11
0
#-------------------------------------------------

## 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')
Ejemplo n.º 12
0
#______________________ 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(""))