File indexing completed on 2025-02-05 03:15:10
0001 import FWCore.ParameterSet.Config as cms
0002
0003 from PhysicsTools.PatAlgos.tools.helpers import getPatAlgosToolsTask, addToProcessAndTask
0004
0005
0006 def applyDeepBtagging(process, postfix=""):
0007 task = getPatAlgosToolsTask(process)
0008
0009 from PhysicsTools.PatAlgos.tools.jetTools import updateJetCollection
0010
0011 from PhysicsTools.PatAlgos.slimming.slimmedJets_cfi import slimmedJets, slimmedJetsAK8
0012 from RecoBTag.ONNXRuntime.pfParticleNetFromMiniAODAK4_cff import _pfParticleNetFromMiniAODAK4PuppiCentralJetTagsAll as pfParticleNetFromMiniAODAK4PuppiCentralJetTagsAll
0013 from RecoBTag.ONNXRuntime.pfParticleNetFromMiniAODAK4_cff import _pfParticleNetFromMiniAODAK4PuppiForwardJetTagsAll as pfParticleNetFromMiniAODAK4PuppiForwardJetTagsAll
0014 from RecoBTag.ONNXRuntime.pfParticleNetFromMiniAODAK4_cff import _pfParticleNetFromMiniAODAK4CHSCentralJetTagsAll as pfParticleNetFromMiniAODAK4CHSCentralJetTagsAll
0015 from RecoBTag.ONNXRuntime.pfUnifiedParticleTransformerAK4_cff import _pfUnifiedParticleTransformerAK4JetTagsAll as pfUnifiedParticleTransformerAK4JetTagsAll
0016 from RecoBTag.ONNXRuntime.pfUnifiedParticleTransformerAK4V1_cff import _pfUnifiedParticleTransformerAK4V1JetTagsAll as pfUnifiedParticleTransformerAK4V1JetTagsAll
0017
0018
0019
0020 addToProcessAndTask('slimmedJetsNoDeepFlavour', slimmedJets.clone(), process, task)
0021 _btagDiscriminatorsAK4CHS = cms.PSet(
0022 names=cms.vstring(pfParticleNetFromMiniAODAK4CHSCentralJetTagsAll)
0023 )
0024 updateJetCollection(
0025 process,
0026 jetSource = cms.InputTag('slimmedJetsNoDeepFlavour'),
0027
0028
0029 pvSource = cms.InputTag('offlineSlimmedPrimaryVertices'),
0030 pfCandidates = cms.InputTag('packedPFCandidates'),
0031 svSource = cms.InputTag('slimmedSecondaryVertices'),
0032 muSource = cms.InputTag('slimmedMuons'),
0033 elSource = cms.InputTag('slimmedElectrons'),
0034 jetCorrections = ('AK4PFchs', cms.vstring(['L1FastJet', 'L2Relative', 'L3Absolute']), 'None'),
0035 btagDiscriminators = _btagDiscriminatorsAK4CHS.names.value(),
0036 postfix = 'SlimmedDeepFlavour' + postfix,
0037 printWarning = False
0038 )
0039
0040
0041 addToProcessAndTask('slimmedJets', getattr(process, 'selectedUpdatedPatJetsSlimmedDeepFlavour' + postfix).clone(), process, task)
0042
0043 delattr(process, 'selectedUpdatedPatJetsSlimmedDeepFlavour' + postfix)
0044
0045
0046 addToProcessAndTask('slimmedJetsPuppiNoDeepTags', slimmedJets.clone(
0047 src = "selectedPatJetsPuppi", packedPFCandidates = "packedPFCandidates"
0048 ), process, task)
0049 _btagDiscriminatorsAK4Puppi = cms.PSet(
0050 names=cms.vstring(
0051 'pfDeepFlavourJetTags:probb',
0052 'pfDeepFlavourJetTags:probbb',
0053 'pfDeepFlavourJetTags:problepb',
0054 'pfDeepFlavourJetTags:probc',
0055 'pfDeepFlavourJetTags:probuds',
0056 'pfDeepFlavourJetTags:probg')
0057 + pfParticleNetFromMiniAODAK4PuppiCentralJetTagsAll
0058 + pfParticleNetFromMiniAODAK4PuppiForwardJetTagsAll
0059 + pfUnifiedParticleTransformerAK4JetTagsAll
0060 + pfUnifiedParticleTransformerAK4V1JetTagsAll
0061 )
0062
0063 updateJetCollection(
0064 process,
0065 jetSource = cms.InputTag('slimmedJetsPuppiNoDeepTags'),
0066 pvSource = cms.InputTag('offlineSlimmedPrimaryVertices'),
0067 pfCandidates = cms.InputTag('packedPFCandidates'),
0068 svSource = cms.InputTag('slimmedSecondaryVertices'),
0069 muSource = cms.InputTag('slimmedMuons'),
0070 elSource = cms.InputTag('slimmedElectrons'),
0071 jetCorrections = ('AK4PFPuppi', cms.vstring(['L2Relative', 'L3Absolute']), 'None'),
0072 btagDiscriminators = _btagDiscriminatorsAK4Puppi.names.value(),
0073 postfix = 'SlimmedPuppiWithDeepTags' + postfix,
0074 printWarning = False
0075 )
0076
0077 addToProcessAndTask('slimmedJetsPuppi', getattr(process, 'selectedUpdatedPatJetsSlimmedPuppiWithDeepTags' + postfix).clone(), process, task)
0078
0079 delattr(process, 'selectedUpdatedPatJetsSlimmedPuppiWithDeepTags' + postfix)
0080
0081 from RecoBTag.ONNXRuntime.pfParticleNet_cff import _pfParticleNetJetTagsAll as pfParticleNetJetTagsAll
0082 from RecoBTag.ONNXRuntime.pfParticleNet_cff import _pfParticleNetMassRegressionOutputs as pfParticleNetMassRegressionOutputs
0083 from RecoBTag.ONNXRuntime.pfParticleNet_cff import _pfParticleNetMassCorrelatedJetTagsAll as pfParticleNetMassCorrelatedJetTagsAll
0084 from RecoBTag.ONNXRuntime.pfParticleNetFromMiniAODAK8_cff import _pfParticleNetFromMiniAODAK8JetTagsAll as pfParticleNetFromMiniAODAK8JetTagsAll
0085 from RecoBTag.ONNXRuntime.pfGlobalParticleTransformerAK8_cff import _pfGlobalParticleTransformerAK8JetTagsAll as pfGlobalParticleTransformerAK8JetTagsAll
0086
0087
0088
0089 addToProcessAndTask('slimmedJetsAK8NoDeepTags', slimmedJetsAK8.clone(), process, task)
0090 _btagDiscriminatorsAK8 = cms.PSet(names = cms.vstring(pfParticleNetMassCorrelatedJetTagsAll+pfGlobalParticleTransformerAK8JetTagsAll+pfParticleNetFromMiniAODAK8JetTagsAll+pfParticleNetJetTagsAll+pfParticleNetMassRegressionOutputs))
0091 updateJetCollection(
0092 process,
0093 jetSource = cms.InputTag('slimmedJetsAK8NoDeepTags'),
0094
0095
0096 pvSource = cms.InputTag('offlineSlimmedPrimaryVertices'),
0097 pfCandidates = cms.InputTag('packedPFCandidates'),
0098 svSource = cms.InputTag('slimmedSecondaryVertices'),
0099 muSource = cms.InputTag('slimmedMuons'),
0100 elSource = cms.InputTag('slimmedElectrons'),
0101 rParam = 0.8,
0102 jetCorrections = ('AK8PFPuppi', cms.vstring(['L2Relative', 'L3Absolute']), 'None'),
0103 btagDiscriminators = _btagDiscriminatorsAK8.names.value(),
0104 postfix = 'SlimmedAK8DeepTags' + postfix,
0105 printWarning = False
0106 )
0107
0108
0109 addToProcessAndTask('slimmedJetsAK8', getattr(process, 'selectedUpdatedPatJetsSlimmedAK8DeepTags' + postfix).clone(), process, task)
0110
0111 delattr(process, 'selectedUpdatedPatJetsSlimmedAK8DeepTags' + postfix)