ROOT is a data analysis framework developed by CERN that is well-suited for the analysis of certain large scientific data sets such as particle collision events and astronomical data.
One useful ROOT feature are the histograms. A simple program that histograms 100,000 Gaussian random numbers is shown here:
from __future__ import division, print_function from ROOT import gRandom, TCanvas, TH1F c1 = TCanvas('c1', 'Example', 200, 10, 700, 500) hpx = TH1F('hpx', 'px', 100, -4, 4) for i in xrange(100000): px = gRandom.Gaus() hpx.Fill(px) hpx.Draw() c1.Update() # Save the plot as an image c1.Print("myhistogram.eps")
It’s output is shown here:
A second program is given on page~\pageref{root-histograms} that shows how the ROOT TCanvas can be split into regions to show multiple plots on the same canvas. It’s output is shown here:
We can also split ROOT’s TCanvas into regions to show multiple plots on a single canvas. A simple program that does that is shown here:
from __future__ import division, print_function from ROOT import gRandom, TCanvas, TH1F # Create a canvas c1 = TCanvas('c1', 'My Basic Histograms', 200, 10, 700, 500) # Divide the canvas into two plot areas c1.Divide(1,2) # Create a histograms hist1 = TH1F('hist1', 'First', 100, -4, 4) hist2 = TH1F('hist2', 'Second', 100, -4, 4) for i in xrange(100000): px = gRandom.Gaus() hist1.Fill(px) for i in xrange(100000): px = gRandom.Gaus() hist2.Fill(px) # Go to plot area 1 c1.cd(1) # Plot the first histogram hist1.Draw() # Go to plot area 2 c1.cd(2) # Plot the second histogram hist2.Draw() c1.Update() # Save the plot as an image c1.Print("myhistogram.eps")