)


# correction and svfit ------------------------------------------------------

# this is done for preselected di-taus

# mva MET

from CMGTools.Common.eventCleaning.goodPVFilter_cfi import goodPVFilter

from CMGTools.Utilities.mvaMET.mvaMET_cff import *
from CMGTools.Common.factories.cmgBaseMETFromPFMET_cfi import cmgBaseMETFromPFMET
mvaMETDiTau.recBosonSrc = 'cmgDiTauPreSel'

cmgDiTauMVAPreSel = cmgDiTauCor.clone()
cmgDiTauMVAPreSel.cfg.metCollection = 'mvaBaseMETDiTau'
cmgDiTauMVAPreSel.cfg.diObjectCollection = 'cmgDiTauPreSel'

# recoil correction

metForRecoil = 'mvaMETDiTau'
diTausForRecoil = 'cmgDiTauPreSel'
recoilCorMETDiTau =  recoilCorrectedMETDiTau.clone(
    recBosonSrc = diTausForRecoil,
    metSrc = metForRecoil
    )

mvaBaseMETDiTau = cmgBaseMETFromPFMET.clone()

# SWITCH OFF RECOIL CORRECTIONS HERE
Example #2
0

# no correction, no svfit ---------------------------------------------------

# attaching the cuts defined in this module
# to the di-tau factory
cmgDiTau.cuts = diTauCuts.clone()
cmgDiTau.cfg.leg1Collection = 'cmgTauScaler'
cmgDiTau.cfg.leg2Collection = 'cmgTauScaler'

# preselection 
cmgDiTauPreSel = cmgDiTauSel.clone( cut = 'getSelection("cuts_baseline") && leg1().pt()>40 && leg2().pt()>40')

# Correct tau (+ MET) before MVA MET in di-tau channel

cmgDiTauCorPreSel = cmgDiTauCor.clone()
# cmgDiTauCorPreSel.cfg.metCollection = 'mvaBaseMETDiTau'
cmgDiTauCorPreSel.cfg.diObjectCollection = 'cmgDiTauPreSel'

diTauStdSequence = cms.Sequence( cmgTauScaler +
                                 cmgDiTau +
                                 cmgDiTauPreSel +
                                 cmgDiTauCorPreSel
                                 )


# correction and svfit ------------------------------------------------------

# this is done for preselected di-taus

# mva MET
# pT preselection ------------------------------------------------------
cmgDiTauPreSel = cmgDiTauSel.clone(
    src='cmgDiTau',
    cut=
    'leg1().pt()>40. && leg2().pt()>40. && leg1().tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits") < 10. &&  leg2().tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits") < 10.',
)

# sequence -------------------------------------------------------------
diTauStdSequence = cms.Sequence(cmgDiTau + cmgDiTauPreSel)

# mva MET --------------------------------------------------------------
mvaMETDiTau.recBosonSrc = 'cmgDiTauPreSel'

# correct TauES (after MVA MET according to current baseline) ----------
cmgDiTauCor = cmgDiTauCor.clone()
cmgDiTauCor.cfg.diObjectCollection = cms.InputTag('mvaMETDiTau')

# this selector goes after the TauES correction ------------------------
cmgDiTauPtSel = cmgDiTauSel.clone(
    src=cms.InputTag("cmgDiTauCor"),
    cut=cms.string("leg1().pt()>45. && leg2().pt()>45."))

# recoil correction ----------------------------------------------------
recoilCorMETDiTau = recoilCorrectedMETDiTau.clone(
    recBosonSrc='cmgDiTauPtSel', )

# sequence -------------------------------------------------------------
mvaMETSequence = cms.Sequence(goodPVFilter + mvaMETDiTau + cmgDiTauCor +
                              cmgDiTauPtSel + recoilCorMETDiTau)
cmgDiTauPreSel = cmgDiTauSel.clone( 
 src = 'cmgDiTau',
 cut = 'leg1().pt()>40. && leg2().pt()>40. && leg1().tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits") < 10. &&  leg2().tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits") < 10.',
 )
 
# sequence -------------------------------------------------------------
diTauStdSequence = cms.Sequence( cmgDiTau       +
                                 cmgDiTauPreSel
                                 )

# mva MET --------------------------------------------------------------
mvaMETDiTau.recBosonSrc = 'cmgDiTauPreSel'


# correct TauES (after MVA MET according to current baseline) ----------
cmgDiTauCor = cmgDiTauCor.clone()
cmgDiTauCor.cfg.diObjectCollection = cms.InputTag('mvaMETDiTau')

# this selector goes after the TauES correction ------------------------
cmgDiTauPtSel = cmgDiTauSel.clone(
    src = cms.InputTag( "cmgDiTauCor" ),
    cut = cms.string( "leg1().pt()>45. && leg2().pt()>45." )
    )

# recoil correction ----------------------------------------------------
recoilCorMETDiTau =  recoilCorrectedMETDiTau.clone(
    recBosonSrc = 'cmgDiTauPtSel',
    )

# sequence -------------------------------------------------------------
mvaMETSequence = cms.Sequence( goodPVFilter      +