Skip to content
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
79 changes: 0 additions & 79 deletions PhysicsTools/NanoAOD/python/custom_jme_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -234,75 +234,6 @@
#
#
#******************************************
def AddJetID(proc, jetName="", jetSrc="", jetTableName="", jetTaskName=""):
"""
Setup modules to calculate PF jet ID
"""

isPUPPIJet = True if "PUPPI" in jetName.upper() else False

looseJetId = "looseJetId{}".format(jetName)
setattr(proc, looseJetId, proc.looseJetId.clone(
src = jetSrc,
filterParams = proc.looseJetId.filterParams.clone(
version = "WINTER16"
),
)
)

tightJetId = "tightJetId{}".format(jetName)
setattr(proc, tightJetId, proc.tightJetId.clone(
src = jetSrc,
filterParams = proc.tightJetId.filterParams.clone(
version = "RUN3WINTER22{}".format("PUPPI" if isPUPPIJet else "CHS")
),
)
)

tightJetIdLepVeto = "tightJetIdLepVeto{}".format(jetName)
setattr(proc, tightJetIdLepVeto, proc.tightJetIdLepVeto.clone(
src = jetSrc,
filterParams = proc.tightJetIdLepVeto.filterParams.clone(
version = "RUN3WINTER22{}".format("PUPPI" if isPUPPIJet else "CHS")
),
)
)

run3_jme_Winter22runsBCDEprompt.toModify(
getattr(proc, tightJetId).filterParams, version = "RUN3WINTER22{}runsBCDEprompt".format("PUPPI" if isPUPPIJet else "CHS")
).toModify(
getattr(proc, tightJetIdLepVeto).filterParams, version = "RUN3WINTER22{}runsBCDEprompt".format("PUPPI" if isPUPPIJet else "CHS")
)

(run2_jme_2017 | run2_jme_2018 | run3_nanoAOD_122 | run3_nanoAOD_124).toModify(
getattr(proc, tightJetId).filterParams, version = "RUN2UL{}".format("PUPPI" if isPUPPIJet else "CHS")
).toModify(
getattr(proc, tightJetIdLepVeto).filterParams, version = "RUN2UL{}".format("PUPPI" if isPUPPIJet else "CHS")
)

run2_jme_2016.toModify(
getattr(proc, tightJetId).filterParams, version = "RUN2UL16{}".format("PUPPI" if isPUPPIJet else "CHS")
).toModify(
getattr(proc, tightJetIdLepVeto).filterParams, version = "RUN2UL16{}".format("PUPPI" if isPUPPIJet else "CHS")
)

#
# Save variables as userInts in each jet
#
patJetWithUserData = "{}WithUserData".format(jetSrc)
getattr(proc, patJetWithUserData).userInts.tightId = cms.InputTag(tightJetId)
getattr(proc, patJetWithUserData).userInts.tightIdLepVeto = cms.InputTag(tightJetIdLepVeto)

#
# Specfiy variables in the jetTable to save in NanoAOD
#
getattr(proc, jetTableName).variables.jetId = Var("userInt('tightId')*2+4*userInt('tightIdLepVeto')",int,doc="Jet ID flags bit1 is loose (always false in 2017 since it does not exist), bit2 is tight, bit3 is tightLepVeto")

getattr(proc,jetTaskName).add(getattr(proc, tightJetId))
getattr(proc,jetTaskName).add(getattr(proc, tightJetIdLepVeto))

return proc

def AddPileUpJetIDVars(proc, jetName="", jetSrc="", jetTableName="", jetTaskName=""):
"""
Setup modules to calculate pileup jet ID input variables for PF jet
Expand Down Expand Up @@ -633,7 +564,6 @@ def SavePatJets(proc, jetName, payload, patJetFinalColl, jetTablePrefix, jetTabl
# Schedule plugins to calculate Jet ID, PileUp Jet ID input variables, and Quark-Gluon Likehood input variables.
#
if doPF:
proc = AddJetID(proc, jetName=jetName, jetSrc=srcJets, jetTableName=jetTableName, jetTaskName=jetTaskName)
if doPUIDVar:
proc = AddPileUpJetIDVars(proc, jetName=jetName, jetSrc=srcJets, jetTableName=jetTableName, jetTaskName=jetTaskName)
if doQGL:
Expand Down Expand Up @@ -675,15 +605,6 @@ def ReclusterAK4PuppiJets(proc, recoJA, runOnMC):
jetName = recoJetInfo.jetUpper
patJetFinalColl = recoJetInfo.patJetFinalCollection

#
# Set the jetID for UL 16 era
#
run2_jme_2016.toModify(
proc.tightJetPuppiId.filterParams, version = "RUN2UL16PUPPI"
).toModify(
proc.tightJetIdLepVeto.filterParams, version = "RUN2UL16PUPPI"
)

#
# Change the input jet source for jetCorrFactorsNano
# and updatedJets
Expand Down
63 changes: 9 additions & 54 deletions PhysicsTools/NanoAOD/python/jetsAK4_CHS_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,48 +24,6 @@
jetCorrFactorsSource=cms.VInputTag(cms.InputTag("jetCorrFactorsNano") ),
)

#
# JetID
#
looseJetId = cms.EDProducer("PatJetIDValueMapProducer",
filterParams=cms.PSet(
version = cms.string('WINTER16'),
quality = cms.string('LOOSE'),
),
src = cms.InputTag("updatedJets")
)
tightJetId = cms.EDProducer("PatJetIDValueMapProducer",
filterParams=cms.PSet(
version = cms.string('RUN3CHSruns2022FGruns2023CD'),
quality = cms.string('TIGHT'),
),
src = cms.InputTag("updatedJets")
)
tightJetIdLepVeto = cms.EDProducer("PatJetIDValueMapProducer",
filterParams=cms.PSet(
version = cms.string('RUN3CHSruns2022FGruns2023CD'),
quality = cms.string('TIGHTLEPVETO'),
),
src = cms.InputTag("updatedJets")
)
run2_jme_2016.toModify(
tightJetId.filterParams, version = "RUN2UL16CHS"
).toModify(
tightJetIdLepVeto.filterParams, version = "RUN2UL16CHS"
)

(run2_jme_2017 | run2_jme_2018).toModify(
tightJetId.filterParams, version = "RUN2ULCHS"
).toModify(
tightJetIdLepVeto.filterParams, version = "RUN2ULCHS"
)

run3_jme_Winter22runsBCDEprompt.toModify(
tightJetId.filterParams, version = "RUN3CHSruns2022BCDEprompt"
).toModify(
tightJetIdLepVeto.filterParams, version = "RUN3CHSruns2022BCDEprompt"
)

bJetVars = cms.EDProducer("JetRegressionVarProducer",
pvsrc = cms.InputTag("offlineSlimmedPrimaryVertices"),
src = cms.InputTag("updatedJets"),
Expand Down Expand Up @@ -95,8 +53,6 @@
chFPV0EF = cms.InputTag("jercVars:chargedFromPV0EnergyFraction"),
),
userInts = cms.PSet(
tightId = cms.InputTag("tightJetId"),
tightIdLepVeto = cms.InputTag("tightJetIdLepVeto"),
vtxNtrk = cms.InputTag("bJetVars:vtxNtrk"),
leptonPdgId = cms.InputTag("bJetVars:leptonPdgId"),
puIdNanoId = cms.InputTag('pileupJetIdNano:fullId'),
Expand Down Expand Up @@ -161,7 +117,6 @@
UParTAK4RegPtRawRes = Var("?(bDiscriminator('pfUnifiedParticleTransformerAK4JetTags:ptreshigh')+bDiscriminator('pfUnifiedParticleTransformerAK4JetTags:ptreslow'))>0?0.5*(bDiscriminator('pfUnifiedParticleTransformerAK4JetTags:ptreshigh')-bDiscriminator('pfUnifiedParticleTransformerAK4JetTags:ptreslow')):-1",float,precision=10,doc="UnifiedParT universal flavor-aware jet pT resolution estimator, (q84 - q16)/2"),
puIdDisc = Var("userFloat('puIdNanoDisc')", float,doc="Pileup ID discriminant with 106X (2018) training",precision=10),
puId = Var("userInt('puIdNanoId')", "uint8", doc="Pileup ID flags with 106X (2018) training"),
jetId = Var("userInt('tightId')*2+4*userInt('tightIdLepVeto')", "uint8", doc="Jet ID flags bit1 is loose (always false in 2017 since it does not exist), bit2 is tight, bit3 is tightLepVeto"),
qgl = Var("?userFloat('qgl')>0?userFloat('qgl'):-1",float,doc="Quark vs Gluon likelihood discriminator",precision=10),
hfsigmaEtaEta = Var("userFloat('hfJetShowerShape:sigmaEtaEta')",float,doc="sigmaEtaEta for HF jets (noise discriminating variable)",precision=10),
hfsigmaPhiPhi = Var("userFloat('hfJetShowerShape:sigmaPhiPhi')",float,doc="sigmaPhiPhi for HF jets (noise discriminating variable)",precision=10),
Expand All @@ -171,13 +126,13 @@
chMultiplicity = Var("chargedMultiplicity()","uint8",doc="Number of charged particles in the jet"),
neMultiplicity = Var("neutralMultiplicity()","uint8",doc="Number of neutral particles in the jet"),
rawFactor = Var("1.-jecFactor('Uncorrected')",float,doc="1 - Factor to get back to raw pT",precision=6),
chHEF = Var("chargedHadronEnergyFraction()", float, doc="charged Hadron Energy Fraction", precision= 6),
neHEF = Var("neutralHadronEnergyFraction()", float, doc="neutral Hadron Energy Fraction", precision= 6),
chEmEF = Var("chargedEmEnergyFraction()", float, doc="charged Electromagnetic Energy Fraction", precision= 6),
neEmEF = Var("neutralEmEnergyFraction()", float, doc="neutral Electromagnetic Energy Fraction", precision= 6),
hfHEF = Var("HFHadronEnergyFraction()",float,doc="hadronic Energy Fraction in HF",precision= 6),
hfEmEF = Var("HFEMEnergyFraction()",float,doc="electromagnetic Energy Fraction in HF",precision= 6),
muEF = Var("muonEnergyFraction()", float, doc="muon Energy Fraction", precision= 6),
chHEF = Var("chargedHadronEnergyFraction()", float, doc="charged Hadron Energy Fraction", precision=10),
neHEF = Var("neutralHadronEnergyFraction()", float, doc="neutral Hadron Energy Fraction", precision=10),
chEmEF = Var("chargedEmEnergyFraction()", float, doc="charged Electromagnetic Energy Fraction", precision=10),
neEmEF = Var("neutralEmEnergyFraction()", float, doc="neutral Electromagnetic Energy Fraction", precision=10),
hfHEF = Var("HFHadronEnergyFraction()",float,doc="hadronic Energy Fraction in HF",precision=10),
hfEmEF = Var("HFEMEnergyFraction()",float,doc="electromagnetic Energy Fraction in HF",precision=10),
muEF = Var("muonEnergyFraction()", float, doc="muon Energy Fraction", precision=10),
chFPV0EF = Var("userFloat('chFPV0EF')", float, doc="charged fromPV==0 Energy Fraction (energy excluded from CHS jets). Previously called betastar.", precision= 6),
)
)
Expand Down Expand Up @@ -535,7 +490,7 @@ def nanoAOD_refineFastSim_bTagDeepFlav(process):
eta = Var("eta", float,precision=12),
phi = Var("phi", float, precision=12),
area = Var("jetArea()", float, doc="jet catchment area, for JECs",precision=10),
EmEF = Var("chargedEmEnergyFraction()+neutralEmEnergyFraction()", float, doc="charged+neutral Electromagnetic Energy Fraction", precision=6),
EmEF = Var("chargedEmEnergyFraction()+neutralEmEnergyFraction()", float, doc="charged+neutral Electromagnetic Energy Fraction", precision=10),
)
)

Expand All @@ -545,7 +500,7 @@ def nanoAOD_refineFastSim_bTagDeepFlav(process):
jetForMETTask = cms.Task(basicJetsForMetForT1METNano,corrT1METJetTable)

#before cross linking
jetUserDataTask = cms.Task(bJetVars,qgtagger,jercVars,tightJetId,tightJetIdLepVeto,pileupJetIdNano)
jetUserDataTask = cms.Task(bJetVars,qgtagger,jercVars,pileupJetIdNano)

#before cross linking
jetTask = cms.Task(jetCorrFactorsNano,updatedJets,jetUserDataTask,updatedJetsWithUserData,finalJets)
Expand Down
53 changes: 9 additions & 44 deletions PhysicsTools/NanoAOD/python/jetsAK4_Puppi_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,38 +26,6 @@
jetCorrFactorsSource=cms.VInputTag(cms.InputTag("jetPuppiCorrFactorsNano") ),
)

tightJetPuppiId = cms.EDProducer("PatJetIDValueMapProducer",
filterParams=cms.PSet(
version = cms.string('RUN3PUPPIruns2022FGruns2023CD'),
quality = cms.string('TIGHT'),
),
src = cms.InputTag("updatedJetsPuppi")
)
tightJetPuppiIdLepVeto = cms.EDProducer("PatJetIDValueMapProducer",
filterParams=cms.PSet(
version = cms.string('RUN3PUPPIruns2022FGruns2023CD'),
quality = cms.string('TIGHTLEPVETO'),
),
src = cms.InputTag("updatedJetsPuppi")
)

run2_jme_2016.toModify(
tightJetPuppiId.filterParams, version = "RUN2UL16PUPPI"
).toModify(
tightJetPuppiIdLepVeto.filterParams, version = "RUN2UL16PUPPI"
)

(run2_jme_2017 | run2_jme_2018 | run3_nanoAOD_122 | run3_nanoAOD_124).toModify(
tightJetPuppiId.filterParams, version = "RUN2ULPUPPI"
).toModify(
tightJetPuppiIdLepVeto.filterParams, version = "RUN2ULPUPPI"
)

run3_jme_Winter22runsBCDEprompt.toModify(
tightJetPuppiId.filterParams, version = "RUN3PUPPIruns2022BCDEprompt"
).toModify(
tightJetPuppiIdLepVeto.filterParams, version = "RUN3PUPPIruns2022BCDEprompt"
)

#HF shower shape recomputation
from RecoJets.JetProducers.hfJetShowerShape_cfi import hfJetShowerShape
Expand All @@ -70,8 +38,6 @@
hfsigmaPhiPhi = cms.InputTag('hfJetPuppiShowerShapeforNanoAOD:sigmaPhiPhi'),
),
userInts = cms.PSet(
tightId = cms.InputTag("tightJetPuppiId"),
tightIdLepVeto = cms.InputTag("tightJetPuppiIdLepVeto"),
hfcentralEtaStripSize = cms.InputTag('hfJetPuppiShowerShapeforNanoAOD:centralEtaStripSize'),
hfadjacentEtaStripsSize = cms.InputTag('hfJetPuppiShowerShapeforNanoAOD:adjacentEtaStripsSize'),
),
Expand Down Expand Up @@ -124,7 +90,6 @@
UParTAK4RegPtRawCorr = Var("?bDiscriminator('pfUnifiedParticleTransformerAK4JetTags:ptcorr')>0?bDiscriminator('pfUnifiedParticleTransformerAK4JetTags:ptcorr'):-1",float,precision=10,doc="UnifiedParT universal flavor-aware visible pT regression (no neutrinos), correction relative to raw jet pT"),
UParTAK4RegPtRawCorrNeutrino = Var("?bDiscriminator('pfUnifiedParticleTransformerAK4JetTags:ptnu')>0?bDiscriminator('pfUnifiedParticleTransformerAK4JetTags:ptnu'):-1",float,precision=10,doc="UnifiedParT universal flavor-aware pT regression neutrino correction, relative to visible. To apply full regression, multiply raw jet pT by both UParTAK4RegPtRawCorr and UParTAK4RegPtRawCorrNeutrino."),
UParTAK4RegPtRawRes = Var("?(bDiscriminator('pfUnifiedParticleTransformerAK4JetTags:ptreshigh')+bDiscriminator('pfUnifiedParticleTransformerAK4JetTags:ptreslow'))>0?0.5*(bDiscriminator('pfUnifiedParticleTransformerAK4JetTags:ptreshigh')-bDiscriminator('pfUnifiedParticleTransformerAK4JetTags:ptreslow')):-1",float,precision=10,doc="UnifiedParT universal flavor-aware jet pT resolution estimator, (q84 - q16)/2"),
jetId = Var("userInt('tightId')*2+4*userInt('tightIdLepVeto')", "uint8",doc="Jet ID flag: bit2 is tight, bit3 is tightLepVeto"),
hfsigmaEtaEta = Var("userFloat('hfsigmaEtaEta')",float,doc="sigmaEtaEta for HF jets (noise discriminating variable)",precision=10),
hfsigmaPhiPhi = Var("userFloat('hfsigmaPhiPhi')",float,doc="sigmaPhiPhi for HF jets (noise discriminating variable)",precision=10),
hfcentralEtaStripSize = Var("userInt('hfcentralEtaStripSize')", int, doc="eta size of the central tower strip in HF (noise discriminating variable)"),
Expand All @@ -133,13 +98,13 @@
chMultiplicity = Var("chargedMultiplicity()","uint8",doc="(Puppi-weighted) Number of charged particles in the jet"),
neMultiplicity = Var("neutralMultiplicity()","uint8",doc="(Puppi-weighted) Number of neutral particles in the jet"),
rawFactor = Var("1.-jecFactor('Uncorrected')",float,doc="1 - Factor to get back to raw pT",precision=6),
chHEF = Var("chargedHadronEnergyFraction()", float, doc="charged Hadron Energy Fraction", precision= 6),
neHEF = Var("neutralHadronEnergyFraction()", float, doc="neutral Hadron Energy Fraction", precision= 6),
chEmEF = Var("chargedEmEnergyFraction()", float, doc="charged Electromagnetic Energy Fraction", precision= 6),
neEmEF = Var("neutralEmEnergyFraction()", float, doc="neutral Electromagnetic Energy Fraction", precision= 6),
hfHEF = Var("HFHadronEnergyFraction()",float,doc="hadronic Energy Fraction in HF",precision= 6),
hfEmEF = Var("HFEMEnergyFraction()",float,doc="electromagnetic Energy Fraction in HF",precision= 6),
muEF = Var("muonEnergyFraction()", float, doc="muon Energy Fraction", precision= 6),
chHEF = Var("chargedHadronEnergyFraction()", float, doc="charged Hadron Energy Fraction", precision=10),
neHEF = Var("neutralHadronEnergyFraction()", float, doc="neutral Hadron Energy Fraction", precision=10),
chEmEF = Var("chargedEmEnergyFraction()", float, doc="charged Electromagnetic Energy Fraction", precision=10),
neEmEF = Var("neutralEmEnergyFraction()", float, doc="neutral Electromagnetic Energy Fraction", precision=10),
hfHEF = Var("HFHadronEnergyFraction()",float,doc="hadronic Energy Fraction in HF",precision=10),
hfEmEF = Var("HFEMEnergyFraction()",float,doc="electromagnetic Energy Fraction in HF",precision=10),
muEF = Var("muonEnergyFraction()", float, doc="muon Energy Fraction", precision=10),
)
)

Expand Down Expand Up @@ -246,7 +211,7 @@ def nanoAOD_addDeepInfoAK4(process,addParticleNet,addRobustParTAK4=False,addUnif
eta = Var("eta", float,precision=12),
phi = Var("phi", float, precision=12),
area = Var("jetArea()", float, doc="jet catchment area, for JECs",precision=10),
EmEF = Var("chargedEmEnergyFraction()+neutralEmEnergyFraction()", float, doc="charged+neutral Electromagnetic Energy Fraction", precision=6),
EmEF = Var("chargedEmEnergyFraction()+neutralEmEnergyFraction()", float, doc="charged+neutral Electromagnetic Energy Fraction", precision=10),
)
)

Expand All @@ -256,7 +221,7 @@ def nanoAOD_addDeepInfoAK4(process,addParticleNet,addRobustParTAK4=False,addUnif
jetPuppiForMETTask = cms.Task(basicJetsPuppiForMetForT1METNano,corrT1METJetPuppiTable)

#before cross linking
jetPuppiUserDataTask = cms.Task(tightJetPuppiId, tightJetPuppiIdLepVeto, hfJetPuppiShowerShapeforNanoAOD)
jetPuppiUserDataTask = cms.Task(hfJetPuppiShowerShapeforNanoAOD)

#before cross linking
jetPuppiTask = cms.Task(jetPuppiCorrFactorsNano,updatedJetsPuppi,jetPuppiUserDataTask,updatedJetsPuppiWithUserData,finalJetsPuppi)
Expand Down
Loading