Skip to content

Commit

Permalink
Switch modifier logic to split year and specific dataset conditions
Browse files Browse the repository at this point in the history
  • Loading branch information
peruzzim committed Oct 16, 2019
1 parent 17a8ba6 commit 064713f
Show file tree
Hide file tree
Showing 7 changed files with 36 additions and 54 deletions.
4 changes: 2 additions & 2 deletions PhysicsTools/NanoAOD/python/electrons_cff.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import FWCore.ParameterSet.Config as cms
from Configuration.Eras.Modifier_run2_egamma_2016_cff import run2_egamma_2016
from Configuration.Eras.Modifier_run2_miniAOD_80XLegacy_cff import run2_miniAOD_80XLegacy
from Configuration.Eras.Modifier_run2_nanoAOD_94XMiniAODv1_cff import run2_nanoAOD_94XMiniAODv1
from Configuration.Eras.Modifier_run2_nanoAOD_94XMiniAODv2_cff import run2_nanoAOD_94XMiniAODv2
Expand Down Expand Up @@ -340,8 +341,7 @@ def _get_bitmapVIDForEle_docstring(modules,WorkingPoints):
LepGood_mvaFall17V2noIso = cms.string("userFloat('mvaFall17V2noIso')"),
)
)
for modifier in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016:
modifier.toModify(electronMVATTH,
run2_egamma_2016.toModify(electronMVATTH,
weightFile = "PhysicsTools/NanoAOD/data/el_BDTG_2016.weights.xml",
)

Expand Down
48 changes: 19 additions & 29 deletions PhysicsTools/NanoAOD/python/jets_cff.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import FWCore.ParameterSet.Config as cms
from Configuration.Eras.Modifier_run2_jme_2016_cff import run2_jme_2016
from Configuration.Eras.Modifier_run2_jme_2017_cff import run2_jme_2017
from Configuration.Eras.Modifier_run2_miniAOD_80XLegacy_cff import run2_miniAOD_80XLegacy
from Configuration.Eras.Modifier_run2_nanoAOD_94X2016_cff import run2_nanoAOD_94X2016
from Configuration.Eras.Modifier_run2_nanoAOD_94XMiniAODv1_cff import run2_nanoAOD_94XMiniAODv1
from Configuration.Eras.Modifier_run2_nanoAOD_94XMiniAODv2_cff import run2_nanoAOD_94XMiniAODv2

from PhysicsTools.NanoAOD.common_cff import *
from RecoJets.JetProducers.ak4PFJetsBetaStar_cfi import *
Expand Down Expand Up @@ -73,12 +72,10 @@
),
src = cms.InputTag("updatedJets")
)
for modifier in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016:
modifier.toModify( tightJetId.filterParams, version = "WINTER16" )
modifier.toModify( tightJetIdLepVeto.filterParams, version = "WINTER16" )
for modifier in run2_nanoAOD_94XMiniAODv1, run2_nanoAOD_94XMiniAODv2:
modifier.toModify( tightJetId.filterParams, version = "WINTER17" )
modifier.toModify( tightJetIdLepVeto.filterParams, version = "WINTER17" )
run2_jme_2016.toModify( tightJetId.filterParams, version = "WINTER16" )
run2_jme_2016.toModify( tightJetIdLepVeto.filterParams, version = "WINTER16" )
run2_jme_2017.toModify( tightJetId.filterParams, version = "WINTER17" )
run2_jme_2017.toModify( tightJetIdLepVeto.filterParams, version = "WINTER17" )


looseJetIdAK8 = cms.EDProducer("PatJetIDValueMapProducer",
Expand All @@ -102,12 +99,10 @@
),
src = cms.InputTag("updatedJetsAK8")
)
for modifier in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016:
modifier.toModify( tightJetIdAK8.filterParams, version = "WINTER16" )
modifier.toModify( tightJetIdLepVetoAK8.filterParams, version = "WINTER16" )
for modifier in run2_nanoAOD_94XMiniAODv1, run2_nanoAOD_94XMiniAODv2:
modifier.toModify( tightJetIdAK8.filterParams, version = "WINTER17PUPPI" )
modifier.toModify( tightJetIdLepVetoAK8.filterParams, version = "WINTER17PUPPI" )
run2_jme_2016.toModify( tightJetIdAK8.filterParams, version = "WINTER16" )
run2_jme_2016.toModify( tightJetIdLepVetoAK8.filterParams, version = "WINTER16" )
run2_jme_2017.toModify( tightJetIdAK8.filterParams, version = "WINTER17PUPPI" )
run2_jme_2017.toModify( tightJetIdLepVetoAK8.filterParams, version = "WINTER17PUPPI" )


bJetVars = cms.EDProducer("JetRegressionVarProducer",
Expand Down Expand Up @@ -156,10 +151,9 @@

),
)
for modifier in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016:
modifier.toModify( updatedJetsWithUserData.userInts,
looseId = cms.InputTag("looseJetId"),
)
run2_jme_2016.toModify(updatedJetsWithUserData.userInts,
looseId = cms.InputTag("looseJetId"),
)

updatedJetsAK8WithUserData = cms.EDProducer("PATJetUserDataEmbedder",
src = cms.InputTag("updatedJetsAK8"),
Expand All @@ -169,10 +163,9 @@
tightIdLepVeto = cms.InputTag("tightJetIdLepVetoAK8"),
),
)
for modifier in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016:
modifier.toModify( updatedJetsAK8WithUserData.userInts,
looseId = cms.InputTag("looseJetIdAK8"),
)
run2_jme_2016.toModify(updatedJetsAK8WithUserData.userInts,
looseId = cms.InputTag("looseJetIdAK8"),
)


finalJets = cms.EDFilter("PATJetRefSelector",
Expand Down Expand Up @@ -239,8 +232,7 @@
jetTable.variables.pt.precision=10

### Era dependent customization
for modifier in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016:
modifier.toModify( jetTable.variables, jetId = Var("userInt('tightIdLepVeto')*4+userInt('tightId')*2+userInt('looseId')",int,doc="Jet ID flags bit1 is loose, bit2 is tight, bit3 is tightLepVeto"))
run2_jme_2016.toModify( jetTable.variables, jetId = Var("userInt('tightIdLepVeto')*4+userInt('tightId')*2+userInt('looseId')",int,doc="Jet ID flags bit1 is loose, bit2 is tight, bit3 is tightLepVeto"))

bjetMVA= cms.EDProducer("BJetEnergyRegressionMVA",
backend = cms.string("TMVA"),
Expand Down Expand Up @@ -416,8 +408,7 @@
run2_miniAOD_80XLegacy.toModify( fatJetTable.variables, tau4 = None)
run2_miniAOD_80XLegacy.toModify( fatJetTable.variables, n2b1 = None)
run2_miniAOD_80XLegacy.toModify( fatJetTable.variables, n3b1 = None)
for modifier in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016:
modifier.toModify( fatJetTable.variables, jetId = Var("userInt('tightId')*2+userInt('looseId')",int,doc="Jet ID flags bit1 is loose, bit2 is tight"))
run2_jme_2016.toModify( fatJetTable.variables, jetId = Var("userInt('tightId')*2+userInt('looseId')",int,doc="Jet ID flags bit1 is loose, bit2 is tight"))



Expand Down Expand Up @@ -574,8 +565,7 @@
_jetSequence_2016 = jetSequence.copy()
_jetSequence_2016.insert(_jetSequence_2016.index(tightJetId), looseJetId)
_jetSequence_2016.insert(_jetSequence_2016.index(tightJetIdAK8), looseJetIdAK8)
for modifier in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016:
modifier.toReplaceWith(jetSequence, _jetSequence_2016)
run2_jme_2016.toReplaceWith(jetSequence, _jetSequence_2016)

#after cross linkining
jetTables = cms.Sequence(bjetMVA+bjetNN+jetTable+fatJetTable+subJetTable+saJetTable+saTable)
Expand Down
2 changes: 1 addition & 1 deletion PhysicsTools/NanoAOD/python/met_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,6 @@
metTables = cms.Sequence( metTable + rawMetTable + caloMetTable + puppiMetTable + tkMetTable + chsMetTable)
_withFixEE2017_sequence = cms.Sequence(metTables.copy() + metFixEE2017Table)
for modifier in run2_nanoAOD_94XMiniAODv1, run2_nanoAOD_94XMiniAODv2:
modifier.toReplaceWith(metTables,_withFixEE2017_sequence)
modifier.toReplaceWith(metTables,_withFixEE2017_sequence) # only in old miniAOD, the new ones will come from the UL rereco
metMC = cms.Sequence( metMCTable )

4 changes: 2 additions & 2 deletions PhysicsTools/NanoAOD/python/muons_cff.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import FWCore.ParameterSet.Config as cms
from Configuration.Eras.Modifier_run2_muon_2016_cff import run2_muon_2016
from Configuration.Eras.Modifier_run2_miniAOD_80XLegacy_cff import run2_miniAOD_80XLegacy
from Configuration.Eras.Modifier_run2_nanoAOD_94X2016_cff import run2_nanoAOD_94X2016
from Configuration.Eras.Modifier_run2_nanoAOD_94XMiniAODv1_cff import run2_nanoAOD_94XMiniAODv1
Expand Down Expand Up @@ -88,8 +89,7 @@
name = cms.string("muonMVALowPt"),
)

for modifier in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016:
modifier.toModify(muonMVATTH,
run2_muon_2016.toModify(muonMVATTH,
weightFile = "PhysicsTools/NanoAOD/data/mu_BDTG_2016.weights.xml",
)

Expand Down
3 changes: 1 addition & 2 deletions PhysicsTools/NanoAOD/python/taus_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -157,8 +157,7 @@ def _tauId8WPMask(pattern,doc):
run2_miniAOD_80XLegacy.toModify(tauTable,
variables = _variables80X
)
for era in [run2_nanoAOD_94XMiniAODv1,run2_nanoAOD_94X2016,run2_nanoAOD_94XMiniAODv2,run2_nanoAOD_102Xv1]:
era.toModify(tauTable.variables,
(~run2_miniAOD_80XLegacy).toModify(tauTable.variables,
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)"),
Expand Down
10 changes: 3 additions & 7 deletions PhysicsTools/NanoAOD/python/taus_updatedMVAIds_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,8 @@
# Used only in some eras
from RecoTauTag.Configuration.loadRecoTauTagMVAsFromPrepDB_cfi import *
from RecoTauTag.RecoTau.PATTauDiscriminationByMVAIsolationRun2_cff import *
from Configuration.Eras.Modifier_run2_miniAOD_80XLegacy_cff import run2_miniAOD_80XLegacy
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 @@ -433,8 +431,7 @@
+patTauDiscriminationByVTightElectronRejectionMVA62015
)
patTauDiscriminationByElectronRejectionSeq = _patTauDiscriminationByElectronRejection2015Seq.copy()
for era in [run2_nanoAOD_94XMiniAODv1,run2_nanoAOD_94X2016,run2_nanoAOD_94XMiniAODv2,run2_nanoAOD_102Xv1]:
era.toReplaceWith(patTauDiscriminationByElectronRejectionSeq,
(~run2_miniAOD_80XLegacy).toReplaceWith(patTauDiscriminationByElectronRejectionSeq,
_patTauDiscriminationByElectronRejection2018Seq)


Expand Down Expand Up @@ -548,8 +545,7 @@
_antiETauIDSources2015
)
slimmedTausUpdated.tauIDSources=_tauIDSourcesWithAntiE2015
for era in [run2_nanoAOD_94XMiniAODv1,run2_nanoAOD_94X2016,run2_nanoAOD_94XMiniAODv2,run2_nanoAOD_102Xv1]:
era.toModify(slimmedTausUpdated,
(~run2_miniAOD_80XLegacy).toModify(slimmedTausUpdated,
tauIDSources = _tauIDSourcesWithAntiE2018
)

Expand Down
19 changes: 8 additions & 11 deletions PhysicsTools/NanoAOD/python/triggerObjects_cff.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import FWCore.ParameterSet.Config as cms
from Configuration.Eras.Modifier_run2_HLTconditions_2016_cff import run2_HLTconditions_2016
from Configuration.Eras.Modifier_run2_HLTconditions_2017_cff import run2_HLTconditions_2017
from Configuration.Eras.Modifier_run2_miniAOD_80XLegacy_cff import run2_miniAOD_80XLegacy
from Configuration.Eras.Modifier_run2_nanoAOD_94X2016_cff import run2_nanoAOD_94X2016
from Configuration.Eras.Modifier_run2_nanoAOD_94XMiniAODv1_cff import run2_nanoAOD_94XMiniAODv1
from Configuration.Eras.Modifier_run2_nanoAOD_94XMiniAODv2_cff import run2_nanoAOD_94XMiniAODv2
from PhysicsTools.NanoAOD.common_cff import ExtVar
import copy

Expand Down Expand Up @@ -143,8 +142,8 @@
# ERA-dependent configuration
# Tune filter and collection names to 2016 HLT menus
# FIXME: check non-lepton objects and cross check leptons
selections80X = copy.deepcopy(triggerObjectTable.selections)
for sel in selections80X:
selections2016 = copy.deepcopy(triggerObjectTable.selections)
for sel in selections2016:
if sel.name=='Muon':
sel.sel = cms.string("type(83) && pt > 5 && (coll('hlt*L3MuonCandidates') || coll('hlt*TkMuonCands') || coll('hlt*TrkMuonCands'))")
sel.qualityBits = cms.string("filter('*RelTrkIso*Filtered0p4') + 2*filter('hltL3cr*IsoFiltered0p09') + 4*filter('*OverlapFilter*IsoMu*PFTau*') + 8*filter('hltL3f*IsoFiltered0p09')")
Expand All @@ -158,14 +157,13 @@
sel.qualityBits = cms.string("filter('*CaloIdLTrackIdLIsoVL*TrackIso*Filter') + 2*filter('hltEle*WPTight*TrackIsoFilter*') + 4*filter('hltEle*WPLoose*TrackIsoFilter') + 8*filter('*OverlapFilter*IsoEle*PFTau*')")
#sel.qualityBitsDoc = cms.string("1 = CaloIdL_TrackIdL_IsoVL, 2 = WPLoose, 4 = WPTight, 8 = OverlapFilter PFTau")

(run2_miniAOD_80XLegacy | run2_nanoAOD_94X2016).toModify(
run2_HLTconditions_2016.toModify(
triggerObjectTable,
selections = selections80X
selections = selections2016
)

from PhysicsTools.PatUtils.L1ECALPrefiringWeightProducer_cff import prefiringweight
for modifier in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016:
modifier.toModify(prefiringweight, DataEra = cms.string("2016BtoH"))
run2_HLTconditions_2016.toModify(prefiringweight, DataEra = cms.string("2016BtoH"))

l1PreFiringEventWeightTable = cms.EDProducer("GlobalVariablesTableProducer",
variables = cms.PSet(
Expand All @@ -179,5 +177,4 @@

_triggerObjectTables_withL1PreFiring = triggerObjectTables.copy()
_triggerObjectTables_withL1PreFiring.replace(triggerObjectTable, prefiringweight + l1PreFiringEventWeightTable + triggerObjectTable)
for modifier in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016, run2_nanoAOD_94XMiniAODv1, run2_nanoAOD_94XMiniAODv2:
modifier.toReplaceWith(triggerObjectTables, _triggerObjectTables_withL1PreFiring)
(run2_HLTconditions_2016 | run2_HLTconditions_2017).toReplaceWith(triggerObjectTables, _triggerObjectTables_withL1PreFiring)

0 comments on commit 064713f

Please sign in to comment.