Simple pyROOT notebook example using TLorentz Vectors


In [1]:
import ROOT


Welcome to JupyROOT 6.08/04

In [2]:
## f = ROOT.TFile.Open("mc_105986.ZZ.root")
## f = ROOT.TFile.Open("mc_147770.Zee.root")
f = ROOT.TFile.Open("http://opendata.atlas.cern/release/samples/MC/mc_147770.Zee.root")

In [3]:
c = ROOT.TCanvas("testCanvas","a first way to plot a variable",800,600)

In [4]:
t = f.Get("mini")

In [5]:
h = ROOT.TH1F("variable","Example plot: Number of Leptons",4,0,4)

In [ ]:
h_Mll = ROOT.TH1F("h_Mll","Invariant mass of the two Leptons",50,0,200)

In [ ]:
for event in t:
    """This is the cut #1: request at least 2 leptons"""
    if t.lep_n > 1:
        """Let's define one TLorentz vector for each, e.i. two vectors!"""
        leadingLep = ROOT.TLorentzVector(t.lep_pt[0], t.lep_eta[0], t.lep_phi[0], t.lep_E[0])
        secondLep  = ROOT.TLorentzVector(t.lep_pt[1], t.lep_eta[1], t.lep_phi[1], t.lep_E[1])

        """Next line does the addition of the two TLorentz vectors above and so,
           we can ask the mass very easy"""
        TL_ll = leadingLep + secondLep
        
        """We devide the value of the combined vector by 1000 to get the value in GeV"""
        mll = TL_ll.M()/1000.
        h_Mll.Fill(mll,w)

print "Done!"

In [ ]:
"""Now les't plot the mass of the lepton-lepton system"""
h_Mll.Draw()
c.Draw()

In [ ]: