Skip to content

Make jet clustering optional from JSON config

When generating ntuples, we currently recluster AK8 jets with the selection pt > 10.0 && abs(rapidity()) < 5.0, whereas AK4 jets are already produced at this threshold. However, there might be analysis scenarios requiring lower jet pt thresholds, such as pt > 1.0.

To maintain flexibility, it’s beneficial to make this reclustering threshold easily configurable by users. For consistency, we should apply the same configurability to jettoolbox as already implemented for AK8 jets in Ntupliser_cfg.py, line 205.

JETCorrPayload = 'AK4PF' + PUmethod.lower()
        from JMEAnalysis.JetToolbox.jetToolbox_cff import jetToolbox
        jetToolbox(process, 'ak4', 'jetSequence', 'out', # change 'noOutput' to 'out' to get an intermediate ROOT file
                PUMethod=PUmethod, JETCorrPayload=JETCorrPayload, JETCorrLevels=[ '' ],
                runOnMC=isMC, Cut='pt > 1.0 && abs(rapidity()) < 5.0',
                bTagDiscriminators='')
        # TODO: use AK label?
        genJetCollection = 'selectedPatJetsAK4PF' + PUmethod
        JetCollection = 'selectedPatJetsAK4PF' + PUmethod

And we also noticed that we can't actually get recjets' pT below 5.0 and genjets' pT below 3.0. This happens in DasAnalysisSystem/CMSSW_12_4_0/src/JMEAnalysis/JetToolbox/python/jetToolbox_cff.py

from RecoJets.JetProducers.PFJetParameters_cfi import * # TODO: modify jetPtMin (default is 5)
from RecoJets.JetProducers.GenJetParameters_cfi import * # TODO: modify jetPtMin (default is 3)

related CMSSW file: https://github.com/cms-sw/cmssw/blob/858479a0d1473b579db2bc148d8377c339e9a52a/RecoJets/JetProducers/python/GenJetParameters_cfi.py#L7

https://github.com/cms-sw/cmssw/blob/858479a0d1473b579db2bc148d8377c339e9a52a/RecoJets/JetProducers/python/PFJetParameters_cfi.py#L7

Edited by Zhiyong Ye