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 44 of file compare.py.

44 def ensureDir(directory):
45  if not os.path.exists(directory):
46  os.makedirs(directory)
47 

Referenced by save().

◆ hoverlay()

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

Definition at line 196 of file compare.py.

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

References LegendSettings(), and save().

◆ LegendSettings()

def compare.LegendSettings (   leg,
  ncolumn 
)

Definition at line 54 of file compare.py.

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

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

◆ makeCompareVars()

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

Definition at line 65 of file compare.py.

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

References LegendSettings(), and str.

◆ 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 232 of file compare.py.

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

References mps_check.array.

◆ overlay()

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

Definition at line 123 of file compare.py.

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

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

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

◆ save()

def compare.save (   canvas,
  name 
)

Definition at line 48 of file compare.py.

48 def save(canvas, name):
49  ensureDir('compare_' + runtype)
50  canvas.SaveAs(name.replace(' ','').replace('&&','')+'.pdf')
51  canvas.SaveAs(name.replace(' ','').replace('&&','')+'.gif')
52 
53 

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

Referenced by hoverlay(), and overlay().

Variable Documentation

◆ argc

compare.argc

Definition at line 18 of file compare.py.

◆ argvs

compare.argvs

Definition at line 17 of file compare.py.

◆ den_sel

compare.den_sel

Definition at line 329 of file compare.py.

◆ hist

compare.hist

Definition at line 376 of file compare.py.

◆ hists

compare.hists

◆ hvardict

compare.hvardict

Definition at line 351 of file compare.py.

◆ loose_id

compare.loose_id

Definition at line 308 of file compare.py.

◆ num_sel

compare.num_sel

Definition at line 328 of file compare.py.

◆ reco_cut

compare.reco_cut

Definition at line 307 of file compare.py.

◆ runtype

compare.runtype

Definition at line 24 of file compare.py.

◆ sampledict

compare.sampledict

Definition at line 310 of file compare.py.

◆ tfile

compare.tfile

◆ tlabel

compare.tlabel

Definition at line 28 of file compare.py.

Referenced by cscdqm::EventProcessor.getCSCFromMap().

◆ tree

compare.tree

Definition at line 326 of file compare.py.

◆ vardict

compare.vardict

Definition at line 276 of file compare.py.

◆ xlabel

compare.xlabel

Definition at line 29 of file compare.py.

FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
compare.save
def save(canvas, name)
Definition: compare.py:48
mps_check.array
array
Definition: mps_check.py:216
compare.LegendSettings
def LegendSettings(leg, ncolumn)
Definition: compare.py:54
compare.hoverlay
def hoverlay(hists, xtitle, ytitle, name)
Definition: compare.py:196
compare.ensureDir
def ensureDir(directory)
Definition: compare.py:44
str
#define str(s)
Definition: TestProcessor.cc:52
print
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)
Definition: Utilities.cc:46
compare.overlay
def overlay(hists, ytitle, header, addon)
Definition: compare.py:123
compare.makeCompareVars
def makeCompareVars(tree, var, sel, leglist, nbin, xmin, xmax, xtitle, ytitle, scale, name)
Definition: compare.py:65
python.rootplot.root2matplotlib.replace
def replace(string, replacements)
Definition: root2matplotlib.py:444
compare.makeEffPlotsVars
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:232