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

drop type specs in RecoTauTag #31748

Merged
merged 2 commits into from
Oct 12, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

at line 422 there is also a forgotten

    inputIDNameSuffix = cms.string("dR03"),

)
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