Skip to content

Commit

Permalink
Merge pull request #44691 from lucasrussell01/addUParTTauTag
Browse files Browse the repository at this point in the history
Add Unified ParT to tau NanoAOD
  • Loading branch information
cmsbuild committed Apr 19, 2024
2 parents 8642310 + a02009c commit 513d36c
Show file tree
Hide file tree
Showing 4 changed files with 219 additions and 161 deletions.
33 changes: 22 additions & 11 deletions PhysicsTools/NanoAOD/python/nanoDQM_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -824,7 +824,8 @@
Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
Plot1D('chargedIso', 'chargedIso', 20, 0, 200, 'charged isolation'),
Plot1D('decayMode', 'decayMode', 12, -0.5, 11.5, 'decayMode()'),
Plot1D('decayModePNet', 'decayModePNet', 13, -1.5, 11.5, 'decay mode of the highest PNet tau score'),
Plot1D('decayModePNet', 'decayModePNet', 13, -1.5, 11.5, 'decay mode of the highest PNet tau score (CHS jets)'),
Plot1D('decayModeUParT', 'decayModeUParT', 13, -1.5, 11.5, 'decay mode of the highest UParT tau score (PUPPI jets)'),
Plot1D('dxy', 'dxy', 20, -1000, 1000, 'd_{xy} of lead track with respect to PV, in cm (with sign)'),
Plot1D('dz', 'dz', 20, -20, 20, 'd_{z} of lead track with respect to PV, in cm (with sign)'),
Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
Expand Down Expand Up @@ -856,18 +857,28 @@
Plot1D('rawDeepTau2018v2p5VSe', 'rawDeepTau2018v2p5VSe', 20, 0, 1, 'byDeepTau2018v2p5VSe raw output discriminator (deepTau2018v2p5)'),
Plot1D('rawDeepTau2018v2p5VSjet', 'rawDeepTau2018v2p5VSjet', 20, 0, 1, 'byDeepTau2018v2p5VSjet raw output discriminator (deepTau2018v2p5)'),
Plot1D('rawDeepTau2018v2p5VSmu', 'rawDeepTau2018v2p5VSmu', 20, 0, 1, 'byDeepTau2018v2p5VSmu raw output discriminator (deepTau2018v2p5)'),
Plot1D('rawPNetVSe', 'rawPNetVSe', 20, 0, 1, 'byPNetVSe raw output discriminator (PNet 2023)'),
Plot1D('rawPNetVSjet', 'rawPNetVSjet', 20, 0, 1, 'byPNetVSjet raw output discriminator (PNet 2023)'),
Plot1D('rawPNetVSmu', 'rawPNetVSmu', 20, 0, 1, 'byPNetVSmu raw output discriminator (PNet 2023)'),
Plot1D('rawPNetVSe', 'rawPNetVSe', 20, 0, 1, 'byPNetVSe raw output discriminator (PNet 2023 - CHS Jets)'),
Plot1D('rawPNetVSjet', 'rawPNetVSjet', 20, 0, 1, 'byPNetVSjet raw output discriminator (PNet 2023 - CHS Jets)'),
Plot1D('rawPNetVSmu', 'rawPNetVSmu', 20, 0, 1, 'byPNetVSmu raw output discriminator (PNet 2023 - CHS Jets)'),
Plot1D('rawUParTVSe', 'rawUParTVSe', 20, 0, 1, 'byUParTVSe raw output discriminator (UParT 2024 - PUPPI Jets)'),
Plot1D('rawUParTVSjet', 'rawUParTVSjet', 20, 0, 1, 'byUParTVSjet raw output discriminator (UParT 2024 - PUPPI Jets)'),
Plot1D('rawUParTVSmu', 'rawUParTVSmu', 20, 0, 1, 'byUParTVSmu raw output discriminator (UParT 2024 - PUPPI Jets)'),
Plot1D('rawIso', 'rawIso', 20, 0, 200, 'combined isolation (deltaBeta corrections)'),
Plot1D('rawIsodR03', 'rawIsodR03', 20, 0, 200, 'combined isolation (deltaBeta corrections, dR=0.3)'),
Plot1D('ptCorrPNet', 'ptCorrPNet', 20, 0, 2, 'pt correction (PNet 2023)'),
Plot1D('qConfPNet', 'qConfPNet', 20, -0.5, 0.5, 'signed charge confidence (PNet 2023)'),
Plot1D('probDM0PNet', 'probDM0PNet', 20, 0, 1, 'normalised probablity of decayMode 0, 1h+0pi0 (PNet 2023)'),
Plot1D('probDM1PNet', 'probDM1PNet', 20, 0, 1, 'normalised probablity of decayMode 1, 1h+1pi0 (PNet 2023)'),
Plot1D('probDM2PNet', 'probDM2PNet', 20, 0, 1, 'normalised probablity of decayMode 2, 1h+2pi0 (PNet 2023)'),
Plot1D('probDM10PNet', 'probDM10PNet', 20, 0, 1, 'normalised probablity of decayMode 10, 3h+0pi0 (PNet 2023)'),
Plot1D('probDM11PNet', 'probDM11PNet', 20, 0, 1, 'normalised probablity of decayMode 11, 3h+1pi0 (PNet 2023)'),
Plot1D('ptCorrPNet', 'ptCorrPNet', 20, 0, 2, 'pt correction (PNet 2023 - CHS Jets)'),
Plot1D('qConfPNet', 'qConfPNet', 20, -0.5, 0.5, 'signed charge confidence (PNet 2023 - CHS Jets)'),
Plot1D('probDM0PNet', 'probDM0PNet', 20, 0, 1, 'normalised probablity of decayMode 0, 1h+0pi0 (PNet 2023 - CHS Jets)'),
Plot1D('probDM1PNet', 'probDM1PNet', 20, 0, 1, 'normalised probablity of decayMode 1, 1h+1pi0 (PNet 2023 - CHS Jets)'),
Plot1D('probDM2PNet', 'probDM2PNet', 20, 0, 1, 'normalised probablity of decayMode 2, 1h+2pi0 (PNet 2023 - CHS Jets)'),
Plot1D('probDM10PNet', 'probDM10PNet', 20, 0, 1, 'normalised probablity of decayMode 10, 3h+0pi0 (PNet 2023 - CHS Jets)'),
Plot1D('probDM11PNet', 'probDM11PNet', 20, 0, 1, 'normalised probablity of decayMode 11, 3h+1pi0 (PNet 2023 - CHS Jets)'),
Plot1D('ptCorrUParT', 'ptCorrUParT', 20, 0, 2, 'pt correction (UParT 2024 - PUPPI Jets)'),
Plot1D('qConfUParT', 'qConfUUParT', 20, -0.5, 0.5, 'signed charge confidence (UParT 2024 - PUPPI Jets)'),
Plot1D('probDM0UParT', 'probDM0UParT', 20, 0, 1, 'normalised probablity of decayMode 0, 1h+0pi0 (UParT 2024 - PUPPI Jets)'),
Plot1D('probDM1UParT', 'probDM1UParT', 20, 0, 1, 'normalised probablity of decayMode 1, 1h+1pi0 (UParT 2024 - PUPPI Jets)'),
Plot1D('probDM2UParT', 'probDM2UParT', 20, 0, 1, 'normalised probablity of decayMode 2, 1h+2pi0 (UParT 2024 - PUPPI Jets)'),
Plot1D('probDM10UParT', 'probDM10UParT', 20, 0, 1, 'normalised probablity of decayMode 10, 3h+0pi0 (UParT 2024 - PUPPI Jets)'),
Plot1D('probDM11UParT', 'probDM11UParT', 20, 0, 1, 'normalised probablity of decayMode 11, 3h+1pi0 (UParT 2024 - PUPPI Jets)'),
)
),
TauProd = cms.PSet(
Expand Down
80 changes: 49 additions & 31 deletions PhysicsTools/NanoAOD/python/nano_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,16 +138,27 @@ def nanoAOD_addBoostedTauIds(process, idsToRun=[]):

return process

def nanoAOD_addPNetToTaus(process, addPNetInfo=False, runPNetCHSAK4=False):
if addPNetInfo:
def nanoAOD_addUTagToTaus(process, addUTagInfo=False, usePUPPIjets=False):

if addUTagInfo:
originalTauName = process.finalTaus.src.value()
updatedTauName = originalTauName+'WithPNet'
jetCollection = "updatedJets"
process.load('RecoBTag.ONNXRuntime.pfParticleNetFromMiniAODAK4_cff')
pnetTagName = "pfParticleNetFromMiniAODAK4CHSCentralJetTag"
pnetDiscriminators = [];
for tag in getattr(process,pnetTagName+"s").flav_names.value():
pnetDiscriminators.append(pnetTagName+"s:"+tag)

if usePUPPIjets: # option to use PUPPI jets
jetCollection = "updatedJetsPuppi"
TagName = "pfUnifiedParticleTransformerAK4JetTags"
tag_prefix = "byUTagPUPPI"
updatedTauName = originalTauName+'WithUTagPUPPI'
# Unified ParT Tagger used for PUPPI jets
from RecoBTag.ONNXRuntime.pfUnifiedParticleTransformerAK4JetTags_cfi import pfUnifiedParticleTransformerAK4JetTags
Discriminators = [TagName+":"+tag for tag in pfUnifiedParticleTransformerAK4JetTags.flav_names.value()]
else: # use CHS jets by default
jetCollection = "updatedJets"
TagName = "pfParticleNetFromMiniAODAK4CHSCentralJetTags"
tag_prefix = "byUTagCHS"
updatedTauName = originalTauName+'WithUTagCHS'
# PNet tagger used for CHS jets
from RecoBTag.ONNXRuntime.pfParticleNetFromMiniAODAK4_cff import pfParticleNetFromMiniAODAK4CHSCentralJetTags
Discriminators = [TagName+":"+tag for tag in pfParticleNetFromMiniAODAK4CHSCentralJetTags.flav_names.value()]

# Define "hybridTau" producer
from PhysicsTools.PatAlgos.patTauHybridProducer_cfi import patTauHybridProducer
Expand All @@ -157,8 +168,9 @@ def nanoAOD_addPNetToTaus(process, addPNetInfo=False, runPNetCHSAK4=False):
dRMax = 0.4,
jetPtMin = 15,
jetEtaMax = 2.5,
pnetLabel = pnetTagName+"s",
pnetScoreNames = pnetDiscriminators,
UTagLabel = TagName,
UTagScoreNames = Discriminators,
tagPrefix = tag_prefix,
tauScoreMin = -1,
vsJetMin = 0.05,
checkTauScoreIsBest = False,
Expand All @@ -168,15 +180,6 @@ def nanoAOD_addPNetToTaus(process, addPNetInfo=False, runPNetCHSAK4=False):
))
process.finalTaus.src = updatedTauName

# run PNet for CHS AK4 jets if requested
if runPNetCHSAK4:
from PhysicsTools.NanoAOD.jetsAK4_CHS_cff import nanoAOD_addDeepInfoAK4CHS
process = nanoAOD_addDeepInfoAK4CHS(process,
addDeepBTag = False,
addDeepFlavour = False,
addParticleNet = True
)

#remember to adjust the selection and tables with added IDs

process.tauTask.add(process.jetTask, getattr(process, updatedTauName))
Expand Down Expand Up @@ -209,7 +212,14 @@ def nanoAOD_customizeCommon(process):
nanoAOD_addRobustParTAK4Tag_switch=False,
nanoAOD_addUnifiedParTAK4Tag_switch=True,
)


# enable rerun of PNet for CHS jets for early run3 eras
# (it is rerun for run2 within jet tasks while is not needed for newer
# run3 eras as it is present in miniAOD)
(run3_nanoAOD_122 | run3_nanoAOD_124).toModify(
nanoAOD_addDeepInfoAK4CHS_switch, nanoAOD_addParticleNet_switch = True
)

# This function is defined in jetsAK4_Puppi_cff.py
process = nanoAOD_addDeepInfoAK4(process,
addParticleNet=nanoAOD_addDeepInfoAK4_switch.nanoAOD_addParticleNet_switch,
Expand Down Expand Up @@ -239,25 +249,33 @@ def nanoAOD_customizeCommon(process):

nanoAOD_tau_switch = cms.PSet(
idsToAdd = cms.vstring(),
runPNetAK4 = cms.bool(False),
addUParTInfo = cms.bool(True),
addPNet = cms.bool(True)
)
(run2_nanoAOD_106Xv2 | run3_nanoAOD_122).toModify(
nanoAOD_tau_switch, idsToAdd = ["deepTau2018v2p5"]
).toModify(
process, lambda p : nanoAOD_addTauIds(p, nanoAOD_tau_switch.idsToAdd.value())
)
# Add PNet info to taus
# enable rerun of PNet for CHS jets for early run3 eras
# (it is rerun for run2 within jet tasks while is not needed for newer
# run3 eras as it is present in miniAOD)
(run3_nanoAOD_122 | run3_nanoAOD_124).toModify(
nanoAOD_tau_switch, runPNetAK4 = True

# Don't add Unified Tagger for PUPPI jets for Run 2 (as different PUPPI tune
# and base jet algorithm) or early Run 3 eras
(run3_nanoAOD_122 | run3_nanoAOD_124 | run2_nanoAOD_106Xv2).toModify(
nanoAOD_tau_switch, addUParTInfo = False
)

# Add Unified Tagger For CHS Jets (PNet 2023)
nanoAOD_addUTagToTaus(process,
addUTagInfo = nanoAOD_tau_switch.addPNet.value(),
usePUPPIjets = False
)
nanoAOD_addPNetToTaus(process,
addPNetInfo = nanoAOD_tau_switch.addPNet.value(),
runPNetCHSAK4 = nanoAOD_tau_switch.runPNetAK4.value()

# Add Unified Tagger For PUPPI Jets (UParT 2024)
nanoAOD_addUTagToTaus(process,
addUTagInfo = nanoAOD_tau_switch.addUParTInfo.value(),
usePUPPIjets = True
)

nanoAOD_boostedTau_switch = cms.PSet(
idsToAdd = cms.vstring()
)
Expand Down
45 changes: 30 additions & 15 deletions PhysicsTools/NanoAOD/python/taus_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@

finalTaus = cms.EDFilter("PATTauRefSelector",
src = cms.InputTag("slimmedTaus"),
cut = cms.string("pt > 18 && ((tauID('decayModeFindingNewDMs') > 0.5 && (tauID('byLooseCombinedIsolationDeltaBetaCorr3Hits') || (tauID('chargedIsoPtSumdR03')+max(0.,tauID('neutralIsoPtSumdR03')-0.072*tauID('puCorrPtSum'))<2.5) || tauID('byVVVLooseDeepTau2017v2p1VSjet') || tauID('byVVVLooseDeepTau2018v2p5VSjet'))) || (?isTauIDAvailable('byPNetVSjetraw')?tauID('byPNetVSjetraw'):-1) > {})".format(0.05))
cut = cms.string("pt > 18 && ((tauID('decayModeFindingNewDMs') > 0.5 && (tauID('byLooseCombinedIsolationDeltaBetaCorr3Hits') || (tauID('chargedIsoPtSumdR03')+max(0.,tauID('neutralIsoPtSumdR03')-0.072*tauID('puCorrPtSum'))<2.5) || tauID('byVVVLooseDeepTau2017v2p1VSjet') || tauID('byVVVLooseDeepTau2018v2p5VSjet'))) || (?isTauIDAvailable('byUTagCHSVSjetraw')?tauID('byUTagCHSVSjetraw'):-1) > {} || (?isTauIDAvailable('byUTagPUPPIVSjetraw')?tauID('byUTagPUPPIVSjetraw'):-1) > {})".format(0.05, 0.05))
)

run3_nanoAOD_124.toModify(
finalTaus,
cut = cms.string("pt > 18 && ((tauID('decayModeFindingNewDMs') > 0.5 && (tauID('byLooseCombinedIsolationDeltaBetaCorr3Hits') || (tauID('chargedIsoPtSumdR03')+max(0.,tauID('neutralIsoPtSumdR03')-0.072*tauID('puCorrPtSum'))<2.5) || tauID('byVVVLooseDeepTau2017v2p1VSjet') || (tauID('byDeepTau2018v2p5VSjetraw') > {}))) || (?isTauIDAvailable('byPNetVSjetraw')?tauID('byPNetVSjetraw'):-1) > {})".format(WORKING_POINTS_v2p5["jet"]["VVVLoose"],0.05))
cut = cms.string("pt > 18 && ((tauID('decayModeFindingNewDMs') > 0.5 && (tauID('byLooseCombinedIsolationDeltaBetaCorr3Hits') || (tauID('chargedIsoPtSumdR03')+max(0.,tauID('neutralIsoPtSumdR03')-0.072*tauID('puCorrPtSum'))<2.5) || tauID('byVVVLooseDeepTau2017v2p1VSjet') || (tauID('byDeepTau2018v2p5VSjetraw') > {}))) || (?isTauIDAvailable('byUTagCHSVSjetraw')?tauID('byUTagCHSVSjetraw'):-1) > {} || (?isTauIDAvailable('byUTagPUPPIVSjetraw')?tauID('byUTagPUPPIVSjetraw'):-1) > {})".format(WORKING_POINTS_v2p5["jet"]["VVVLoose"], 0.05, 0.05))
)

##################### Tables for final output and docs ##########################
Expand Down Expand Up @@ -111,25 +111,40 @@ def _tauIdWPMask(pattern, choices, doc="", from_raw=False, wp_thrs=None):
doc="byDeepTau2018v2p5VSjet ID working points (deepTau2018v2p5)"),
)

_pnet2023 = cms.PSet(
decayModePNet = Var("?isTauIDAvailable('byPNetDecayMode')?tauID('byPNetDecayMode'):-1", "int16",doc="decay mode of the highest tau score of ParticleNet"),
rawPNetVSe = Var("?isTauIDAvailable('byPNetVSeraw')?tauID('byPNetVSeraw'):-1", float, doc="raw output of ParticleNetVsE discriminator (PNet 2023)", precision=10),
rawPNetVSmu = Var("?isTauIDAvailable('byPNetVSmuraw')?tauID('byPNetVSmuraw'):-1", float, doc="raw output of ParticleNetVsMu discriminator (PNet 2023)", precision=10),
rawPNetVSjet = Var("?isTauIDAvailable('byPNetVSjetraw')?tauID('byPNetVSjetraw'):-1", float, doc="raw output of ParticleNetVsJet discriminator (PNet 2023)", precision=10),
ptCorrPNet = Var("?isTauIDAvailable('byPNetPtCorr')?tauID('byPNetPtCorr'):1", float, doc="pt correction (PNet 2023)", precision=10),
qConfPNet = Var("?isTauIDAvailable('byPNetQConf')?tauID('byPNetQConf'):0", float, doc="signed charge confidence (PNet 2023)", precision=10),
probDM0PNet = Var("?isTauIDAvailable('byPNetProb1h0pi0')?tauID('byPNetProb1h0pi0'):-1", float, doc="normalised probablity of decayMode 0, 1h+0pi0 (PNet 2023)", precision=10),
probDM1PNet = Var("?isTauIDAvailable('byPNetProb1h1pi0')?tauID('byPNetProb1h1pi0'):-1", float, doc="normalised probablity of decayMode 1, 1h+1pi0 (PNet 2023)", precision=10),
probDM2PNet = Var("?isTauIDAvailable('byPNetProb1h2pi0')?tauID('byPNetProb1h2pi0'):-1", float, doc="normalised probablity of decayMode 2, 1h+2pi0 (PNet 2023)", precision=10),
probDM10PNet = Var("?isTauIDAvailable('byPNetProb3h0pi0')?tauID('byPNetProb3h0pi0'):-1", float, doc="normalised probablity of decayMode 10, 3h+0pi0 (PNet 2023)", precision=10),
probDM11PNet = Var("?isTauIDAvailable('byPNetProb3h1pi0')?tauID('byPNetProb3h1pi0'):-1", float, doc="normalised probablity of decayMode 11, 3h+1pi0 (PNet 2023)", precision=10),
_UTagCHS = cms.PSet(
decayModePNet = Var("?isTauIDAvailable('byUTagCHSDecayMode')?tauID('byUTagCHSDecayMode'):-1", "int16",doc="decay mode of the highest tau score of ParticleNet (CHS Jets)"),
rawPNetVSe = Var("?isTauIDAvailable('byUTagCHSVSeraw')?tauID('byUTagCHSVSeraw'):-1", float, doc="raw output of ParticleNetVsE discriminator (PNet 2023 - CHS Jets)", precision=10),
rawPNetVSmu = Var("?isTauIDAvailable('byUTagCHSVSmuraw')?tauID('byUTagCHSVSmuraw'):-1", float, doc="raw output of ParticleNetVsMu discriminator (PNet 2023 - CHS Jets)", precision=10),
rawPNetVSjet = Var("?isTauIDAvailable('byUTagCHSVSjetraw')?tauID('byUTagCHSVSjetraw'):-1", float, doc="raw output of ParticleNetVsJet discriminator (PNet 2023 - CHS Jets)", precision=10),
ptCorrPNet = Var("?isTauIDAvailable('byUTagCHSPtCorr')?tauID('byUTagCHSPtCorr'):1", float, doc="pt correction (PNet 2023 - CHS Jets)", precision=10),
qConfPNet = Var("?isTauIDAvailable('byUTagCHSQConf')?tauID('byUTagCHSQConf'):0", float, doc="signed charge confidence (PNet 2023 - CHS Jets)", precision=10),
probDM0PNet = Var("?isTauIDAvailable('byUTagCHSProb1h0pi0')?tauID('byUTagCHSProb1h0pi0'):-1", float, doc="normalised probablity of decayMode 0, 1h+0pi0 (PNet 2023 - CHS Jets)", precision=10),
probDM1PNet = Var("?isTauIDAvailable('byUTagCHSProb1h1pi0')?tauID('byUTagCHSProb1h1pi0'):-1", float, doc="normalised probablity of decayMode 1, 1h+1pi0 (PNet 2023 - CHS Jets)", precision=10),
probDM2PNet = Var("?isTauIDAvailable('byUTagCHSProb1h2pi0')?tauID('byUTagCHSProb1h2pi0'):-1", float, doc="normalised probablity of decayMode 2, 1h+2pi0 (PNet 2023 - CHS Jets)", precision=10),
probDM10PNet = Var("?isTauIDAvailable('byUTagCHSProb3h0pi0')?tauID('byUTagCHSProb3h0pi0'):-1", float, doc="normalised probablity of decayMode 10, 3h+0pi0 (PNet 2023 - CHS Jets)", precision=10),
probDM11PNet = Var("?isTauIDAvailable('byUTagCHSProb3h1pi0')?tauID('byUTagCHSProb3h1pi0'):-1", float, doc="normalised probablity of decayMode 11, 3h+1pi0 (PNet 2023 - CHS Jets)", precision=10),
)

_UTagPUPPI = cms.PSet(
decayModeUParT= Var("?isTauIDAvailable('byUTagPUPPIDecayMode')?tauID('byUTagPUPPIDecayMode'):-1", "int16",doc="decay mode of the highest tau score of Unified ParT 2024 (PUPPI Jets)"),
rawUParTVSe = Var("?isTauIDAvailable('byUTagPUPPIVSeraw')?tauID('byUTagPUPPIVSeraw'):-1", float, doc="raw output of UParTVsE discriminator (Unified ParT 2024 - PUPPI Jets)", precision=10),
rawUParTVSmu = Var("?isTauIDAvailable('byUTagPUPPIVSmuraw')?tauID('byUTagPUPPIVSmuraw'):-1", float, doc="raw output of UParTVsMu discriminator (Unified ParT 2024 - PUPPI Jets)", precision=10),
rawUParTVSjet = Var("?isTauIDAvailable('byUTagPUPPIVSjetraw')?tauID('byUTagPUPPIVSjetraw'):-1", float, doc="raw output of UParTVsJet discriminator (Unified ParT 2024 - PUPPI Jets)", precision=10),
ptCorrUParT= Var("?isTauIDAvailable('byUTagPUPPIPtCorr')?tauID('byUTagPUPPIPtCorr'):1", float, doc="pt correction (Unified ParT 2024 - PUPPI Jets)", precision=10),
qConfUParT= Var("?isTauIDAvailable('byUTagPUPPIQConf')?tauID('byUTagPUPPIQConf'):0", float, doc="signed charge confidence (Unified ParT 2024 - PUPPI Jets)", precision=10),
probDM0UParT= Var("?isTauIDAvailable('byUTagPUPPIProb1h0pi0')?tauID('byUTagPUPPIProb1h0pi0'):-1", float, doc="normalised probablity of decayMode 0, 1h+0pi0 (Unified ParT 2024 - PUPPI Jets)", precision=10),
probDM1UParT= Var("?isTauIDAvailable('byUTagPUPPIProb1h1pi0')?tauID('byUTagPUPPIProb1h1pi0'):-1", float, doc="normalised probablity of decayMode 1, 1h+1pi0 (Unified ParT 2024 - PUPPI Jets)", precision=10),
probDM2UParT= Var("?isTauIDAvailable('byUTagPUPPIProb1h2pi0')?tauID('byUTagPUPPIProb1h2pi0'):-1", float, doc="normalised probablity of decayMode 2, 1h+2pi0 (Unified ParT 2024 - PUPPI Jets)", precision=10),
probDM10UParT= Var("?isTauIDAvailable('byUTagPUPPIProb3h0pi0')?tauID('byUTagPUPPIProb3h0pi0'):-1", float, doc="normalised probablity of decayMode 10, 3h+0pi0 (Unified ParT 2024 - PUPPI Jets)", precision=10),
probDM11UParT= Var("?isTauIDAvailable('byUTagPUPPIProb3h1pi0')?tauID('byUTagPUPPIProb3h1pi0'):-1", float, doc="normalised probablity of decayMode 11, 3h+1pi0 (Unified ParT 2024 - PUPPI Jets)", precision=10),
)

_variablesMiniV2 = cms.PSet(
_tauVarsBase,
_deepTauVars2017v2p1,
_deepTauVars2018v2p5,
_pnet2023
_UTagCHS,
_UTagPUPPI
)

tauTable.variables = _variablesMiniV2
Expand Down
Loading

0 comments on commit 513d36c

Please sign in to comment.