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

Rerunning MVA based tauIDs for "run2_miniAOD_94XFall17" and "run2_miniAOD_80XLegacy" eras + one additional fix in boostedTau reconstruction for miniAOD #22105

Merged
25 changes: 15 additions & 10 deletions PhysicsTools/PatAlgos/python/slimming/miniAOD_tools.py
Expand Up @@ -338,21 +338,26 @@ def miniAOD_customizeCommon(process):
for idmod in photon_ids:
setupAllVIDIdsInModule(process,idmod,setupVIDPhotonSelection,None,False,task)

#---------------------------------------------------------------------------
#Adding Boosted Subjets taus
#-- Adding boosted taus
from RecoTauTag.Configuration.boostedHPSPFTaus_cfi import addBoostedTaus
addBoostedTaus(process)
#---------------------------------------------------------------------------
#Adding tau reco for 80X legacy reMiniAOD
#make a copy of makePatTauTask to avoid labels and substitution problems
_makePatTausTaskWithTauReReco = process.makePatTausTask.copy()
#add PFTau reco modules to cloned makePatTauTask
process.load("RecoTauTag.Configuration.RecoPFTauTag_cff")
_makePatTausTaskWithTauReReco.add(process.PFTauTask)
#replace original task by extended one for the miniAOD_80XLegacy era
process.load("RecoTauTag.Configuration.HPSPFTaus_cff")
#-- Adding customization for 94X 2017 legacy reMniAOD
from Configuration.Eras.Modifier_run2_miniAOD_94XFall17_cff import run2_miniAOD_94XFall17
_makePatTausTaskWithRetrainedMVATauID = process.makePatTausTask.copy()
_makePatTausTaskWithRetrainedMVATauID.add(process.hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLTTask)
run2_miniAOD_94XFall17.toReplaceWith(
process.makePatTausTask, _makePatTausTaskWithRetrainedMVATauID
)
#-- Adding customization for 80X 2016 legacy reMiniAOD
from Configuration.Eras.Modifier_run2_miniAOD_80XLegacy_cff import run2_miniAOD_80XLegacy
_makePatTausTaskWithTauReReco = process.makePatTausTask.copy()
_makePatTausTaskWithTauReReco.add(process.PFTauTask)
run2_miniAOD_80XLegacy.toReplaceWith(
process.makePatTausTask, _makePatTausTaskWithTauReReco)
process.makePatTausTask, _makePatTausTaskWithTauReReco
)

# Adding puppi jets
if not hasattr(process, 'ak4PFJetsPuppi'): #MM: avoid confilct with substructure call
process.load('RecoJets.JetProducers.ak4PFJetsPuppi_cfi')
Expand Down
62 changes: 49 additions & 13 deletions RecoTauTag/Configuration/python/HPSPFTaus_cff.py
Expand Up @@ -753,66 +753,99 @@
hpsPFTauDiscriminationByVVTightIsolationMVArun2v1PWdR03oldDMwLT = hpsPFTauDiscriminationByVLooseIsolationMVArun2v1PWdR03oldDMwLT.clone()
hpsPFTauDiscriminationByVVTightIsolationMVArun2v1PWdR03oldDMwLT.mapping[0].cut = cms.string("RecoTauTag_tauIdMVAPWdR03oldDMwLTv1_WPEff40")

hpsPFTauMVAIsolation2Task = cms.Task(
hpsPFTauIsolationSumsTask = cms.Task(
hpsPFTauChargedIsoPtSum,
hpsPFTauNeutralIsoPtSum,
hpsPFTauPUcorrPtSum,
hpsPFTauNeutralIsoPtSumWeight,
hpsPFTauFootprintCorrection,
hpsPFTauPhotonPtSumOutsideSignalCone,
hpsPFTauPhotonPtSumOutsideSignalCone,
)

hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLTTask = cms.Task(
hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLTraw,
hpsPFTauDiscriminationByVVLooseIsolationMVArun2v1DBoldDMwLT,
hpsPFTauDiscriminationByVLooseIsolationMVArun2v1DBoldDMwLT,
hpsPFTauDiscriminationByLooseIsolationMVArun2v1DBoldDMwLT,
hpsPFTauDiscriminationByMediumIsolationMVArun2v1DBoldDMwLT,
hpsPFTauDiscriminationByTightIsolationMVArun2v1DBoldDMwLT,
hpsPFTauDiscriminationByVTightIsolationMVArun2v1DBoldDMwLT,
hpsPFTauDiscriminationByVVTightIsolationMVArun2v1DBoldDMwLT,
hpsPFTauDiscriminationByVVTightIsolationMVArun2v1DBoldDMwLT
)

hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLTTask = cms.Task(
hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLTraw,
hpsPFTauDiscriminationByVLooseIsolationMVArun2v1DBnewDMwLT,
hpsPFTauDiscriminationByLooseIsolationMVArun2v1DBnewDMwLT,
hpsPFTauDiscriminationByMediumIsolationMVArun2v1DBnewDMwLT,
hpsPFTauDiscriminationByTightIsolationMVArun2v1DBnewDMwLT,
hpsPFTauDiscriminationByVTightIsolationMVArun2v1DBnewDMwLT,
hpsPFTauDiscriminationByVVTightIsolationMVArun2v1DBnewDMwLT,
hpsPFTauDiscriminationByVVTightIsolationMVArun2v1DBnewDMwLT
)

hpsPFTauDiscriminationByIsolationMVArun2v1PWoldDMwLTTask = cms.Task(
hpsPFTauDiscriminationByIsolationMVArun2v1PWoldDMwLTraw,
hpsPFTauDiscriminationByVLooseIsolationMVArun2v1PWoldDMwLT,
hpsPFTauDiscriminationByLooseIsolationMVArun2v1PWoldDMwLT,
hpsPFTauDiscriminationByMediumIsolationMVArun2v1PWoldDMwLT,
hpsPFTauDiscriminationByTightIsolationMVArun2v1PWoldDMwLT,
hpsPFTauDiscriminationByVTightIsolationMVArun2v1PWoldDMwLT,
hpsPFTauDiscriminationByVVTightIsolationMVArun2v1PWoldDMwLT,
hpsPFTauDiscriminationByVVTightIsolationMVArun2v1PWoldDMwLT
)

hpsPFTauDiscriminationByIsolationMVArun2v1PWnewDMwLTTask = cms.Task(
hpsPFTauDiscriminationByIsolationMVArun2v1PWnewDMwLTraw,
hpsPFTauDiscriminationByVLooseIsolationMVArun2v1PWnewDMwLT,
hpsPFTauDiscriminationByLooseIsolationMVArun2v1PWnewDMwLT,
hpsPFTauDiscriminationByMediumIsolationMVArun2v1PWnewDMwLT,
hpsPFTauDiscriminationByTightIsolationMVArun2v1PWnewDMwLT,
hpsPFTauDiscriminationByVTightIsolationMVArun2v1PWnewDMwLT,
hpsPFTauDiscriminationByVVTightIsolationMVArun2v1PWnewDMwLT,
)

hpsPFTauIsolationSums03Task = cms.Task(
hpsPFTauChargedIsoPtSumdR03,
hpsPFTauNeutralIsoPtSumdR03,
hpsPFTauPUcorrPtSumdR03,
hpsPFTauNeutralIsoPtSumWeightdR03,
hpsPFTauFootprintCorrectiondR03,
hpsPFTauPhotonPtSumOutsideSignalConedR03,
hpsPFTauPhotonPtSumOutsideSignalConedR03
)

hpsPFTauDiscriminationByIsolationMVArun2v1DBdR03oldDMwLTTask = cms.Task(
hpsPFTauDiscriminationByIsolationMVArun2v1DBdR03oldDMwLTraw,
hpsPFTauDiscriminationByVLooseIsolationMVArun2v1DBdR03oldDMwLT,
hpsPFTauDiscriminationByLooseIsolationMVArun2v1DBdR03oldDMwLT,
hpsPFTauDiscriminationByMediumIsolationMVArun2v1DBdR03oldDMwLT,
hpsPFTauDiscriminationByTightIsolationMVArun2v1DBdR03oldDMwLT,
hpsPFTauDiscriminationByVTightIsolationMVArun2v1DBdR03oldDMwLT,
hpsPFTauDiscriminationByVVTightIsolationMVArun2v1DBdR03oldDMwLT,
hpsPFTauDiscriminationByVVTightIsolationMVArun2v1DBdR03oldDMwLT
)

hpsPFTauDiscriminationByIsolationMVArun2v1PWdR03oldDMwLTTask = cms.Task(
hpsPFTauDiscriminationByIsolationMVArun2v1PWdR03oldDMwLTraw,
hpsPFTauDiscriminationByVLooseIsolationMVArun2v1PWdR03oldDMwLT,
hpsPFTauDiscriminationByLooseIsolationMVArun2v1PWdR03oldDMwLT,
hpsPFTauDiscriminationByMediumIsolationMVArun2v1PWdR03oldDMwLT,
hpsPFTauDiscriminationByTightIsolationMVArun2v1PWdR03oldDMwLT,
hpsPFTauDiscriminationByVTightIsolationMVArun2v1PWdR03oldDMwLT,
hpsPFTauDiscriminationByVVTightIsolationMVArun2v1PWdR03oldDMwLT
)
)

hpsPFTauMVAIsolation2Task = cms.Task(
hpsPFTauIsolationSumsTask,
hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLTTask,
hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLTTask,
hpsPFTauDiscriminationByIsolationMVArun2v1PWoldDMwLTTask,
hpsPFTauDiscriminationByIsolationMVArun2v1PWnewDMwLTTask,
hpsPFTauIsolationSums03Task,
hpsPFTauDiscriminationByIsolationMVArun2v1DBdR03oldDMwLTTask,
hpsPFTauDiscriminationByIsolationMVArun2v1PWdR03oldDMwLTTask
)

hpsPFTauMVAIsolation2Seq = cms.Sequence(
hpsPFTauMVAIsolation2Task
)
)

produceHPSPFTausTask = cms.Task(
hpsSelectionDiscriminator,
Expand All @@ -822,10 +855,12 @@
#hpsVLooseIsolationCleaner,
hpsPFTauProducerSansRefs,
hpsPFTauProducer
)
)

produceHPSPFTaus = cms.Sequence(
produceHPSPFTausTask
)
)

produceAndDiscriminateHPSPFTausTask = cms.Task(
produceHPSPFTausTask,
hpsPFTauDiscriminationByDecayModeFindingNewDMs,
Expand All @@ -850,7 +885,8 @@
hpsPFTauDiscriminationByTightMuonRejection3,
hpsPFTauVertexAndImpactParametersTask,
hpsPFTauMVAIsolation2Task
)
)

produceAndDiscriminateHPSPFTaus = cms.Sequence(
produceAndDiscriminateHPSPFTausTask
)
)
7 changes: 2 additions & 5 deletions RecoTauTag/Configuration/python/boostedHPSPFTaus_cfi.py
Expand Up @@ -21,12 +21,9 @@ def addBoostedTaus(process):
process.ak4PFJetsRecoTauChargedHadronsBoosted.builders[1].dRcone = cms.double(0.3)
process.ak4PFJetsRecoTauChargedHadronsBoosted.builders[1].dRconeLimitedToJetArea = cms.bool(True)
process.combinatoricRecoTausBoosted.jetSrc = cms.InputTag('boostedTauSeeds')
process.combinatoricRecoTausBoosted.modifiers.remove(process.combinatoricRecoTausBoosted.modifiers[3])
#process.combinatoricRecoTausBoosted.builders[0].pfCandSrc = cms.InputTag('pfNoPileUpForBoostedTaus')
process.combinatoricRecoTausBoosted.builders[0].pfCandSrc = cms.InputTag('particleFlow')
#Note JetArea is not defined for subjets and restiction to jetArea is turned to dRMatch=0.1, so better use the latter explicitely
#process.hpsPFTauDiscriminationByLooseMuonRejection3Boosted.dRmuonMatchLimitedToJetArea = cms.bool(True)
#process.hpsPFTauDiscriminationByTightMuonRejection3Boosted.dRmuonMatchLimitedToJetArea = cms.bool(True)
## Note JetArea is not defined for subjets (-> do not switch to True in hpsPFTauDiscriminationByLooseMuonRejection3Boosted, False is default)
## The restiction to jetArea is turned to dRMatch=0.1 (-> use explicitly this modified value)
process.hpsPFTauDiscriminationByLooseMuonRejection3Boosted.dRmuonMatch = 0.1
process.hpsPFTauDiscriminationByTightMuonRejection3Boosted.dRmuonMatch = 0.1
massSearchReplaceAnyInputTag(process.PATTauSequenceBoosted,cms.InputTag("ak4PFJets"),cms.InputTag("boostedTauSeeds"))
Expand Down