예제 #1
0
    dqmAk4PFCHSL1FastL2L3Corrector)

jetPreDQMTask = cms.Task(ak4CaloL2RelativeCorrector,
                         ak4CaloL3AbsoluteCorrector, ak4PFL1FastjetCorrector,
                         ak4PFL2RelativeCorrector, ak4PFL3AbsoluteCorrector,
                         ak4PFCHSL1FastjetCorrector,
                         ak4PFCHSL2RelativeCorrector,
                         ak4PFCHSL3AbsoluteCorrector)
jetPreDQMSeq = cms.Sequence(jetPreDQMTask)

from JetMETCorrections.Type1MET.correctedMet_cff import pfMetT1
from JetMETCorrections.Type1MET.correctionTermsPfMetType0PFCandidate_cff import *
from JetMETCorrections.Type1MET.correctionTermsPfMetType1Type2_cff import corrPfMetType1

dqmCorrPfMetType1 = corrPfMetType1.clone(
    jetCorrLabel='dqmAk4PFCHSL1FastL2L3Corrector',
    jetCorrLabelRes='dqmAk4PFCHSL1FastL2L3Corrector')
pfMETT1 = pfMetT1.clone(srcCorrections=('dqmCorrPfMetType1:type1', ))

jetDQMAnalyzerAk4CaloUncleanedMC = jetDQMAnalyzerAk4CaloUncleaned.clone(
    JetCorrections="dqmAk4CaloL2L3Corrector")
jetDQMAnalyzerAk4CaloCleanedMC = jetDQMAnalyzerAk4CaloCleaned.clone(
    JetCorrections="dqmAk4CaloL2L3Corrector")
jetDQMAnalyzerAk4PFUncleanedMC = jetDQMAnalyzerAk4PFUncleaned.clone(
    JetCorrections="dqmAk4PFL1FastL2L3Corrector")
jetDQMAnalyzerAk4PFCleanedMC = jetDQMAnalyzerAk4PFCleaned.clone(
    JetCorrections="dqmAk4PFL1FastL2L3Corrector")
jetDQMAnalyzerAk4PFCHSCleanedMC = jetDQMAnalyzerAk4PFCHSCleaned.clone(
    JetCorrections="dqmAk4PFCHSL1FastL2L3Corrector")

caloMetDQMAnalyzerMC = caloMetDQMAnalyzer.clone(
예제 #2
0
    dqmAk4PFCHSL1FastL2L3Corrector)

jetPreDQMTask = cms.Task(ak4CaloL2RelativeCorrector,
                         ak4CaloL3AbsoluteCorrector, ak4PFL1FastjetCorrector,
                         ak4PFL2RelativeCorrector, ak4PFL3AbsoluteCorrector,
                         ak4PFCHSL1FastjetCorrector,
                         ak4PFCHSL2RelativeCorrector,
                         ak4PFCHSL3AbsoluteCorrector)
jetPreDQMSeq = cms.Sequence(jetPreDQMTask)

from JetMETCorrections.Type1MET.correctedMet_cff import pfMetT1
from JetMETCorrections.Type1MET.correctionTermsPfMetType0PFCandidate_cff import *
from JetMETCorrections.Type1MET.correctionTermsPfMetType1Type2_cff import corrPfMetType1

dqmCorrPfMetType1 = corrPfMetType1.clone(
    jetCorrLabel=cms.InputTag('dqmAk4PFCHSL1FastL2L3Corrector'),
    jetCorrLabelRes=cms.InputTag('dqmAk4PFCHSL1FastL2L3Corrector'))
pfMETT1 = pfMetT1.clone(
    srcCorrections=cms.VInputTag(cms.InputTag('dqmCorrPfMetType1', 'type1')))

jetDQMAnalyzerAk4CaloUncleanedMC = jetDQMAnalyzerAk4CaloUncleaned.clone(
    JetCorrections=cms.InputTag("dqmAk4CaloL2L3Corrector"))
jetDQMAnalyzerAk4CaloCleanedMC = jetDQMAnalyzerAk4CaloCleaned.clone(
    JetCorrections=cms.InputTag("dqmAk4CaloL2L3Corrector"))
jetDQMAnalyzerAk4PFUncleanedMC = jetDQMAnalyzerAk4PFUncleaned.clone(
    JetCorrections=cms.InputTag("dqmAk4PFL1FastL2L3Corrector"))
jetDQMAnalyzerAk4PFCleanedMC = jetDQMAnalyzerAk4PFCleaned.clone(
    JetCorrections=cms.InputTag("dqmAk4PFL1FastL2L3Corrector"))
jetDQMAnalyzerAk4PFCHSCleanedMC = jetDQMAnalyzerAk4PFCHSCleaned.clone(
    JetCorrections=cms.InputTag("dqmAk4PFCHSL1FastL2L3Corrector"))
예제 #3
0
dqmAk4PFCHSL1FastL2L3Corrector = ak4PFCHSL1FastL2L3Corrector.clone()
dqmAk4PFCHSL1FastL2L3CorrectorChain = cms.Sequence(
    #ak4PFCHSL1FastjetCorrector*ak4PFCHSL2RelativeCorrector*ak4PFCHSL3AbsoluteCorrector
    dqmAk4PFCHSL1FastL2L3Corrector
)

jetPreDQMSeq=cms.Sequence(ak4CaloL2RelativeCorrector*ak4CaloL3AbsoluteCorrector*
                          ak4PFL1FastjetCorrector*ak4PFL2RelativeCorrector*ak4PFL3AbsoluteCorrector*
                          ak4PFCHSL1FastjetCorrector*ak4PFCHSL2RelativeCorrector*ak4PFCHSL3AbsoluteCorrector)

from JetMETCorrections.Type1MET.correctedMet_cff import pfMetT1
from JetMETCorrections.Type1MET.correctionTermsPfMetType0PFCandidate_cff import *
from JetMETCorrections.Type1MET.correctionTermsPfMetType1Type2_cff import corrPfMetType1

dqmCorrPfMetType1=corrPfMetType1.clone(jetCorrLabel = cms.InputTag('dqmAk4PFCHSL1FastL2L3Corrector'),
                                       jetCorrLabelRes = cms.InputTag('dqmAk4PFCHSL1FastL2L3Corrector')
                                       )
pfMETT1=pfMetT1.clone(srcCorrections = cms.VInputTag(
        cms.InputTag('dqmCorrPfMetType1', 'type1')
    ))

jetDQMAnalyzerAk4CaloUncleanedMC=jetDQMAnalyzerAk4CaloUncleaned.clone(JetCorrections  = cms.InputTag("dqmAk4CaloL2L3Corrector"))
jetDQMAnalyzerAk4CaloCleanedMC=jetDQMAnalyzerAk4CaloCleaned.clone(JetCorrections    = cms.InputTag("dqmAk4CaloL2L3Corrector"))
jetDQMAnalyzerAk4PFUncleanedMC=jetDQMAnalyzerAk4PFUncleaned.clone(JetCorrections    = cms.InputTag("dqmAk4PFL1FastL2L3Corrector"))
jetDQMAnalyzerAk4PFCleanedMC=jetDQMAnalyzerAk4PFCleaned.clone(JetCorrections      = cms.InputTag("dqmAk4PFL1FastL2L3Corrector"))
jetDQMAnalyzerAk4PFCHSCleanedMC=jetDQMAnalyzerAk4PFCHSCleaned.clone(JetCorrections   = cms.InputTag("dqmAk4PFCHSL1FastL2L3Corrector"))

caloMetDQMAnalyzerMC=caloMetDQMAnalyzer.clone(JetCorrections    = cms.InputTag("dqmAk4CaloL2L3Corrector"))
pfMetDQMAnalyzerMC=pfMetDQMAnalyzer.clone(JetCorrections      = cms.InputTag("dqmAk4PFL1FastL2L3Corrector"))
pfMetT1DQMAnalyzerMC=pfMetT1DQMAnalyzer.clone(JetCorrections    = cms.InputTag("dqmAk4PFCHSL1FastL2L3Corrector"))
예제 #4
0
    #ak4PFCHSL1FastjetCorrector*ak4PFCHSL2RelativeCorrector*ak4PFCHSL3AbsoluteCorrector*ak4PFCHSResidualCorrector
    dqmAk4PFCHSL1FastL2L3ResidualCorrector)

jetPreDQMSeq = cms.Sequence(
    ak4CaloL2RelativeCorrector * ak4CaloL3AbsoluteCorrector *
    ak4CaloResidualCorrector * ak4PFL1FastjetCorrector *
    ak4PFL2RelativeCorrector * ak4PFL3AbsoluteCorrector *
    ak4PFResidualCorrector * ak4PFCHSL1FastjetCorrector *
    ak4PFCHSL2RelativeCorrector * ak4PFCHSL3AbsoluteCorrector *
    ak4PFCHSResidualCorrector)

from JetMETCorrections.Type1MET.correctedMet_cff import pfMetT1
from JetMETCorrections.Type1MET.correctionTermsPfMetType0PFCandidate_cff import *
from JetMETCorrections.Type1MET.correctionTermsPfMetType1Type2_cff import corrPfMetType1

dqmCorrPfMetType1 = corrPfMetType1.clone(
    jetCorrLabel=cms.InputTag('dqmAk4PFL1FastL2L3ResidualCorrector'))
pfMETT1 = pfMetT1.clone(
    srcCorrections=cms.VInputTag(cms.InputTag('dqmCorrPfMetType1', 'type1')))

jetMETDQMOfflineSource = cms.Sequence(
    HBHENoiseFilterResultProducer * goodOfflinePrimaryVerticesDQM *
    AnalyzeSUSYDQM * QGTagger * pileupJetIdCalculatorCHSDQM *
    pileupJetIdEvaluatorCHSDQM * pileupJetIdCalculatorDQM *
    pileupJetIdEvaluatorDQM * jetPreDQMSeq *
    dqmAk4CaloL2L3ResidualCorrectorChain *
    dqmAk4PFL1FastL2L3ResidualCorrectorChain *
    dqmAk4PFCHSL1FastL2L3ResidualCorrectorChain * dqmCorrPfMetType1 * pfMETT1 *
    jetDQMAnalyzerSequence * METDQMAnalyzerSequence)
jetMETDQMOfflineSourceMiniAOD = cms.Sequence(
    goodOfflinePrimaryVerticesDQMforMiniAOD * jetDQMAnalyzerSequenceMiniAOD *
    METDQMAnalyzerSequenceMiniAOD)
예제 #5
0
def setup_jets_mets_(process, isData, bTagDiscriminators):
    """
    Create a new jets collection and a new MET collection with new JECs applied

    Return a tuple of newly created collections (jet, met)
    """

    # Jets

    add_ak4_chs_jets_(process, isData, bTagDiscriminators)

    # b-tagging information. From
    # https://github.com/cms-sw/cmssw/blob/CMSSW_7_4_X/PhysicsTools/PatAlgos/python/slimming/miniAOD_tools.py#L130
    process.patJetsAK4PFCHS.userData.userFunctions = cms.vstring(
            '?(tagInfoCandSecondaryVertex("pfSecondaryVertex").nVertices()>0)?(tagInfoCandSecondaryVertex("pfSecondaryVertex").secondaryVertex(0).p4.M):(0)',
            '?(tagInfoCandSecondaryVertex("pfSecondaryVertex").nVertices()>0)?(tagInfoCandSecondaryVertex("pfSecondaryVertex").secondaryVertex(0).numberOfSourceCandidatePtrs):(0)',
            '?(tagInfoCandSecondaryVertex("pfSecondaryVertex").nVertices()>0)?(tagInfoCandSecondaryVertex("pfSecondaryVertex").flightDistance(0).value):(0)',
            '?(tagInfoCandSecondaryVertex("pfSecondaryVertex").nVertices()>0)?(tagInfoCandSecondaryVertex("pfSecondaryVertex").flightDistance(0).significance):(0)',
            '?(tagInfoCandSecondaryVertex("pfSecondaryVertex").nVertices()>0)?(tagInfoCandSecondaryVertex("pfSecondaryVertex").secondaryVertex(0).p4.x):(0)',
            '?(tagInfoCandSecondaryVertex("pfSecondaryVertex").nVertices()>0)?(tagInfoCandSecondaryVertex("pfSecondaryVertex").secondaryVertex(0).p4.y):(0)',
            '?(tagInfoCandSecondaryVertex("pfSecondaryVertex").nVertices()>0)?(tagInfoCandSecondaryVertex("pfSecondaryVertex").secondaryVertex(0).p4.z):(0)',
            '?(tagInfoCandSecondaryVertex("pfSecondaryVertex").nVertices()>0)?(tagInfoCandSecondaryVertex("pfSecondaryVertex").secondaryVertex(0).vertex.x):(0)',
            '?(tagInfoCandSecondaryVertex("pfSecondaryVertex").nVertices()>0)?(tagInfoCandSecondaryVertex("pfSecondaryVertex").secondaryVertex(0).vertex.y):(0)',
            '?(tagInfoCandSecondaryVertex("pfSecondaryVertex").nVertices()>0)?(tagInfoCandSecondaryVertex("pfSecondaryVertex").secondaryVertex(0).vertex.z):(0)',
            )
    process.patJetsAK4PFCHS.userData.userFunctionLabels = cms.vstring('vtxMass','vtxNtracks','vtx3DVal','vtx3DSig','vtxPx','vtxPy','vtxPz','vtxPosX','vtxPosY','vtxPosZ')
    process.patJetsAK4PFCHS.tagInfoSources = cms.VInputTag(cms.InputTag("pfSecondaryVertexTagInfosAK4PFCHS"))
    process.patJetsAK4PFCHS.addTagInfos = cms.bool(True)

    # Pile-up jet id
    process.load('RecoJets.JetProducers.PileupJetID_cfi')
    process.pileupJetId.applyJec = False
    process.pileupJetId.vertexes = cms.InputTag('offlineSlimmedPrimaryVertices')
    process.patJetsAK4PFCHS.userData.userFloats.src = [ cms.InputTag("pileupJetId:fullDiscriminant"), ]

    # MET
    from PhysicsTools.PatAlgos.tools.metTools import addMETCollection

    ## Gen MET
    if not isData:
        process.genMetExtractor = cms.EDProducer("GenMETExtractor",
                metSource = cms.InputTag("slimmedMETs", "" , cms.InputTag.skipCurrentProcess())
                )

    # MET is done from all PF candidates, and Type-I corrections are computed from CHS ak4 PF jets
    # https://twiki.cern.ch/twiki/bin/viewauth/CMS/MissingETRun2Corrections#type_1_PF_MET_recommended

    ## Raw PF METs
    process.load('RecoMET.METProducers.PFMET_cfi')

    process.pfMet.src = cms.InputTag('packedPFCandidates')
    addMETCollection(process, labelName='patPFMet', metSource='pfMet') # RAW MET
    process.patPFMet.addGenMET = False

    ## Type 1 corrections
    process.load('JetMETCorrections.Configuration.JetCorrectors_cff')
    from JetMETCorrections.Type1MET.correctionTermsPfMetType1Type2_cff import corrPfMetType1
    from JetMETCorrections.Type1MET.correctedMet_cff import pfMetT1

    process.corrPfMetType1 = corrPfMetType1.clone(
        src = 'ak4PFJetsCHS',
        jetCorrLabel = 'ak4PFCHSL1FastL2L3Corrector' if not isData else 'ak4PFCHSL1FastL2L3ResidualCorrector',
        offsetCorrLabel = 'ak4PFCHSL1FastjetCorrector',
        type1JetPtThreshold = cms.double(15.0)
    )
    process.pfMetT1 = pfMetT1.clone(
        src = 'pfMet',
        srcCorrections = [cms.InputTag("corrPfMetType1", "type1")]
    )

    addMETCollection(process, labelName='patMET', metSource='pfMetT1') # T1 MET
    process.patMET.addGenMET = False

    ## Slimmed METs

    from PhysicsTools.PatAlgos.slimming.slimmedMETs_cfi import slimmedMETs
    #### CaloMET is not available in MiniAOD
    del slimmedMETs.caloMET

    process.slimmedMETs = slimmedMETs.clone()

    process.patMET.addGenMET = not isData
    if not isData:
        process.patMET.genMETSource = cms.InputTag("genMetExtractor")
    process.slimmedMETs.src = cms.InputTag("patMET")
    process.slimmedMETs.rawVariation = cms.InputTag("patPFMet") # only central value

    # Only central values are available
    configure_slimmedmet_(process.slimmedMETs)

    process.slimmedJetsNewJEC = process.selectedPatJetsAK4PFCHS.clone()
    process.slimmedMETsNewJEC = process.slimmedMETs.clone()

    return ('slimmedJetsNewJEC', 'slimmedMETsNewJEC')
예제 #6
0
from JetMETCorrections.Configuration.JetCorrectors_cff import ak4PFCHSL1FastL2L3ResidualCorrectorChain,ak4PFCHSL1FastL2L3ResidualCorrector,ak4PFCHSResidualCorrector,ak4PFCHSL3AbsoluteCorrector,ak4PFCHSL2RelativeCorrector,ak4PFCHSL1FastjetCorrector

dqmAk4PFCHSL1FastL2L3ResidualCorrector = ak4PFCHSL1FastL2L3ResidualCorrector.clone()
dqmAk4PFCHSL1FastL2L3ResidualCorrectorChain = cms.Sequence(
    #ak4PFCHSL1FastjetCorrector*ak4PFCHSL2RelativeCorrector*ak4PFCHSL3AbsoluteCorrector*ak4PFCHSResidualCorrector
    dqmAk4PFCHSL1FastL2L3ResidualCorrector
)

jetPreDQMSeq=cms.Sequence(ak4CaloL2RelativeCorrector*ak4CaloL3AbsoluteCorrector*ak4CaloResidualCorrector*
                          ak4PFL1FastjetCorrector*ak4PFL2RelativeCorrector*ak4PFL3AbsoluteCorrector*ak4PFResidualCorrector*
                          ak4PFCHSL1FastjetCorrector*ak4PFCHSL2RelativeCorrector*ak4PFCHSL3AbsoluteCorrector*ak4PFCHSResidualCorrector)

from JetMETCorrections.Type1MET.correctedMet_cff import pfMetT1
from JetMETCorrections.Type1MET.correctionTermsPfMetType0PFCandidate_cff import *
from JetMETCorrections.Type1MET.correctionTermsPfMetType1Type2_cff import corrPfMetType1

dqmCorrPfMetType1=corrPfMetType1.clone(jetCorrLabel = cms.InputTag('dqmAk4PFL1FastL2L3ResidualCorrector'))
pfMETT1=pfMetT1.clone(srcCorrections = cms.VInputTag(
        cms.InputTag('dqmCorrPfMetType1', 'type1')
        ))

jetMETDQMOfflineSource = cms.Sequence(HBHENoiseFilterResultProducer*goodOfflinePrimaryVerticesDQM*AnalyzeSUSYDQM*QGTagger*
                                      pileupJetIdCalculatorCHSDQM*pileupJetIdEvaluatorCHSDQM*
                                      pileupJetIdCalculatorDQM*pileupJetIdEvaluatorDQM*
                                      jetPreDQMSeq*
                                      dqmAk4CaloL2L3ResidualCorrectorChain*dqmAk4PFL1FastL2L3ResidualCorrectorChain*dqmAk4PFCHSL1FastL2L3ResidualCorrectorChain*
                                      dqmCorrPfMetType1*pfMETT1*
                                      jetDQMAnalyzerSequence*METDQMAnalyzerSequence)
jetMETDQMOfflineSourceMiniAOD = cms.Sequence(goodOfflinePrimaryVerticesDQMforMiniAOD*jetDQMAnalyzerSequenceMiniAOD*METDQMAnalyzerSequenceMiniAOD)
예제 #7
0
def setup_nohf_met_(process, isData):
    from PhysicsTools.PatAlgos.tools.metTools import addMETCollection

    process.noHFCands = cms.EDFilter("CandPtrSelector",
            src=cms.InputTag("packedPFCandidates"),
            cut=cms.string("abs(pdgId)!=1 && abs(pdgId)!=2 && abs(eta)<3.0")
            )

    if not isData and not hasattr(process, 'genMetExtractor'):
        process.genMetExtractor = cms.EDProducer("GenMETExtractor",
                metSource = cms.InputTag("slimmedMETs", "" , cms.InputTag.skipCurrentProcess())
                )

    if not hasattr(process, 'pfMet'):
        from RecoMET.METProducers.PFMET_cfi import pfMet
        process.pfMetNoHF = pfMet.clone()
    else:
        process.pfMetNoHF = process.pfMet.clone()

    process.pfMetNoHF.calculateSignificance = False
    process.pfMetNoHF.src = cms.InputTag('noHFCands')
    addMETCollection(process, labelName='patPFMetNoHF', metSource='pfMetNoHF') # RAW MET
    process.patPFMetNoHF.addGenMET = False

    ## Type 1 corrections
    if not hasattr(process, 'ak4PFCHSL1FastL2L3Corrector'):
        process.load('JetMETCorrections.Configuration.JetCorrectors_cff')

    from JetMETCorrections.Type1MET.correctionTermsPfMetType1Type2_cff import corrPfMetType1
    from JetMETCorrections.Type1MET.correctedMet_cff import pfMetT1

    if not hasattr(process, 'ak4PFJetsCHS'):
        print("WARNING: No AK4 CHS jets produced. Type 1 corrections for MET are not available.")
    else:
        if not hasattr(process, 'corrPfMetType1'):
            process.corrPfMetType1 = corrPfMetType1.clone(
                src = 'ak4PFJetsCHS',
                jetCorrLabel = 'ak4PFCHSL1FastL2L3Corrector' if not isData else 'ak4PFCHSL1FastL2L3ResidualCorrector',
                offsetCorrLabel = 'ak4PFCHSL1FastjetCorrector'
            )

        process.pfMetT1NoHF = pfMetT1.clone(
            src = 'pfMetNoHF',
            srcCorrections = [cms.InputTag("corrPfMetType1", "type1")]
        )

        addMETCollection(process, labelName='patMETNoHF', metSource='pfMetT1NoHF') # T1 MET
        process.patMETNoHF.addGenMET = False

    ## Slimmed METs

    from PhysicsTools.PatAlgos.slimming.slimmedMETs_cfi import slimmedMETs
    #### CaloMET is not available in MiniAOD
    if hasattr(slimmedMETs, 'caloMET'):
        del slimmedMETs.caloMET

    process.slimmedMETsNoHF = slimmedMETs.clone()
    if hasattr(process, "patMETNoHF"):
        # Create MET from Type 1 PF collection
        process.patMETNoHF.addGenMET = not isData
        if not isData:
            process.patMETNoHF.genMETSource = cms.InputTag("genMetExtractor")
        process.slimmedMETsNoHF.src = cms.InputTag("patMETNoHF")
        process.slimmedMETsNoHF.rawUncertainties = cms.InputTag("patPFMetNoHF") # only central value
    else:
        # Create MET from RAW PF collection
        process.patPFMetNoHF.addGenMET = not isData
        if not isData:
            process.patPFMetNoHF.genMETSource = cms.InputTag("genMetExtractor")
        process.slimmedMETsNoHF.src = cms.InputTag("patPFMetNoHF")
        del process.slimmedMETsNoHF.rawUncertainties # not available

    del process.slimmedMETsNoHF.type1Uncertainties # not available
    del process.slimmedMETsNoHF.type1p2Uncertainties # not available
예제 #8
0
def setup_met_(process, isData):
    from PhysicsTools.PatAlgos.tools.metTools import addMETCollection

    ## Gen MET
    if not isData:
        process.genMetExtractor = cms.EDProducer("GenMETExtractor",
                metSource = cms.InputTag("slimmedMETs", "" , cms.InputTag.skipCurrentProcess())
                )

    # MET is done from all PF candidates, and Type-I corrections are computed from CHS ak4 PF jets
    # https://twiki.cern.ch/twiki/bin/viewauth/CMS/MissingETRun2Corrections#type_1_PF_MET_recommended

    ## Raw PF METs
    process.load('RecoMET.METProducers.PFMET_cfi')

    process.pfMet.src = cms.InputTag('packedPFCandidates')
    addMETCollection(process, labelName='patPFMet', metSource='pfMet') # RAW MET
    process.patPFMet.addGenMET = False

    ## Type 1 corrections
    process.load('JetMETCorrections.Configuration.JetCorrectors_cff')
    from JetMETCorrections.Type1MET.correctionTermsPfMetType1Type2_cff import corrPfMetType1
    from JetMETCorrections.Type1MET.correctedMet_cff import pfMetT1

    if not hasattr(process, 'ak4PFJetsCHS'):
        print("WARNING: No AK4 CHS jets produced. Type 1 corrections for MET are not available.")
    else:
        process.corrPfMetType1 = corrPfMetType1.clone(
            src = 'ak4PFJetsCHS',
            jetCorrLabel = 'ak4PFCHSL1FastL2L3Corrector' if not isData else 'ak4PFCHSL1FastL2L3ResidualCorrector',
            offsetCorrLabel = 'ak4PFCHSL1FastjetCorrector'
        )
        process.pfMetT1 = pfMetT1.clone(
            src = 'pfMet',
            srcCorrections = [cms.InputTag("corrPfMetType1", "type1")]
        )

        addMETCollection(process, labelName='patMET', metSource='pfMetT1') # T1 MET
        process.patMET.addGenMET = False

    ## Slimmed METs

    from PhysicsTools.PatAlgos.slimming.slimmedMETs_cfi import slimmedMETs
    #### CaloMET is not available in MiniAOD
    del slimmedMETs.caloMET

    process.slimmedMETs = slimmedMETs.clone()
    if hasattr(process, "patMET"):
        # Create MET from Type 1 PF collection
        process.patMET.addGenMET = not isData
        if not isData:
            process.patMET.genMETSource = cms.InputTag("genMetExtractor")
        process.slimmedMETs.src = cms.InputTag("patMET")
        process.slimmedMETs.rawUncertainties = cms.InputTag("patPFMet") # only central value
    else:
        # Create MET from RAW PF collection
        process.patPFMet.addGenMET = not isData
        if not isData:
            process.patPFMet.genMETSource = cms.InputTag("genMetExtractor")
        process.slimmedMETs.src = cms.InputTag("patPFMet")
        del process.slimmedMETs.rawUncertainties # not available

    del process.slimmedMETs.type1Uncertainties # not available
    del process.slimmedMETs.type1p2Uncertainties # not available
예제 #9
0
from JetMETCorrections.Type1MET.correctedMet_cff import pfMetT0pc,pfMetT0pcT1,pfMetT1
from JetMETCorrections.Type1MET.correctionTermsPfMetType0PFCandidate_cff import *
from JetMETCorrections.Type1MET.correctionTermsPfMetType1Type2_cff import corrPfMetType1

from JetMETCorrections.Configuration.JetCorrectors_cff import ak4PFL1FastL2L3CorrectorChain,ak4PFL1FastL2L3Corrector,ak4PFL3AbsoluteCorrector,ak4PFL2RelativeCorrector,ak4PFL1FastjetCorrector

newAK4PFL1FastL2L3Corrector = ak4PFL1FastL2L3Corrector.clone()
newAK4PFL1FastL2L3CorrectorChain = cms.Sequence(
    #ak4PFL1FastjetCorrector * ak4PFL2RelativeCorrector * ak4PFL3AbsoluteCorrector * 
    newAK4PFL1FastL2L3Corrector
    )

metPreValidSeq=cms.Sequence(ak4PFL1FastjetCorrector * ak4PFL2RelativeCorrector * ak4PFL3AbsoluteCorrector)


valCorrPfMetType1=corrPfMetType1.clone(jetCorrLabel = cms.InputTag('newAK4PFL1FastL2L3Corrector'))

PfMetT1=pfMetT1.clone(srcCorrections = cms.VInputTag(
        cms.InputTag('valCorrPfMetType1', 'type1')
    ))
PfMetT0pcT1=pfMetT0pcT1.clone(
    srcCorrections = cms.VInputTag(
        cms.InputTag('corrPfMetType0PfCand'),
        cms.InputTag('valCorrPfMetType1', 'type1')
        )
    )

METRelValSequence = cms.Sequence(
    metAnalyzer*
    pfMetAnalyzer*
    genMetTrueAnalyzer*
예제 #10
0
from JetMETCorrections.Type1MET.correctedMet_cff import pfMetT0pc,pfMetT0pcT1,pfMetT1
from JetMETCorrections.Type1MET.correctionTermsPfMetType0PFCandidate_cff import *
from JetMETCorrections.Type1MET.correctionTermsPfMetType1Type2_cff import corrPfMetType1

from JetMETCorrections.Configuration.JetCorrectors_cff import ak4PFL1FastL2L3CorrectorChain,ak4PFL1FastL2L3Corrector,ak4PFL3AbsoluteCorrector,ak4PFL2RelativeCorrector,ak4PFL1FastjetCorrector

newAK4PFL1FastL2L3Corrector = ak4PFL1FastL2L3Corrector.clone()
newAK4PFL1FastL2L3CorrectorChain = cms.Sequence(
    #ak4PFL1FastjetCorrector * ak4PFL2RelativeCorrector * ak4PFL3AbsoluteCorrector * 
    newAK4PFL1FastL2L3Corrector
    )

metPreValidSeq=cms.Sequence(ak4PFL1FastjetCorrector * ak4PFL2RelativeCorrector * ak4PFL3AbsoluteCorrector)

valCorrPfMetType1=corrPfMetType1.clone(jetCorrLabel = cms.InputTag('newAK4PFL1FastL2L3Corrector'))

PfMetT1=pfMetT1.clone(srcCorrections = cms.VInputTag(
         cms.InputTag('valCorrPfMetType1', 'type1')
     ))

PfMetT0pcT1=pfMetT0pcT1.clone(
     srcCorrections = cms.VInputTag(
         cms.InputTag('corrPfMetType0PfCand'),
         cms.InputTag('valCorrPfMetType1', 'type1')
         )
     )

METRelValSequence = cms.Sequence(
    metAnalyzer*
    #metHOAnalyzer*
예제 #11
0
newAK4PFCHSL1FastL2L3Corrector = ak4PFCHSL1FastL2L3Corrector.clone()
newAK4PFCHSL1FastL2L3CorrectorChain = cms.Sequence(
    #ak4PFCHSL1FastjetCorrector * ak4PFCHSL2RelativeCorrector * ak4PFCHSL3AbsoluteCorrector * 
    newAK4PFCHSL1FastL2L3Corrector
    )

newAK4PFCHSL1FastL2L3ResidualCorrector = ak4PFCHSL1FastL2L3ResidualCorrector.clone()
newAK4PFCHSL1FastL2L3ResidualCorrectorChain = cms.Sequence(
    #ak4PFCHSL1FastjetCorrector * ak4PFCHSL2RelativeCorrector * ak4PFCHSL3AbsoluteCorrector * 
    newAK4PFCHSL1FastL2L3ResidualCorrector
    )

metPreValidSeq=cms.Sequence(ak4PFCHSL1FastjetCorrector * ak4PFCHSL2RelativeCorrector * ak4PFCHSL3AbsoluteCorrector * ak4PFCHSResidualCorrector)

valCorrPfMetType1=corrPfMetType1.clone(jetCorrLabel = cms.InputTag('newAK4PFCHSL1FastL2L3Corrector'),
                                       jetCorrLabelRes = cms.InputTag('newAK4PFCHSL1FastL2L3ResidualCorrector')
                                      )

PfMetT1=pfMetT1.clone(srcCorrections = cms.VInputTag(
        cms.InputTag('valCorrPfMetType1', 'type1')
        ))

PfMetT0pcT1=pfMetT0pcT1.clone(
    srcCorrections = cms.VInputTag(
        cms.InputTag('corrPfMetType0PfCand'),
        cms.InputTag('valCorrPfMetType1', 'type1')
        )
    )

METRelValSequence = cms.Sequence(
    metAnalyzer*
예제 #12
0
    newAK4PFCHSL1FastL2L3Corrector)

newAK4PFCHSL1FastL2L3ResidualCorrector = ak4PFCHSL1FastL2L3ResidualCorrector.clone(
)
newAK4PFCHSL1FastL2L3ResidualCorrectorChain = cms.Sequence(
    #ak4PFCHSL1FastjetCorrector * ak4PFCHSL2RelativeCorrector * ak4PFCHSL3AbsoluteCorrector *
    newAK4PFCHSL1FastL2L3ResidualCorrector)

metPreValidSeqTask = cms.Task(ak4PFCHSL1FastjetCorrector,
                              ak4PFCHSL2RelativeCorrector,
                              ak4PFCHSL3AbsoluteCorrector,
                              ak4PFCHSResidualCorrector)
metPreValidSeq = cms.Sequence(metPreValidSeqTask)

valCorrPfMetType1 = corrPfMetType1.clone(
    jetCorrLabel='newAK4PFCHSL1FastL2L3Corrector',
    jetCorrLabelRes='newAK4PFCHSL1FastL2L3ResidualCorrector')

PfMetT1 = pfMetT1.clone(
    srcCorrections=cms.VInputTag('valCorrPfMetType1:type1'))

PfMetT0pcT1 = pfMetT0pcT1.clone(srcCorrections=cms.VInputTag(
    'corrPfMetType0PfCand', 'valCorrPfMetType1:type1'))

METRelValSequence = cms.Sequence(
    metAnalyzer * pfMetAnalyzer * genMetTrueAnalyzer *
    correctionTermsPfMetType0PFCandidateForValidation *
    newAK4PFCHSL1FastL2L3CorrectorChain *
    newAK4PFCHSL1FastL2L3ResidualCorrectorChain * valCorrPfMetType1 *
    pfMetT0pc * PfMetT1 * PfMetT0pcT1 * pfType0CorrectedMetAnalyzer *
    pfType1CorrectedMetAnalyzer * pfType01CorrectedMetAnalyzer)
dqmAk4PFCHSL1FastL2L3CorrectorChain = cms.Sequence(
    #ak4PFCHSL1FastjetCorrector*ak4PFCHSL2RelativeCorrector*ak4PFCHSL3AbsoluteCorrector
    dqmAk4PFCHSL1FastL2L3Corrector)

jetPreDQMSeq = cms.Sequence(
    ak4CaloL2RelativeCorrector * ak4CaloL3AbsoluteCorrector *
    ak4PFL1FastjetCorrector * ak4PFL2RelativeCorrector *
    ak4PFL3AbsoluteCorrector * ak4PFCHSL1FastjetCorrector *
    ak4PFCHSL2RelativeCorrector * ak4PFCHSL3AbsoluteCorrector)

from JetMETCorrections.Type1MET.correctedMet_cff import pfMetT1
from JetMETCorrections.Type1MET.correctionTermsPfMetType0PFCandidate_cff import *
from JetMETCorrections.Type1MET.correctionTermsPfMetType1Type2_cff import corrPfMetType1

dqmCorrPfMetType1 = corrPfMetType1.clone(
    jetCorrLabel=cms.InputTag('dqmAk4PFCHSL1FastL2L3Corrector'),
    jetCorrLabelRes=cms.InputTag('dqmAk4PFCHSL1FastL2L3Corrector'
                                 ))  #residuals not used for simulation anyway
pfMETT1 = pfMetT1.clone(
    srcCorrections=cms.VInputTag(cms.InputTag('dqmCorrPfMetType1', 'type1')))

jetDQMAnalyzerAk4CaloUncleanedMC = jetDQMAnalyzerAk4CaloUncleaned.clone(
    JetCorrections=cms.InputTag("dqmAk4CaloL2L3Corrector"))
jetDQMAnalyzerAk4CaloCleanedMC = jetDQMAnalyzerAk4CaloCleaned.clone(
    JetCorrections=cms.InputTag("dqmAk4CaloL2L3Corrector"))
jetDQMAnalyzerAk4PFUncleanedMC = jetDQMAnalyzerAk4PFUncleaned.clone(
    JetCorrections=cms.InputTag("dqmAk4PFL1FastL2L3Corrector"))
jetDQMAnalyzerAk4PFCleanedMC = jetDQMAnalyzerAk4PFCleaned.clone(
    JetCorrections=cms.InputTag("dqmAk4PFL1FastL2L3Corrector"))
jetDQMAnalyzerAk4PFCHSCleanedMC = jetDQMAnalyzerAk4PFCHSCleaned.clone(
    JetCorrections=cms.InputTag("dqmAk4PFCHSL1FastL2L3Corrector"))