void plot_errorbars() {
//Draw a graph with error bars, label axes and fit to a 4th order polynomial
//Original author: Rene Brun, modified by Tom Browder
// Define the canvas or drawing area; setup colors and border size
TCanvas *c1 = new TCanvas("c1","A Simple Graph with error bars",200,10,700,500);
c1->SetFillColor(42);
c1->SetGrid();
c1->GetFrame()->SetFillColor(21);
c1->GetFrame()->SetBorderSize(12);
const Int_t n = 10;
// Input data points (x,y) with error bars (ex, ey)
Float_t x[n] = {-0.22, 0.05, 0.25, 0.35, 0.5, 0.61,0.7,0.85,0.89,0.95};
Float_t y[n] = {1,2.9,5.6,7.4,9,9.6,8.7,6.3,4.5,2};
Float_t ex[n] = {.05,.1,.07,.07,.04,.05,.06,.07,.08,.05};
Float_t ey[n] = {.8,.7,.6,.5,.4,.4,.5,.6,.7,.8};
// Creat a new graph with errors
TGraphErrors *gr = new TGraphErrors(n,x,y,ex,ey);
gr->SetTitle("Points with error bars, Label axes, Fit to a 4th order polynomial for PHYS481L");
gr->SetMarkerColor(4);
gr->SetMarkerStyle(21);
// Label the axes of the graph
//
gr->GetXaxis()->SetTitle(" Angle (in Radians)");
gr->GetYaxis()->SetTitle(" Counts/sec");
// Plot the points with error bars
//
gr->Draw("AP");
// Fit to a 4th order polynomial (comment out to remove fit)
//
gr->Fit("pol4","q");
c1->Update();
}