Beispiel #1
0
def runMVAMet(process, isMC, leptons):

    from RecoJets.JetProducers.ak4PFJets_cfi import ak4PFJets

    if not hasattr(process, "ak4PFJets"):
        setattr(process, "ak4PFJets",
                ak4PFJets.clone(src=cms.InputTag('packedPFCandidates')))

    if not hasattr(process, "ak4PFL1FastL2L3Corrector"):
        process.load('JetMETCorrections.Configuration.JetCorrectors_cff')

    process.calibratedAK4PFJetsForPFMVAMEt = calibratedAK4PFJetsForPFMVAMEt.clone(
        correctors=cms.vstring("ak4PFL1FastL2L3"))

    from JetMETCorrections.Configuration.JetCorrectionServices_cff import ak4PFL1FastL2L3, ak4PFL1FastL2L3Residual, ak4PFL1Fastjet, ak4PFL2Relative, ak4PFL3Absolute, ak4PFResidual

    if not isMC:
        process.ak4PFL1FastL2L3Residual = ak4PFL1FastL2L3Residual.clone()
        process.ak4PFResidual = ak4PFResidual.clone()
        process.calibratedAK4PFJetsForPFMVAMEt.correctors = cms.vstring(
            "ak4PFL1FastL2L3Residual")
    else:
        process.ak4PFL1FastL2L3 = ak4PFL1FastL2L3.clone()

    process.ak4PFL1Fastjet = ak4PFL1Fastjet.clone()
    process.ak4PFL2Relative = ak4PFL2Relative.clone()
    process.ak4PFL3Absolute = ak4PFL3Absolute.clone()

    from RecoJets.JetProducers.PileupJetID_cfi import pileupJetIdEvaluator
    from RecoJets.JetProducers.PileupJetIDParams_cfi import JetIdParams

    process.puJetIdForPFMVAMEt = pileupJetIdEvaluator.clone(
        produceJetIds=cms.bool(True),
        jets=cms.InputTag("calibratedAK4PFJetsForPFMVAMEt"),
        vertexes=cms.InputTag("offlineSlimmedPrimaryVertices"),
        jec=cms.string("AK4PF"))

    process.mvaMET = pfMVAMEt.clone(
        srcPFCandidates=cms.InputTag('packedPFCandidates'),
        srcVertices=cms.InputTag('offlineSlimmedPrimaryVertices'),
        srcLeptons=cms.VInputTag(leptons),
        inputFileNames=cms.
        PSet(U=cms.FileInPath(
            'RecoMET/METPUSubtraction/data/gbru_7_4_X_miniAOD_50NS_July2015.root'
        ),
             DPhi=cms.FileInPath(
                 'RecoMET/METPUSubtraction/data/gbrphi_7_4_X_miniAOD_50NS_July2015.root'
             ),
             CovU1=cms.FileInPath(
                 'RecoMET/METPUSubtraction/data/gbru1cov_7_4_X_miniAOD_50NS_July2015.root'
             ),
             CovU2=cms.FileInPath(
                 'RecoMET/METPUSubtraction/data/gbru2cov_7_4_X_miniAOD_50NS_July2015.root'
             )))
from CMGTools.H2TauTau.skims.cmgMuEleSel_cfi import cmgMuEleSel

from CMGTools.H2TauTau.objects.cmgMuEleCor_cfi import cmgMuEleCor 
from CMGTools.H2TauTau.objects.muEleSVFit_cfi import muEleSVFit 

from CMGTools.H2TauTau.objects.muCuts_cff import muonPreSelection
from CMGTools.H2TauTau.objects.eleCuts_cff import electronPreSelection

from RecoMET.METPUSubtraction.mvaPFMET_cff import pfMVAMEt

# lepton pre-selection
muonPreSelectionMuEle = muonPreSelection.clone()
electronPreSelectionMuEle = electronPreSelection.clone()

# mva MET
mvaMETMuEle = pfMVAMEt.clone()

mvaMETMuEle.srcPFCandidates = cms.InputTag("packedPFCandidates")
mvaMETMuEle.srcVertices = cms.InputTag("offlineSlimmedPrimaryVertices")
mvaMETMuEle.srcLeptons = cms.VInputTag(
  cms.InputTag("muonPreSelectionMuEle", "", ""),
  cms.InputTag("electronPreSelectionMuEle", "", ""),
  )
mvaMETMuEle.permuteLeptons = cms.bool(True)



# Correct tau pt (after MVA MET according to current baseline)
cmgMuEleCor = cmgMuEleCor.clone()

# This selector goes after the tau pt correction
Beispiel #3
0
from CMGTools.H2TauTau.objects.tauCuts_cff import tauPreSelection

from RecoMET.METPUSubtraction.mvaPFMET_cff import pfMVAMEt

# tau pre-selection
tauPreSelectionDiTau = tauPreSelection.clone(
    #cut = 'pt > 40. && abs(eta) < 2.5 && tauID("decayModeFinding") > 0.5')
    cut='pt > 40. && abs(eta) < 2.5 && tauID("decayModeFindingNewDMs") > 0.5'
)  # RIC: new DM. Probably we'd want to save both with an OR and decide later, useful for studying new tauID

# 2012 preselection:
# cut = 'leg1().pt()>40. && leg2().pt()>40. && leg1().tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits") < 10. &&  leg2().tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits") < 10.',

# mva MET

mvaMETDiTau = pfMVAMEt.clone()

mvaMETDiTau.srcPFCandidates = cms.InputTag("packedPFCandidates")
mvaMETDiTau.srcVertices = cms.InputTag("offlineSlimmedPrimaryVertices")
mvaMETDiTau.srcLeptons = cms.VInputTag(
    cms.InputTag("tauPreSelectionDiTau", "", ""),
    cms.InputTag("tauPreSelectionDiTau", "", ""),
)
mvaMETDiTau.permuteLeptons = cms.bool(True)

# correct TauES (after MVA MET according to current baseline)
cmgDiTauCor = cmgDiTauCor.clone()

# this selector goes after the TauES correction
cmgDiTauTauPtSel = cms.EDFilter(
    "PATCompositeCandidateSelector",
from CMGTools.H2TauTau.skims.cmgTauEleSel_cfi import cmgTauEleSel

from CMGTools.H2TauTau.objects.cmgTauEleCor_cfi import cmgTauEleCor
from CMGTools.H2TauTau.objects.tauEleSVFit_cfi import tauEleSVFit

from CMGTools.H2TauTau.objects.tauCuts_cff import tauPreSelection
from CMGTools.H2TauTau.objects.eleCuts_cff import electronPreSelection

from RecoMET.METPUSubtraction.mvaPFMET_cff import pfMVAMEt

# tau pre-selection
tauPreSelectionTauEle = tauPreSelection.clone()
electronPreSelectionTauEle = electronPreSelection.clone()

# mva MET
mvaMETTauEle = pfMVAMEt.clone()

mvaMETTauEle.srcPFCandidates = cms.InputTag("packedPFCandidates")
mvaMETTauEle.srcVertices = cms.InputTag("offlineSlimmedPrimaryVertices")
mvaMETTauEle.srcLeptons = cms.VInputTag(
    cms.InputTag("tauPreSelectionTauEle", "", ""),
    cms.InputTag("electronPreSelectionTauEle", "", ""),
)
mvaMETTauEle.permuteLeptons = cms.bool(True)

# Correct tau pt (after MVA MET according to current baseline)
cmgTauEleCor = cmgTauEleCor.clone()

# This selector goes after the tau pt correction
cmgTauEleTauPtSel = cms.EDFilter("PATCompositeCandidateSelector",
                                 src=cms.InputTag("cmgTauEleCor"),
Beispiel #5
0
## ------------------------------------------------------------------------
## MVA MET
##  - srcLeptons nees a collectino of lepton as close as possible to the
##    leptons selected for the analysis.
##  - srcCorrJets/srcUncorrJets should correspond to the jets as used in
##    the analysis. 
from RecoJets.JetProducers.PileupJetIDParams_cfi import JetIdParams

from RecoMET.METPUSubtraction.mvaPFMET_cff import pfMVAMEt as pfMetMVA
pfMetMVA.inputFileNames    = cms.PSet(
        U     = cms.FileInPath('RecoMET/METPUSubtraction/data/gbrmet_7_2_X_MINIAOD_BX25PU20_Mar2015.root'),
        DPhi  = cms.FileInPath('RecoMET/METPUSubtraction/data/gbrphi_7_2_X_MINIAOD_BX25PU20_Mar2015.root'),
        CovU1 = cms.FileInPath('RecoMET/METPUSubtraction/data/gbru1cov_7_2_X_MINIAOD_BX25PU20_Mar2015.root'),
        CovU2 = cms.FileInPath('RecoMET/METPUSubtraction/data/gbru2cov_7_2_X_MINIAOD_BX25PU20_Mar2015.root') )
## specify the leptons similar to those used in the analysis (channel specific)
pfMetMVAEM = pfMetMVA.clone(srcLeptons = cms.VInputTag("mvaMETElectrons", "mvaMETMuons" ))
pfMetMVAET = pfMetMVA.clone(srcLeptons = cms.VInputTag("mvaMETElectrons", "mvaMETTausET"))
pfMetMVAMT = pfMetMVA.clone(srcLeptons = cms.VInputTag("mvaMETMuons"    , "mvaMETTausMT"))
pfMetMVATT = pfMetMVA.clone(srcLeptons = cms.VInputTag("mvaMETTausTT"))

## ------------------------------------------------------------------------
## Definition of sequences
makeKappaMET = cms.Sequence(
    ak4PFJets *
    calibratedAK4PFJetsForPFMVAMEt *
    mvaMETJets *
    puJetIdForPFMVAMEt *
    mvaMETMuons *
    mvaMETTausET *
    mvaMETTausMT *
    mvaMETTausTT *
from CMGTools.H2TauTau.objects.cmgDiMu_cfi import cmgDiMu
from CMGTools.H2TauTau.skims.cmgDiMuSel_cfi import cmgDiMuSel

from CMGTools.H2TauTau.objects.cmgDiMuCor_cfi import cmgDiMuCor
from CMGTools.H2TauTau.objects.diMuSVFit_cfi import diMuSVFit

from CMGTools.H2TauTau.objects.muCuts_cff import muonPreSelection

from RecoMET.METPUSubtraction.mvaPFMET_cff import pfMVAMEt

# lepton pre-selection
muonPreSelectionDiMu = muonPreSelection.clone()

# mva MET
mvaMETDiMu = pfMVAMEt.clone()

mvaMETDiMu.srcPFCandidates = cms.InputTag("packedPFCandidates")
mvaMETDiMu.srcVertices = cms.InputTag("offlineSlimmedPrimaryVertices")
mvaMETDiMu.srcLeptons = cms.VInputTag(
    cms.InputTag("muonPreSelectionDiMu", "", ""),
    cms.InputTag("muonPreSelectionDiMu", "", ""),
)
mvaMETDiMu.permuteLeptons = cms.bool(True)

# Correct tau pt (after MVA MET according to current baseline)
cmgDiMuCor = cmgDiMuCor.clone()

# This selector goes after the tau pt correction
cmgDiMuTauPtSel = cms.EDFilter("PATCompositeCandidateSelector",
                               src=cms.InputTag("cmgDiMuCor"),
Beispiel #7
0
from CMGTools.H2TauTau.skims.cmgTauMuSel_cfi import cmgTauMuSel

from CMGTools.H2TauTau.objects.cmgTauMuCor_cfi import cmgTauMuCor
from CMGTools.H2TauTau.objects.tauMuSVFit_cfi import tauMuSVFit

from CMGTools.H2TauTau.objects.tauCuts_cff import tauPreSelection
from CMGTools.H2TauTau.objects.muCuts_cff import muonPreSelection

from RecoMET.METPUSubtraction.mvaPFMET_cff import pfMVAMEt

# tau pre-selection
tauPreSelectionTauMu = tauPreSelection.clone()
muonPreSelectionTauMu = muonPreSelection.clone()

# mva MET
mvaMETTauMu = pfMVAMEt.clone()

mvaMETTauMu.srcPFCandidates = cms.InputTag("packedPFCandidates")
mvaMETTauMu.srcVertices = cms.InputTag("offlineSlimmedPrimaryVertices")
mvaMETTauMu.srcLeptons = cms.VInputTag(
    cms.InputTag("tauPreSelectionTauMu", "", ""),
    cms.InputTag("muonPreSelectionTauMu", "", ""),
)
mvaMETTauMu.permuteLeptons = cms.bool(True)

# Correct tau pt (after MVA MET according to current baseline)
cmgTauMuCor = cmgTauMuCor.clone()

# This selector goes after the tau pt correction
cmgTauMuTauPtSel = cms.EDFilter("PATCompositeCandidateSelector",
                                src=cms.InputTag("cmgTauMuCor"),