7.6   Jet Analysis

Introduction to Jets in CMS

Page status as of Oct 28, 2018. Complete: 3

7.6.1   Introduction

The JetMET POG is responsible for jets.

7.6.2   Types of jets

One must consider multiple variables when classifying a jet such as:

  • Type of input particle
    • PFJets - clustered from particle flow candidates
      • These can be further classified based on different pileup reduction techniques:
        • PFCHS jets - Charge Hadron Subtracted (CHS) - charged particles from non-primary vertices (pileup) are removed before clustering.
        • PUPPI jets - jets using inputs from the PUPPI algorithm
    • JPTJets - Jets plus track
    • CaloJets - clustered from calorimeter towers
  • Jet algorithm used to cluster
    • Anti-kt (AK)
    • Cambridge Aachen (CA)
    • kt
  • Jet size
    • Example: AK4 implies a jet clustered with the anti-kT algorithm with distance parameter R=0.4

7.6.3   Jets in CMSSW

The latest instructions for accessing Jets in CMSSW for AOD, MiniAOD and the latest NanoAOD formats are listed below.

7.6.4   Accessing jets from AOD

The jet collections available in an AOD file can be obtained using edmDumpEventContent. For example in 94X this returns the following PFJet collections:

vector<reco::PFJet>                   "ak4PFJets"              ""                "RECO"   
vector<reco::PFJet>                   "ak4PFJetsCHS"              ""                "RECO"   
vector<reco::PFJet>                   "ak8PFJetsCHS"              ""                "RECO"   
vector<reco::PFJet>                   "pfJetsEI"                  ""                "RECO"   
vector<reco::PFJet>                   "ak8PFJetsCHSSoftDrop"        "SubJets"         "RECO"   
vector<reco::PFJet>                   "cmsTopTagPFJetsCHS"        "caTopSubJets"    "RECO"   

You can loop over these collections as follows:

#include "DataFormats/JetReco/interface/PFJet.h"
#include "DataFormats/JetReco/interface/PFJetCollection.h"

edm::Handle<reco::PFJetCollection> pfjetH;
iEvent.getByLabel("ak4PFJetsCHS", pfjetH);
for ( reco::PFJetCollection::const_iterator jet = pfjetH->begin(); jet != pfjetH->end(); ++jet ) {
    double pt = jet->pt();

You'll need to include the following in your BuildFile

<use name="DataFormats/JetReco"/>

See the PFJet Class Reference for more details on the accessible PFJet members.

7.6.5   Accessing jets from MiniAOD

In Spring 2014, a new high-level data tier called MiniAOD was introduced to serve the needs of the mainstream physics analyses while keeping a small event size (30-50 kb/event).

The MiniAOD workbook contains information on accessing the jets and all other high-level physics objects stored in miniAOD:

  • Latest Information (2017) on the jet collections stored: link
  • Example for looping over the jet collections: link
  • Examples of reclustering new jet collections from the PF constituents stored in miniAOD: link

7.6.6   Accessing jets from NanoAOD

The NanoAOD workbook contains information on accessing the jets and all other high-level physics objects stored in NanoAOD.

7.6.7   Jet Corrections

The Jet Energy Resolution and Corrections (JERC) Subgroup is responsible for jet corrections at CMS. The jet corrections workbook can be found under subsection. Three particle-flow algorithms are currently fully supported and recommended by the JERC group, with two cone sizes:

In addition, two algorithms based on Calorimetric inputs (plain Calorimetric jets, and Calorimetric jets with corrections derived based on tracking information) are available:

  • Calo4
  • Calo8
  • JPT4
  • JPT8

7.6.8   Jet ID

The latest instructions on Jet-Identification can be found at JetID twiki.

7.6.9   Jet Substructure

A tutorial on Jet Substructure techniques can be found at this twiki.

7.6.10   Pileup Jet ID

The latest instructions on Pileup Jet ID can be found at this twiki.

7.6.11   Quark/Gluon Discrimination

The latest instructions on Quark/Gluon Jet Discrimination can be found at this twiki.

7.6.12   Jet Toolbox

The jet toolbox is a consolidated set of jet tools, with uniform output develop by the JetMET POG.

7.6.13   Jet Tutorials

The CMS Data Analysis School (CMSDAS) jet long exercise:


7.6.14   Previous versions of the JetAnalysis workbook

CMSSW is in continuous development so the syntax for particular commands may be changing. To resolve this issue separate tutorial pages for different CMSSW releases are provided.

Jet/MET pages for following releases are available

Review status

Reviewer/Editor and Date (copy from screen) Comments
NitishDhingra - 2018-09-21 Updated with latest instructions. Added missing twiki links of the necessary tools for doing jet analysis.
Main.Aresh - 27 Feb 2008 Changes in verbatim elements (in https://twiki.cern.ch/twiki/bin/edit/CMS/WorkBook160JetAnalysis) because of some lines too long for printable version
FedorRatnikov - 01 Dec 2006 separate pages for different releases, clean up main page

Responsible: HartmutStadie
Last reviewed by: Chris Tully -20 Dec 06

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng 42a8afe96765cd8de2f903119f92dfd1.png   manage 0.8 K 2006-06-22 - 14:47 UnknownUser  
Texttxt CaloJetMcone5.cfi.txt r1 manage 0.4 K 2006-06-21 - 09:35 RichardCavanaugh  
C source code filec Events.C r1 manage 1.4 K 2006-06-21 - 09:41 RichardCavanaugh  
Header fileh Events.h r1 manage 100.3 K 2006-06-21 - 09:40 RichardCavanaugh  
GIFgif bare_root.gif r1 manage 7.8 K 2006-06-21 - 10:32 RichardCavanaugh  
Texttxt calo_recojetmet.cfg.txt r1 manage 1.3 K 2006-06-21 - 10:31 RichardCavanaugh  
GIFgif et2.gif r1 manage 14.5 K 2006-06-21 - 04:36 RichardCavanaugh  
GIFgif etaphi1.gif r1 manage 26.8 K 2006-06-21 - 04:37 RichardCavanaugh  
GIFgif etaphi2.gif r1 manage 26.7 K 2006-06-21 - 04:37 RichardCavanaugh  
GIFgif etavseta.gif r2 r1 manage 10.5 K 2006-06-21 - 04:59 RichardCavanaugh  
GIFgif etvset.gif r2 r1 manage 12.9 K 2006-06-21 - 04:47 RichardCavanaugh  
GIFgif evseta.gif r1 manage 13.8 K 2006-06-21 - 05:23 RichardCavanaugh  
GIFgif fwlite.gif r1 manage 7.7 K 2006-06-21 - 10:32 RichardCavanaugh  
GIFgif genmet.gif r1 manage 12.9 K 2006-06-21 - 05:23 RichardCavanaugh  
GIFgif genmetvseta.gif r1 manage 12.3 K 2006-06-21 - 05:23 RichardCavanaugh  
GIFgif metgendijet.gif r1 manage 16.1 K 2006-06-21 - 04:38 RichardCavanaugh  
GIFgif metrecdijet.gif r1 manage 15.7 K 2006-06-21 - 04:39 RichardCavanaugh  
GIFgif metsp.gif r1 manage 17.3 K 2006-06-21 - 02:59 RichardCavanaugh  
GIFgif metvspt.gif r1 manage 12.9 K 2006-06-21 - 02:58 RichardCavanaugh  
GIFgif phiminusphi.gif r1 manage 12.1 K 2006-06-21 - 04:39 RichardCavanaugh  
GIFgif phivsphi.gif r1 manage 12.0 K 2006-06-21 - 04:39 RichardCavanaugh  
GIFgif pyvspxgen.gif r1 manage 12.6 K 2006-06-21 - 02:50 RichardCavanaugh  
GIFgif tut_root_calojets.gif r1 manage 117.3 K 2006-06-21 - 06:12 RichardCavanaugh  
GIFgif tut_root_genjets.gif r1 manage 93.3 K 2006-06-21 - 06:12 RichardCavanaugh  
GIFgif tut_root_met.gif r1 manage 16.0 K 2006-06-21 - 06:12 RichardCavanaugh  
GIFgif tut_slides_click.gif r1 manage 25.8 K 2006-06-21 - 06:13 RichardCavanaugh  
GIFgif tut_slides_flow.gif r1 manage 9.9 K 2006-06-21 - 05:27 RichardCavanaugh  
GIFgif tut_slides_objs.gif r1 manage 85.4 K 2006-06-21 - 06:11 RichardCavanaugh  
Edit | Attach | Watch | Print version | History: r80 < r79 < r78 < r77 < r76 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r80 - 2018-10-28 - NitishDhingra



    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback