From 120c941bef1563317064230b9a7be0cf485fd1d7 Mon Sep 17 00:00:00 2001 From: Andreas Hinzmann Date: Mon, 24 Aug 2020 15:35:35 +0200 Subject: [PATCH 1/4] remove duplicate ECF --- .../python/slimming/applySubstructure_cff.py | 27 ------------------- 1 file changed, 27 deletions(-) diff --git a/PhysicsTools/PatAlgos/python/slimming/applySubstructure_cff.py b/PhysicsTools/PatAlgos/python/slimming/applySubstructure_cff.py index a2867d8374bfd..5a7541ece63cf 100644 --- a/PhysicsTools/PatAlgos/python/slimming/applySubstructure_cff.py +++ b/PhysicsTools/PatAlgos/python/slimming/applySubstructure_cff.py @@ -110,27 +110,6 @@ def applySubstructure( process, postfix="" ) : e.toModify(getattr(process,'nb1AK8PuppiSoftDropSubjets'+postfix), cuts = ['pt > 999999', 'pt > 999999', 'pt > 999999'] ) e.toModify(getattr(process,'nb2AK8PuppiSoftDropSubjets'+postfix), cuts = ['pt > 999999', 'pt > 999999', 'pt > 999999'] ) - # rekey the groomed ECF value maps to the ungroomed reco jets, which will then be picked - # up by PAT in the user floats. - addToProcessAndTask("ak8PFJetsPuppiSoftDropValueMap"+postfix, - cms.EDProducer("RecoJetToPatJetDeltaRValueMapProducer", - src = cms.InputTag("ak8PFJetsPuppi"+postfix), - matched = cms.InputTag("patJetsAK8PFPuppiSoftDrop"+postfix), - distMax = cms.double(0.8), - values = cms.vstring([ - 'userFloat("nb1AK8PuppiSoftDrop'+postfix+':ecfN2")', - 'userFloat("nb1AK8PuppiSoftDrop'+postfix+':ecfN3")', - 'userFloat("nb2AK8PuppiSoftDrop'+postfix+':ecfN2")', - 'userFloat("nb2AK8PuppiSoftDrop'+postfix+':ecfN3")', - ]), - valueLabels = cms.vstring( [ - 'nb1AK8PuppiSoftDropN2', - 'nb1AK8PuppiSoftDropN3', - 'nb2AK8PuppiSoftDropN2', - 'nb2AK8PuppiSoftDropN3', - ]) ), - process, task) - # Patify AK8 PF PUPPI addJetCollection(process, postfix=postfix, labelName = 'AK8Puppi', @@ -167,12 +146,6 @@ def applySubstructure( process, postfix="" ) : ## now add AK8 groomed masses and ECF getattr(process,"patJetsAK8Puppi"+postfix).userData.userFloats.src += ['ak8PFJetsPuppiSoftDropMass'+postfix] getattr(process,"patJetsAK8Puppi"+postfix).addTagInfos = cms.bool(False) - getattr(process,"patJetsAK8Puppi"+postfix).userData.userFloats.src += [ - cms.InputTag('ak8PFJetsPuppiSoftDropValueMap'+postfix,'nb1AK8PuppiSoftDropN2'), - cms.InputTag('ak8PFJetsPuppiSoftDropValueMap'+postfix,'nb1AK8PuppiSoftDropN3'), - cms.InputTag('ak8PFJetsPuppiSoftDropValueMap'+postfix,'nb2AK8PuppiSoftDropN2'), - cms.InputTag('ak8PFJetsPuppiSoftDropValueMap'+postfix,'nb2AK8PuppiSoftDropN3'), - ] # add PUPPI Njetiness From 330f12c81ad452ef6e7ccc407c3265afe256b43d Mon Sep 17 00:00:00 2001 From: Andreas Hinzmann Date: Mon, 24 Aug 2020 15:39:39 +0200 Subject: [PATCH 2/4] adapt nanoaod --- PhysicsTools/NanoAOD/python/jets_cff.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PhysicsTools/NanoAOD/python/jets_cff.py b/PhysicsTools/NanoAOD/python/jets_cff.py index 2c489c4cc2dcb..e2e7df38b3cc6 100644 --- a/PhysicsTools/NanoAOD/python/jets_cff.py +++ b/PhysicsTools/NanoAOD/python/jets_cff.py @@ -414,8 +414,8 @@ tau2 = Var("userFloat('NjettinessAK8Puppi:tau2')",float, doc="Nsubjettiness (2 axis)",precision=10), tau3 = Var("userFloat('NjettinessAK8Puppi:tau3')",float, doc="Nsubjettiness (3 axis)",precision=10), tau4 = Var("userFloat('NjettinessAK8Puppi:tau4')",float, doc="Nsubjettiness (4 axis)",precision=10), - n2b1 = Var("userFloat('ak8PFJetsPuppiSoftDropValueMap:nb1AK8PuppiSoftDropN2')", float, doc="N2 with beta=1", precision=10), - n3b1 = Var("userFloat('ak8PFJetsPuppiSoftDropValueMap:nb1AK8PuppiSoftDropN3')", float, doc="N3 with beta=1", precision=10), + n2b1 = Var("userFloat('nb1AK8PuppiSoftDrop:ecfN2')", float, doc="N2 with beta=1", precision=10), + n3b1 = Var("userFloat('nb1AK8PuppiSoftDrop:ecfN3')", float, doc="N3 with beta=1", precision=10), msoftdrop = Var("groomedMass('SoftDropPuppi')",float, doc="Corrected soft drop mass with PUPPI",precision=10), btagCMVA = Var("bDiscriminator('pfCombinedMVAV2BJetTags')",float,doc="CMVA V2 btag discriminator",precision=10), btagDeepB = Var("bDiscriminator('pfDeepCSVJetTags:probb')+bDiscriminator('pfDeepCSVJetTags:probbb')",float,doc="DeepCSV b+bb tag discriminator",precision=10), From f3625b3a32428a300bb810873209265d22a415f4 Mon Sep 17 00:00:00 2001 From: Andreas Hinzmann Date: Mon, 24 Aug 2020 17:50:45 +0200 Subject: [PATCH 3/4] deal with old miniaods in nanoaod --- PhysicsTools/NanoAOD/python/jets_cff.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/PhysicsTools/NanoAOD/python/jets_cff.py b/PhysicsTools/NanoAOD/python/jets_cff.py index e2e7df38b3cc6..f4c7d0849afa5 100644 --- a/PhysicsTools/NanoAOD/python/jets_cff.py +++ b/PhysicsTools/NanoAOD/python/jets_cff.py @@ -469,6 +469,9 @@ 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")) +for modifier in run2_nanoAOD_94X2016, run2_nanoAOD_94XMiniAODv1, run2_nanoAOD_94XMiniAODv2, run2_nanoAOD_102Xv1: + modifier.toModify( fatJetTable.variables.n2b1, expr = cms.string("userFloat('ak8PFJetsPuppiSoftDropValueMap:nb1AK8PuppiSoftDropN2')"),) + modifier.toModify( fatJetTable.variables.n3b1, expr = cms.string("userFloat('ak8PFJetsPuppiSoftDropValueMap:nb1AK8PuppiSoftDropN3')"),) run2_jme_2016.toModify( bjetNN, weightFile = cms.FileInPath("PhysicsTools/NanoAOD/data/breg_training_2016.pb") ) run2_jme_2016.toModify( bjetNN,outputFormulas = cms.vstring(["at(0)*0.31976690888404846+1.047176718711853","0.5*(at(2)-at(1))*0.31976690888404846"])) From c1494d0e90bfaba6163d40ed67c27cf47112c097 Mon Sep 17 00:00:00 2001 From: Andreas Hinzmann Date: Tue, 25 Aug 2020 13:43:19 +0200 Subject: [PATCH 4/4] ECF only for 250 GeV --- PhysicsTools/NanoAOD/python/jets_cff.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/PhysicsTools/NanoAOD/python/jets_cff.py b/PhysicsTools/NanoAOD/python/jets_cff.py index f4c7d0849afa5..2b34d16c4d66b 100644 --- a/PhysicsTools/NanoAOD/python/jets_cff.py +++ b/PhysicsTools/NanoAOD/python/jets_cff.py @@ -6,6 +6,7 @@ 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 Configuration.Eras.Modifier_run2_nanoAOD_102Xv1_cff import run2_nanoAOD_102Xv1 +from Configuration.Eras.Modifier_run2_nanoAOD_106Xv1_cff import run2_nanoAOD_106Xv1 from PhysicsTools.NanoAOD.common_cff import * from RecoJets.JetProducers.ak4PFJetsBetaStar_cfi import * @@ -414,8 +415,8 @@ tau2 = Var("userFloat('NjettinessAK8Puppi:tau2')",float, doc="Nsubjettiness (2 axis)",precision=10), tau3 = Var("userFloat('NjettinessAK8Puppi:tau3')",float, doc="Nsubjettiness (3 axis)",precision=10), tau4 = Var("userFloat('NjettinessAK8Puppi:tau4')",float, doc="Nsubjettiness (4 axis)",precision=10), - n2b1 = Var("userFloat('nb1AK8PuppiSoftDrop:ecfN2')", float, doc="N2 with beta=1", precision=10), - n3b1 = Var("userFloat('nb1AK8PuppiSoftDrop:ecfN3')", float, doc="N3 with beta=1", precision=10), + n2b1 = Var("?hasUserFloat('nb1AK8PuppiSoftDrop:ecfN2')?userFloat('nb1AK8PuppiSoftDrop:ecfN2'):-99999.", float, doc="N2 with beta=1 (for jets with raw pT>250 GeV)", precision=10), + n3b1 = Var("?hasUserFloat('nb1AK8PuppiSoftDrop:ecfN3')?userFloat('nb1AK8PuppiSoftDrop:ecfN3'):-99999.", float, doc="N3 with beta=1 (for jets with raw pT>250 GeV)", precision=10), msoftdrop = Var("groomedMass('SoftDropPuppi')",float, doc="Corrected soft drop mass with PUPPI",precision=10), btagCMVA = Var("bDiscriminator('pfCombinedMVAV2BJetTags')",float,doc="CMVA V2 btag discriminator",precision=10), btagDeepB = Var("bDiscriminator('pfDeepCSVJetTags:probb')+bDiscriminator('pfDeepCSVJetTags:probbb')",float,doc="DeepCSV b+bb tag discriminator",precision=10), @@ -469,7 +470,7 @@ 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")) -for modifier in run2_nanoAOD_94X2016, run2_nanoAOD_94XMiniAODv1, run2_nanoAOD_94XMiniAODv2, run2_nanoAOD_102Xv1: +for modifier in run2_nanoAOD_94X2016, run2_nanoAOD_94XMiniAODv1, run2_nanoAOD_94XMiniAODv2, run2_nanoAOD_102Xv1, run2_nanoAOD_106Xv1: modifier.toModify( fatJetTable.variables.n2b1, expr = cms.string("userFloat('ak8PFJetsPuppiSoftDropValueMap:nb1AK8PuppiSoftDropN2')"),) modifier.toModify( fatJetTable.variables.n3b1, expr = cms.string("userFloat('ak8PFJetsPuppiSoftDropValueMap:nb1AK8PuppiSoftDropN3')"),)