#!/usr/bin/env python # coding: utf-8 # # # # ROOT Basics # ## Import Required Modules and Turn on Javascript # In[2]: from ROOT import TFile, TCanvas, TH1F get_ipython().run_line_magic('jsroot', 'on') # ## Open a Data File # In[3]: file = TFile("opendata/data/Dimuons.root","READ") # ## Declare a Histogram # ### Histogram is a Graphical Way to Visualize Data # # #### Divide Data into Equal Intervals (Bins) and Count How Many Values in Each Bin # # # ## Example Histogram of Distribution of Muon Charges # In[21]: histogram = TH1F("Muon1_Charge","Muon1_Charge", 50, -2, 2) # ### declaration format: TH1F(name, title, number of bins, min value, max value) # ## ROOT Exercise 1: # ## Declare another histogram for x-component of muon momentum called Muon1_Px # # In[36]: histogram2 = TH1F("Muon1_Px","Muon1_Px", 100, -60, 60) # ## Loop Over Events in Data File # Fill the histogram with muon charge values (+1 or -1) # In[33]: for dimuon in file.Dimuons: histogram.Fill(dimuon.Muon1_Charge) # ## Draw a Histogram on a Canvas # In[29]: Canvas = TCanvas() histogram.Draw() Canvas.Draw() # ## ROOT Exercise #2: # ### Plot another histogram (for example Muon1_Px) # Note: Same canvas can be used after clearing it with Canvas.Clear() # In[38]: for dimuon in file.Dimuons: histogram2.Fill(dimuon.Muon1_Px) # In[39]: Canvas.Clear() histogram2.Draw() Canvas.Draw() # In[ ]: