Exercise 2: Adding error bars to a histogram

(5 minutes)

We’re still plotting the chi2 histogram as a solid curve. Most of the time, your supervisor will want to see histograms with errors. Revise the script to draw the histograms with error bars. (Here’s a hint.)

Warning

The histogram may not be immediately visible, because all the points are squeezed into the left-hand side of the plot. We’ll investigate the reason why in a subsequent exercise.

chi2 histogram

Figure 54: What I get when I plot chi2 with errors bars turned on.

This plot required special handling

In case you’re interested, the code below is how I made the above plot:

  • I learned to use gPad to access the temporary histogram from reading the documentation for TTree::Draw().

  • I learned about SetTitleOffset by reading the TAxis documentation.

  • This led me to the list of TGaxis methods.

Yes, it was detective work all over again!

Listing 40: How to modify a plot automatically generated by ROOT
from ROOT import TFile, gROOT, TCanvas, gPad
myFile = TFile("experiment.root")
tree1 = gROOT.FindObject("tree1")
my_canvas = TCanvas()
tree1.Draw("chi2","","e")
# Get the temporary histogram used by TTree::Draw()
htemp = gPad.GetPrimitive("htemp")
htemp.GetXaxis().SetTitle("chi2")
htemp.GetYaxis().SetTitle("number of events")
htemp.GetYaxis().SetTitleOffset(1.5)
my_canvas.Draw()