File indexing completed on 2023-10-25 09:58:17
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.pfParticleNetAK4_cff import _pfParticleNetAK4JetTagsAll as pfParticleNetAK4JetTagsAll
0013 from RecoBTag.ONNXRuntime.pfParticleNetFromMiniAODAK4_cff import _pfParticleNetFromMiniAODAK4PuppiCentralJetTagsAll as pfParticleNetFromMiniAODAK4PuppiCentralJetTagsAll
0014 from RecoBTag.ONNXRuntime.pfParticleNetFromMiniAODAK4_cff import _pfParticleNetFromMiniAODAK4PuppiForwardJetTagsAll as pfParticleNetFromMiniAODAK4PuppiForwardJetTagsAll
0015 from RecoBTag.ONNXRuntime.pfParticleNetFromMiniAODAK4_cff import _pfParticleNetFromMiniAODAK4CHSCentralJetTagsAll as pfParticleNetFromMiniAODAK4CHSCentralJetTagsAll
0016 from RecoBTag.ONNXRuntime.pfParticleNetFromMiniAODAK4_cff import _pfParticleNetFromMiniAODAK4CHSForwardJetTagsAll as pfParticleNetFromMiniAODAK4CHSForwardJetTagsAll
0017 from RecoBTag.ONNXRuntime.pfParticleTransformerAK4_cff import _pfParticleTransformerAK4JetTagsAll as pfParticleTransformerAK4JetTagsAll
0018
0019
0020
0021 addToProcessAndTask('slimmedJetsNoDeepFlavour', slimmedJets.clone(), process, task)
0022 _btagDiscriminatorsAK4CHS = cms.PSet(
0023 names=cms.vstring(
0024 'pfDeepFlavourJetTags:probb',
0025 'pfDeepFlavourJetTags:probbb',
0026 'pfDeepFlavourJetTags:problepb',
0027 'pfDeepFlavourJetTags:probc',
0028 'pfDeepFlavourJetTags:probuds',
0029 'pfDeepFlavourJetTags:probg')
0030 + pfParticleNetFromMiniAODAK4CHSCentralJetTagsAll
0031 + pfParticleNetFromMiniAODAK4CHSForwardJetTagsAll
0032 + pfParticleTransformerAK4JetTagsAll
0033 )
0034 updateJetCollection(
0035 process,
0036 jetSource = cms.InputTag('slimmedJetsNoDeepFlavour'),
0037
0038
0039 pvSource = cms.InputTag('offlineSlimmedPrimaryVertices'),
0040 pfCandidates = cms.InputTag('packedPFCandidates'),
0041 svSource = cms.InputTag('slimmedSecondaryVertices'),
0042 muSource = cms.InputTag('slimmedMuons'),
0043 elSource = cms.InputTag('slimmedElectrons'),
0044 jetCorrections = ('AK4PFchs', cms.vstring(['L1FastJet', 'L2Relative', 'L3Absolute']), 'None'),
0045 btagDiscriminators = _btagDiscriminatorsAK4CHS.names.value(),
0046 postfix = 'SlimmedDeepFlavour' + postfix,
0047 printWarning = False
0048 )
0049
0050
0051 addToProcessAndTask('slimmedJets', getattr(process, 'selectedUpdatedPatJetsSlimmedDeepFlavour' + postfix).clone(), process, task)
0052
0053 delattr(process, 'selectedUpdatedPatJetsSlimmedDeepFlavour' + postfix)
0054
0055
0056 addToProcessAndTask('slimmedJetsPuppiNoDeepTags', slimmedJets.clone(
0057 src = "selectedPatJetsPuppi", packedPFCandidates = "packedPFCandidates"
0058 ), process, task)
0059 _btagDiscriminatorsAK4Puppi = cms.PSet(
0060 names=cms.vstring(
0061 'pfDeepFlavourJetTags:probb',
0062 'pfDeepFlavourJetTags:probbb',
0063 'pfDeepFlavourJetTags:problepb',
0064 'pfDeepFlavourJetTags:probc',
0065 'pfDeepFlavourJetTags:probuds',
0066 'pfDeepFlavourJetTags:probg')
0067 + pfParticleNetFromMiniAODAK4PuppiCentralJetTagsAll
0068 + pfParticleNetFromMiniAODAK4PuppiForwardJetTagsAll
0069 + pfParticleTransformerAK4JetTagsAll
0070 )
0071
0072 updateJetCollection(
0073 process,
0074 jetSource = cms.InputTag('slimmedJetsPuppiNoDeepTags'),
0075 pvSource = cms.InputTag('offlineSlimmedPrimaryVertices'),
0076 pfCandidates = cms.InputTag('packedPFCandidates'),
0077 svSource = cms.InputTag('slimmedSecondaryVertices'),
0078 muSource = cms.InputTag('slimmedMuons'),
0079 elSource = cms.InputTag('slimmedElectrons'),
0080 jetCorrections = ('AK4PFPuppi', cms.vstring(['L2Relative', 'L3Absolute']), 'None'),
0081 btagDiscriminators = _btagDiscriminatorsAK4Puppi.names.value(),
0082 postfix = 'SlimmedPuppiWithDeepTags' + postfix,
0083 printWarning = False
0084 )
0085
0086 addToProcessAndTask('slimmedJetsPuppi', getattr(process, 'selectedUpdatedPatJetsSlimmedPuppiWithDeepTags' + postfix).clone(), process, task)
0087
0088 delattr(process, 'selectedUpdatedPatJetsSlimmedPuppiWithDeepTags' + postfix)
0089
0090
0091 from RecoBTag.ONNXRuntime.pfDeepBoostedJet_cff import _pfDeepBoostedJetTagsAll as pfDeepBoostedJetTagsAll
0092 from RecoBTag.ONNXRuntime.pfHiggsInteractionNet_cff import _pfHiggsInteractionNetTagsProbs as pfHiggsInteractionNetTagsProbs
0093 from RecoBTag.ONNXRuntime.pfParticleNet_cff import _pfParticleNetMassCorrelatedJetTagsAll as pfParticleNetMassCorrelatedJetTagsAll
0094 from RecoBTag.ONNXRuntime.pfParticleNet_cff import _pfParticleNetMassRegressionOutputs
0095 from RecoBTag.ONNXRuntime.pfParticleNetFromMiniAODAK8_cff import _pfParticleNetFromMiniAODAK8JetTagsAll as pfParticleNetFromMiniAODAK8JetTagsAll
0096
0097
0098
0099 addToProcessAndTask('slimmedJetsAK8NoDeepTags', slimmedJetsAK8.clone(), process, task)
0100 _btagDiscriminatorsAK8 = cms.PSet(names = cms.vstring(
0101 'pfMassIndependentDeepDoubleBvLV2JetTags:probQCD',
0102 'pfMassIndependentDeepDoubleBvLV2JetTags:probHbb',
0103 'pfMassIndependentDeepDoubleCvLV2JetTags:probQCD',
0104 'pfMassIndependentDeepDoubleCvLV2JetTags:probHcc',
0105 'pfMassIndependentDeepDoubleCvBV2JetTags:probHbb',
0106 'pfMassIndependentDeepDoubleCvBV2JetTags:probHcc',
0107
0108
0109
0110
0111
0112
0113
0114
0115
0116
0117
0118
0119
0120 ) + pfParticleNetMassCorrelatedJetTagsAll + pfHiggsInteractionNetTagsProbs + pfParticleNetFromMiniAODAK8JetTagsAll)
0121 updateJetCollection(
0122 process,
0123 jetSource = cms.InputTag('slimmedJetsAK8NoDeepTags'),
0124
0125
0126 pvSource = cms.InputTag('offlineSlimmedPrimaryVertices'),
0127 pfCandidates = cms.InputTag('packedPFCandidates'),
0128 svSource = cms.InputTag('slimmedSecondaryVertices'),
0129 muSource = cms.InputTag('slimmedMuons'),
0130 elSource = cms.InputTag('slimmedElectrons'),
0131 rParam = 0.8,
0132 jetCorrections = ('AK8PFPuppi', cms.vstring(['L2Relative', 'L3Absolute']), 'None'),
0133 btagDiscriminators = _btagDiscriminatorsAK8.names.value(),
0134 postfix = 'SlimmedAK8DeepTags' + postfix,
0135 printWarning = False
0136 )
0137
0138
0139 addToProcessAndTask('slimmedJetsAK8', getattr(process, 'selectedUpdatedPatJetsSlimmedAK8DeepTags' + postfix).clone(), process, task)
0140
0141 delattr(process, 'selectedUpdatedPatJetsSlimmedAK8DeepTags' + postfix)