Esempio n. 1
0
# 80X does not contain the latest & greatest PuppiPhoton; need to rerun for all config
from PhysicsTools.PatAlgos.slimming.puppiForMET_cff import makePuppiesFromMiniAOD
# Creates process.puppiMETSequence which includes 'puppi' and 'puppiForMET' (= EDProducer('PuppiPhoton'))
# *UGLY* also runs switchOnVIDPhotonIdProducer and sets up photon id Spring16_V2p2 internally
# which loads photonIDValueMapProducer and egmPhotonIDs
makePuppiesFromMiniAOD(process, createScheduledSequence=True)

# Just renaming
puppiSequence = process.puppiMETSequence

### PUPPI JET

from PandaProd.Producer.utils.makeJets_cff import makeJets

puppiJetSequence = makeJets(process, options.isData, 'AK4PFPuppi', 'puppi',
                            'Puppi')

### PUPPI MET

from PhysicsTools.PatUtils.tools.runMETCorrectionsAndUncertainties import runMetCorAndUncFromMiniAOD
# Creates process.fullPatMetSequencePuppi
# With metType = 'Puppi', slimmedJetsPuppi is automatically selected as the jet source for type 1
runMetCorAndUncFromMiniAOD(process,
                           isData=options.isData,
                           metType='Puppi',
                           pfCandColl='puppiForMET',
                           recoMetFromPFCs=True,
                           jetFlavor='AK4PFPuppi',
                           postfix='Puppi')
# There is a bug in a function used by runMetCorAndUncFromMiniAOD (PhysicsTools.PatAlgos.tools.removeIfInSequence)
# The following module is supposed to be removed from the sequence but is not
Esempio n. 2
0
for idmod in photonIdModules:
    setupAllVIDIdsInModule(process, idmod, setupVIDPhotonSelection)

process.load('PandaProd.Auxiliary.WorstIsolationProducer_cfi')

egmIdSequence = cms.Sequence(process.photonIDValueMapProducer +
                             process.egmPhotonIDs +
                             process.electronMVAValueMapProducer +
                             process.egmGsfElectronIDs +
                             process.worstIsolationProducer)

### REMAKE CHS JETS WITH DEEP FLAVOR

from PandaProd.Producer.utils.makeJets_cff import makeJets

slimmedJetsSequence = makeJets(process, options.isData, 'AK4PFchs', 'pfCHS',
                               'DeepFlavor')

if options.redojec:
    ### JET RE-CORRECTION
    from PhysicsTools.PatAlgos.producersLayer1.jetUpdater_cff import updatedPatJetCorrFactors, updatedPatJets

    jecLevels = ['L1FastJet', 'L2Relative', 'L3Absolute']
    if options.isData:
        jecLevels.append('L2L3Residual')

    # slimmedJets made from scratch
    #process.updatedPatJetCorrFactors = updatedPatJetCorrFactors.clone(
    #    src = cms.InputTag('slimmedJets', '', cms.InputTag.skipCurrentProcess()),
    #    levels = cms.vstring(*jecLevels),
    #)
    #
Esempio n. 3
0
# *UGLY* also runs switchOnVIDPhotonIdProducer and sets up photon id Spring16_V2p2 internally
# which loads photonIDValueMapProducer and egmPhotonIDs
makePuppiesFromMiniAOD(process, createScheduledSequence=True)

# Just renaming
puppiSequence = process.puppiMETSequence

# override photon ID to be consistent
process.puppiPhoton.photonId = 'egmPhotonIDs:cutBasedPhotonID-Spring16-V2p2-loose'
process.puppiForMET.photonId = 'egmPhotonIDs:cutBasedPhotonID-Spring16-V2p2-loose'

### PUPPI JET

from PandaProd.Producer.utils.makeJets_cff import makeJets

puppiJetSequence = makeJets(process, options.isData, 'AK4PFPuppi', 'puppi',
                            'Puppi')

### PUPPI MET

# Creates process.fullPatMetSequencePuppi
# With metType = 'Puppi', slimmedJetsPuppi is automatically selected as the jet source for type 1
runMetCorAndUncFromMiniAOD(process,
                           isData=options.isData,
                           metType='Puppi',
                           pfCandColl='puppiForMET',
                           recoMetFromPFCs=True,
                           jetFlavor='AK4PFPuppi',
                           postfix='Puppi')
# There is a bug in a function used by runMetCorAndUncFromMiniAOD (PhysicsTools.PatAlgos.tools.removeIfInSequence)
# The following module is supposed to be removed from the sequence but is not
# The bug appears when we don't call the no-postfix version of runMetCor.. first
Esempio n. 4
0
setupAllVIDIdsInModule(
    process,
    'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Spring15_25ns_V1_cff',
    setupVIDElectronSelection)

egmIdSequence = cms.Sequence(process.photonIDValueMapProducer +
                             process.egmPhotonIDs + process.egmGsfElectronIDs)

### PUPPI
process.load('PandaProd.Producer.utils.puppi_cff')
from PandaProd.Producer.utils.puppi_cff import puppiSequence

### RECLUSTER PUPPI JET
from PandaProd.Producer.utils.makeJets_cff import makeJets

puppiJetSequence = makeJets(process, False, 'AK4PFPuppi', 'puppiForMET',
                            'Puppi')

### JET RE-CORRECTION, TAGGING, AND SLIMMING
from PhysicsTools.PatAlgos.producersLayer1.jetUpdater_cff import updatedPatJetCorrFactors, updatedPatJets

process.updatedPatJetCorrFactors = updatedPatJetCorrFactors.clone(
    src=cms.InputTag('slimmedJets', '', cms.InputTag.skipCurrentProcess()),
    levels=cms.vstring(*jecLevels),
)

from RecoJets.JetProducers.QGTagger_cfi import QGTagger

process.slimmedJets = updatedPatJets.clone(
    jetSource=cms.InputTag('slimmedJets', '',
                           cms.InputTag.skipCurrentProcess()),
    addJetCorrFactors=cms.bool(True),