Difference: InspectingSignalNtuple2019 (3 vs. 4)

Revision 401 Dec 2020 - PedroTeixeiraDias

Line: 1 to 1
META TOPICPARENT name="PH4100MajorProjectPTD_1920"

PH4100 MSci Major Project - Inspecting a signal ntuple

This is page is related to the PH4100 MSci Major Projects.

Once you have some simulated event samples to analyse, it is useful to have a quick first look at the ntuple contents using ROOT. The instructions below are intended just for this purpose ("quick first look"). Once you are past this stage you will be analysing the ntuples using instead C++ code (in ROOT) that you will write yourself.

First look at the signal ntuple

Below are the commands, on linappserv, to start root, get a ROOT-object browser up (to look at the contents of an ntuple) and then link to one of the signal "ntuples" (simulated event sample).

To start ROOT enter

> root

on the Linux command prompt.

Once ROOT has started, enter the following commands at the ROOT prompt:

> TBrowser b;
> TFile f1("/scratch0/dthomas/DataMCComparison_03_2018/ttHScripts/DaveExamples_08_2019_Run2_AFII/ge2jge2b/ttH_PoPy8_FS_17.root")
> TFile f1("/scratch2/ptd/ATLAS/MC2017-new/ttH_PoPy8_FS_17.root")

Once you have done this, on the ROOT browser, you need to:

  • open the "ROOT Files" folder and click on the above file in the folder;
  • double-click on the "nominal_Loose" ntuple, and then you can see the various distributions by double-clicking on each variable (represented by a "leaf" icon).

Plotting distributions with cuts

A slightly more powerful way of looking at variable distributions (without having to do any clicking) is to type the following directly on the root prompt:

> nominal_Loose->Draw("nJets");

(which results in a plot of the distribution of the nJets variable).

If you wish to, for instance, look at this distribution but only for events where the Higgs boson has decayed to two b-quarks, you need to apply a cut on the truth_HDecay variable, when you "Draw" the plot:

> nominal_Loose->Draw("nJets", "truth_HDecay == 0");

(Note how the cut is specified using C++ syntax: "==".)

If, in addition, you only wished to look at events with at least one reconstructed muon, the command would be

> nominal_Loose->Draw("nJets", "(truth_HDecay == 0) && (nMuons >= 1)");

... and so on.


Variables in the ntuple

The nominal_Loose ntuple has more than 300 different variables, recorded for each event. Below is an initial list of basic variables to look at, mostly related to the hadronic jets, electrons, muons and missing energy, and their respective properties.

 - Mll
 - pTll
 - HTall
 - nBTags_MV2c10_60 (70/77/85)
 - nJets
 - nJets_Pt40
 - nElectrons
 - nMuons
 - nTaus (hadronic taus reconstructed)
 - truth_HDecay
 - mcChannelNumber (DSID)
 - truth_top_dilep_filter
 - jet_pt[], jet_eta[], jet_phi[], jet_e[], jet_mv2c10[], jet_jvt[]
 - el_pt[] + eta/phi/e/charge;
 - mu_pt[] + eta/phi/e/charge;
 - met_met, met_phi

Selecting a specific Higgs decay mode (truth_HDecay)

In the simulated event samples (as opposed to the real data samples) if a Higgs particle is generated its decay is recorded via the truth_HDecay variable in the ntuple. This is an integer between 0 and 8:

  • 0: bb
  • 1: WW
  • 2: ZZ
  • 3: gamma gamma
  • 4: tau tau
  • 5: gg
  • 6: cc
  • 7: mu mu
  • 8: Z+gamma
-- Pedro Teixeira Dias - 21 Oct 2019
-- Pedro Teixeira Dias - 01 Dec 2020


\ No newline at end of file
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding RHUL Physics Department TWiki? Send feedback