# CMS Open Data Example #3: Di-Muon Resonances¶

## Import Modules and Turn on Javascript¶

In [1]:
from ROOT import TTree, TFile, TCanvas, TH1F, TLorentzVector

%jsroot on

Welcome to JupyROOT 6.07/07


## Read in Data from Input File¶

In [2]:
file = TFile("data/Dimuons.root","READ");


# Compute Di-Muon Invariant Mass¶

Let's calculate again the invariant mass $M$ of two muons and focus on various parts of the dimuon mass spectrum

## Setup a Canvas¶

In [3]:
Canvas = TCanvas()


## Declare Histograms¶

For dimuon mass regions of interest 2.5-3.5 GeV and 80-100 GeV

In [20]:
other    = TH1F("other",  "#mu#mu mass;#mu#mu mass [GeV];Events", 100, 0.0, 2.0)

J_psi    = TH1F("J_psi",  "#mu#mu mass;#mu#mu mass [GeV];Events", 100, 2.5, 3.5)

upsi     = TH1F("upsi",   "#mu#mu mass;#mu#mu mass [GeV];Events", 100, 9.0, 11.0)

Z_boson  = TH1F("Z_Boson","#mu#mu mass;#mu#mu mass [GeV];Events", 200, 80, 100)

Higgs    = TH1F("Higgs",  "#mu#mu mass;#mu#mu mass [GeV];Evemts", 50, 120, 130)


## Loop Over the Events in the Data File¶

### Compute Di-Muon Invariant Mass and Fill Histograms for Various Resonances

In [21]:
for dimu in file.Dimuons:

if dimu.Muon1_Global and dimu.Muon2_Global:

muon1 = TLorentzVector(dimu.Muon1_Px, dimu.Muon1_Py, dimu.Muon1_Pz, dimu.Muon1_Energy)

muon2 = TLorentzVector(dimu.Muon2_Px, dimu.Muon2_Py, dimu.Muon2_Pz, dimu.Muon2_Energy)

InvariantMass = (muon1 + muon2).M()

if  InvariantMass < 2.0:
other.Fill(InvariantMass)

if  InvariantMass > 2.0 and InvariantMass < 3.5:

J_psi.Fill(InvariantMass)

if InvariantMass > 9.0 and InvariantMass < 11.0:
upsi.Fill(InvariantMass)

if  InvariantMass > 60.0 and InvariantMass < 120.0:

Z_boson.Fill(InvariantMass)

if InvariantMass  > 120.0 and InvariantMass < 130.0:
Higgs.Fill(InvariantMass)


## Plot the J/$\psi$ Peak (Nobel Prize-Winning Discovery in 1974)¶

In [6]:
J_psi.Draw()

Canvas.Draw()


## Plot the Z Boson Peak (Nobel Prize-Winning Discovery in 1983)¶

In [7]:
Canvas.Clear()

Z_boson.Draw()

Canvas.Draw()


## Exercise: Can You Spot Other Di-Muon Resonances in the Dimuon Spectrum?¶

### Make a Separate Histogram For Each One and Plot It¶

In [12]:
Canvas.Clear()

upsi.Draw()

Canvas.Draw()

In [15]:
Canvas.Clear()

other.Draw()

Canvas.Draw()

In [22]:
Canvas.Clear()

Higgs.Draw()

Canvas.Draw()

In [ ]: