pname.DrawText(.22, .31, 'fBaskets = TObjArray of TBasket') pname.DrawText(.20, 1.0, 'fBranches = TObjArray of TBranch') ntleaf = TPaveText(0.30, .42, .62, .7) ntleaf.SetTextSize(0.014) ntleaf.SetFillColor(leafcolor) ntleaf.SetTextAlign(12) ntleaf.AddText('fLen: number of fixed elements') ntleaf.AddText('fLenType: number of bytes of data type') ntleaf.AddText('fOffset: relative to Leaf0-fAddress') ntleaf.AddText('fNbytesIO: number of bytes used for I/O') ntleaf.AddText('fIsPointer: True if pointer') ntleaf.AddText('fIsRange: True if leaf has a range') ntleaf.AddText('fIsUnsigned: True if unsigned') ntleaf.AddText('*fLeafCount: points to Leaf counter') ntleaf.AddText(' ') ntleaf.AddLine(0, 0, 0, 0) ntleaf.AddText('fName = Leaf name') ntleaf.AddText('fTitle = Leaf type (see Type codes)') ntleaf.Draw() type = TPaveText(.65, .42, .95, .7) type.SetTextAlign(12) type.SetFillColor(leafcolor) type.AddText(' ') type.AddText('C : a character string') type.AddText('B : an 8 bit signed integer') type.AddText('b : an 8 bit unsigned integer') type.AddText('S : a 16 bit signed short integer') type.AddText('s : a 16 bit unsigned short integer') type.AddText('I : a 32 bit signed integer') type.AddText('i : a 32 bit unsigned integer') type.AddText('F : a 32 bit floating point')
tbig.DrawText( 2.6, 7, 'fBEGIN' ) tbig.DrawText( 20., 7, 'fEND' ) arrow.DrawArrow( 2.6, 7, 2.6, 8.4, 0.01, '|>' ) arrow.DrawArrow( 20, 7, 20, 8.4, 0.01, '|>' ) #file header header = TPaveText( 0.5, .2, 9.4, 6.5 ) header.SetFillColor( 44 ) header.Draw() fh = header.AddText( 'File Header' ) fh.SetTextAlign( 22 ) fh.SetTextSize( 0.04 ) header.SetTextSize( 0.027 ) header.SetTextAlign( 12 ) header.AddText( ' ' ) header.AddLine( 0, 0, 0, 0 ) header.AddText( '"root": Root File Identifier' ) header.AddText( 'fVersion: File version identifier' ) header.AddText( 'fBEGIN: Pointer to first data record' ) header.AddText( 'fEND: Pointer to first free word at EOF' ) header.AddText( 'fSeekFree: Pointer to FREE data record' ) header.AddText( 'fNbytesFree: Number of bytes in FREE' ) header.AddText( 'fNfree: Number of free data records' ) header.AddText( 'fNbytesName: Number of bytes in name/title' ) header.AddText( 'fUnits: Number of bytes for pointers' ) header.AddText( 'fCompress: Compression level' ) #logical record header lrecord = TPaveText( 10, 0.2, 19.5, 6.5 ) lrecord.SetFillColor( 33 ) lrecord.Draw()
execfile("input.py") c1 = TCanvas('c1', 'c1', 1800, 1000) pt1 = TPaveText(.05, .05, .15, .95) pt2 = TPaveText(0.15, 0.05, 0.25, 0.95) pt3 = TPaveText(0.25, 0.05, 0.35, 0.95) pt4 = TPaveText(0.35, 0.05, 0.45, 0.95) pt5 = TPaveText(0.45, 0.05, 0.55, 0.95) pt6 = TPaveText(0.55, 0.05, 0.65, 0.95) pt7 = TPaveText(0.65, 0.05, 0.75, 0.95) pt8 = TPaveText(0.75, 0.05, 0.85, 0.95) pt9 = TPaveText(0.85, 0.05, 0.95, 0.95) pt1.AddText("Sample") pt1.AddLine(0.0, 0.1, 1.0, 0.1) pt1.AddText("DYToLL") pt1.AddLine(0.0, 0.2, 1.00, .200) pt1.AddText("SingleT") pt1.AddLine(0.0, .3, 1.00, .300) pt1.AddText("TTbar") pt1.AddLine(0.0, .4, 1.00, .400) pt1.AddText("WJets") pt1.AddLine(0.0, .5, 1.00, .5) pt1.AddText("T_M1000_W10") pt1.AddLine(0.0, .6, 1.00, .6) pt1.AddText("T_M1500_W10") pt1.AddLine(0.0, .7, 1.00, .7) pt1.AddText("T_M2000_W10") pt1.AddLine(0.0, .8, 1.00, .8) pt1.AddText("T_M2500_W10")
class pdf_class: def __init__(self, filename): self._canvas = TCanvas("canvas", "canvas", 800, 450) self._canvas.cd() self._pad = TPad("pad", "", 0, 0, 1, 0.95) self._pdf = TPDF("%s.pdf" % filename) self._subCanvas = 0 self._nCanvasPerPage = 0 self._nx = 1 self._ny = 1 def newPage(self, headerText="", nx=1, ny=1, sameHeader=False): if self._subCanvas != 0: self._pad.Draw() self._canvas.cd() self._canvas.Update() self._pdf.NewPage() self._pad.Clear() self._canvas.cd() if not sameHeader: self._nx = nx self._ny = ny self._header = TPaveText(0, 0.95, 1, 1) self._header.SetFillColor(0) self._header.SetTextColor(1) self._header.SetTextFont(22) self._header.AddText(headerText) self._header.AddLine(0.0, 0.95, 1.0, 0.95) self._header.Draw() self._pad.cd() self._pad.Divide(self._nx, self._ny) self._pad.SetGrid(0, 0) self._nCanvasPerPage = self._nx * self._ny self._subCanvas = 0 def newLegend(self, header="", lx=0.8, ly=0.8, ux=0.9, uy=0.88): self._legend = TLegend(lx, ly, ux, uy) self._legend.SetFillColor(0) self._legend.SetBorderSize(0) self._legend.SetTextFont(132) self._legend.SetTextSize(0.035) if header != "": self._legend.SetHeader(header) def draw(self, hists, legend=False, drawOpt="", logx=False, logy=False, logz=False): if self._subCanvas + 1 > self._nCanvasPerPage: self.newPage(sameHeader=True) self._subCanvas += 1 self._pad.cd(self._subCanvas) first = 1 for h in hists: if first == 1: first = 0 h.Draw(drawOpt) else: h.Draw("same%s" % drawOpt) if legend: self._legend.AddEntry(h, h.GetTitle(), "LP") if legend: self._legend.Draw() if logx: self._pad.cd(self._subCanvas).SetLogx() if logy: self._pad.cd(self._subCanvas).SetLogy() if logz: self._pad.cd(self._subCanvas).SetLogz() self._canvas.cd() self._canvas.Update() self._pad.Draw() def close(self): self._pad.Draw() self._canvas.cd() self._canvas.Update() self._pdf.Close()