def CanvasPartition(C, Nx, Ny, lMargin=0.15, rMargin=0.05, bMargin=0.15, tMargin=0.05): if (not C): return (0) #Setup Pad layout: vSpacing = 0.0 vStep = (1. - bMargin - tMargin - (Ny - 1) * vSpacing) / Ny hSpacing = 0.0 hStep = (1. - lMargin - rMargin - (Nx - 1) * hSpacing) / Nx vposd = 0 vposu = 0 vmard = 0 vmaru = 0 vfactor = 0 hposl = 0 hposr = 0 hmarl = 0 hmarr = 0 hfactor = 0 for i in range(Nx): if (i == 0): hposl = 0.0 hposr = lMargin + hStep hfactor = hposr - hposl hmarl = lMargin / hfactor hmarr = 0.0 elif (i == Nx - 1): hposl = hposr + hSpacing hposr = hposl + hStep + rMargin hfactor = hposr - hposl hmarl = 0.0 hmarr = rMargin / (hposr - hposl) else: hposl = hposr + hSpacing hposr = hposl + hStep hfactor = hposr - hposl hmarl = 0.0 hmarr = 0.0 for j in range(Ny): if (j == 0): vposd = 0.0 vposu = bMargin + vStep vfactor = vposu - vposd vmard = bMargin / vfactor vmaru = 0.0 elif (j == Ny - 1): vposd = vposu + vSpacing vposu = vposd + vStep + tMargin vfactor = vposu - vposd vmard = 0.0 vmaru = tMargin / (vposu - vposd) else: vposd = vposu + vSpacing vposu = vposd + vStep vfactor = vposu - vposd vmard = 0.0 vmaru = 0.0 C.cd(0) name = "pad_" + str(i) + "_" + str(j) #pad = gROOT.FindObject(name) pad = TPad(name, "", hposl, vposd, hposr, vposu) pad.SetLeftMargin(hmarl) pad.SetRightMargin(hmarr) pad.SetBottomMargin(vmard) pad.SetTopMargin(vmaru) pad.SetFrameBorderMode(0) pad.SetBorderMode(0) pad.SetBorderSize(0) pad.Draw()
t.SetTextSize(0.026) t.DrawText(3, 17, r'>>> x, y = 5, 7') t.DrawText(3, 16, r'>>> import math; x*math.sqrt(y)') t.DrawText( 3, 14, r'>>> for i in range(2,7): print "sqrt(%d) = %f" % (i,math.sqrt(i))') t.DrawText(3, 10, r'>>> import ROOT; f1 = ROOT.TF1( "f1", "sin(x)/x", 0, 10 )') t.DrawText(3, 9, r'>>> f1.Draw()') t.SetTextFont(81) t.SetTextSize(0.018) t.DrawText(4, 15, '13.228756555322953') t.DrawText(4, 13.3, 'sqrt(2) = 1.414214') t.DrawText(4, 12.7, 'sqrt(3) = 1.732051') t.DrawText(4, 12.1, 'sqrt(4) = 2.000000') t.DrawText(4, 11.5, 'sqrt(5) = 2.236068') t.DrawText(4, 10.9, 'sqrt(6) = 2.449490') pad = TPad('pad', 'pad', .2, .05, .8, .35) pad.SetFillColor(42) pad.SetFrameFillColor(33) pad.SetBorderSize(10) pad.Draw() pad.cd() pad.SetGrid() f1 = TF1('f1', 'sin(x)/x', 0, 10) f1.Draw() nut.cd() nut.Update()
print "2016 with 2017: ", h_signal_2016.Chi2Test(h_signal_2017, "WW") print "2016 with 2018: ", h_signal_2016.Chi2Test(h_signal_2018, "WW") print "2017 with 2018: ", h_signal_2017.Chi2Test(h_signal_2018, "WW") h_ratio_hists["h_ratio_2016_2017"] = copy.deepcopy(h_signal_2016) h_ratio_hists["h_ratio_2016_2018"] = copy.deepcopy(h_signal_2016) h_ratio_hists["h_ratio_2017_2018"] = copy.deepcopy(h_signal_2017) gStyle.SetOptStat(0) canvas_years = TCanvas() pad1 = TPad("pad_main_plot", "", 0, 0.28, 1, 1.) pad2 = TPad("pad_ratio_plot", "", 0, 0.01, 1, 0.27) pad1.SetTopMargin(0.047) pad1.SetBottomMargin(0.02) pad1.SetBorderMode(0) pad1.SetBorderSize(0) pad1.SetFrameBorderSize(0) pad2.SetBorderSize(0) pad2.SetFrameBorderSize(0) pad2.SetBottomMargin(0.3) pad2.SetBorderMode(0) pad1.Draw() pad2.Draw() pad1.cd() legend_years = TLegend(0.15, 0.7, 0.3, 0.95) legend_years.SetHeader(" ") legend_years.SetFillColor(0) legend_years.SetBorderSize(0) legend_years.SetLineColor(1) legend_years.SetLineStyle(1)