CMS 3D CMS Logo

Functions | Variables
compare Namespace Reference

Functions

def ensureDir (directory)
 
def hoverlay (hists, xtitle, ytitle, name)
 
def LegendSettings (leg, ncolumn)
 
def makeCompareVars (tree, var, sel, leglist, nbin, xmin, xmax, xtitle, ytitle, scale, name)
 
def makeEffPlotsVars (tree, varx, vary, sel, nbinx, xmin, xmax, nbiny, ymin, ymax, xtitle, ytitle, leglabel=None, header='', addon='', option='pt', marker=20)
 
def overlay (hists, ytitle, header, addon)
 
def save (canvas, name)
 

Variables

 argc
 
 argvs
 
 den_sel
 
 hist
 
 hists
 
 hvardict
 
 loose_id
 
 num_sel
 
 reco_cut
 
 runtype
 
 sampledict
 
 tfile
 
 tlabel
 
 tree
 
 vardict
 
 xlabel
 

Function Documentation

◆ ensureDir()

def compare.ensureDir (   directory)

Definition at line 43 of file compare.py.

Referenced by save().

43 def ensureDir(directory):
44  if not os.path.exists(directory):
45  os.makedirs(directory)
46 
def ensureDir(directory)
Definition: compare.py:43

◆ hoverlay()

def compare.hoverlay (   hists,
  xtitle,
  ytitle,
  name 
)

Definition at line 195 of file compare.py.

References LegendSettings(), and save().

195 def hoverlay(hists, xtitle, ytitle, name):
196 
197  c = TCanvas()
198 
199  ymax = 0
200  for hist in hists:
201  if ymax < hist.GetMaximum():
202  ymax = hist.GetMaximum()
203 
204 
205  leg = TLegend(0.6,0.65,0.91,0.9)
206  LegendSettings(leg,1)
207 
208  for ii, ihist in enumerate(hists):
209  ihist.SetMaximum(ymax*1.2)
210  ihist.SetMinimum(0.)
211  ihist.SetMarkerSize(0.)
212  ihist.GetXaxis().SetTitle(xtitle)
213  ihist.GetYaxis().SetTitle(ytitle)
214 
215  if ii ==0:
216  ihist.Draw('h')
217  else:
218  ihist.Draw('hsame')
219 
220  leg.AddEntry(ihist, ihist.GetName(), "l")
221 
222 
223  leg.Draw()
224 
225 
226  save(c, 'compare_' + runtype + '/hist_' + name)
227 
228 
229 
230 
def save(canvas, name)
Definition: compare.py:47
def LegendSettings(leg, ncolumn)
Definition: compare.py:53
def hoverlay(hists, xtitle, ytitle, name)
Definition: compare.py:195

◆ LegendSettings()

def compare.LegendSettings (   leg,
  ncolumn 
)

Definition at line 53 of file compare.py.

Referenced by hoverlay(), makeCompareVars(), and overlay().

53 def LegendSettings(leg, ncolumn):
54  leg.SetNColumns(ncolumn)
55  leg.SetBorderSize(0)
56  leg.SetFillColor(10)
57  leg.SetLineColor(0)
58  leg.SetFillStyle(0)
59  leg.SetTextSize(0.03)
60  leg.SetTextFont(42)
61 
62 
63 
def LegendSettings(leg, ncolumn)
Definition: compare.py:53

◆ makeCompareVars()

def compare.makeCompareVars (   tree,
  var,
  sel,
  leglist,
  nbin,
  xmin,
  xmax,
  xtitle,
  ytitle,
  scale,
  name 
)

Definition at line 64 of file compare.py.

References LegendSettings(), and str.

64 def makeCompareVars(tree, var, sel, leglist, nbin, xmin, xmax, xtitle, ytitle, scale, name):
65 
66 # print leglist
67 
68  c = TCanvas()
69 
70  hists = []
71  col = [1,2,4,8,6]
72  ymax = 0
73 
74  for ii, isel in enumerate(sel):
75  hist = TH1F('h_' + str(ii), 'h_' + str(ii), nbin, xmin, xmax)
76  hist.GetXaxis().SetTitle(xtitle)
77  hist.GetYaxis().SetTitle(ytitle)
78  hist.GetYaxis().SetNdivisions(507)
79  hist.SetLineColor(col[ii])
80  hist.SetLineWidth(len(sel)+1-ii)
81  hist.SetLineStyle(1)
82  hist.SetMarkerSize(0)
83  hist.SetMinimum(0)
84  hist.Sumw2()
85 
86 # print hist.GetName(), var, isel
87  tree.Project(hist.GetName(), var, isel)
88  hist.Scale(1./hist.GetEntries())
89 
90  if ymax < hist.GetMaximum():
91  ymax = hist.GetMaximum()
92 
93  hists.append(hist)
94 
95 
96  leg = TLegend(0.6,0.65,0.91,0.9)
97  LegendSettings(leg,1)
98 
99  for ii, ihist in enumerate(hists):
100  ihist.SetMaximum(ymax*1.2)
101  ihist.SetMinimum(0.)
102 
103  if ii ==0:
104  ihist.Draw('h')
105  else:
106  ihist.Draw('hsame')
107 
108  if leglist[ii] != 'None':
109  leg.AddEntry(ihist, leglist[ii], "l")
110 
111 
112  if leglist[0]!='None':
113  leg.Draw()
114 
115 
116 # save(c, 'compare_' + runtype + '/compare_' + name)
117 
118 
119 
120 
121 
def LegendSettings(leg, ncolumn)
Definition: compare.py:53
#define str(s)
def makeCompareVars(tree, var, sel, leglist, nbin, xmin, xmax, xtitle, ytitle, scale, name)
Definition: compare.py:64

◆ makeEffPlotsVars()

def compare.makeEffPlotsVars (   tree,
  varx,
  vary,
  sel,
  nbinx,
  xmin,
  xmax,
  nbiny,
  ymin,
  ymax,
  xtitle,
  ytitle,
  leglabel = None,
  header = '',
  addon = '',
  option = 'pt',
  marker = 20 
)

Definition at line 231 of file compare.py.

References mps_check.array.

231 def makeEffPlotsVars(tree, varx, vary, sel, nbinx, xmin, xmax, nbiny, ymin, ymax, xtitle, ytitle, leglabel = None, header='', addon='', option='pt', marker=20):
232 
233  binning = [20,30,40,50,60,70,80,100,150,200]
234 
235  c = TCanvas()
236 
237  if option=='pt':
238  _hist_ = TH1F('h_effp_' + addon, 'h_effp' + addon, len(binning)-1, array('d',binning))
239  _ahist_ = TH1F('ah_effp_' + addon, 'ah_effp' + addon, len(binning)-1, array('d',binning))
240  elif option=='eta':
241  _hist_ = TH1F('h_effp_' + addon, 'h_effp' + addon, nbinx, xmin, xmax)
242  _ahist_ = TH1F('ah_effp_' + addon, 'ah_effp' + addon, nbinx, xmin, xmax)
243  elif option=='nvtx':
244  _hist_ = TH1F('h_effp_' + addon, 'h_effp' + addon, len(vbinning)-1, array('d',vbinning))
245  _ahist_ = TH1F('ah_effp_' + addon, 'ah_effp' + addon, len(vbinning)-1, array('d',vbinning))
246 
247 
248  tree.Draw(varx + ' >> ' + _hist_.GetName(), sel)
249  tree.Draw(varx + ' >> ' + _ahist_.GetName(), sel + ' && ' + vary)
250 
251  g_efficiency = TGraphAsymmErrors()
252  g_efficiency.BayesDivide(_ahist_, _hist_)
253  g_efficiency.GetXaxis().SetTitle(xtitle)
254  g_efficiency.GetYaxis().SetTitle('efficiency')
255  g_efficiency.GetYaxis().SetNdivisions(507)
256  g_efficiency.SetLineWidth(3)
257  g_efficiency.SetName(header)
258  g_efficiency.SetMinimum(0.)
259  g_efficiency.GetYaxis().SetTitleOffset(1.3)
260  g_efficiency.SetMarkerStyle(marker)
261  g_efficiency.SetMarkerSize(1)
262  g_efficiency.Draw('ap')
263 
264 # save(c, 'plots/' + addon)
265 
266  return copy.deepcopy(g_efficiency)
267 
268 
269 
270 
271 
def makeEffPlotsVars(tree, varx, vary, sel, nbinx, xmin, xmax, nbiny, ymin, ymax, xtitle, ytitle, leglabel=None, header='', addon='', option='pt', marker=20)
Definition: compare.py:231

◆ overlay()

def compare.overlay (   hists,
  ytitle,
  header,
  addon 
)

Definition at line 122 of file compare.py.

References LegendSettings(), print(), FastTimerService_cff.range, and save().

Referenced by FWCaloTowerDetailView.build(), FWMuonDetailView.build(), FWPhotonDetailView.build(), FWElectronDetailView.build(), SiStripHitEfficiencyHarvester.makeSummary(), and SiStripHitEffFromCalibTree.makeSummary().

122 def overlay(hists, ytitle, header, addon):
123 
124  print('number of histograms = ', len(hists))
125 
126  canvas = TCanvas()
127  leg = TLegend(0.2,0.7,0.5,0.9)
128  LegendSettings(leg, 1)
129 
130  col = [1,2,4,6,8,9,12]
131 
132  ymax = -1
133  ymin = 100
134 
135  for ii, hist in enumerate(hists):
136  hist.GetYaxis().SetTitle('efficiency')
137  hist.SetLineColor(col[ii])
138  hist.SetMarkerColor(col[ii])
139  hist.SetLineWidth(2)
140  hist.SetMarkerSize(1)
141 
142 
143  for ip in range(hist.GetN()):
144  x = Double(-1)
145  y = Double(-1)
146  hist.GetPoint(ip, x, y)
147 
148  if ymin > y:
149  ymin = y
150  if ymax < y:
151  ymax = y
152 
153 #
154 # if ymax < hist.GetMaximum():
155 # ymax = hist.GetMaximum()
156 # if ymin > hist.GetMinimum():
157 # ymin = hist.GetMinimum()
158 
159  if ii==0:
160  hist.Draw("Azp")
161  else:
162 
163  hist.Draw("pzsame")
164 
165 # print hist.GetName(), hist.GetTitle()
166  legname = hist.GetName()
167 
168  leg.AddEntry(hist, legname, 'lep')
169 
170 
171  for hist in hists:
172  hist.SetMaximum(ymax*2)
173 # hist.SetMinimum(ymin*0.5)
174 
175  leg.Draw()
176 
177  tex = TLatex( hists[-1].GetXaxis().GetXmin() + 0.01*(hists[-1].GetXaxis().GetXmax() - hists[-1].GetXaxis().GetXmin()), ymax*2.1, addon.replace('tau_',''))
178 
179  tex.SetTextFont(42)
180  tex.SetTextSize(0.03)
181  tex.Draw()
182 
183  tex2 = TLatex( hists[-1].GetXaxis().GetXmin() + 0.87*(hists[-1].GetXaxis().GetXmax() - hists[-1].GetXaxis().GetXmin()), ymax*2.1, tlabel)
184 
185  tex2.SetTextFont(42)
186  tex2.SetTextSize(0.03)
187  tex2.Draw()
188 
189 
190 
191  save(canvas, 'compare_' + runtype + '/' + header)
192 
193 
194 
def save(canvas, name)
Definition: compare.py:47
def LegendSettings(leg, ncolumn)
Definition: compare.py:53
def overlay(hists, ytitle, header, addon)
Definition: compare.py:122
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)
Definition: Utilities.cc:47

◆ save()

def compare.save (   canvas,
  name 
)

Definition at line 47 of file compare.py.

References ensureDir(), and python.rootplot.root2matplotlib.replace().

Referenced by hoverlay(), and overlay().

47 def save(canvas, name):
48  ensureDir('compare_' + runtype)
49  canvas.SaveAs(name.replace(' ','').replace('&&','')+'.pdf')
50  canvas.SaveAs(name.replace(' ','').replace('&&','')+'.gif')
51 
52 
def replace(string, replacements)
def save(canvas, name)
Definition: compare.py:47
def ensureDir(directory)
Definition: compare.py:43

Variable Documentation

◆ argc

compare.argc

Definition at line 17 of file compare.py.

◆ argvs

compare.argvs

Definition at line 16 of file compare.py.

◆ den_sel

compare.den_sel

Definition at line 328 of file compare.py.

◆ hist

compare.hist

Definition at line 375 of file compare.py.

◆ hists

compare.hists

◆ hvardict

compare.hvardict

Definition at line 350 of file compare.py.

◆ loose_id

compare.loose_id

Definition at line 307 of file compare.py.

◆ num_sel

compare.num_sel

Definition at line 327 of file compare.py.

◆ reco_cut

compare.reco_cut

Definition at line 306 of file compare.py.

◆ runtype

compare.runtype

Definition at line 23 of file compare.py.

◆ sampledict

compare.sampledict

Definition at line 309 of file compare.py.

◆ tfile

compare.tfile

◆ tlabel

compare.tlabel

Definition at line 27 of file compare.py.

Referenced by cscdqm::EventProcessor.getCSCFromMap().

◆ tree

compare.tree

◆ vardict

compare.vardict

Definition at line 275 of file compare.py.

◆ xlabel

compare.xlabel

Definition at line 28 of file compare.py.