def loadPATTriggers(process, HLTMenu):
    #-- Trigger matching ----------------------------------------------------------
    from PhysicsTools.PatAlgos.tools.trigTools import switchOnTrigger, switchOnTriggerMatchEmbedding
    #	from PhysicsTools.PatAlgos.triggerLayer1.triggerMatcher_cfi import cleanPhotonTriggerMatchHLTPhoton20CleanedL1R
    #    process.patPhotonMatch = cleanPhotonTriggerMatchHLTPhoton20CleanedL1R.clone(matchedCuts = cms.string( photonMatches ))
    # firing trigger objects used in succeeding HLT path 'HLT_Photon20_Cleaned_L1R'
    process.patPhotonMatch = cms.EDProducer(
        "PATTriggerMatcherDRDPtLessByR"  # match by DeltaR only, best match by DeltaR
        ,
        src=cms.InputTag("selectedPatPhotons"),
        matched=cms.InputTag(
            "patTrigger"
        )  # default producer label as defined in PhysicsTools/PatAlgos/python/triggerLayer1/triggerProducer_cfi.py
        ,
        matchedCuts=cms.string(
            'path( "HLT_Photon26_CaloIdL_IsoVL_Photon18_v*" ) || path( "HLT_Photon20_CaloIdVL*" ) || path( "HLT_Photon30_CaloIdVL_v*" )|| path( "HLT_Photon50_CaloIdVL*" )|| path( "HLT_Photon75_CaloIdVL*" )|| path( "HLT_Photon90_CaloIdVL*" )'
        )
        #, andOr                      = cms.bool( False )  # AND
        #, filterIdsEnum              = cms.vstring( '*' ) # wildcard, overlaps with 'filterIds'
        #, filterIds                  = cms.vint32( 0 )    # wildcard, overlaps with 'filterIdsEnum'
        #, filterLabels               = cms.vstring( '*' ) # wildcard
        #, pathNames                  = cms.vstring(
        #'HLT_Photon20_Cleaned_L1R'
        #)
        #, pathLastFilterAcceptedOnly = cms.bool( True )   # select only trigger objects used in last filters of succeeding paths
        #, collectionTags             = cms.vstring( '*' ) # wildcard
        ,
        maxDPtRel=cms.double(0.5),
        maxDeltaR=cms.double(0.5),
        resolveAmbiguities=cms.bool(True)  # only one match per trigger object
        ,
        resolveByMatchQuality=cms.bool(
            True
        )  # take best match found per reco object: by DeltaR here (s. above)
    )

    switchOnTrigger(process)
    process.patTrigger.addL1Algos = cms.bool(True)
    switchOnTrigger(process)  # to fix event content
    switchOnTriggerMatchEmbedding(process, ['patPhotonMatch'])
    process.hltFilter*
    process.goodVertices *
    process.scrapingVeto *
    process.metFilters
)

#-- SusyPat Specifics ---------------------------------
if not is7X: # CMSSW 53X
    if useSusyPat:
        # Create default susyPattuple
        from PhysicsTools.Configuration.SUSY_pattuple_cff import addDefaultSUSYPAT
        addDefaultSUSYPAT(process,options.isMC,options.hltName,options.jetMetCorrections,options.mcVersion,options.jetTypes,options.doValidation,options.doExtensiveMatching,options.doSusyTopProjection)
        
        # Embed matched trigger objects inside pat objects (used by TagAndProbe)
        from PhysicsTools.PatAlgos.tools.trigTools import switchOnTriggerMatchEmbedding
        switchOnTriggerMatchEmbedding( process, triggerMatchers = [ 'eleTriggerMatcher', 'muonTriggerMatcher' ], hltProcess = options.hltName, sequence =  "susyPatDefaultSequence")
    else: # or use patDefaultSequence
        # Use pf Isolation
        # https://twiki.cern.ch/twiki/bin/viewauth/CMS/EgammaPFBasedIsolation#PAT_configuration
        # Needed also for Rho corrected pfIsolation for Electrons
        from PhysicsTools.PatAlgos.tools.pfTools import usePFIso
        usePFIso( process )
        
        # Add Jet Collections
        from PhysicsTools.Configuration.SUSY_pattuple_cff import addSUSYJetCollection
        for jetName in options.jetTypes:
            addSUSYJetCollection(process,options.jetMetCorrections,jetName,options.mcVersion)
        
else: # SusyPat is not available for 7X yet
    
    # pf Isolation is in CMSSW7X by default, but the producers were renamed
Example #3
0
process.pElectronVeto  = cms.Path( process.sElectronVeto )
process.p1Jet          = cms.Path( process.s1Jet )
process.p2Jets         = cms.Path( process.s2Jets )
process.p3Jets         = cms.Path( process.s2Jets )
process.p4Jets         = cms.Path( process.s4Jets )
#process.pBTags         = cms.Path( process.sBTags )
process.pfcncKit       = cms.Path( process.sfcncKit )

# Trigger matching

if addTriggerMatch:
  from TopQuarkAnalysis.Configuration.patRefSel_triggerMatching_cff import muonTriggerMatch
  process.muonTriggerMatch = muonTriggerMatch.clone( matchedCuts = triggerObjectSelection )
  if not runOnMiniAOD:
    from PhysicsTools.PatAlgos.tools.trigTools import switchOnTriggerMatchEmbedding
    switchOnTriggerMatchEmbedding( process, triggerMatchers = [ 'muonTriggerMatch' ] )
  else:
    from TopQuarkAnalysis.Configuration.patRefSel_triggerMatching_cff import unpackedPatTrigger
    process.selectedTriggerUnpacked = unpackedPatTrigger.clone()
    process.muonTriggerMatch.matched = 'selectedTriggerUnpacked'
    from TopQuarkAnalysis.Configuration.patRefSel_triggerMatching_cff import signalMuonsTriggerMatch
    process.signalMuonsTriggerMatch = signalMuonsTriggerMatch.clone()
#    process.out.outputCommands += [ 'drop *_signalMuons_*_*'
#                                  , 'keep *_signalMuonsTriggerMatch_*_*'
#                                  ]

process.outpath = cms.EndPath()
#process.out = cms.OutputModule(
#  "PoolOutputModule"
#, fileName       = cms.untracked.string( 'test.root' )
#, SelectEvents   = cms.untracked.PSet( SelectEvents = cms.vstring() )
process.out.fileName = 'QCD20to30_BCtoE_Z2_PU_387.root'
process.options.wantSummary = False        ## (to suppress the long output at the end of the job)

#add the trigger matching, triggers taken from AN2010_425
process.electronTriggerMatchHLTElectrons = cms.EDProducer(
   "PATTriggerMatcherDRLessByR",
    src     = cms.InputTag( 'selectedPatElectrons' ),
    matched = cms.InputTag( 'patTrigger' ),
    andOr          = cms.bool( False ),
    filterIdsEnum  = cms.vstring( '*' ),
    filterIds      = cms.vint32( 0 ),
    filterLabels   = cms.vstring( '*' ),
    pathNames      = cms.vstring('HLT_Ele10_LW_L1R', 'HLT_Ele15_SW_L1R','HLT_Ele15_SW_CaloEleId_L1R','HLT_Ele17_SW_CaloEleId_L1R','HLT_Ele17_SW_TightEleId_L1R','HLT_Ele17_SW_TighterEleIdIsol_L1R_v2','HLT_Ele17_SW_TighterEleIdIsol_L1R_v3' ),
    collectionTags = cms.vstring( '*' ),
    maxDeltaR   = cms.double( 0.5 ),
    resolveAmbiguities    = cms.bool( True ),
    resolveByMatchQuality = cms.bool( True ) )
   
from PhysicsTools.PatAlgos.tools.trigTools import *
switchOnTrigger( process )

# needed for MC with PU
process.patTrigger.processName = "REDIGI38XPU"
process.patTriggerEvent.processName = "REDIGI38XPU"

from PhysicsTools.PatAlgos.tools.trigTools import switchOnTriggerMatchEmbedding
switchOnTriggerMatchEmbedding( process , triggerMatchers = [ 'electronTriggerMatchHLTElectrons' ])

print 'Current Event content is:'
print process.out.outputCommands
if runOnMC:
  triggerObjectSelection = patRefSel_refMuJets.triggerObjectSelectionMC
else:
  triggerObjectSelection = patRefSel_refMuJets.triggerObjectSelectionData
### Trigger matching configuration
from PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cfi import patTrigger
from TopQuarkAnalysis.Configuration.patRefSel_triggerMatching_cfi import patMuonTriggerMatch
if not options.runOnData:
  import PhysicsTools.PatAlgos.tools.trigTools as trigTools
  triggerProducerPF = patTrigger.clone()
  setattr( process, 'patTrigger' + postfix, triggerProducerPF )
  triggerMatchPF = patMuonTriggerMatch.clone( matchedCuts = triggerObjectSelection )
  setattr( process, 'triggerMatch' + postfix, triggerMatchPF )
  trigTools.switchOnTriggerMatchEmbedding( process
                               , triggerProducer = 'patTrigger' + postfix
                               , triggerMatchers = [ 'triggerMatch' + postfix ]
                               , sequence        = 'patPF2PATSequence' + postfix
                               , postfix         = postfix
                               )
  trigTools.removeCleaningFromTriggerMatching( process
                                   , sequence = 'patPF2PATSequence' + postfix
                                   )
  getattr( process, 'intermediatePatMuons' + postfix ).src = cms.InputTag( 'selectedPatMuons' + postfix + 'TriggerMatch' )


###
### Scheduling
###

# CiC electron ID

process.load( "RecoEgamma.ElectronIdentification.cutsInCategoriesElectronIdentificationV06_cfi" )
process.patMuonTriggerMatchHLTMu17                                     = somePatMuonTriggerMatchHLTMu17.clone( src = 'patMuons' )
process.patMuonTriggerMatchHLTDoubleMu5IsoMu5                          = somePatMuonTriggerMatchHLTDoubleMu5IsoMu5.clone( src = 'patMuons' )
process.patPhotonTriggerMatchHLTPhoton26Photon18                       = somePatPhotonTriggerMatchHLTPhoton26Photon18.clone( src = 'patPhotons' )
process.patElectronTriggerMatchHLTEle17CaloIdTCaloIsoVLTrkIdVLTrkIsoVL = somePatElectronTriggerMatchHLTEle17CaloIdTCaloIsoVLTrkIdVLTrkIsoVL.clone( src = 'patElectrons' )
process.patTauTriggerMatchHLTDoubleMediumIsoPFTau30Trk1eta2p1          = somePatTauTriggerMatchHLTDoubleMediumIsoPFTau30Trk1eta2p1.clone( src = 'patTaus' )
process.patJetTriggerMatchHLTPFJet40                                   = somePatJetTriggerMatchHLTPFJet40.clone( src = 'patJets' )
process.patMetTriggerMatchHLTMET120                                    = somePatMetTriggerMatchHLTMET120.clone()
process.patMuonTriggerMatchHLTMu8DiJet30                               = somePatMuonTriggerMatchHLTMu8DiJet30.clone( src = 'patMuons' )
process.patJetTriggerMatchHLTMu8DiJet30                                = somePatJetTriggerMatchHLTMu8DiJet30.clone( src = 'patJets' )
from PhysicsTools.PatAlgos.tools.trigTools import switchOnTriggerMatchEmbedding
switchOnTriggerMatchEmbedding( process
                             , [ 'patMuonTriggerMatchHLTMu17'
                               , 'patMuonTriggerMatchHLTDoubleMu5IsoMu5'
                               , 'patPhotonTriggerMatchHLTPhoton26Photon18'
                               , 'patElectronTriggerMatchHLTEle17CaloIdTCaloIsoVLTrkIdVLTrkIsoVL'
                               , 'patTauTriggerMatchHLTDoubleMediumIsoPFTau30Trk1eta2p1'
                               , 'patJetTriggerMatchHLTPFJet40'
                               , 'patMetTriggerMatchHLTMET120'
                               , 'patMuonTriggerMatchHLTMu8DiJet30'
                               , 'patJetTriggerMatchHLTMu8DiJet30'
                               ]
                             , outputModule = ''
                             )
process.selectedPatMuons.src     = 'patMuonsTriggerMatch'
process.selectedPatPhotons.src   = 'patPhotonsTriggerMatch'
process.selectedPatElectrons.src = 'patElectronsTriggerMatch'
process.selectedPatTaus.src      = 'patTausTriggerMatch'
process.selectedPatJets.src      = 'patJetsTriggerMatch'
print 'PoolOutputModule out.outputCommands'
print '--> %s'%( process.out.outputCommands )
def loadPATTriggers(process,HLTMenu,theJetNames,electronMatches,muonMatches,tauMatches,jetMatches,photonMatches):
    #-- Trigger matching ----------------------------------------------------------
    def pfSwitchOnTriggerMatchEmbedding(process, matches, src, embedder, sequence='patDefaultSequencePF'):
        setattr(process,src.replace('PF','TriggerMatchPF'),getattr(process,embedder).clone(src=src, matches=matches))
        theSequence = getattr(process,sequence)
        theSequence += getattr(process,src.replace('PF','TriggerMatchPF'))
    from PhysicsTools.PatAlgos.tools.trigTools import switchOnTrigger, switchOnTriggerMatchEmbedding
    switchOnTrigger(process, triggerProducer='patTrigger', triggerEventProducer='patTriggerEvent', sequence='patDefaultSequence', hltProcess=HLTMenu)
    process.patTriggerPF = process.patTrigger.clone()
    process.patTriggerEventPF = process.patTriggerEvent.clone()
    process.patDefaultSequencePF += process.patTriggerPF 
    process.patDefaultSequencePF += process.patTriggerEventPF 
    switchOnTrigger(process, triggerProducer='patTriggerPF', triggerEventProducer='patTriggerEventPF', sequence='patDefaultSequencePF', hltProcess=HLTMenu)
    #Electrons
    from PhysicsTools.PatAlgos.triggerLayer1.triggerMatcher_cfi import cleanElectronTriggerMatchHLTEle20SWL1R
    process.patElectronMatch = cleanElectronTriggerMatchHLTEle20SWL1R.clone(matchedCuts = cms.string( electronMatches ))
    process.patElectronMatchPF = cleanElectronTriggerMatchHLTEle20SWL1R.clone(matchedCuts = cms.string( electronMatches ), src='selectedPatElectronsPF')
    process.patDefaultSequencePF += process.patElectronMatchPF
    switchOnTriggerMatchEmbedding( process, ['patElectronMatch'], hltProcess=HLTMenu)
    pfSwitchOnTriggerMatchEmbedding( process, ['patElectronMatchPF'], 'selectedPatElectronsPF', 'cleanPatElectronsTriggerMatch' )
    #Muons
    from PhysicsTools.PatAlgos.triggerLayer1.triggerMatcher_cfi import cleanMuonTriggerMatchHLTMu9
    process.patMuonMatch = cleanMuonTriggerMatchHLTMu9.clone(matchedCuts = cms.string( muonMatches ))
    process.patMuonMatchPF = cleanMuonTriggerMatchHLTMu9.clone(matchedCuts = cms.string( muonMatches ),src = 'selectedPatMuonsPF',matched='patTriggerPF')
    process.patDefaultSequencePF += process.patMuonMatchPF
    switchOnTriggerMatchEmbedding( process, ['patMuonMatch'], hltProcess=HLTMenu)
    pfSwitchOnTriggerMatchEmbedding( process, ['patMuonMatchPF'], 'selectedPatMuonsPF', 'cleanPatMuonsTriggerMatch' )
    #Photons
    from PhysicsTools.PatAlgos.triggerLayer1.triggerMatcher_cfi import cleanPhotonTriggerMatchHLTPhoton20CleanedL1R
    process.patPhotonMatch = cleanPhotonTriggerMatchHLTPhoton20CleanedL1R.clone(matchedCuts = cms.string( photonMatches ))
    switchOnTriggerMatchEmbedding( process, ['patPhotonMatch'], hltProcess=HLTMenu)
    #Jets
    from PhysicsTools.PatAlgos.triggerLayer1.triggerMatcher_cfi import cleanJetTriggerMatchHLTJet15U
    process.patJetMatchAK5Calo = cleanJetTriggerMatchHLTJet15U.clone(matchedCuts = cms.string( jetMatches ),src='cleanPatJetsAK5Calo')
    switchOnTriggerMatchEmbedding( process, ['patJetMatchAK5Calo'], hltProcess=HLTMenu)
    for jetType in theJetNames:
        setattr(process,'patJetMatch'+jetType,cleanJetTriggerMatchHLTJet15U.clone(matchedCuts = cms.string( jetMatches ),src = 'cleanPatJets'+jetType))
    process.patJetMatchPF = cleanJetTriggerMatchHLTJet15U.clone(src='selectedPatJetsPF', matchedCuts = cms.string( jetMatches ))
    process.patDefaultSequencePF += process.patJetMatchPF
    for jetType in theJetNames:
        switchOnTriggerMatchEmbedding( process, ['patJetMatch'+jetType], hltProcess=HLTMenu)
    pfSwitchOnTriggerMatchEmbedding( process, ['patJetMatchPF'], 'selectedPatJetsPF', 'cleanPatJetsAK5CaloTriggerMatch' )
    #Taus
    from PhysicsTools.PatAlgos.triggerLayer1.triggerMatcher_cfi import cleanTauTriggerMatchHLTDoubleLooseIsoTau15
    process.patTauMatch = cleanTauTriggerMatchHLTDoubleLooseIsoTau15.clone(matchedCuts = cms.string( tauMatches ))
    process.patTauMatchPF = cleanTauTriggerMatchHLTDoubleLooseIsoTau15.clone(src='selectedPatTausPF', matchedCuts = cms.string( tauMatches ))
    process.patDefaultSequencePF += process.patTauMatchPF
    switchOnTriggerMatchEmbedding( process, ['patTauMatch'], hltProcess=HLTMenu)
    pfSwitchOnTriggerMatchEmbedding( process, ['patTauMatchPF'], 'selectedPatTausPF', 'cleanPatTausTriggerMatch' )
Example #8
0
process.pEventCleaning = cms.Path(process.sEventCleaning)
process.pGoodVertex = cms.Path(process.sGoodVertex)
process.pSignalMuon = cms.Path(process.sSignalMuon)
process.pLooseMuonVeto = cms.Path(process.sLooseMuonVeto)
process.pElectronVeto = cms.Path(process.sElectronVeto)
process.p1Jet = cms.Path(process.s1Jet)
process.p2Jets = cms.Path(process.s2Jets)
process.p3Jets = cms.Path(process.s2Jets)
process.p4Jets = cms.Path(process.s4Jets)
process.pBTags = cms.Path(process.sBTags)

# Trigger matching

if addTriggerMatch:
    from TopQuarkAnalysis.Configuration.patRefSel_triggerMatching_cff import muonTriggerMatch
    process.muonTriggerMatch = muonTriggerMatch.clone(
        matchedCuts=triggerObjectSelection)
    if not runOnMiniAOD:
        from PhysicsTools.PatAlgos.tools.trigTools import switchOnTriggerMatchEmbedding
        switchOnTriggerMatchEmbedding(process,
                                      triggerMatchers=['muonTriggerMatch'])
    else:
        from TopQuarkAnalysis.Configuration.patRefSel_triggerMatching_cff import unpackedPatTrigger
        process.selectedTriggerUnpacked = unpackedPatTrigger.clone()
        process.muonTriggerMatch.matched = 'selectedTriggerUnpacked'
        from TopQuarkAnalysis.Configuration.patRefSel_triggerMatching_cff import signalMuonsTriggerMatch
        process.signalMuonsTriggerMatch = signalMuonsTriggerMatch.clone()
        process.out.outputCommands += [
            'drop *_signalMuons_*_*', 'keep *_signalMuonsTriggerMatch_*_*'
        ]
Example #9
0
def loadPATTriggers(process,HLTMenu,theJetNames,electronMatches,muonMatches,tauMatches,jetMatches,photonMatches):
    #-- Trigger matching ----------------------------------------------------------
    def pfSwitchOnTriggerMatchEmbedding(process, matches, src, embedder, sequence='patDefaultSequencePF'):
        setattr(process,src.replace('PF','TriggerMatchPF'),getattr(process,embedder).clone(src=src, matches=matches))
        theSequence = getattr(process,sequence)
        theSequence += getattr(process,src.replace('PF','TriggerMatchPF'))
    from PhysicsTools.PatAlgos.tools.trigTools import switchOnTrigger, switchOnTriggerMatchEmbedding
    switchOnTrigger(process, triggerProducer='patTrigger', triggerEventProducer='patTriggerEvent', sequence='patDefaultSequence', hltProcess=HLTMenu)
    process.patTriggerPF = process.patTrigger.clone()
    process.patTriggerEventPF = process.patTriggerEvent.clone()
    process.patDefaultSequencePF += process.patTriggerPF 
    process.patDefaultSequencePF += process.patTriggerEventPF 
    switchOnTrigger(process, triggerProducer='patTriggerPF', triggerEventProducer='patTriggerEventPF', sequence='patDefaultSequencePF', hltProcess=HLTMenu)
    #Electrons
    from PhysicsTools.PatAlgos.triggerLayer1.triggerMatcher_cfi import cleanElectronTriggerMatchHLTEle20SWL1R
    process.patElectronMatch = cleanElectronTriggerMatchHLTEle20SWL1R.clone(matchedCuts = cms.string( electronMatches ))
    process.patElectronMatchPF = cleanElectronTriggerMatchHLTEle20SWL1R.clone(matchedCuts = cms.string( electronMatches ), src='selectedPatElectronsPF')
    process.patDefaultSequencePF += process.patElectronMatchPF
    switchOnTriggerMatchEmbedding( process, ['patElectronMatch'], hltProcess=HLTMenu)
    pfSwitchOnTriggerMatchEmbedding( process, ['patElectronMatchPF'], 'selectedPatElectronsPF', 'cleanPatElectronsTriggerMatch' )
    #Muons
    from PhysicsTools.PatAlgos.triggerLayer1.triggerMatcher_cfi import cleanMuonTriggerMatchHLTMu9
    process.patMuonMatch = cleanMuonTriggerMatchHLTMu9.clone(matchedCuts = cms.string( muonMatches ))
    process.patMuonMatchPF = cleanMuonTriggerMatchHLTMu9.clone(matchedCuts = cms.string( muonMatches ),src = 'selectedPatMuonsPF',matched='patTriggerPF')
    process.patDefaultSequencePF += process.patMuonMatchPF
    switchOnTriggerMatchEmbedding( process, ['patMuonMatch'], hltProcess=HLTMenu)
    pfSwitchOnTriggerMatchEmbedding( process, ['patMuonMatchPF'], 'selectedPatMuonsPF', 'cleanPatMuonsTriggerMatch' )
    #Photons
    from PhysicsTools.PatAlgos.triggerLayer1.triggerMatcher_cfi import cleanPhotonTriggerMatchHLTPhoton20CleanedL1R
    process.patPhotonMatch = cleanPhotonTriggerMatchHLTPhoton20CleanedL1R.clone(matchedCuts = cms.string( photonMatches ))
    switchOnTriggerMatchEmbedding( process, ['patPhotonMatch'], hltProcess=HLTMenu)
    #Jets
    from PhysicsTools.PatAlgos.triggerLayer1.triggerMatcher_cfi import cleanJetTriggerMatchHLTJet15U
    process.patJetMatchAK5Calo = cleanJetTriggerMatchHLTJet15U.clone(matchedCuts = cms.string( jetMatches ),src='cleanPatJetsAK5Calo')
    switchOnTriggerMatchEmbedding( process, ['patJetMatchAK5Calo'], hltProcess=HLTMenu)
    for jetType in theJetNames:
        setattr(process,'patJetMatch'+jetType,cleanJetTriggerMatchHLTJet15U.clone(matchedCuts = cms.string( jetMatches ),src = 'cleanPatJets'+jetType))
    process.patJetMatchPF = cleanJetTriggerMatchHLTJet15U.clone(src='selectedPatJetsPF', matchedCuts = cms.string( jetMatches ))
    process.patDefaultSequencePF += process.patJetMatchPF
    for jetType in theJetNames:
        switchOnTriggerMatchEmbedding( process, ['patJetMatch'+jetType], hltProcess=HLTMenu)
    pfSwitchOnTriggerMatchEmbedding( process, ['patJetMatchPF'], 'selectedPatJetsPF', 'cleanPatJetsAK5CaloTriggerMatch' )
    #Taus
    from PhysicsTools.PatAlgos.triggerLayer1.triggerMatcher_cfi import cleanTauTriggerMatchHLTDoubleLooseIsoTau15
    process.patTauMatch = cleanTauTriggerMatchHLTDoubleLooseIsoTau15.clone(matchedCuts = cms.string( tauMatches ))
    process.patTauMatchPF = cleanTauTriggerMatchHLTDoubleLooseIsoTau15.clone(src='selectedPatTausPF', matchedCuts = cms.string( tauMatches ))
    process.patDefaultSequencePF += process.patTauMatchPF
    switchOnTriggerMatchEmbedding( process, ['patTauMatch'], hltProcess=HLTMenu)
    pfSwitchOnTriggerMatchEmbedding( process, ['patTauMatchPF'], 'selectedPatTausPF', 'cleanPatTausTriggerMatch' )
Example #10
0
    "againstMuonMedium", "againstMuonTight"
)

from PATTools import pruneMCLeptons, addMuonMCClassification, addHEEPId

pruneMCLeptons(
    process, use_sim=True
)  # need to decide whether to move AODOnly() call in here, if so use_sim should just be set False
addMuonMCClassification(process)
addHEEPId(process)

from PhysicsTools.PatAlgos.tools.trigTools import switchOnTrigger, switchOnTriggerMatchEmbedding

switchOnTrigger(process)
process.load("SUSYBSMAnalysis.Zprime2muAnalysis.hltTriggerMatch_cfi")
switchOnTriggerMatchEmbedding(process, triggerMatchers=["muonTriggerMatchHLTMuons"])
# add L1 algorithms' collection
process.patTrigger.addL1Algos = cms.bool(True)  # default: 'False'
# call once more to update the event content according to the changed parameters (?)
switchOnTrigger(process)
process.out.outputCommands += [
    "keep *_cleanPatMuonsTriggerMatch_*_*",
    "keep *_patTrigger_*_*",  # keep these two for now, for Level-1 decisions
    "keep *_patTriggerEvent_*_*",
]

# Some extra configuration of the PAT.

# Embed the tracker tracks (by default, every other track is already
# embedded).
process.patMuons.embedTrack = True
del process.patTaus.tauIDSources.againstElectronMVA6Raw
#del process.patTaus.tauIDSources.againstMuonMedium
process.cleanPatTaus.preselection = process.cleanPatTaus.preselection.value().replace('againstElectronVLooseMVA5', 'againstElectronLooseMVA6')
process.cleanPatTaus.preselection = process.cleanPatTaus.preselection.value().replace('againstMuonMedium', 'againstMuonTight')

# PAT muons 
process.patMuons.embedTrack = True
process.selectedPatMuons.cut = "isTrackerMuon || isGlobalMuon"
process.countPatMuons.minNumber = cms.uint32(1)

# PAT trigger info
process.load('SUSYBSMAnalysis.Zprime2muAnalysis.hltTriggerMatch_cfi')
from PhysicsTools.PatAlgos.tools.trigTools import switchOnTrigger, switchOnTriggerMatchEmbedding
switchOnTrigger( process )
switchOnTriggerMatchEmbedding( process,
                                triggerProducer = 'patTrigger', # this is already the default setting
                                triggerMatchers = [ 'muonTriggerMatchHLTMuons' ]
                               )
# PAT Met and Jets
from PhysicsTools.PatAlgos.tools.metTools import addMETCollection 
addMETCollection(process, labelName='patMETsPF', metSource='pfMetT1')

from PhysicsTools.PatAlgos.tools.jetTools import switchJetCollection #to be checked
switchJetCollection(process, 
                    jetSource = cms.InputTag('ak4PFJets'),
                    jetCorrections = ('AK4PF', cms.vstring(['L1FastJet', 'L2Relative','L3Absolute']), 'Type-1'),
                    btagDiscriminators = ['jetBProbabilityBJetTags',
                                          'jetProbabilityBJetTags',
                                          'trackCountingHighPurBJetTags',
                                          'trackCountingHighEffBJetTags',
                                          'simpleSecondaryVertexHighEffBJetTags',
                                          'simpleSecondaryVertexHighPurBJetTags',