File indexing completed on 2025-03-14 23:36:35
0001 import FWCore.ParameterSet.Config as cms
0002 from PhysicsTools.PatAlgos.tools.puppiJetMETReclusteringTools import puppiAK4METReclusterFromMiniAOD
0003 from PhysicsTools.PatAlgos.tools.puppiJetMETReclusteringTools import puppiAK8ReclusterFromMiniAOD
0004
0005 def setupPuppiAK4AK8METReclustering(process, runOnMC, useExistingWeights=False, reclusterAK4MET=True, reclusterAK8=True, btagDiscriminatorsAK4=None, btagDiscriminatorsAK8=None, btagDiscriminatorsAK8Subjets=None):
0006
0007 if reclusterAK4MET:
0008 process = puppiAK4METReclusterFromMiniAOD(process, runOnMC,
0009 useExistingWeights=useExistingWeights,
0010 btagDiscriminatorsAK4=btagDiscriminatorsAK4
0011 )
0012
0013 if reclusterAK8:
0014 process = puppiAK8ReclusterFromMiniAOD(process, runOnMC,
0015 useExistingWeights=useExistingWeights,
0016 btagDiscriminatorsAK8=btagDiscriminatorsAK8,
0017 btagDiscriminatorsAK8Subjets=btagDiscriminatorsAK8Subjets
0018 )
0019
0020 return process
0021
0022 def puppiJetMETReclusterFromMiniAOD(process, runOnMC, useExistingWeights=False, reclusterAK4MET=True, reclusterAK8=True):
0023
0024
0025 from RecoBTag.ONNXRuntime.pfParticleNetFromMiniAODAK4_cff import _pfParticleNetFromMiniAODAK4PuppiCentralJetTagsAll as pfParticleNetFromMiniAODAK4PuppiCentralJetTagsAll
0026 from RecoBTag.ONNXRuntime.pfParticleNetFromMiniAODAK4_cff import _pfParticleNetFromMiniAODAK4PuppiForwardJetTagsAll as pfParticleNetFromMiniAODAK4PuppiForwardJetTagsAll
0027 from RecoBTag.ONNXRuntime.pfUnifiedParticleTransformerAK4_cff import _pfUnifiedParticleTransformerAK4JetTagsAll as pfUnifiedParticleTransformerAK4JetTagsAll
0028 from RecoBTag.ONNXRuntime.pfUnifiedParticleTransformerAK4V1_cff import _pfUnifiedParticleTransformerAK4V1JetTagsAll as pfUnifiedParticleTransformerAK4V1JetTagsAll
0029
0030 btagDiscriminatorsAK4 = cms.PSet(
0031 names=cms.vstring(
0032 'pfDeepFlavourJetTags:probb',
0033 'pfDeepFlavourJetTags:probbb',
0034 'pfDeepFlavourJetTags:problepb',
0035 'pfDeepFlavourJetTags:probc',
0036 'pfDeepFlavourJetTags:probuds',
0037 'pfDeepFlavourJetTags:probg')
0038 + pfParticleNetFromMiniAODAK4PuppiCentralJetTagsAll
0039 + pfParticleNetFromMiniAODAK4PuppiForwardJetTagsAll
0040 + pfUnifiedParticleTransformerAK4JetTagsAll
0041 + pfUnifiedParticleTransformerAK4V1JetTagsAll
0042 )
0043
0044
0045 from RecoBTag.ONNXRuntime.pfParticleNet_cff import _pfParticleNetJetTagsAll as pfParticleNetJetTagsAll
0046 from RecoBTag.ONNXRuntime.pfParticleNet_cff import _pfParticleNetMassRegressionOutputs as pfParticleNetMassRegressionOutputs
0047 from RecoBTag.ONNXRuntime.pfParticleNet_cff import _pfParticleNetMassCorrelatedJetTagsAll as pfParticleNetMassCorrelatedJetTagsAll
0048 from RecoBTag.ONNXRuntime.pfParticleNetFromMiniAODAK8_cff import _pfParticleNetFromMiniAODAK8JetTagsAll as pfParticleNetFromMiniAODAK8JetTagsAll
0049 from RecoBTag.ONNXRuntime.pfGlobalParticleTransformerAK8_cff import _pfGlobalParticleTransformerAK8JetTagsAll as pfGlobalParticleTransformerAK8JetTagsAll
0050 btagDiscriminatorsAK8 = cms.PSet(names = cms.vstring(
0051 pfParticleNetMassCorrelatedJetTagsAll+
0052 pfGlobalParticleTransformerAK8JetTagsAll+
0053 pfParticleNetFromMiniAODAK8JetTagsAll+
0054 pfParticleNetJetTagsAll+
0055 pfParticleNetMassRegressionOutputs
0056 )
0057 )
0058
0059
0060 btagDiscriminatorsAK8Subjets = cms.PSet(names = cms.vstring(
0061 'pfDeepFlavourJetTags:probb',
0062 'pfDeepFlavourJetTags:probbb',
0063 'pfDeepFlavourJetTags:problepb',
0064 'pfUnifiedParticleTransformerAK4DiscriminatorsJetTags:BvsAll',
0065 'pfUnifiedParticleTransformerAK4JetTags:ptcorr',
0066 'pfUnifiedParticleTransformerAK4JetTags:ptnu',
0067 'pfUnifiedParticleTransformerAK4JetTags:ptreshigh',
0068 'pfUnifiedParticleTransformerAK4JetTags:ptreslow',
0069 'pfUnifiedParticleTransformerAK4V1JetTags:ptcorr',
0070 'pfUnifiedParticleTransformerAK4V1JetTags:ptnu',
0071 'pfUnifiedParticleTransformerAK4V1JetTags:ptreshigh',
0072 'pfUnifiedParticleTransformerAK4V1JetTags:ptreslow',
0073 )
0074 )
0075 process = setupPuppiAK4AK8METReclustering(process, runOnMC,
0076 useExistingWeights=useExistingWeights,
0077 reclusterAK4MET=reclusterAK4MET, reclusterAK8=reclusterAK8,
0078 btagDiscriminatorsAK4=btagDiscriminatorsAK4,
0079 btagDiscriminatorsAK8=btagDiscriminatorsAK8,
0080 btagDiscriminatorsAK8Subjets=btagDiscriminatorsAK8Subjets
0081 )
0082
0083 return process
0084
0085 def puppiJetMETReclusterFromMiniAOD_MC(process):
0086 process = puppiJetMETReclusterFromMiniAOD(process, runOnMC=True)
0087 return process
0088
0089 def puppiJetMETReclusterFromMiniAOD_Data(process):
0090 process = puppiJetMETReclusterFromMiniAOD(process, runOnMC=False)
0091 return process
0092