CMS 3D CMS Logo

Functions
ntuplePlotting Namespace Reference

Functions

def applyStyle (h, color, markerStyle)
 
def draw (name, histos, styles, legendLabels=[], xtitle=None, ytitle=None, drawOpt="HIST", legendDx=0, legendDy=0, legendDw=0, legendDh=0, xmin=None, ymin=0, xmax=None, ymax=None, xlog=False, ylog=False, xgrid=True, ygrid=True, ratio=False, ratioYmin=0.5, ratioYmax=1.5, ratioYTitle=plotting._ratioYTitle)
 
def saveHistograms (tdirectory, histos)
 

Function Documentation

def ntuplePlotting.applyStyle (   h,
  color,
  markerStyle 
)

Definition at line 9 of file ntuplePlotting.py.

References draw().

9 def applyStyle(h, color, markerStyle):
10  h.SetMarkerStyle(markerStyle)
11  h.SetMarkerColor(color)
12  h.SetMarkerSize(1.2)
13  h.SetLineColor(color)
14  h.SetLineWidth(2)
15 
def applyStyle(h, color, markerStyle)
def ntuplePlotting.draw (   name,
  histos,
  styles,
  legendLabels = [],
  xtitle = None,
  ytitle = None,
  drawOpt = "HIST",
  legendDx = 0,
  legendDy = 0,
  legendDw = 0,
  legendDh = 0,
  xmin = None,
  ymin = 0,
  xmax = None,
  ymax = None,
  xlog = False,
  ylog = False,
  xgrid = True,
  ygrid = True,
  ratio = False,
  ratioYmin = 0.5,
  ratioYmax = 1.5,
  ratioYTitle = plotting._ratioYTitle 
)

Definition at line 23 of file ntuplePlotting.py.

References plotting._calculateRatios(), plotting._createCanvas(), plotting._findBounds(), plotting._modifyPadForRatio(), createfilelist.int, and ComparisonHelper.zip().

Referenced by applyStyle(), CmsShowMainBase.configFilename(), FWFFLooper.duringLoop(), FWGeometryTableManagerBase::ColorBoxRenderer.height(), FWFFService.postProcessEvent(), SiPixelRecHitQuality::Packing.setProbabilityQ(), SiPixelRecHitQuality::Packing.setProbabilityXY(), and examples::TrackAnalysisAlgorithm.terminate().

23  ):
24 
25  width = 600
26  height = 600
27  ratioFactor = 1.25
28 
29  if ratio:
30  height = int(height*ratioFactor)
31  c = plotting._createCanvas(name, width, height)
32  if ratio:
33  plotting._modifyPadForRatio(c, ratioFactor)
34 
35  bounds = plotting._findBounds(histos, ylog, xmin, xmax, ymin, ymax)
36  args = {"nrows": 1}
37  if ratio:
38  ratioBounds = (bounds[0], ratioYmin, bounds[2], ratioYmax)
39  frame = plotting.FrameRatio(c, bounds, ratioBounds, ratioFactor, ratioYTitle=ratioYTitle, **args)
40  #frame._frameRatio.GetYaxis().SetLabelSize(0.12)
41  else:
42  frame = plotting.Frame(c, bounds, **args)
43 
44  if xtitle is not None:
45  frame.setXTitle(xtitle)
46  if ytitle is not None:
47  frame.setYTitle(ytitle)
48 
49  frame.setLogx(xlog)
50  frame.setLogy(ylog)
51  frame.setGridx(xgrid)
52  frame.setGridy(ygrid)
53 
54  if ratio:
55  frame._pad.cd()
56  for h, st in zip(histos, styles):
57  st(h)
58  h.Draw(drawOpt+" same")
59 
60  ratios = None
61  if ratio:
62  frame._padRatio.cd()
63  ratios = plotting._calculateRatios(histos)
64  for r in ratios[1:]:
65  r.draw()
66  frame._pad.cd()
67 
68  if len(legendLabels) > 0:
69  if len(legendLabels) != len(histos):
70  raise Exception("Got %d histos but %d legend labels" % (len(histos), len(legendLabels)))
71  lx1 = 0.6
72  lx2 = 0.9
73  ly1 = 0.7
74  ly2 = 0.85
75 
76  lx1 += legendDx
77  lx2 += legendDx
78  ly1 += legendDy
79  ly2 += legendDy
80 
81  lx2 += legendDw
82  ly1 -= legendDh
83 
84  legend = ROOT.TLegend(lx1, ly1, lx2, ly2)
85  legend.SetLineColor(1)
86  legend.SetLineWidth(1)
87  legend.SetLineStyle(1)
88  legend.SetFillColor(0)
89  legend.SetMargin(0.07)
90  legend.SetBorderSize(0)
91 
92  for h, l in zip(histos, legendLabels):
93  legend.AddEntry(h, l, "L")
94 
95  legend.Draw()
96 
97  frame._pad.cd()
98 
99  c.Update()
100  c.RedrawAxis()
101  c.SaveAs(name+".png")
102  c.SaveAs(name+".pdf")
103 
def _findBounds(th1s, ylog, xmin=None, xmax=None, ymin=None, ymax=None)
Definition: plotting.py:454
def _calculateRatios(histos, ratioUncertainty=False)
Definition: plotting.py:144
OutputIterator zip(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp)
def _modifyPadForRatio(pad, ratioFactor)
Definition: plotting.py:115
def _createCanvas(name, width, height)
Definition: plotting.py:105
def ntuplePlotting.saveHistograms (   tdirectory,
  histos 
)

Definition at line 5 of file ntuplePlotting.py.

5 def saveHistograms(tdirectory, histos):
6  for h in histos:
7  h.SetDirectory(tdirectory)
8 
def saveHistograms(tdirectory, histos)