示例#1
0
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()
示例#2
0
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)