Ejemplo n.º 1
0
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
Ejemplo n.º 3
0
    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
#
Ejemplo n.º 4
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)
                                                            )
      
    process.out.outputCommands.append( 'keep double_*' + postfix + '*_*_' + process.name_() )
Ejemplo n.º 5
0
    "(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),
Ejemplo n.º 7
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),
Ejemplo n.º 8
0
# 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",
Ejemplo n.º 10
0
# 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')