ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/OSUT3Analysis/Configuration/scripts/makePlots.py
Revision: 1.29
Committed: Thu Apr 11 08:16:03 2013 UTC (12 years ago) by wulsin
Content type: text/x-python
Branch: MAIN
Changes since 1.28: +12 -7 lines
Log Message:
Add -y option to print yields of each source in the legend.  Useful for debugging (should match yields in cutflow table).

File Contents

# User Rev Content
1 lantonel 1.1 #!/usr/bin/env python
2     import sys
3     import os
4 ahart 1.6 import re
5 lantonel 1.1 from array import *
6 lantonel 1.3 from decimal import *
7 lantonel 1.17 from optparse import OptionParser
8 lantonel 1.2 from OSUT3Analysis.Configuration.configurationOptions import *
9 lantonel 1.7 from OSUT3Analysis.Configuration.processingUtilities import *
10 lantonel 1.1
11 lantonel 1.17 parser = OptionParser()
12 lantonel 1.7 parser = set_commandline_arguments(parser)
13 lantonel 1.17 (arguments, args) = parser.parse_args()
14 lantonel 1.1
15 lantonel 1.16 if arguments.localConfig:
16 lantonel 1.1 sys.path.append(os.getcwd())
17 lantonel 1.16 exec("from " + arguments.localConfig.rstrip('.py') + " import *")
18 lantonel 1.1
19 lantonel 1.15
20     outputFileName = "stacked_histograms.root"
21 lantonel 1.16 if arguments.outputFileName:
22     outputFileName = arguments.outputFileName
23 lantonel 1.15
24 lantonel 1.16 condor_dir = set_condor_output_dir(arguments)
25 lantonel 1.1
26    
27 lantonel 1.15
28 lantonel 1.25 #### deal with conflicting arguments
29 lantonel 1.16 if arguments.normalizeToData and arguments.normalizeToUnitArea:
30 lantonel 1.13 print "Conflicting normalizations requsted, will normalize to unit area"
31 lantonel 1.16 arguments.normalizeToData = False
32     if arguments.normalizeToData and arguments.noStack:
33 lantonel 1.14 print "You have asked to scale non-stacked backgrounds to data. This is a very strange request. Will normalize to unit area instead"
34 lantonel 1.16 arguments.normalizeToData = False
35     arguments.normalizeToUnitArea = True
36 lantonel 1.25 if arguments.makeRatioPlots and arguments.makeDiffPlots:
37     print "You have requested both ratio and difference plots. Will make just ratio plots instead"
38     arguments.makeRatioPlots = False
39 lantonel 1.13
40 lantonel 1.15 from ROOT import TFile, gROOT, gStyle, gDirectory, TStyle, THStack, TH1F, TCanvas, TString, TLegend, TArrow, THStack, TIter, TKey, TPaveLabel, gPad
41 lantonel 1.1
42     gROOT.SetBatch()
43     gStyle.SetOptStat(0)
44     gStyle.SetCanvasBorderMode(0)
45     gStyle.SetPadBorderMode(0)
46     gStyle.SetPadColor(0)
47     gStyle.SetCanvasColor(0)
48     gStyle.SetTextFont(42)
49 lantonel 1.3 gROOT.ForceStyle()
50 lantonel 1.15 outputFile = TFile(condor_dir + "/" + outputFileName, "RECREATE")
51 lantonel 1.1
52     channels = []
53     processed_datasets = []
54    
55     #### check which input datasets have valid output files
56     for sample in datasets:
57     fileName = condor_dir + "/" + sample + ".root"
58     if not os.path.exists(fileName):
59     continue
60     testFile = TFile(fileName)
61 lantonel 1.14 if testFile.IsZombie() or not testFile.GetNkeys():
62     continue
63     processed_datasets.append(sample)
64 lantonel 1.1
65     if len(processed_datasets) is 0:
66     sys.exit("No datasets have been processed")
67    
68     #### open first input file and re-make its directory structure in the output file
69     testFile = TFile(condor_dir + "/" + processed_datasets[0] + ".root")
70     testFile.cd()
71     for key in testFile.GetListOfKeys():
72     if (key.GetClassName() != "TDirectoryFile"):
73     continue
74     outputFile.cd()
75     outputFile.mkdir(key.GetName())
76     rootDirectory = key.GetName()
77    
78     testFile.cd(key.GetName())
79     for key2 in gDirectory.GetListOfKeys():
80     if (key2.GetClassName() != "TDirectoryFile"):
81     continue
82     outputFile.cd(key.GetName())
83     gDirectory.mkdir(key2.GetName())
84     channels.append(key2.GetName())
85    
86    
87 ahart 1.28 #weight = intLumi / 10000.0
88     #for dataset in processed_datasets:
89     # dataset_file = "%s/%s.root" % (condor_dir,dataset)
90     # fin = TFile (dataset_file)
91     # flags = fin.Get ("flags")
92     # noWeights = flags and flags.GetBinContent (1)
93     # fin.Close ()
94     #
95     # if types[dataset] != "data" and not noWeights:
96     # os.system("mergeTFileServiceHistograms -i %s -o %s -w %g" % (dataset_file, dataset_file + "_tmp", weight))
97     # else:
98     # os.system("mergeTFileServiceHistograms -i %s -o %s -w %g" % (dataset_file, dataset_file + "_tmp", 1.0))
99 lantonel 1.1
100     for channel in channels: # loop over final states, which each have their own directory
101    
102     testFile.cd(rootDirectory+"/"+channel)
103 lantonel 1.3
104 lantonel 1.10 for key in gDirectory.GetListOfKeys(): # loop over histograms in the current directory
105     histogramName = key.GetName()
106 lantonel 1.1
107 lantonel 1.10 if re.match ('TH1', key.GetClassName()): # plot a 1-D histogram
108    
109     numBgMCSamples = 0
110     numDataSamples = 0
111     numSignalSamples = 0
112 lantonel 1.1
113 lantonel 1.10 Stack = THStack("stack",histogramName)
114 lantonel 1.1
115 lantonel 1.10 if(intLumi < 1000.):
116     LumiText = "L_{int} = " + str(intLumi) + " pb^{-1}"
117     else:
118     getcontext().prec = 2
119     LumiInFb = intLumi/1000.
120     LumiText = "L_{int} = " + str(LumiInFb) + " fb^{-1}"
121    
122     LumiLabel = TPaveLabel(0.1,0.8,0.34,0.9,LumiText,"NDC")
123     LumiLabel.SetBorderSize(0)
124     LumiLabel.SetFillColor(0)
125     LumiLabel.SetFillStyle(0)
126 lantonel 1.1
127 lantonel 1.15 BgMCLegend = TLegend(0.70,0.65,0.94,0.89, "Data & Bkgd. MC")
128 lantonel 1.10 BgMCLegend.SetBorderSize(0)
129     BgMCLegend.SetFillColor(0)
130     BgMCLegend.SetFillStyle(0)
131     SignalMCLegend = TLegend(0.45,0.65,0.70,0.89,"Signal MC")
132     SignalMCLegend.SetBorderSize(0)
133     SignalMCLegend.SetFillColor(0)
134     SignalMCLegend.SetFillStyle(0)
135    
136     outputFile.cd(rootDirectory+"/"+channel)
137     Canvas = TCanvas(histogramName)
138     BgMCHistograms = []
139     SignalMCHistograms = []
140     DataHistograms = []
141    
142     backgroundIntegral = 0
143     dataIntegral = 0
144     scaleFactor = 1
145    
146     for sample in processed_datasets: # loop over different samples as listed in configurationOptions.py
147 ahart 1.28 dataset_file = "%s/%s.root" % (condor_dir,sample)
148 lantonel 1.10 inputFile = TFile(dataset_file)
149     Histogram = inputFile.Get(rootDirectory+"/"+channel+"/"+histogramName).Clone()
150     Histogram.SetDirectory(0)
151 lantonel 1.27 if arguments.rebinFactor:
152     RebinFactor = int(arguments.rebinFactor)
153     if Histogram.GetNbinsX() >= RebinFactor*10:
154     Histogram.Rebin(RebinFactor)
155 lantonel 1.10 inputFile.Close()
156     xAxisLabel = Histogram.GetXaxis().GetTitle()
157     histoTitle = Histogram.GetTitle()
158 wulsin 1.29
159     legLabel = labels[sample]
160     if (arguments.printYields):
161     yieldHist = Histogram.Integral()
162     legLabel = legLabel + " (%.1f)" % yieldHist
163    
164 lantonel 1.10 if( types[sample] == "bgMC"):
165    
166     numBgMCSamples += 1
167 wulsin 1.29
168 lantonel 1.16 if(arguments.noStack):
169 lantonel 1.14 Histogram.SetFillStyle(0)
170     Histogram.SetLineColor(colors[sample])
171     Histogram.SetLineWidth(2)
172 wulsin 1.29 BgMCLegend.AddEntry(Histogram,legLabel,"L")
173 lantonel 1.14 else:
174     Histogram.SetFillStyle(1001)
175     Histogram.SetFillColor(colors[sample])
176     Histogram.SetLineColor(1)
177     Histogram.SetLineWidth(1)
178 wulsin 1.29 BgMCLegend.AddEntry(Histogram,legLabel,"F")
179 lantonel 1.10 Histogram.SetLineStyle(1)
180    
181     backgroundIntegral += Histogram.Integral()
182    
183     BgMCHistograms.append(Histogram)
184    
185     elif( types[sample] == "signalMC"):
186    
187     numSignalSamples += 1
188 lantonel 1.11
189 lantonel 1.10 Histogram.SetFillStyle(0)
190     Histogram.SetLineColor(colors[sample])
191     Histogram.SetLineStyle(1)
192     Histogram.SetLineWidth(2)
193 lantonel 1.16 if(arguments.normalizeToUnitArea and Histogram.Integral() > 0):
194 lantonel 1.11 Histogram.Scale(1./Histogram.Integral())
195 wulsin 1.29 SignalMCLegend.AddEntry(Histogram,legLabel,"L")
196 lantonel 1.10 SignalMCHistograms.append(Histogram)
197    
198     elif( types[sample] == "data"):
199    
200     numDataSamples += 1
201    
202     Histogram.SetFillStyle(0)
203     Histogram.SetLineColor(colors[sample])
204     Histogram.SetLineStyle(1)
205     Histogram.SetLineWidth(2)
206 lantonel 1.16 if(arguments.normalizeToUnitArea and Histogram.Integral() > 0):
207 lantonel 1.11 Histogram.Scale(1./Histogram.Integral())
208 lantonel 1.10
209     dataIntegral += Histogram.Integral()
210    
211 wulsin 1.29 BgMCLegend.AddEntry(Histogram,legLabel,"LEP")
212 lantonel 1.10 DataHistograms.append(Histogram)
213    
214     if dataIntegral > 0 and backgroundIntegral > 0:
215     scaleFactor = dataIntegral/backgroundIntegral
216     for bgMCHist in BgMCHistograms:
217 lantonel 1.16 if arguments.normalizeToData:
218 lantonel 1.10 bgMCHist.Scale(scaleFactor)
219 lantonel 1.16 if arguments.normalizeToUnitArea and not arguments.noStack and backgroundIntegral > 0:
220 lantonel 1.11 bgMCHist.Scale(1./backgroundIntegral)
221 lantonel 1.16 elif arguments.normalizeToUnitArea and arguments.noStack and bgMCHist.Integral() > 0:
222 lantonel 1.14 bgMCHist.Scale(1./bgMCHist.Integral())
223 lantonel 1.16 if not arguments.noStack:
224 lantonel 1.14 Stack.Add(bgMCHist)
225 lantonel 1.3
226 lantonel 1.14
227     finalMax = 0
228 lantonel 1.16 if not arguments.noStack:
229 lantonel 1.14 finalMax = Stack.GetMaximum()
230     else:
231     for bgMCHist in BgMCHistograms:
232     if(bgMCHist.GetMaximum() > finalMax):
233     finalMax = bgMCHist.GetMaximum()
234 lantonel 1.10 for signalMCHist in SignalMCHistograms:
235     if(signalMCHist.GetMaximum() > finalMax):
236     finalMax = signalMCHist.GetMaximum()
237     for dataHist in DataHistograms:
238     if(dataHist.GetMaximum() > finalMax):
239     finalMax = dataHist.GetMaximum()
240 lantonel 1.4
241 lantonel 1.14
242    
243 lantonel 1.10 if len(DataHistograms) is 1:
244     dataIntegral += DataHistograms[0].Integral()
245 lantonel 1.15
246    
247     ### Drawing histograms to canvas
248    
249 lantonel 1.10
250     outputFile.cd(rootDirectory+"/"+channel)
251 lantonel 1.3
252 lantonel 1.16 makeRatioPlots = arguments.makeRatioPlots
253 lantonel 1.25 makeDiffPlots = arguments.makeDiffPlots
254    
255 lantonel 1.15 if numBgMCSamples is 0 or numDataSamples is not 1:
256     makeRatioPlots = False
257 lantonel 1.25 makeDiffPlots = False
258     if makeRatioPlots or makeDiffPlots:
259 lantonel 1.15 Canvas.SetFillStyle(0)
260     Canvas.Divide(1,2)
261     Canvas.cd(1)
262     gPad.SetPad(0.01,0.25,0.99,0.99)
263     gPad.SetMargin(0.1,0.05,0.02,0.07)
264     gPad.SetFillStyle(0)
265     gPad.Update()
266     gPad.Draw()
267     Canvas.cd(2)
268     gPad.SetPad(0.01,0.01,0.99,0.25)
269 lantonel 1.25 #format: gPad.SetMargin(l,r,b,t)
270 lantonel 1.15 gPad.SetMargin(0.1,0.05,0.4,0.02)
271     gPad.SetFillStyle(0)
272     gPad.SetGridy(1)
273     gPad.Update()
274     gPad.Draw()
275    
276     Canvas.cd(1)
277    
278 lantonel 1.10 if(numBgMCSamples is not 0):
279 ahart 1.28
280 lantonel 1.16 if not arguments.noStack:
281 lantonel 1.14 Stack.SetTitle(histoTitle)
282     Stack.Draw("HIST")
283     Stack.GetXaxis().SetTitle(xAxisLabel)
284     Stack.SetMaximum(1.1*finalMax)
285 lantonel 1.20 Stack.SetMinimum(0.0001)
286 lantonel 1.25 if makeRatioPlots or makeDiffPlots:
287 lantonel 1.15 Stack.GetHistogram().GetXaxis().SetLabelSize(0)
288 lantonel 1.14 else:
289     BgMCHistograms[0].SetTitle(histoTitle)
290     BgMCHistograms[0].Draw("HIST")
291     BgMCHistograms[0].GetXaxis().SetTitle(xAxisLabel)
292     BgMCHistograms[0].SetMaximum(1.1*finalMax)
293 lantonel 1.20 BgMCHistograms[0].SetMinimum(0.0001)
294 lantonel 1.14 for bgMCHist in BgMCHistograms:
295     bgMCHist.Draw("HIST SAME")
296 lantonel 1.10 for signalMCHist in SignalMCHistograms:
297     signalMCHist.Draw("HIST SAME")
298     for dataHist in DataHistograms:
299     dataHist.Draw("E SAME")
300    
301     elif(numSignalSamples is not 0):
302     SignalMCHistograms[0].SetTitle(histoTitle)
303     SignalMCHistograms[0].Draw("HIST")
304     SignalMCHistograms[0].GetXaxis().SetTitle(xAxisLabel)
305     SignalMCHistograms[0].SetMaximum(1.1*finalMax)
306 lantonel 1.20 SignalMCHistograms[0].SetMinimum(0.0001)
307 lantonel 1.10 for signalMCHist in SignalMCHistograms:
308     if(signalMCHist is not SignalMCHistograms[0]):
309     signalMCHist.Draw("HIST SAME")
310     for dataHist in DataHistograms:
311     dataHist.Draw("E SAME")
312 lantonel 1.1
313 lantonel 1.10 elif(numDataSamples is not 0):
314     DataHistograms[0].SetTitle(histoTitle)
315     DataHistograms[0].Draw("E")
316     DataHistograms[0].GetXaxis().SetTitle(xAxisLabel)
317     DataHistograms[0].SetMaximum(1.1*finalMax)
318 lantonel 1.20 DataHistograms[0].SetMinimum(0.0001)
319 lantonel 1.10 for dataHist in DataHistograms:
320     if(dataHist is not DataHistograms[0]):
321     dataHist.Draw("E SAME")
322 lantonel 1.3
323 lantonel 1.10
324     if(numBgMCSamples is not 0 or numDataSamples is not 0):
325     BgMCLegend.Draw()
326     if(numSignalSamples is not 0):
327     SignalMCLegend.Draw()
328    
329 lantonel 1.25 if not arguments.normalizeToUnitArea or numDataSamples > 0:
330     LumiLabel.Draw()
331 lantonel 1.16 if arguments.normalizeToData and numBgMCSamples > 0 and numDataSamples > 0:
332 lantonel 1.10 NormLabel = TPaveLabel(0.1,0.75,0.35,0.85,"MC scaled to data","NDC")
333     NormLabel.SetBorderSize(0)
334     NormLabel.SetFillColor(0)
335     NormLabel.SetFillStyle(0)
336     NormLabel.Draw()
337 lantonel 1.16 elif arguments.normalizeToUnitArea:
338 lantonel 1.13 NormLabel = TPaveLabel(0.1,0.75,0.35,0.85,"Scaled to unit area","NDC")
339     NormLabel.SetBorderSize(0)
340     NormLabel.SetFillColor(0)
341     NormLabel.SetFillStyle(0)
342     NormLabel.Draw()
343 lantonel 1.15
344    
345 lantonel 1.25 if makeRatioPlots or makeDiffPlots:
346 lantonel 1.15 Canvas.cd(2)
347     BgSum = Stack.GetStack().Last()
348 lantonel 1.25 Comparison = DataHistograms[0].Clone()
349     Comparison.Add(BgSum,-1)
350     if not makeDiffPlots:
351     Comparison.Divide(BgSum)
352     Comparison.SetTitle("")
353     Comparison.GetXaxis().SetTitle(xAxisLabel)
354     if makeRatioPlots:
355     Comparison.GetYaxis().SetTitle("#frac{Data-MC}{MC}")
356     elif makeDiffPlots:
357     Comparison.GetYaxis().SetTitle("Data-MC")
358     Comparison.GetYaxis().CenterTitle()
359     Comparison.GetYaxis().SetTitleSize(0.1)
360     Comparison.GetYaxis().SetTitleOffset(0.35)
361     Comparison.GetXaxis().SetTitleSize(0.15)
362     Comparison.GetYaxis().SetLabelSize(0.1)
363     Comparison.GetXaxis().SetLabelSize(0.15)
364     if makeRatioPlots:
365     Comparison.GetYaxis().SetRangeUser(-1,1)
366     elif makeDiffPlots:
367     YMax = Comparison.GetMaximum()
368     YMin = Comparison.GetMinimum()
369     if YMax <= 0 and YMin <= 0:
370     Comparison.GetYaxis().SetRangeUser(-1.2*YMin,0)
371     elif YMax >= 0 and YMin >= 0:
372     Comparison.GetYaxis().SetRangeUser(0,1.2*YMax)
373     else: #axis crosses y=0
374     if abs(YMax) > abs(YMin):
375     Comparison.GetYaxis().SetRangeUser(-1.2*YMax,1.2*YMax)
376     else:
377     Comparison.GetYaxis().SetRangeUser(-1.2*YMin,1.2*YMin)
378    
379     Comparison.GetYaxis().SetNdivisions(205)
380     Comparison.Draw()
381 lantonel 1.4
382 lantonel 1.10 Canvas.Write()
383 lantonel 1.1
384 lantonel 1.4
385 lantonel 1.26 if re.match ('TH2', key.GetClassName()) and arguments.draw2DPlots: # plot a 2-D histogram
386 lantonel 1.4
387 lantonel 1.10 numBgMCSamples = 0
388     numDataSamples = 0
389     numSignalSamples = 0
390    
391     if(intLumi < 1000.):
392     LumiText = "L_{int} = " + str(intLumi) + " pb^{-1}"
393     else:
394     getcontext().prec = 2
395     LumiInFb = intLumi/1000.
396     LumiText = "L_{int} = " + str(LumiInFb) + " fb^{-1}"
397    
398     LumiLabel = TPaveLabel(0.1,0.8,0.34,0.9,LumiText,"NDC")
399     LumiLabel.SetBorderSize(0)
400     LumiLabel.SetFillColor(0)
401     LumiLabel.SetFillStyle(0)
402    
403     BgMCLegend = TLegend(0.76,0.65,0.99,0.9, "Data & Bkgd. MC")
404     BgMCLegend.SetBorderSize(0)
405     BgMCLegend.SetFillColor(0)
406     BgMCLegend.SetFillStyle(0)
407     SignalMCLegend = TLegend(0.76,0.135,0.99,0.377,"Signal MC")
408     SignalMCLegend.SetBorderSize(0)
409     SignalMCLegend.SetFillColor(0)
410     SignalMCLegend.SetFillStyle(0)
411    
412     outputFile.cd(rootDirectory+"/"+channel)
413     Canvas = TCanvas(histogramName)
414     Canvas.SetRightMargin(0.2413793);
415     BgMCHistograms = []
416     SignalMCHistograms = []
417     DataHistograms = []
418    
419     for sample in processed_datasets: # loop over different samples as listed in configurationOptions.py
420 ahart 1.28 dataset_file = "%s/%s.root" % (condor_dir,sample)
421 lantonel 1.10 inputFile = TFile(dataset_file)
422     Histogram = inputFile.Get(rootDirectory+"/"+channel+"/"+histogramName).Clone()
423     Histogram.SetDirectory(0)
424 lantonel 1.25 RebinFactor = int(arguments.rebinFactor)
425     if arguments.rebinFactor and Histogram.GetNbinsX() >= RebinFactor*10 and Histogram.GetNbinsY() >= RebinFactor*10:
426     Histogram.Rebin2D(RebinFactor)
427 lantonel 1.10 inputFile.Close()
428     xAxisLabel = Histogram.GetXaxis().GetTitle()
429     yAxisLabel = Histogram.GetYaxis().GetTitle()
430     histoTitle = Histogram.GetTitle()
431    
432     if( types[sample] == "bgMC"):
433 lantonel 1.4
434 lantonel 1.10 numBgMCSamples += 1
435     Histogram.SetMarkerColor(colors[sample])
436     Histogram.SetFillColor(colors[sample])
437     BgMCLegend.AddEntry(Histogram,labels[sample],"F")
438     BgMCHistograms.append(Histogram)
439    
440     elif( types[sample] == "signalMC"):
441 lantonel 1.3
442 lantonel 1.10 numSignalSamples += 1
443     Histogram.SetMarkerColor(colors[sample])
444     Histogram.SetFillColor(colors[sample])
445     SignalMCLegend.AddEntry(Histogram,labels[sample],"F")
446     SignalMCHistograms.append(Histogram)
447    
448     elif( types[sample] == "data"):
449    
450     numDataSamples += 1
451     Histogram.SetMarkerColor(colors[sample])
452 wulsin 1.29 Histogram.SetFillColor(colors[sample])
453 lantonel 1.10 BgMCLegend.AddEntry(Histogram,labels[sample],"F")
454     DataHistograms.append(Histogram)
455    
456    
457     outputFile.cd(rootDirectory+"/"+channel)
458    
459     if(numBgMCSamples is not 0):
460     BgMCHistograms[0].SetTitle(histoTitle)
461     BgMCHistograms[0].GetXaxis().SetTitle(xAxisLabel)
462     BgMCHistograms[0].GetYaxis().SetTitle(yAxisLabel)
463     BgMCHistograms[0].Draw()
464     for signalMCHist in SignalMCHistograms:
465     signalMCHist.Draw("SAME")
466     for dataHist in DataHistograms:
467     dataHist.Draw("SAME")
468 lantonel 1.3
469 lantonel 1.10 elif(numSignalSamples is not 0):
470     SignalMCHistograms[0].SetTitle(histoTitle)
471     SignalMCHistograms[0].Draw()
472     SignalMCHistograms[0].GetXaxis().SetTitle(xAxisLabel)
473     SignalMCHistograms[0].GetYaxis().SetTitle(yAxisLabel)
474     for signalMCHist in SignalMCHistograms:
475     if(signalMCHist is not SignalMCHistograms[0]):
476     signalMCHist.Draw("SAME")
477     for dataHist in DataHistograms:
478     dataHist.Draw("SAME")
479    
480     elif(numDataSamples is not 0):
481     DataHistograms[0].SetTitle(histoTitle)
482     DataHistograms[0].GetXaxis().SetTitle(xAxisLabel)
483     DataHistograms[0].GetYaxis().SetTitle(yAxisLabel)
484     DataHistograms[0].Draw()
485     for dataHist in DataHistograms:
486     if(dataHist is not DataHistograms[0]):
487     dataHist.Draw("SAME")
488 lantonel 1.3
489 lantonel 1.8
490 lantonel 1.10 if(numBgMCSamples is not 0 or numDataSamples is not 0):
491     BgMCLegend.Draw()
492     if(numSignalSamples is not 0):
493     SignalMCLegend.Draw()
494 lantonel 1.25 if not arguments.normalizeToUnitArea or numDataSamples > 0:
495     LumiLabel.Draw()
496 lantonel 1.4
497 lantonel 1.10 Canvas.Write()
498    
499 lantonel 1.4
500 lantonel 1.1
501 ahart 1.28 #for dataset in processed_datasets:
502     # dataset_file = "%s/%s.root_tmp" % (condor_dir,dataset)
503     # os.remove(dataset_file)
504 lantonel 1.1
505     outputFile.Close()