Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removal of depreciated tauIDs #37091

Merged
43 changes: 31 additions & 12 deletions PhysicsTools/NanoAOD/python/boostedTaus_cff.py
Expand Up @@ -9,9 +9,12 @@


finalBoostedTaus = cms.EDFilter("PATTauRefSelector",
src = cms.InputTag("slimmedTausBoostedNewID"),
src = cms.InputTag("slimmedTausBoosted"),
cut = cms.string("pt > 40 && tauID('decayModeFindingNewDMs') && (tauID('byVVLooseIsolationMVArun2017v2DBoldDMwLT2017') || tauID('byVVLooseIsolationMVArun2017v2DBoldDMdR0p3wLT2017') || tauID('byVVLooseIsolationMVArun2017v2DBnewDMwLT2017'))")
)
run3_nanoAOD_devel.toModify(finalBoostedTaus,
cut = "pt > 40 && tauID('decayModeFindingNewDMs') && (tauID('byVVLooseIsolationMVArun2DBoldDMwLT') || tauID('byVVLooseIsolationMVArun2DBnewDMwLT'))"
)
mbluj marked this conversation as resolved.
Show resolved Hide resolved

boostedTauTable = cms.EDProducer("SimpleCandidateFlatTableProducer",
src = cms.InputTag("finalBoostedTaus"),
Expand All @@ -36,21 +39,37 @@
neutralIso = Var( "tauID('neutralIsoPtSum')", float, doc = "neutral (photon) isolation", precision=10),
puCorr = Var( "tauID('puCorrPtSum')", float, doc = "pileup correction", precision=10),
photonsOutsideSignalCone = Var( "tauID('photonPtSumOutsideSignalCone')", float, doc = "sum of photons outside signal cone", precision=10),
idAntiMu = _tauId2WPMask("againstMuon%s3", doc= "Anti-muon discriminator V3: "),
#MVA 2017 v2 variables
rawMVAoldDM2017v2=Var("tauID('byIsolationMVArun2017v2DBoldDMwLTraw2017')",float, doc="byIsolationMVArun2017v2DBoldDMwLT raw output discriminator (2017v2)",precision=10),
rawMVAnewDM2017v2 = Var("tauID('byIsolationMVArun2017v2DBnewDMwLTraw2017')",float,doc='byIsolationMVArun2017v2DBnewDMwLT raw output discriminator (2017v2)',precision=10),
rawMVAoldDMdR032017v2 = Var("tauID('byIsolationMVArun2017v2DBoldDMdR0p3wLTraw2017')",float,doc='byIsolationMVArun2017v2DBoldDMdR0p3wLT raw output discriminator (2017v2)'),
idMVAnewDM2017v2 = _tauId7WPMask("by%sIsolationMVArun2017v2DBnewDMwLT2017", doc="IsolationMVArun2017v2DBnewDMwLT ID working point (2017v2)"),
idMVAoldDM2017v2=_tauId7WPMask("by%sIsolationMVArun2017v2DBoldDMwLT2017",doc="IsolationMVArun2017v2DBoldDMwLT ID working point (2017v2)"),
idMVAoldDMdR032017v2 = _tauId7WPMask("by%sIsolationMVArun2017v2DBoldDMdR0p3wLT2017",doc="IsolationMVArun2017v2DBoldDMdR0p3wLT ID working point (2017v2)"),
idAntiMu = _tauId2WPMask("againstMuon%s3", doc= "Anti-muon discriminator V3: ")
)
#MVA 2017 v2 variables
_boostedTauVarsMVAIso = cms.PSet(
rawMVAoldDM2017v2 = Var("tauID('byIsolationMVArun2017v2DBoldDMwLTraw2017')",float, doc="byIsolationMVArun2DBoldDMwLT raw output discriminator (2017v2)",precision=10),
rawMVAnewDM2017v2 = Var("tauID('byIsolationMVArun2017v2DBnewDMwLTraw2017')",float,doc='byIsolationMVArun2DBnewDMwLT raw output discriminator (2017v2)',precision=10),
rawMVAoldDMdR032017v2 = Var("tauID('byIsolationMVArun2017v2DBoldDMdR0p3wLTraw2017')",float,doc='byIsolationMVArun2DBoldDMdR0p3wLT raw output discriminator (2017v2)'),
idMVAnewDM2017v2 = _tauId7WPMask("by%sIsolationMVArun2017v2DBnewDMwLT2017", doc="IsolationMVArun2DBnewDMwLT ID working point (2017v2)"),
idMVAoldDM2017v2 = _tauId7WPMask("by%sIsolationMVArun2017v2DBoldDMwLT2017",doc="IsolationMVArun2DBoldDMwLT ID working point (2017v2)"),
idMVAoldDMdR032017v2 = _tauId7WPMask("by%sIsolationMVArun2017v2DBoldDMdR0p3wLT2017",doc="IsolationMVArun2DBoldDMdR0p3wLT ID working point (2017v2)")
)
#AntiEle MVA 2018 variables
_boostedTauVarsAntiEleMVA = cms.PSet(
rawAntiEle2018 = Var("tauID('againstElectronMVA6Raw')", float, doc= "Anti-electron MVA discriminator V6 raw output discriminator (2018)", precision=10),
rawAntiEleCat2018 = Var("tauID('againstElectronMVA6category')", int, doc="Anti-electron MVA discriminator V6 category (2018)"),
idAntiEle2018 = _tauId5WPMask("againstElectron%sMVA6", doc= "Anti-electron MVA discriminator V6 (2018)"),
idAntiEle2018 = _tauId5WPMask("againstElectron%sMVA6", doc= "Anti-electron MVA discriminator V6 (2018)")
)

boostedTauTable.variables = _boostedTauVarsBase

boostedTauTable.variables = cms.PSet(
_boostedTauVarsBase,
_boostedTauVarsMVAIso,
_boostedTauVarsAntiEleMVA
)
run3_nanoAOD_devel.toModify(boostedTauTable.variables,
mbluj marked this conversation as resolved.
Show resolved Hide resolved
rawMVAoldDM2017v2 = Var("tauID('byIsolationMVArun2DBoldDMwLTraw')",float, doc="byIsolationMVArun2DBoldDMwLT raw output discriminator (2017v2)",precision=10),
rawMVAnewDM2017v2 = Var("tauID('byIsolationMVArun2DBnewDMwLTraw')",float,doc='byIsolationMVArun2DBnewDMwLT raw output discriminator (2017v2)',precision=10),
rawMVAoldDMdR032017v2 = None,
idMVAnewDM2017v2 = _tauId7WPMask("by%sIsolationMVArun2DBnewDMwLT", doc="IsolationMVArun2DBnewDMwLT ID working point (2017v2)"),
idMVAoldDM2017v2 = _tauId7WPMask("by%sIsolationMVArun2DBoldDMwLT",doc="IsolationMVArun2DBoldDMwLT ID working point (2017v2)"),
idMVAoldDMdR032017v2 = None
)

boostedTausMCMatchLepTauForTable = tausMCMatchLepTauForTable.clone(
src = boostedTauTable.src
Expand Down
65 changes: 41 additions & 24 deletions PhysicsTools/NanoAOD/python/nano_cff.py
Expand Up @@ -95,30 +95,39 @@

# modifier which adds new tauIDs (currently only deepTauId2017v2p1 is being added)
import RecoTauTag.RecoTau.tools.runTauIdMVA as tauIdConfig
def nanoAOD_addTauIds(process):
updatedTauName = "slimmedTausUpdated"
tauIdEmbedder = tauIdConfig.TauIDEmbedder(process, debug = False, updatedTauName = updatedTauName,
toKeep = [ "deepTau2017v2p1" ])
tauIdEmbedder.runTauID()
_tauTask = patTauMVAIDsTask.copy()
_tauTask.add(process.rerunMvaIsolationTask)
_tauTask.add(finalTaus)
process.tauTask = _tauTask.copy()
return process
def nanoAOD_addTauIds(process, idsToRun=[]):
if idsToRun: #no-empty list of tauIDs to run
updatedTauName = "slimmedTausUpdated"
tauIdEmbedder = tauIdConfig.TauIDEmbedder(process, debug = False,
updatedTauName = updatedTauName,
toKeep = idsToRun)
tauIdEmbedder.runTauID()
_tauTask = patTauMVAIDsTask.copy()
_tauTask.add(process.rerunMvaIsolationTask)
_tauTask.add(finalTaus)
process.finalTaus.src = updatedTauName
#remember to adjust the selection and tables with added IDs

process.tauTask = _tauTask.copy()

def nanoAOD_addBoostedTauIds(process):
updatedBoostedTauName = "slimmedTausBoostedNewID"
boostedTauIdEmbedder = tauIdConfig.TauIDEmbedder(process, debug=False,
originalTauName = "slimmedTausBoosted",
updatedTauName = updatedBoostedTauName,
postfix="Boosted",
toKeep = [ "2017v2", "dR0p32017v2", "newDM2017v2","againstEle2018",])
boostedTauIdEmbedder.runTauID()
_boostedTauTask = process.rerunMvaIsolationTaskBoosted.copy()
_boostedTauTask.add(getattr(process, updatedBoostedTauName))
_boostedTauTask.add(process.finalBoostedTaus)
return process

process.boostedTauTask = _boostedTauTask.copy()
def nanoAOD_addBoostedTauIds(process, idsToRun=[]):
if idsToRun: #no-empty list of tauIDs to run
updatedBoostedTauName = "slimmedTausBoostedNewID"
boostedTauIdEmbedder = tauIdConfig.TauIDEmbedder(process, debug = False,
originalTauName = "slimmedTausBoosted",
updatedTauName = updatedBoostedTauName,
postfix = "Boosted",
toKeep = idsToRun)
boostedTauIdEmbedder.runTauID()
_boostedTauTask = process.rerunMvaIsolationTaskBoosted.copy()
_boostedTauTask.add(getattr(process, updatedBoostedTauName))
_boostedTauTask.add(process.finalBoostedTaus)
process.finalBoostedTaus.src = updatedBoostedTauName
#remember to adjust the selection and tables with added IDs

process.boostedTauTask = _boostedTauTask.copy()

return process

Expand Down Expand Up @@ -348,8 +357,16 @@ def nanoAOD_customizeCommon(process):
addParticleNet=nanoAOD_addDeepInfoAK8_switch.nanoAOD_addParticleNet_switch,
addParticleNetMass=nanoAOD_addDeepInfoAK8_switch.nanoAOD_addParticleNetMass_switch,
jecPayload=nanoAOD_addDeepInfoAK8_switch.jecPayload)
(run2_nanoAOD_94XMiniAODv1 | run2_nanoAOD_94X2016 | run2_nanoAOD_94XMiniAODv2 | run2_nanoAOD_102Xv1 | run2_nanoAOD_106Xv1).toModify(process, lambda p : nanoAOD_addTauIds(p))
(~(run2_nanoAOD_94XMiniAODv1 | run2_nanoAOD_94X2016 | run2_nanoAOD_94XMiniAODv2 | run2_nanoAOD_102Xv1 | run2_nanoAOD_106Xv1)).toModify(process, lambda p : nanoAOD_addBoostedTauIds(p))
nanoAOD_tau_switch = cms.PSet(
idsToAdd = cms.vstring()
)
(run2_nanoAOD_94XMiniAODv1 | run2_nanoAOD_94X2016 | run2_nanoAOD_94XMiniAODv2 | run2_nanoAOD_102Xv1 | run2_nanoAOD_106Xv1).toModify(nanoAOD_tau_switch, idsToAdd = ["deepTau2017v2p1"])
(run2_nanoAOD_94XMiniAODv1 | run2_nanoAOD_94X2016 | run2_nanoAOD_94XMiniAODv2 | run2_nanoAOD_102Xv1 | run2_nanoAOD_106Xv1).toModify(process, lambda p : nanoAOD_addTauIds(p, nanoAOD_tau_switch.idsToAdd.value()))
nanoAOD_boostedTau_switch = cms.PSet(
idsToAdd = cms.vstring("2017v2", "dR0p32017v2", "newDM2017v2","againstEle2018")
)
run3_nanoAOD_devel.toModify(nanoAOD_boostedTau_switch, idsToAdd = [])
mbluj marked this conversation as resolved.
Show resolved Hide resolved
(~(run2_nanoAOD_94XMiniAODv1 | run2_nanoAOD_94X2016 | run2_nanoAOD_94XMiniAODv2 | run2_nanoAOD_102Xv1 | run2_nanoAOD_106Xv1)).toModify(process, lambda p : nanoAOD_addBoostedTauIds(p, nanoAOD_boostedTau_switch.idsToAdd.value()))
mbluj marked this conversation as resolved.
Show resolved Hide resolved
return process

def nanoAOD_customizeData(process):
Expand Down
13 changes: 8 additions & 5 deletions PhysicsTools/NanoAOD/python/taus_cff.py
Expand Up @@ -11,20 +11,21 @@


finalTaus = cms.EDFilter("PATTauRefSelector",
src = cms.InputTag("slimmedTausUpdated"),
src = cms.InputTag("slimmedTaus"),
cut = cms.string("pt > 18 && tauID('decayModeFindingNewDMs') && (tauID('byLooseCombinedIsolationDeltaBetaCorr3Hits') || (tauID('chargedIsoPtSumdR03')+max(0.,tauID('neutralIsoPtSumdR03')-0.072*tauID('puCorrPtSum'))<2.5) || tauID('byVVVLooseDeepTau2017v2p1VSjet'))")
)

for era in [run2_nanoAOD_94XMiniAODv2, run2_nanoAOD_94X2016, run2_nanoAOD_102Xv1, run2_nanoAOD_106Xv1]:
era.toModify(finalTaus,
src = cms.InputTag("slimmedTausUpdated"),
cut = cms.string("pt > 18 && tauID('decayModeFindingNewDMs') && (tauID('byLooseCombinedIsolationDeltaBetaCorr3Hits') || tauID('byVLooseIsolationMVArun2v1DBoldDMwLT2015') || tauID('byVLooseIsolationMVArun2v1DBnewDMwLT') || tauID('byVLooseIsolationMVArun2v1DBdR03oldDMwLT') || tauID('byVVLooseIsolationMVArun2v1DBoldDMwLT') || tauID('byVVLooseIsolationMVArun2v1DBoldDMwLT2017v2') || tauID('byVVLooseIsolationMVArun2v1DBnewDMwLT2017v2') || tauID('byVVLooseIsolationMVArun2v1DBdR03oldDMwLT2017v2') || tauID('byVVVLooseDeepTau2017v2p1VSjet'))")
)
for era in [run2_nanoAOD_94XMiniAODv1,]:
for era in [run2_nanoAOD_94XMiniAODv1,run2_nanoAOD_92X]:
era.toModify(finalTaus,
src = cms.InputTag("slimmedTausUpdated"),
cut = cms.string("pt > 18 && tauID('decayModeFindingNewDMs') && (tauID('byLooseCombinedIsolationDeltaBetaCorr3Hits') || tauID('byVLooseIsolationMVArun2v1DBoldDMwLT') || tauID('byVLooseIsolationMVArun2v1DBnewDMwLT') || tauID('byVLooseIsolationMVArun2v1DBdR03oldDMwLT') || tauID('byVVLooseIsolationMVArun2v1DBoldDMwLT2017v1') || tauID('byVVLooseIsolationMVArun2v1DBoldDMwLT2017v2') || tauID('byVVLooseIsolationMVArun2v1DBnewDMwLT2017v2') || tauID('byVVLooseIsolationMVArun2v1DBdR03oldDMwLT2017v2') || tauID('byVVVLooseDeepTau2017v2p1VSjet'))")
)
run2_miniAOD_80XLegacy.toModify(finalTaus,
src = cms.InputTag("slimmedTaus"),
cut = cms.string("pt > 18 && tauID('decayModeFindingNewDMs') && (tauID('byLooseCombinedIsolationDeltaBetaCorr3Hits') || tauID('byVLooseIsolationMVArun2v1DBoldDMwLT') || tauID('byVLooseIsolationMVArun2v1DBnewDMwLT') || tauID('byVLooseIsolationMVArun2v1DBdR03oldDMwLT'))")
)

Expand Down Expand Up @@ -246,9 +247,11 @@ def _tauId8WPMask(pattern,doc):
)


tauTask = cms.Task( patTauMVAIDsTask,finalTaus)
tauTask = cms.Task(finalTaus)

run2_miniAOD_80XLegacy.toReplaceWith(tauTask, cms.Task(finalTaus))
for era in [run2_nanoAOD_92X, run2_nanoAOD_94XMiniAODv1, run2_nanoAOD_94XMiniAODv2, \
run2_nanoAOD_94X2016, run2_nanoAOD_102Xv1, run2_nanoAOD_106Xv1]:
era.toReplaceWith(tauTask, cms.Task(patTauMVAIDsTask,finalTaus))

tauTablesTask = cms.Task(tauTable)

Expand Down
47 changes: 0 additions & 47 deletions PhysicsTools/PatAlgos/python/producersLayer1/tauProducer_cfi.py
Expand Up @@ -110,58 +110,11 @@ def containerID(pset, inputID, provCfgLabel, wps):
["byTightCombinedIsolationDeltaBetaCorr3Hits", "ByTightCombinedIsolationDBSumPtCorr3Hits"],
["byPhotonPtSumOutsideSignalCone", "ByPhotonPtSumOutsideSignalCone"]
])
containerID(patTaus.tauIDSources, "hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLT", "rawValues", [
["byIsolationMVArun2v1DBoldDMwLTraw", "discriminator"]
])
containerID(patTaus.tauIDSources, "hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLT", "workingPoints", [
["byVVLooseIsolationMVArun2v1DBoldDMwLT", "_VVLoose"],
["byVLooseIsolationMVArun2v1DBoldDMwLT", "_VLoose"],
["byLooseIsolationMVArun2v1DBoldDMwLT", "_Loose"],
["byMediumIsolationMVArun2v1DBoldDMwLT", "_Medium"],
["byTightIsolationMVArun2v1DBoldDMwLT", "_Tight"],
["byVTightIsolationMVArun2v1DBoldDMwLT", "_VTight"],
["byVVTightIsolationMVArun2v1DBoldDMwLT", "_VVTight"]
])
containerID(patTaus.tauIDSources, "hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLT", "rawValues", [
["byIsolationMVArun2v1DBnewDMwLTraw", "discriminator"]
])
containerID(patTaus.tauIDSources, "hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLT", "workingPoints", [
["byVVLooseIsolationMVArun2v1DBnewDMwLT", "_VVLoose"],
["byVLooseIsolationMVArun2v1DBnewDMwLT", "_VLoose"],
["byLooseIsolationMVArun2v1DBnewDMwLT", "_Loose"],
["byMediumIsolationMVArun2v1DBnewDMwLT", "_Medium"],
["byTightIsolationMVArun2v1DBnewDMwLT", "_Tight"],
["byVTightIsolationMVArun2v1DBnewDMwLT", "_VTight"],
["byVVTightIsolationMVArun2v1DBnewDMwLT", "_VVTight"]
])
containerID(patTaus.tauIDSources, "hpsPFTauBasicDiscriminatorsdR03", "IDdefinitions", [
["chargedIsoPtSumdR03", "ChargedIsoPtSumdR03"],
["neutralIsoPtSumdR03", "NeutralIsoPtSumdR03"],
["neutralIsoPtSumWeightdR03", "NeutralIsoPtSumWeightdR03"],
["footprintCorrectiondR03", "TauFootprintCorrectiondR03"],
["photonPtSumOutsideSignalConedR03", "PhotonPtSumOutsideSignalConedR03"]
])
containerID(patTaus.tauIDSources, "hpsPFTauDiscriminationByIsolationMVArun2v1DBdR03oldDMwLT", "rawValues", [
["byIsolationMVArun2v1DBdR03oldDMwLTraw", "discriminator"]
])
containerID(patTaus.tauIDSources, "hpsPFTauDiscriminationByIsolationMVArun2v1DBdR03oldDMwLT", "workingPoints", [
["byVVLooseIsolationMVArun2v1DBdR03oldDMwLT", "_VVLoose"],
["byVLooseIsolationMVArun2v1DBdR03oldDMwLT", "_VLoose"],
["byLooseIsolationMVArun2v1DBdR03oldDMwLT", "_Loose"],
["byMediumIsolationMVArun2v1DBdR03oldDMwLT", "_Medium"],
["byTightIsolationMVArun2v1DBdR03oldDMwLT", "_Tight"],
["byVTightIsolationMVArun2v1DBdR03oldDMwLT", "_VTight"],
["byVVTightIsolationMVArun2v1DBdR03oldDMwLT", "_VVTight"]
])
containerID(patTaus.tauIDSources, "hpsPFTauDiscriminationByMVA6ElectronRejection", "rawValues", [
["againstElectronMVA6Raw", "discriminator"],
["againstElectronMVA6category", "category"]
])
containerID(patTaus.tauIDSources, "hpsPFTauDiscriminationByMVA6ElectronRejection", "workingPoints", [
["againstElectronVLooseMVA6", "_VLoose"],
["againstElectronLooseMVA6", "_Loose"],
["againstElectronMediumMVA6", "_Medium"],
["againstElectronTightMVA6", "_Tight"],
["againstElectronVTightMVA6", "_VTight"]
])
singleID(patTaus.tauIDSources, "hpsPFTauDiscriminationByDeadECALElectronRejection", "againstElectronDeadECAL")
8 changes: 1 addition & 7 deletions RecoTauTag/Configuration/python/HPSPFTaus_cff.py
Expand Up @@ -487,15 +487,9 @@
hpsPFTauDiscriminationByDecayModeFinding, # CV: kept for backwards compatibility
hpsPFTauBasicDiscriminatorsTask,
hpsPFTauBasicDiscriminatorsdR03Task,
hpsPFTauDiscriminationByLooseElectronRejection,
hpsPFTauDiscriminationByMediumElectronRejection,
hpsPFTauDiscriminationByTightElectronRejection,
hpsPFTauDiscriminationByMVA6rawElectronRejection,
hpsPFTauDiscriminationByMVA6ElectronRejection,
hpsPFTauDiscriminationByDeadECALElectronRejection,
hpsPFTauDiscriminationByMuonRejection3,
hpsPFTauVertexAndImpactParametersTask,
hpsPFTauMVAIsolation2Task
hpsPFTauVertexAndImpactParametersTask
)

produceAndDiscriminateHPSPFTaus = cms.Sequence(
Expand Down
12 changes: 2 additions & 10 deletions RecoTauTag/Configuration/python/RecoTauTag_EventContent_cff.py
Expand Up @@ -12,20 +12,12 @@
'keep *_hpsPFTauDiscriminationByDecayModeFindingNewDMs_*_*',
'keep *_hpsPFTauDiscriminationByDecayModeFindingOldDMs_*_*',
'keep *_hpsPFTauDiscriminationByMuonRejection3_*_*',
'keep *_hpsPFTauTransverseImpactParameters_*_*',
'keep *_hpsPFTauDiscriminationByMVA6ElectronRejection_*_*',
'keep *_hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLT_*_*',
'keep *_hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLT_*_*',
'keep *_hpsPFTauDiscriminationByIsolationMVArun2v1PWoldDMwLT_*_*',
'keep *_hpsPFTauDiscriminationByIsolationMVArun2v1PWnewDMwLT_*_*',
'keep *_hpsPFTauDiscriminationByIsolationMVArun2v1DBdR03oldDMwLT_*_*',
'keep *_hpsPFTauDiscriminationByIsolationMVArun2v1PWdR03oldDMwLT_*_*')
'keep *_hpsPFTauTransverseImpactParameters_*_*')
)

#RECO content
RecoTauTagRECO = cms.PSet(
outputCommands = cms.untracked.vstring(
'keep *_hpsPFTauDiscriminationByLooseElectronRejection_*_*')
outputCommands = cms.untracked.vstring()
)
RecoTauTagRECO.outputCommands.extend(RecoTauTagAOD.outputCommands)

Expand Down