Skip to content

Commit

Permalink
use era modifiers for compatibility with old productions
Browse files Browse the repository at this point in the history
  • Loading branch information
mbluj committed Jul 9, 2019
1 parent f8b0205 commit 0cd552a
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 47 deletions.
36 changes: 22 additions & 14 deletions PhysicsTools/NanoAOD/python/taus_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@
cut = cms.string("pt > 18 && tauID('decayModeFindingNewDMs') && (tauID('byLooseCombinedIsolationDeltaBetaCorr3Hits') || tauID('byVLooseIsolationMVArun2v1DBoldDMwLT2015') || tauID('byVLooseIsolationMVArun2v1DBnewDMwLT') || tauID('byVLooseIsolationMVArun2v1DBdR03oldDMwLT') || tauID('byVVLooseIsolationMVArun2v1DBoldDMwLT') || tauID('byVVLooseIsolationMVArun2v1DBoldDMwLT2017v2') || tauID('byVVLooseIsolationMVArun2v1DBnewDMwLT2017v2') || tauID('byVVLooseIsolationMVArun2v1DBdR03oldDMwLT2017v2') || tauID('byVVVLooseDeepTau2017v2VSjet'))")
)

from Configuration.Eras.Modifier_run2_nanoAOD_94X2016_cff import run2_nanoAOD_94X2016
from Configuration.Eras.Modifier_run2_nanoAOD_94XMiniAODv2_cff import run2_nanoAOD_94XMiniAODv2
from Configuration.Eras.Modifier_run2_nanoAOD_102Xv1_cff import run2_nanoAOD_102Xv1
for era in [run2_nanoAOD_94X2016,run2_nanoAOD_94XMiniAODv2,run2_nanoAOD_102Xv1]:
era.toModify(finalTaus,
cut = cms.string("pt > 18 && tauID('decayModeFindingNewDMs') && (tauID('byLooseCombinedIsolationDeltaBetaCorr3Hits') || tauID('byVLooseIsolationMVArun2v1DBoldDMwLT2015') || tauID('byVLooseIsolationMVArun2v1DBnewDMwLT') || tauID('byVLooseIsolationMVArun2v1DBdR03oldDMwLT') || tauID('byVVLooseIsolationMVArun2v1DBoldDMwLT') || tauID('byVVLooseIsolationMVArun2v1DBoldDMwLT2017v2') || tauID('byVVLooseIsolationMVArun2v1DBnewDMwLT2017v2') || tauID('byVVLooseIsolationMVArun2v1DBdR03oldDMwLT2017v2'))")
Expand Down Expand Up @@ -114,14 +111,18 @@ def _tauId8WPMask(pattern,doc):
idMVAoldDM2017v2 = _tauId7WPMask( "by%sIsolationMVArun2v1DBoldDMwLT2017v2", doc="IsolationMVArun2v1DBoldDMwLT ID working point (2017v2)"),
idMVAoldDMdR032017v2 = _tauId7WPMask( "by%sIsolationMVArun2v1DBdR03oldDMwLT2017v2", doc="IsolationMVArun2v1DBoldDMdR0p3wLT ID working point (2017v2)")
)
_mvaAntiEVars2018 = cms.PSet(
rawAntiEle2018 = Var("tauID('againstElectronMVA6Raw2018')", float, doc= "Anti-electron MVA discriminator V6 raw output discriminator (2018)", precision=10),
rawAntiEleCat2018 = Var("tauID('againstElectronMVA6category2018')", int, doc="Anti-electron MVA discriminator V6 category (2018)"),
idAntiEle2018 = _tauId5WPMask("againstElectron%sMVA62018", doc= "Anti-electron MVA discriminator V6 (2018)"),

rawAntiEle = Var("tauID('againstElectronMVA6Rawv1')", float, doc= "Anti-electron MVA discriminator V6 raw output discriminator", precision=10),
rawAntiEleCat = Var("tauID('againstElectronMVA6categoryv1')", int, doc="Anti-electron MVA discriminator V6 category"),
idAntiEle = _tauId5WPMask("againstElectron%sMVA6v1", doc= "Anti-electron MVA discriminator V6"),
_mvaAntiEVars = 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)"),
rawAntiEle = Var("tauID('againstElectronMVA6Raw2015')", float, doc= "Anti-electron MVA discriminator V6 raw output discriminator (2015)", precision=10),
rawAntiEleCat = Var("tauID('againstElectronMVA6category2015')", int, doc="Anti-electron MVA discriminator V6 category (2015"),
idAntiEle = _tauId5WPMask("againstElectron%sMVA62015", doc= "Anti-electron MVA discriminator V6 (2015)"),
)
_mvaAntiEVars2015 = cms.PSet(
rawAntiEle = Var("tauID('againstElectronMVA6Raw')", float, doc= "Anti-electron MVA discriminator V6 raw output discriminator (2015)", precision=10),
rawAntiEleCat = Var("tauID('againstElectronMVA6category')", int, doc="Anti-electron MVA discriminator V6 category (2015"),
idAntiEle = _tauId5WPMask("againstElectron%sMVA6", doc= "Anti-electron MVA discriminator V6 (2015)"),
)
_deepTauVars2017v2 = cms.PSet(
rawDeepTau2017v2VSe = Var("tauID('byDeepTau2017v2VSeraw')", float, doc="byDeepTau2017v2VSe raw output discriminator (deepTau2017v2)", precision=10),
Expand All @@ -134,7 +135,7 @@ def _tauId8WPMask(pattern,doc):

_variablesMiniV2 = cms.PSet(
_tauVarsBase,
_mvaAntiEVars2018,
_mvaAntiEVars,
_mvaIsoVars2015Reduced,
_mvaIsoVars2017v1,
_mvaIsoVars2017v2,
Expand All @@ -147,6 +148,7 @@ def _tauId8WPMask(pattern,doc):
_variablesMiniV1.idMVAoldDM2017v1 = _tauId7WPMask( "by%sIsolationMVArun2v1DBoldDMwLT2017v1", doc="IsolationMVArun2v1DBoldDMwLT ID working point (2017v1)")
_variables80X = cms.PSet(
_tauVarsBase,
_mvaAntiEVars2015,
_mvaIsoVars2015
)

Expand All @@ -157,7 +159,7 @@ def _tauId8WPMask(pattern,doc):
variables = _variablesMiniV1
)
run2_miniAOD_80XLegacy.toModify(tauTable,
variables = _variables80X
variables = _variables80X
)
for era in [run2_nanoAOD_94XMiniAODv1,run2_nanoAOD_94X2016,run2_nanoAOD_94XMiniAODv2,run2_nanoAOD_102Xv1]:
era.toModify(tauTable.variables,
Expand All @@ -166,7 +168,13 @@ def _tauId8WPMask(pattern,doc):
rawDeepTau2017v2VSjet = None,
idDeepTau2017v2VSe = None,
idDeepTau2017v2VSmu = None,
idDeepTau2017v2VSjet = None
idDeepTau2017v2VSjet = None,
rawAntiEle2018 = Var("tauID('againstElectronMVA6Raw2018')", float, doc= "Anti-electron MVA discriminator V6 raw output discriminator (2018)", precision=10),
rawAntiEleCat2018 = Var("tauID('againstElectronMVA6category2018')", int, doc="Anti-electron MVA discriminator V6 category (2018)"),
idAntiEle2018 = _tauId5WPMask("againstElectron%sMVA62018", doc= "Anti-electron MVA discriminator V6 (2018)"),
rawAntiEle = Var("tauID('againstElectronMVA6Raw')", float, doc= "Anti-electron MVA discriminator V6 raw output discriminator (2015)", precision=10),
rawAntiEleCat = Var("tauID('againstElectronMVA6category')", int, doc="Anti-electron MVA discriminator V6 category (2015"),
idAntiEle = _tauId5WPMask("againstElectron%sMVA6", doc= "Anti-electron MVA discriminator V6 (2015)")
)

tauGenJets.GenParticles = cms.InputTag("prunedGenParticles")
Expand Down
85 changes: 52 additions & 33 deletions PhysicsTools/NanoAOD/python/taus_updatedMVAIds_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
# Used only in some eras
from RecoTauTag.Configuration.loadRecoTauTagMVAsFromPrepDB_cfi import *
from RecoTauTag.RecoTau.PATTauDiscriminationByMVAIsolationRun2_cff import *
from Configuration.Eras.Modifier_run2_nanoAOD_94XMiniAODv1_cff import run2_nanoAOD_94XMiniAODv1
from Configuration.Eras.Modifier_run2_nanoAOD_94X2016_cff import run2_nanoAOD_94X2016
from Configuration.Eras.Modifier_run2_nanoAOD_94XMiniAODv2_cff import run2_nanoAOD_94XMiniAODv2
from Configuration.Eras.Modifier_run2_nanoAOD_102Xv1_cff import run2_nanoAOD_102Xv1

### MVAIso 2017v2
## DBoldDM
Expand Down Expand Up @@ -286,7 +290,7 @@
)


### Define new anit-e discriminants
### Define new anit-e discriminants (2018)
antiElectronDiscrMVA6_version = "MVA6v3_noeveto"
## Raw
from RecoTauTag.RecoTau.PATTauDiscriminationAgainstElectronMVA6_cfi import patTauDiscriminationAgainstElectronMVA6
Expand Down Expand Up @@ -534,10 +538,10 @@
)
)
)
### Define v1 anit-e discriminants
### Define v1 anit-e discriminants (2015)
antiElectronDiscrMVA6_version = "MVA6v1"
## Raw
patTauDiscriminationByElectronRejectionMVA6Raw = patTauDiscriminationAgainstElectronMVA6.clone(
patTauDiscriminationByElectronRejectionMVA62015Raw = patTauDiscriminationAgainstElectronMVA6.clone(
Prediscriminants = noPrediscriminants, #already selected for MiniAOD
vetoEcalCracks = True, #don't keep tau candidates in EB-EE cracks for v1
mvaName_NoEleMatch_wGwoGSF_BL = 'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+'_gbr_NoEleMatch_wGwoGSF_BL',
Expand All @@ -551,11 +555,11 @@
)
## anti-e v1 WPs
# VLoose
patTauDiscriminationByVLooseElectronRejectionMVA6 = patTauDiscriminantCutMultiplexer.clone(
PATTauProducer = patTauDiscriminationByElectronRejectionMVA6Raw.PATTauProducer,
Prediscriminants = patTauDiscriminationByElectronRejectionMVA6Raw.Prediscriminants,
toMultiplex = cms.InputTag("patTauDiscriminationByElectronRejectionMVA6Raw"),
key = cms.InputTag("patTauDiscriminationByElectronRejectionMVA6Raw","category"),
patTauDiscriminationByVLooseElectronRejectionMVA62015 = patTauDiscriminantCutMultiplexer.clone(
PATTauProducer = patTauDiscriminationByElectronRejectionMVA62015Raw.PATTauProducer,
Prediscriminants = patTauDiscriminationByElectronRejectionMVA62015Raw.Prediscriminants,
toMultiplex = cms.InputTag("patTauDiscriminationByElectronRejectionMVA62015Raw"),
key = cms.InputTag("patTauDiscriminationByElectronRejectionMVA62015Raw","category"),
mapping = cms.VPSet(
cms.PSet(
category = cms.uint32(0),
Expand Down Expand Up @@ -600,7 +604,7 @@
)
)
# Loose
patTauDiscriminationByLooseElectronRejectionMVA6 = patTauDiscriminationByVLooseElectronRejectionMVA6.clone(
patTauDiscriminationByLooseElectronRejectionMVA62015 = patTauDiscriminationByVLooseElectronRejectionMVA62015.clone(
mapping = cms.VPSet(
cms.PSet(
category = cms.uint32(0),
Expand Down Expand Up @@ -645,7 +649,7 @@
)
)
# Medium
patTauDiscriminationByMediumElectronRejectionMVA6 = patTauDiscriminationByVLooseElectronRejectionMVA6.clone(
patTauDiscriminationByMediumElectronRejectionMVA62015 = patTauDiscriminationByVLooseElectronRejectionMVA62015.clone(
mapping = cms.VPSet(
cms.PSet(
category = cms.uint32(0),
Expand Down Expand Up @@ -690,7 +694,7 @@
)
)
# Tight
patTauDiscriminationByTightElectronRejectionMVA6 = patTauDiscriminationByVLooseElectronRejectionMVA6.clone(
patTauDiscriminationByTightElectronRejectionMVA62015 = patTauDiscriminationByVLooseElectronRejectionMVA62015.clone(
mapping = cms.VPSet(
cms.PSet(
category = cms.uint32(0),
Expand Down Expand Up @@ -735,7 +739,7 @@
)
)
# VTight
patTauDiscriminationByVTightElectronRejectionMVA6 = patTauDiscriminationByVLooseElectronRejectionMVA6.clone(
patTauDiscriminationByVTightElectronRejectionMVA62015 = patTauDiscriminationByVLooseElectronRejectionMVA62015.clone(
mapping = cms.VPSet(
cms.PSet(
category = cms.uint32(0),
Expand Down Expand Up @@ -780,20 +784,27 @@
)
)
### Put all anti-e tau-IDs into a sequence
patTauDiscriminationByElectronRejectionSeq = cms.Sequence(
_patTauDiscriminationByElectronRejection2018Seq = cms.Sequence(
patTauDiscriminationByElectronRejectionMVA62018Raw
+patTauDiscriminationByVLooseElectronRejectionMVA62018
+patTauDiscriminationByLooseElectronRejectionMVA62018
+patTauDiscriminationByMediumElectronRejectionMVA62018
+patTauDiscriminationByTightElectronRejectionMVA62018
+patTauDiscriminationByVTightElectronRejectionMVA62018
+patTauDiscriminationByElectronRejectionMVA6Raw
+patTauDiscriminationByVLooseElectronRejectionMVA6
+patTauDiscriminationByLooseElectronRejectionMVA6
+patTauDiscriminationByMediumElectronRejectionMVA6
+patTauDiscriminationByTightElectronRejectionMVA6
+patTauDiscriminationByVTightElectronRejectionMVA6
)
_patTauDiscriminationByElectronRejection2015Seq = cms.Sequence(
patTauDiscriminationByElectronRejectionMVA62015Raw
+patTauDiscriminationByVLooseElectronRejectionMVA62015
+patTauDiscriminationByLooseElectronRejectionMVA62015
+patTauDiscriminationByMediumElectronRejectionMVA62015
+patTauDiscriminationByTightElectronRejectionMVA62015
+patTauDiscriminationByVTightElectronRejectionMVA62015
)
patTauDiscriminationByElectronRejectionSeq = _patTauDiscriminationByElectronRejection2015Seq.copy()
for era in [run2_nanoAOD_94XMiniAODv1,run2_nanoAOD_94X2016,run2_nanoAOD_94XMiniAODv2,run2_nanoAOD_102Xv1]:
era.toReplaceWith(patTauDiscriminationByElectronRejectionSeq,
_patTauDiscriminationByElectronRejection2018Seq)


### put all new MVA tau-Id stuff to one Sequence
_patTauMVAIDsSeq2017v2 = cms.Sequence(
Expand All @@ -807,7 +818,6 @@

_patTauMVAIDsSeqWith2017v1 = _patTauMVAIDsSeq2017v2.copy()
_patTauMVAIDsSeqWith2017v1 += patTauDiscriminationByIsolationMVArun2v1DBoldDMwLT2017v1Seq
from Configuration.Eras.Modifier_run2_nanoAOD_94XMiniAODv1_cff import run2_nanoAOD_94XMiniAODv1
for era in [run2_nanoAOD_94XMiniAODv1,]:
era.toReplaceWith(patTauMVAIDsSeq,_patTauMVAIDsSeqWith2017v1)

Expand Down Expand Up @@ -879,28 +889,37 @@
tauIDSources = _tauIDSourcesWith2017v1
)

_antiETauIDSources = cms.PSet(
_antiETauIDSources2018 = cms.PSet(
againstElectronMVA6Raw2018 = cms.InputTag("patTauDiscriminationByElectronRejectionMVA62018Raw"),
againstElectronMVA6category2018 = cms.InputTag("patTauDiscriminationByElectronRejectionMVA62018Raw","category"),
againstElectronVLooseMVA62018 = cms.InputTag("patTauDiscriminationByVLooseElectronRejectionMVA62018"),
againstElectronLooseMVA62018 = cms.InputTag("patTauDiscriminationByLooseElectronRejectionMVA62018"),
againstElectronMediumMVA62018 = cms.InputTag("patTauDiscriminationByMediumElectronRejectionMVA62018"),
againstElectronTightMVA62018 = cms.InputTag("patTauDiscriminationByTightElectronRejectionMVA62018"),
againstElectronVTightMVA62018 = cms.InputTag("patTauDiscriminationByVTightElectronRejectionMVA62018"),
againstElectronMVA6Rawv1 = cms.InputTag("patTauDiscriminationByElectronRejectionMVA6Raw"),
againstElectronMVA6categoryv1 = cms.InputTag("patTauDiscriminationByElectronRejectionMVA6Raw","category"),
againstElectronVLooseMVA6v1 = cms.InputTag("patTauDiscriminationByVLooseElectronRejectionMVA6"),
againstElectronLooseMVA6v1 = cms.InputTag("patTauDiscriminationByLooseElectronRejectionMVA6"),
againstElectronMediumMVA6v1 = cms.InputTag("patTauDiscriminationByMediumElectronRejectionMVA6"),
againstElectronTightMVA6v1 = cms.InputTag("patTauDiscriminationByTightElectronRejectionMVA6"),
againstElectronVTightMVA6v1 = cms.InputTag("patTauDiscriminationByVTightElectronRejectionMVA6")
)
_tauIDSourcesWithAntiE = cms.PSet(
)
_tauIDSourcesWithAntiE2018 = cms.PSet(
slimmedTausUpdated.tauIDSources.clone(),
_antiETauIDSources
_antiETauIDSources2018
)
_antiETauIDSources2015 = cms.PSet(
againstElectronMVA6Raw2015 = cms.InputTag("patTauDiscriminationByElectronRejectionMVA62015Raw"),
againstElectronMVA6category2015 = cms.InputTag("patTauDiscriminationByElectronRejectionMVA62015Raw","category"),
againstElectronVLooseMVA62015 = cms.InputTag("patTauDiscriminationByVLooseElectronRejectionMVA62015"),
againstElectronLooseMVA62015 = cms.InputTag("patTauDiscriminationByLooseElectronRejectionMVA62015"),
againstElectronMediumMVA62015 = cms.InputTag("patTauDiscriminationByMediumElectronRejectionMVA62015"),
againstElectronTightMVA62015 = cms.InputTag("patTauDiscriminationByTightElectronRejectionMVA62015"),
againstElectronVTightMVA62015 = cms.InputTag("patTauDiscriminationByVTightElectronRejectionMVA62015")
)
_tauIDSourcesWithAntiE2015 = cms.PSet(
slimmedTausUpdated.tauIDSources.clone(),
_antiETauIDSources2015
)
slimmedTausUpdated.tauIDSources=_tauIDSourcesWithAntiE

slimmedTausUpdated.tauIDSources=_tauIDSourcesWithAntiE2015
for era in [run2_nanoAOD_94XMiniAODv1,run2_nanoAOD_94X2016,run2_nanoAOD_94XMiniAODv2,run2_nanoAOD_102Xv1]:
era.toModify(slimmedTausUpdated,
tauIDSources = _tauIDSourcesWithAntiE2018
)


patTauMVAIDsSeq += slimmedTausUpdated
Expand Down

0 comments on commit 0cd552a

Please sign in to comment.