# Save canvas and root file with graph, const term and sampling term
if calo_init.output(0):
    canv.SaveAs(calo_init.output(0)+".eps")
    canv.SaveAs(calo_init.output(0)+".png")
    plots = TFile(calo_init.output(0)+".root","RECREATE")
    if calo_init.args.preview:
        cPreview.SaveAs("preview_"+calo_init.output(0)+".png")
else:
    canv.SaveAs("sampling_fraction_plots.eps")
    canv.SaveAs("sampling_fraction_plots.png")
    plots = TFile("sampling_fraction.root","RECREATE")
    if calo_init.args.preview:
        cPreview.SaveAs("preview_sampling_fraction.png")
for g in all_graphs:
    g.Write()

mean = numpy.zeros(1, dtype=float)
std = numpy.zeros(1, dtype=float)
t = TTree("samplingFraction", "Sampling fraction for detector layers")
t.Branch("mean", mean, "mean/D");
t.Branch("std", std, "std/D");
for islice in range(0, Nslicesmerged):
    for ilay in range(0, calo_init.args.merge[islice]):
        mean[0] = gSF.GetY()[islice]
        std[0] = gSF.GetErrorY(islice)
        t.Fill()
plots.Write()
plots.Close()

raw_input("Press ENTER to exit")