def addPFTypeIMet(process): from JetMETCorrections.Type1MET.MetType1Corrections_cff import metJESCorAK5PFJet process.metJESCorAK5PFTypeI = metJESCorAK5PFJet.clone( inputUncorJetsLabel = "patJetsPF", metType = "pat", inputUncorMetLabel = "pfMet", ) process.patMETsTypeIPF = process.patMETsPF.clone( metSource = cms.InputTag("metJESCorAK5PFTypeI") ) # Add to producersLayer1 sequence process.patDefaultSequencePF.replace( process.patMETsPF, process.patMETsPF+ process.metJESCorAK5PFTypeI+ process.patMETsTypeIPF )
"selectedPatMuonsTrkIPcumulative", "selectedPatTausMuonVetoCumulative", "ak5PFJetsAntiOverlapWithLeptonsVeto" ), dRmin = cms.double(0.5), filter = cms.bool(False) ) from JetMETCorrections.Type1MET.MetType1Corrections_cff import metJESCorAK5PFJet from JetMETCorrections.Configuration.JetCorrectionServices_cff import * pfMEtType1and2corrected = metJESCorAK5PFJet.clone( inputUncorJetsLabel = cms.string('ak5PFJetsAntiOverlapWithLeptonsVeto'), metType = cms.string("PFMET"), inputUncorMetLabel = cms.string('pfMet'), jetPTthreshold = cms.double(10.0), useTypeII = cms.bool(True), UscaleA = cms.double(1.5), UscaleB = cms.double(0.0), UscaleC = cms.double(0.0), inputUncorUnlusteredLabel = cms.untracked.InputTag('pfUnclusteredCandidates'), corrector = cms.string('ak5PFL2L3') ) from PhysicsTools.PatAlgos.producersLayer1.metProducer_cfi import * patPFtype1METs = patMETs.clone( metSource = cms.InputTag('pfMEtType1and2corrected'), addMuonCorrections = cms.bool(False), genMETSource = cms.InputTag('genMetTrue') ) # # produce collections of pat::(Calo)MET objects # passing different selection criteria
src=cms.InputTag('particleFlow'), srcNotToBeFiltered=cms.VInputTag("selectedPatElectronsTrkIPcumulative", "selectedPatMuonsTrkIPcumulative", "selectedPatTausMuonVetoCumulative", "ak5PFJetsAntiOverlapWithLeptonsVeto"), dRmin=cms.double(0.5), filter=cms.bool(False)) from JetMETCorrections.Type1MET.MetType1Corrections_cff import metJESCorAK5PFJet from JetMETCorrections.Configuration.JetCorrectionServices_cff import * pfMEtType1and2corrected = metJESCorAK5PFJet.clone( inputUncorJetsLabel=cms.string('ak5PFJetsAntiOverlapWithLeptonsVeto'), metType=cms.string("PFMET"), inputUncorMetLabel=cms.string('pfMet'), jetPTthreshold=cms.double(10.0), useTypeII=cms.bool(True), UscaleA=cms.double(1.5), UscaleB=cms.double(0.0), UscaleC=cms.double(0.0), inputUncorUnlusteredLabel=cms.untracked.InputTag( 'pfUnclusteredCandidates'), corrector=cms.string('ak5PFL2L3')) from PhysicsTools.PatAlgos.producersLayer1.metProducer_cfi import * patPFtype1METs = patMETs.clone( metSource=cms.InputTag('pfMEtType1and2corrected'), addMuonCorrections=cms.bool(False), genMETSource=cms.InputTag('genMetTrue')) # # produce collections of pat::(Calo)MET objects # passing different selection criteria #
) applyPostfix( process, 'patJetCorrFactors', postfix ).rho = cms.InputTag( 'kt6PFJets' + postfix, 'rho' ) if useType1Met: # addPfMET TypeI pfMEtCorrector = None if runOnMC: pfMEtCorrector = "ak5PFL2L3" #pfMEtCorrector = "ak5PFL1FastL2L3" ## crashes else: pfMEtCorrector = "ak5PFL2L3Residual" #pfMEtCorrector = "ak5PFL1FastL2L3Residual" ## crashes from JetMETCorrections.Type1MET.MetType1Corrections_cff import metJESCorAK5PFJet metJESCorAK5PFTypeI = metJESCorAK5PFJet.clone( inputUncorJetsLabel = "patJetsPF", metType = "pat", inputUncorMetLabel = "pfMet", ) metJESCorAK5PFTypeI.inputUncorJetsLabel = cms.string( 'patJets' + postfix ) metJESCorAK5PFTypeI.jetPTthreshold = cms.double(10.0) metJESCorAK5PFTypeI.corrector = cms.string(pfMEtCorrector) setattr(process,'metJESCorAK5PFTypeI'+postfix,metJESCorAK5PFTypeI) patMETsTypeI = applyPostfix( process, 'patMETs', postfix ).clone( metSource = cms.InputTag( 'metJESCorAK5PFTypeI' + postfix ) ) setattr(process,'patMETsTypeI'+postfix,patMETsTypeI) # Add to producersLayer1 sequence getattr( process, 'patPF2PATSequence' + postfix ).replace(getattr(process, 'patMETs'+postfix), getattr(process, 'patMETs'+postfix)+getattr(process, 'metJESCorAK5PFTypeI'+postfix)+getattr(process, 'patMETsTypeI'+postfix) ) process.out.outputCommands.append( 'keep double_*' + postfix + '*_*_' + process.name_() )
"(isEE || isEB) && !isEBEEGap &&" + # "gsfTrackRef().isNonnull && gsfTrackRef().trackerExpectedHitsInner().numberOfHits <= 0 &&" + "electronID('simpleEleId95cIso') == 7" ) #-- MET ------------------------------------------------------------------------ # Switch to using PFMET switchToPFMET(process, cms.InputTag('pfMet'), "") # Add PFMET Type-1 corrections from JetMETCorrections.Type1MET.MetType1Corrections_cff import metJESCorAK5PFJet process.metJESCorAK5PF = metJESCorAK5PFJet.clone( inputUncorMetLabel = 'pfMet', inputUncorJetsLabel = 'ak5PFJets', metType = 'PFMET', useTypeII = False, jetPTthreshold = cms.double(10.0), ) process.patMETsType1 = process.patMETs.clone( metSource = cms.InputTag("metJESCorAK5PF") ) process.patDefaultSequence.replace(process.patMETs, process.patMETs+process.metJESCorAK5PF+process.patMETsType1) #-- Jets ----------------------------------------------------------------------- # L1 FastJet jet corrections # kt jets for fastjet corrections (needed for CMSSW < 4_2_0)
#process.selectedPatJetsForMETtype1p2Corr.src =cms.InputTag('selectedPatJetsPF2PAT') #process.selectedPatJetsForMETtype2Corr.src =cms.InputTag('selectedPatJetsPF2PAT') #process.patPFJetMETtype1p2Corr.type1JetPtThreshold = cms.double(10.0) #process.patPFJetMETtype1p2Corr.skipEM = cms.bool(False) #process.patPFJetMETtype1p2Corr.skipMuons = cms.bool(False) ##### Extra MET collections######## from JetMETCorrections.Type1MET.MetType1Corrections_cff import metJESCorAK5PFJet #pfMET TypeI process.metJESCorAK5PFTypeI = metJESCorAK5PFJet.clone( inputUncorJetsLabel= "pfJetsPF2PAT", #is uncorrected since correction is performed at pat level!!!!!!! metType="PFMET", inputUncorMetLabel="pfMETPF2PAT", useTypeII=False, jetPTthreshold=cms.double(10.0), #corrector = cms.string('ak5PFL1FastL2L3') ) process.patMETsTypeIPF = process.patMETsPF2PAT.clone( metSource=cms.InputTag("metJESCorAK5PFTypeI")) process.metJESCorAK5PFTypeII = metJESCorAK5PFJet.clone( inputUncorJetsLabel= "pfJetsPF2PAT", #is uncorrected since correction is performed at pat level!!!!!!! metType="PFMET", inputUncorMetLabel="pfMETPF2PAT", useTypeII=True, jetPTthreshold=cms.double(10.0),
) applyPostfix(process, "patJetCorrFactors", postfix).rho = cms.InputTag("kt6PFJets" + postfix, "rho") if useType1Met: # addPfMET TypeI pfMEtCorrector = None if runOnMC: pfMEtCorrector = "ak5PFL2L3" # pfMEtCorrector = "ak5PFL1FastL2L3" ## crashes else: pfMEtCorrector = "ak5PFL2L3Residual" # pfMEtCorrector = "ak5PFL1FastL2L3Residual" ## crashes from JetMETCorrections.Type1MET.MetType1Corrections_cff import metJESCorAK5PFJet metJESCorAK5PFTypeI = metJESCorAK5PFJet.clone( inputUncorJetsLabel="patJetsPF", metType="pat", inputUncorMetLabel="pfMet" ) metJESCorAK5PFTypeI.inputUncorJetsLabel = cms.string("patJets" + postfix) metJESCorAK5PFTypeI.jetPTthreshold = cms.double(10.0) metJESCorAK5PFTypeI.corrector = cms.string(pfMEtCorrector) setattr(process, "metJESCorAK5PFTypeI" + postfix, metJESCorAK5PFTypeI) patMETsTypeI = applyPostfix(process, "patMETs", postfix).clone( metSource=cms.InputTag("metJESCorAK5PFTypeI" + postfix) ) setattr(process, "patMETsTypeI" + postfix, patMETsTypeI) # Add to producersLayer1 sequence getattr(process, "patPF2PATSequence" + postfix).replace( getattr(process, "patMETs" + postfix), getattr(process, "patMETs" + postfix) + getattr(process, "metJESCorAK5PFTypeI" + postfix) + getattr(process, "patMETsTypeI" + postfix),
# KFactor # process.load('HiggsAnalysis.HiggsToWW2Leptons.HWWKFactorProducer_cfi') # For Rho lepton Isolation process.load("RecoJets.JetProducers.kt4PFJets_cfi") process.kt6PFJets = process.kt4PFJets.clone(rParam=0.6, doRhoFastjet=True) process.kt6PFJets.Rho_EtaMax = cms.double(2.5) ##### Extra MET collections######## from JetMETCorrections.Type1MET.MetType1Corrections_cff import metJESCorAK5PFJet # pfMET TypeI process.metJESCorAK5PFTypeI = metJESCorAK5PFJet.clone( inputUncorJetsLabel="patJetsPF", metType="pat", inputUncorMetLabel="pfMet", useTypeII=False, jetPTthreshold=cms.double(6.0), ) process.patMETsTypeIPF = process.patMETsPF.clone(metSource=cms.InputTag("metJESCorAK5PFTypeI")) # PF no PU process.pfMETPFnoPU = process.pfMETPF.clone(src=cms.InputTag("pfNoPileUpPF"), alias=cms.string("PFMETnoPU")) process.patMETsPFNoPU = process.patMETsPF.clone(metSource=cms.InputTag("pfMETPFnoPU")) # pfMET NoPU TypeI process.metJESCorAK5PFNoPUTypeI = process.metJESCorAK5PFJet.clone( inputUncorJetsLabel="patJetsPF", metType="pat", inputUncorMetLabel="pfMETPFnoPU", useTypeII=False,
#process.patPFJetMETtype1p2Corr.skipEM = cms.bool(False) #process.patPFJetMETtype1p2Corr.skipMuons = cms.bool(False) ##### Extra MET collections######## from JetMETCorrections.Type1MET.MetType1Corrections_cff import metJESCorAK5PFJet #pfMET TypeI process.metJESCorAK5PFTypeI = metJESCorAK5PFJet.clone( inputUncorJetsLabel = "pfJetsPF2PAT", #is uncorrected since correction is performed at pat level!!!!!!! metType = "PFMET", inputUncorMetLabel = "pfMETPF2PAT", useTypeII = False, jetPTthreshold = cms.double(10.0), #corrector = cms.string('ak5PFL1FastL2L3') ) process.patMETsTypeIPF = process.patMETsPF2PAT.clone( metSource = cms.InputTag("metJESCorAK5PFTypeI") ) process.metJESCorAK5PFTypeII = metJESCorAK5PFJet.clone( inputUncorJetsLabel = "pfJetsPF2PAT", #is uncorrected since correction is performed at pat level!!!!!!! metType = "PFMET",
# Default is loose cut, use tightQuality if you want tight cut. process.jetIdCut = cms.EDFilter("RSPFJetIdSelector", jets = cms.InputTag("ak5PFJets"), correctorName = cms.string("ak5PFL2L3"), threshold = cms.double(thiagoSmallJetPtCut), filter = cms.bool(False), tightQuality = cms.bool(False) ) ############### # Corrections # ############### # Type 1 PFMET from JetMETCorrections.Type1MET.MetType1Corrections_cff import metJESCorAK5PFJet process.metJESCorPFAK5 = metJESCorAK5PFJet.clone() process.metJESCorPFAK5.inputUncorJetsLabel = "ak5PFJets" process.metJESCorPFAK5.metType = "PFMET" process.metJESCorPFAK5.inputUncorMetLabel = "pfMet" process.metJESCorPFAK5.useTypeII = False process.metJESCorPFAK5.jetPTthreshold = cms.double(thiagoSmallJetPtCut) # Jet corrections process.load('JetMETCorrections.Configuration.DefaultJEC_cff') process.ak5PFL2Relative.useCondDB = False process.ak5PFL3Absolute.useCondDB = False #process.ak7CaloResidual.useCondDB = False process.myL2L3CorJetAK5PF = cms.EDProducer('PFJetCorrectionProducer', src = cms.InputTag('jetIdCut'), correctors = cms.vstring('ak5PFL2L3')