Skip to content

Commit

Permalink
Merge pull request #31748 from jeongeun/RecoTauTag112X
Browse files Browse the repository at this point in the history
drop type specs in RecoTauTag
  • Loading branch information
cmsbuild authored Oct 12, 2020
2 parents 2b03e03 + 4facfa9 commit f713e6a
Show file tree
Hide file tree
Showing 17 changed files with 168 additions and 171 deletions.
128 changes: 64 additions & 64 deletions RecoTauTag/Configuration/python/HPSPFTaus_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
from RecoTauTag.RecoTau.PFRecoTauDiscriminationByHPSSelection_cfi import hpsSelectionDiscriminator, decayMode_1Prong0Pi0, decayMode_1Prong1Pi0, decayMode_1Prong2Pi0, decayMode_2Prong0Pi0, decayMode_2Prong1Pi0, decayMode_3Prong0Pi0, decayMode_3Prong1Pi0

hpsPFTauDiscriminationByDecayModeFindingNewDMs = hpsSelectionDiscriminator.clone(
PFTauProducer = cms.InputTag('hpsPFTauProducer'),
PFTauProducer = 'hpsPFTauProducer',
#----------------------------------------------------------------------------
# CV: disable 3Prong1Pi0 decay mode
decayModes = cms.VPSet(
Expand All @@ -45,14 +45,14 @@
#----------------------------------------------------------------------------
)
hpsPFTauDiscriminationByDecayModeFindingOldDMs = hpsSelectionDiscriminator.clone(
PFTauProducer = cms.InputTag('hpsPFTauProducer'),
PFTauProducer = 'hpsPFTauProducer',
decayModes = cms.VPSet(
decayMode_1Prong0Pi0,
decayMode_1Prong1Pi0,
decayMode_1Prong2Pi0,
decayMode_3Prong0Pi0
),
requireTauChargedHadronsToBeChargedPFCands = cms.bool(True)
requireTauChargedHadronsToBeChargedPFCands = True
)
hpsPFTauDiscriminationByDecayModeFinding = hpsPFTauDiscriminationByDecayModeFindingOldDMs.clone() ## CV: kept for backwards compatibility

Expand All @@ -67,7 +67,7 @@

## Cut based isolations dR=0.5
hpsPFTauBasicDiscriminators = pfRecoTauDiscriminationByIsolation.clone(
PFTauProducer = cms.InputTag("hpsPFTauProducer"),
PFTauProducer = "hpsPFTauProducer",
Prediscriminants = requireDecayMode.clone(),
deltaBetaPUTrackPtCutOverride = True, # Set the boolean = True to override.
deltaBetaPUTrackPtCutOverride_val = 0.5, # Set the value for new value.
Expand Down Expand Up @@ -170,7 +170,7 @@
# define helper function to read indices of basic IDs or antimuon
## MuonRejection3
hpsPFTauDiscriminationByMuonRejection3 = pfRecoTauDiscriminationAgainstMuon2Container.clone(
PFTauProducer = cms.InputTag('hpsPFTauProducer'),
PFTauProducer = 'hpsPFTauProducer',
Prediscriminants = noPrediscriminants,
IDWPdefinitions = cms.VPSet(
cms.PSet(
Expand All @@ -195,50 +195,50 @@

## ByLooseElectronRejection
hpsPFTauDiscriminationByLooseElectronRejection = pfRecoTauDiscriminationAgainstElectron.clone(
PFTauProducer = cms.InputTag('hpsPFTauProducer'),
PFTauProducer = 'hpsPFTauProducer',
Prediscriminants = noPrediscriminants,
PFElectronMVA_maxValue = cms.double(0.6)
PFElectronMVA_maxValue = 0.6
)
## ByMediumElectronRejection
hpsPFTauDiscriminationByMediumElectronRejection = pfRecoTauDiscriminationAgainstElectron.clone(
PFTauProducer = cms.InputTag('hpsPFTauProducer'),
PFTauProducer = 'hpsPFTauProducer',
Prediscriminants = noPrediscriminants,
ApplyCut_EcalCrackCut = cms.bool(True)
ApplyCut_EcalCrackCut = True
)
## ByTightElectronRejection
hpsPFTauDiscriminationByTightElectronRejection = pfRecoTauDiscriminationAgainstElectron.clone(
PFTauProducer = cms.InputTag('hpsPFTauProducer'),
PFTauProducer = 'hpsPFTauProducer',
Prediscriminants = noPrediscriminants,
ApplyCut_EcalCrackCut = cms.bool(True),
ApplyCut_BremCombined = cms.bool(True)
ApplyCut_EcalCrackCut = True,
ApplyCut_BremCombined = True
)
## ByDeadECALElectronRejection
hpsPFTauDiscriminationByDeadECALElectronRejection = pfRecoTauDiscriminationAgainstElectronDeadECAL.clone(
PFTauProducer = cms.InputTag('hpsPFTauProducer'),
PFTauProducer = 'hpsPFTauProducer',
Prediscriminants = requireDecayMode.clone()
)
## ByMVA6rawElectronRejection
hpsPFTauDiscriminationByMVA6rawElectronRejection = pfRecoTauDiscriminationAgainstElectronMVA6.clone(
PFTauProducer = cms.InputTag('hpsPFTauProducer'),
srcElectrons = cms.InputTag('gedGsfElectrons'),
PFTauProducer = 'hpsPFTauProducer',
srcElectrons = 'gedGsfElectrons',
Prediscriminants = requireDecayMode.clone(),
loadMVAfromDB = cms.bool(True),
vetoEcalCracks = cms.bool(False),
mvaName_NoEleMatch_woGwoGSF_BL = cms.string("RecoTauTag_antiElectronMVA_NoEleMatch_woGwoGSF_BL"),
mvaName_NoEleMatch_wGwoGSF_BL = cms.string("RecoTauTag_antiElectronMVA_NoEleMatch_wGwoGSF_BL"),
mvaName_woGwGSF_BL = cms.string("RecoTauTag_antiElectronMVA_woGwGSF_BL"),
mvaName_wGwGSF_BL = cms.string("RecoTauTag_antiElectronMVA_wGwGSF_BL"),
mvaName_NoEleMatch_woGwoGSF_EC = cms.string("RecoTauTag_antiElectronMVA_NoEleMatch_woGwoGSF_EC"),
mvaName_NoEleMatch_wGwoGSF_EC = cms.string("RecoTauTag_antiElectronMVA_NoEleMatch_wGwoGSF_EC"),
mvaName_woGwGSF_EC = cms.string("RecoTauTag_antiElectronMVA_woGwGSF_EC"),
mvaName_wGwGSF_EC = cms.string("RecoTauTag_antiElectronMVA_wGwGSF_EC")
loadMVAfromDB = True,
vetoEcalCracks = False,
mvaName_NoEleMatch_woGwoGSF_BL = "RecoTauTag_antiElectronMVA_NoEleMatch_woGwoGSF_BL",
mvaName_NoEleMatch_wGwoGSF_BL = "RecoTauTag_antiElectronMVA_NoEleMatch_wGwoGSF_BL",
mvaName_woGwGSF_BL = "RecoTauTag_antiElectronMVA_woGwGSF_BL",
mvaName_wGwGSF_BL = "RecoTauTag_antiElectronMVA_wGwGSF_BL",
mvaName_NoEleMatch_woGwoGSF_EC = "RecoTauTag_antiElectronMVA_NoEleMatch_woGwoGSF_EC",
mvaName_NoEleMatch_wGwoGSF_EC = "RecoTauTag_antiElectronMVA_NoEleMatch_wGwoGSF_EC",
mvaName_woGwGSF_EC = "RecoTauTag_antiElectronMVA_woGwGSF_EC",
mvaName_wGwGSF_EC = "RecoTauTag_antiElectronMVA_wGwGSF_EC"
)
## ByMVA6ElectronRejection
hpsPFTauDiscriminationByMVA6ElectronRejection = recoTauDiscriminantCutMultiplexerDefault.clone(
PFTauProducer = cms.InputTag('hpsPFTauProducer'),
PFTauProducer = 'hpsPFTauProducer',
Prediscriminants = requireDecayMode.clone(),
toMultiplex = cms.InputTag('hpsPFTauDiscriminationByMVA6rawElectronRejection'),
loadMVAfromDB = cms.bool(True),
toMultiplex = 'hpsPFTauDiscriminationByMVA6rawElectronRejection',
loadMVAfromDB = True,
mapping = cms.VPSet(
cms.PSet(
category = cms.uint32(0), # minMVANoEleMatchWOgWOgsfBL
Expand Down Expand Up @@ -311,46 +311,46 @@

from RecoTauTag.RecoTau.RecoTauCleaner_cfi import RecoTauCleaner
hpsPFTauProducerSansRefs = RecoTauCleaner.clone(
src = cms.InputTag("combinatoricRecoTaus")
src = "combinatoricRecoTaus",
cleaners = {1: dict(src = "hpsSelectionDiscriminator")}
)
hpsPFTauProducerSansRefs.cleaners[1].src = cms.InputTag("hpsSelectionDiscriminator")

from RecoTauTag.RecoTau.RecoTauPiZeroUnembedder_cfi import RecoTauPiZeroUnembedder
hpsPFTauProducer = RecoTauPiZeroUnembedder.clone(
src = cms.InputTag("hpsPFTauProducerSansRefs")
src = "hpsPFTauProducerSansRefs"
)

from RecoTauTag.RecoTau.PFTauPrimaryVertexProducer_cfi import *
from RecoTauTag.RecoTau.PFTauSecondaryVertexProducer_cfi import *
from RecoTauTag.RecoTau.PFTauTransverseImpactParameters_cfi import *
hpsPFTauPrimaryVertexProducer = PFTauPrimaryVertexProducer.clone(
PFTauTag = cms.InputTag("hpsPFTauProducer"),
ElectronTag = cms.InputTag(""),
MuonTag = cms.InputTag(""),
PVTag = cms.InputTag("offlinePrimaryVertices"),
beamSpot = cms.InputTag("offlineBeamSpot"),
Algorithm = cms.int32(0),
useBeamSpot = cms.bool(True),
RemoveMuonTracks = cms.bool(False),
RemoveElectronTracks = cms.bool(False),
useSelectedTaus = cms.bool(False),
PFTauTag = "hpsPFTauProducer",
ElectronTag = "",
MuonTag = "",
PVTag = "offlinePrimaryVertices",
beamSpot = "offlineBeamSpot",
Algorithm = 0,
useBeamSpot = True,
RemoveMuonTracks = False,
RemoveElectronTracks = False,
useSelectedTaus = False,
discriminators = cms.VPSet(
cms.PSet(
discriminator = cms.InputTag('hpsPFTauDiscriminationByDecayModeFindingNewDMs'),
selectionCut = cms.double(0.5)
)
),
cut = cms.string("pt > 18.0 & abs(eta) < 2.4")
cut = "pt > 18.0 & abs(eta) < 2.4"
)

hpsPFTauSecondaryVertexProducer = PFTauSecondaryVertexProducer.clone(
PFTauTag = cms.InputTag("hpsPFTauProducer")
PFTauTag = "hpsPFTauProducer"
)
hpsPFTauTransverseImpactParameters = PFTauTransverseImpactParameters.clone(
PFTauTag = cms.InputTag("hpsPFTauProducer"),
PFTauPVATag = cms.InputTag("hpsPFTauPrimaryVertexProducer"),
PFTauSVATag = cms.InputTag("hpsPFTauSecondaryVertexProducer"),
useFullCalculation = cms.bool(True)
PFTauTag = "hpsPFTauProducer",
PFTauPVATag = "hpsPFTauPrimaryVertexProducer",
PFTauSVATag = "hpsPFTauSecondaryVertexProducer",
useFullCalculation = True
)
hpsPFTauVertexAndImpactParametersTask = cms.Task(
hpsPFTauPrimaryVertexProducer,
Expand All @@ -373,39 +373,39 @@
)

hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLT = discriminationByIsolationMVArun2v1.clone(
PFTauProducer = cms.InputTag('hpsPFTauProducer'),
PFTauProducer = 'hpsPFTauProducer',
Prediscriminants = requireDecayMode.clone(),
toMultiplex = cms.InputTag('hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLTraw'),
loadMVAfromDB = cms.bool(True),
mvaOutput_normalization = cms.string("RecoTauTag_tauIdMVAIsoDBoldDMwLT_mvaOutput_normalization"),
toMultiplex = 'hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLTraw',
loadMVAfromDB = True,
mvaOutput_normalization = "RecoTauTag_tauIdMVAIsoDBoldDMwLT_mvaOutput_normalization",
mapping = cms.VPSet(
cms.PSet(
category = cms.uint32(0),
cut = cms.string("RecoTauTag_tauIdMVAIsoDBoldDMwLT"),
variable = cms.string("pt")
)
),
workingPoints = cms.vstring(
workingPoints = [
"_VVLoose",
"_VLoose",
"_Loose",
"_Medium",
"_Tight",
"_VTight",
"_VVTight"
)
]
)

hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLTraw = hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLTraw.clone(
mvaName = cms.string("RecoTauTag_tauIdMVAIsoDBnewDMwLT"),
mvaOpt = cms.string("DBnewDMwLTwGJ"),
verbosity = cms.int32(0)
mvaName = "RecoTauTag_tauIdMVAIsoDBnewDMwLT",
mvaOpt = "DBnewDMwLTwGJ",
verbosity = 0
)

hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLT = hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLT.clone(
toMultiplex = cms.InputTag('hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLTraw'),
loadMVAfromDB = cms.bool(True),
mvaOutput_normalization = cms.string("RecoTauTag_tauIdMVAIsoDBnewDMwLT_mvaOutput_normalization"),
toMultiplex = 'hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLTraw',
loadMVAfromDB = True,
mvaOutput_normalization = "RecoTauTag_tauIdMVAIsoDBnewDMwLT_mvaOutput_normalization",
mapping = cms.VPSet(
cms.PSet(
category = cms.uint32(0),
Expand All @@ -419,15 +419,15 @@
mvaName = "RecoTauTag_tauIdMVAIsoDBoldDMdR0p3wLT",
mvaOpt = "DBoldDMwLTwGJ",
srcBasicTauDiscriminators = "hpsPFTauBasicDiscriminatorsdR03",
inputIDNameSuffix = cms.string("dR03"),
inputIDNameSuffix = "dR03",
verbosity = 0
)
hpsPFTauDiscriminationByIsolationMVArun2v1DBdR03oldDMwLT = hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLT.clone(
PFTauProducer = cms.InputTag('hpsPFTauProducer'),
PFTauProducer = 'hpsPFTauProducer',
Prediscriminants = requireDecayMode.clone(),
toMultiplex = cms.InputTag('hpsPFTauDiscriminationByIsolationMVArun2v1DBdR03oldDMwLTraw'),
loadMVAfromDB = cms.bool(True),
mvaOutput_normalization = cms.string("RecoTauTag_tauIdMVAIsoDBoldDMdR0p3wLT_mvaOutput_normalization"),
toMultiplex = 'hpsPFTauDiscriminationByIsolationMVArun2v1DBdR03oldDMwLTraw',
loadMVAfromDB = True,
mvaOutput_normalization = "RecoTauTag_tauIdMVAIsoDBoldDMdR0p3wLT_mvaOutput_normalization",
mapping = cms.VPSet(
cms.PSet(
category = cms.uint32(0),
Expand Down
43 changes: 20 additions & 23 deletions RecoTauTag/Configuration/python/RecoPFTauTag_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@

# Reconstruct the pi zeros in our pre-selected jets.
from RecoTauTag.RecoTau.RecoTauPiZeroProducer_cff import ak4PFJetsLegacyHPSPiZeros
ak4PFJetsLegacyHPSPiZeros = ak4PFJetsLegacyHPSPiZeros.clone()
ak4PFJetsLegacyHPSPiZeros.jetSrc = PFRecoTauPFJetInputs.inputJetCollection

ak4PFJetsLegacyHPSPiZeros = ak4PFJetsLegacyHPSPiZeros.clone(
jetSrc = PFRecoTauPFJetInputs.inputJetCollection
)
# import charged hadrons
from RecoTauTag.RecoTau.PFRecoTauChargedHadronProducer_cff import ak4PFJetsRecoTauChargedHadrons
ak4PFJetsRecoTauChargedHadrons = ak4PFJetsRecoTauChargedHadrons.clone()
Expand All @@ -45,11 +45,18 @@
# We split it into different collections for each different decay mode.

from RecoTauTag.RecoTau.RecoTauCombinatoricProducer_cfi import combinatoricRecoTaus, combinatoricModifierConfigs
combinatoricRecoTaus = combinatoricRecoTaus.clone()
combinatoricRecoTaus.modifiers = cms.VPSet(combinatoricModifierConfigs)
combinatoricRecoTaus.jetRegionSrc = cms.InputTag("recoTauAK4PFJets08Region")
combinatoricRecoTaus.jetSrc = PFRecoTauPFJetInputs.inputJetCollection
#-------------------------------------------------------------------------------
#------------------ HPS Taus ---------------------------------------------------
#-------------------------------------------------------------------------------
from RecoTauTag.Configuration.HPSPFTaus_cff import *

combinatoricRecoTaus = combinatoricRecoTaus.clone(
modifiers = cms.VPSet(combinatoricModifierConfigs),
jetRegionSrc = "recoTauAK4PFJets08Region",
jetSrc = PFRecoTauPFJetInputs.inputJetCollection,
chargedHadronSrc = "ak4PFJetsRecoTauChargedHadrons",
piZeroSrc = "ak4PFJetsLegacyHPSPiZeros"
)
for e in [pp_on_XeXe_2017, pp_on_AA_2018]:
e.toModify(combinatoricRecoTaus, minJetPt = recoTauAK4PFJets08Region.minJetPt)

Expand All @@ -60,28 +67,19 @@
plugin = cms.string("PFRecoTauMassPlugin"),
verbosity = cms.int32(0)
))
#--------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
#------------------ HPS Taus ---------------------------------------------------
#-------------------------------------------------------------------------------

from RecoTauTag.Configuration.HPSPFTaus_cff import *

combinatoricRecoTaus.chargedHadronSrc = cms.InputTag("ak4PFJetsRecoTauChargedHadrons")
combinatoricRecoTaus.piZeroSrc = cms.InputTag("ak4PFJetsLegacyHPSPiZeros")

#-------------------------------------------------------------------------------
#------------------ PFTauTagInfo workaround ------------------------------------
#-------------------------------------------------------------------------------
# Build the PFTauTagInfos separately, then relink them into the taus.
from RecoTauTag.RecoTau.PFRecoTauTagInfoProducer_cfi import pfRecoTauTagInfoProducer
pfRecoTauTagInfoProducer = pfRecoTauTagInfoProducer.clone()
pfRecoTauTagInfoProducer.PFJetTracksAssociatorProducer = cms.InputTag("ak4PFJetTracksAssociatorAtVertex")

pfRecoTauTagInfoProducer = pfRecoTauTagInfoProducer.clone(
PFJetTracksAssociatorProducer = "ak4PFJetTracksAssociatorAtVertex"
)
from RecoJets.JetAssociationProducers.ak4JTA_cff import ak4JetTracksAssociatorAtVertexPF
ak4PFJetTracksAssociatorAtVertex = ak4JetTracksAssociatorAtVertexPF.clone()
ak4PFJetTracksAssociatorAtVertex.jets = PFRecoTauPFJetInputs.inputJetCollection
ak4PFJetTracksAssociatorAtVertex = ak4JetTracksAssociatorAtVertexPF.clone(
jets = PFRecoTauPFJetInputs.inputJetCollection
)
tautagInfoModifer = cms.PSet(
name = cms.string("TTIworkaround"),
plugin = cms.string("RecoTauTagInfoWorkaroundModifer"),
Expand Down Expand Up @@ -123,4 +121,3 @@
PFTau = cms.Sequence(
PFTauTask
)

19 changes: 9 additions & 10 deletions RecoTauTag/Configuration/python/boostedHPSPFTaus_cff.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import FWCore.ParameterSet.Config as cms
import copy

'''
Expand All @@ -9,25 +8,25 @@

import CommonTools.ParticleFlow.pfNoPileUp_cff as boostedTaus
pfPileUpForBoostedTaus = boostedTaus.pfPileUp.clone(
PFCandidates = cms.InputTag('particleFlow'),
checkClosestZVertex = cms.bool(False)
PFCandidates = 'particleFlow',
checkClosestZVertex = False
)
pfNoPileUpForBoostedTaus = boostedTaus.pfNoPileUp.clone(
topCollection = cms.InputTag('pfPileUpForBoostedTaus'),
bottomCollection = cms.InputTag('particleFlow')
topCollection = 'pfPileUpForBoostedTaus',
bottomCollection = 'particleFlow'
)


import RecoJets.JetProducers.ak4PFJets_cfi as boostedTaus2
import RecoJets.JetProducers.CMSBoostedTauSeedingParameters_cfi as boostedTaus3
ca8PFJetsCHSprunedForBoostedTaus = boostedTaus2.ak4PFJets.clone(
boostedTaus3.CMSBoostedTauSeedingParameters,
#src = cms.InputTag('pfNoPileUpForBoostedTaus'),
jetPtMin = cms.double(100.0),
doAreaFastjet = cms.bool(True),
#src = 'pfNoPileUpForBoostedTaus',
jetPtMin = 100.0,
doAreaFastjet = True,
nFilt = cms.int32(100),
rParam = cms.double(0.8),
jetAlgorithm = cms.string("CambridgeAachen"),
rParam = 0.8,
jetAlgorithm = "CambridgeAachen",
writeCompound = cms.bool(True),
jetCollInstanceName = cms.string('subJetsForSeedingBoostedTaus')
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from CondCore.CondDB.CondDB_cfi import *
'''Helper procedure that loads mva inputs from database'''

CondDBTauConnection = CondDB.clone( connect = cms.string( 'frontier://FrontierProd/CMS_CONDITIONS' ) )
CondDBTauConnection = CondDB.clone( connect = 'frontier://FrontierProd/CMS_CONDITIONS' )

loadRecoTauTagMVAsFromPrepDB = cms.ESSource( "PoolDBESSource",
CondDBTauConnection,
Expand Down
Loading

0 comments on commit f713e6a

Please sign in to comment.