Using Jets in Analysis

Last update: 16 Aug 2024 [History] [Edit]

Now let’s add jets to our analysis. We will apply cuts on pT and η before writing their four momenta to the output ntuple. The text in our text configuration to do this will be highly reminiscent of the text used to add electrons and muons to our analysis.

Add Jets to your Job

Begin by scheduling the jet analysis sequence. Do this by adding the following lines to config.yaml:

# Define Jet container, JVT, FJVT, systematic model, and
# apply base pT/eta selection, etc.
Jets:
  - containerName: 'AnaJets'
    jetCollection: 'AntiKt4EMPFlowJets'
    runJvtSelection: False
    runJvtEfficiency: False
    PtEtaSelection:
        minPt: 45000.0
        maxEta: 4.5

This schedules the implementation of calibration and selection for Anti-kt EMPFlow jets with R = 0.4. Note that this implements a selection using Jet Vertex Tagging (JVT). In addition, it applies some basic selection criteria for our jets. We want to only select jets with pT > 45 GeV and |η| < 4.5.

Apply selection to jets and write to ntuple

As we did with electrons and muons, we want to ensure that the jets information is written to the output ntuple. To do so, add to the existing Thinning and Output blocks in config.yaml. Let’s start with the thinning block. Add the :following lines into the Thinning block, indented the same amount as the electrons and muons information:

  - containerName: 'AnaJets'
    outputName: 'OutJets'
  ...

Now add jets to the output ntuple by putting the following lines in config.yaml, in the Output block under containers::

      'jet_': 'OutJets'

Rerun your code, then re-examine your output ntuple to look for the jet information. Commit and push your changes when everything is running correctly.


⭐️ Bonus Exercise

Try running your algorithm using a different AntiKt4 jet container. Check the input file for the container options you have. How does your output change with these new jets?