ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/OSUT3Analysis/Configuration/scripts/fitMCToData.py
(Generate patch)

Comparing UserCode/OSUT3Analysis/Configuration/scripts/fitMCToData.py (file contents):
Revision 1.1 by ahart, Sun Apr 7 00:57:26 2013 UTC vs.
Revision 1.2 by ahart, Tue Apr 9 21:42:18 2013 UTC

# Line 61 | Line 61 | for histogram in input_histograms:
61      if histogram['target_dataset'] not in datasets_needed:
62          datasets_needed.append(histogram['target_dataset'])
63  
64 < weight = intLumi / 10000.0
65 < for dataset in datasets_needed:
66 <    dataset_file = "%s/%s.root" % (condor_dir,dataset)
67 <    fin = TFile (dataset_file)
68 <    flags = fin.Get ("flags")
69 <    noWeights = flags and flags.GetBinContent (1)
70 <    fin.Close ()
71 <
72 <    if types[dataset] != "data" and not noWeights:
73 <        os.system("mergeTFileServiceHistograms -i %s -o %s -w %g" % (dataset_file, dataset_file + "_tmp", weight))
74 <    else:
75 <        os.system("mergeTFileServiceHistograms -i %s -o %s -w %g" % (dataset_file, dataset_file + "_tmp", 1.0))
64 > #weight = intLumi / 10000.0
65 > #for dataset in datasets_needed:
66 > #    dataset_file = "%s/%s.root" % (condor_dir,dataset)
67 > #    fin = TFile (dataset_file)
68 > #    flags = fin.Get ("flags")
69 > #    noWeights = flags and flags.GetBinContent (1)
70 > #    fin.Close ()
71 > #
72 > #    if types[dataset] != "data" and not noWeights:
73 > #        os.system("mergeTFileServiceHistograms -i %s -o %s -w %g" % (dataset_file, dataset_file + "_tmp", weight))
74 > #    else:
75 > #        os.system("mergeTFileServiceHistograms -i %s -o %s -w %g" % (dataset_file, dataset_file + "_tmp", 1.0))
76  
77   for histogram in input_histograms:
78      HistogramsToFit = []
# Line 95 | Line 95 | for histogram in input_histograms:
95      LumiLabel.SetFillColor(0)
96      LumiLabel.SetFillStyle(0)
97  
98 <    Label = TPaveText(0.34, 0.7, 0.64, 0.9,"NDC")
98 >    Label = TPaveText(0.39, 0.7, 0.59, 0.9,"NDC")
99      Label.SetBorderSize(0)
100      Label.SetFillColor(0)
101      Label.SetFillStyle(0)
# Line 112 | Line 112 | for histogram in input_histograms:
112      numDataSamples = 0
113      numSignalSamples = 0
114  
115 <    fileName = condor_dir + "/" + histogram['target_dataset'] + ".root_tmp"
115 >    fileName = condor_dir + "/" + histogram['target_dataset'] + ".root"
116      if not os.path.exists(fileName):
117          continue
118      inputFile = TFile(fileName)
# Line 141 | Line 141 | for histogram in input_histograms:
141          outputFile.Get ("OSUAnalysis").mkdir (histogram['channel'])
142  
143      for dataset in histogram['datasets']:
144 <        fileName = condor_dir + "/" + dataset + ".root_tmp"
144 >        fileName = condor_dir + "/" + dataset + ".root"
145          if not os.path.exists(fileName):
146              continue
147          inputFile = TFile(fileName)
# Line 194 | Line 194 | for histogram in input_histograms:
194  
195      for i in range (0, len (HistogramsToFit)):
196          func.SetParameter (i, 1.0)
197        func.SetParLimits (i, 0.0, 10.0)
197          func.SetParName (i, labels[HistogramDatasets[i]])
198  
199      for i in range (0, histogram['iterations'] - 1):
# Line 209 | Line 208 | for histogram in input_histograms:
208      Target.SetMarkerColor (1)
209      Target.SetLineColor (1)
210  
211 +    finalMax = 0
212 +    if not arguments.noStack:
213 +        for bgMCHist in HistogramsToFit:
214 +            finalMax += bgMCHist.GetMaximum()
215 +    else:
216 +        for bgMCHist in HistogramsToFit:
217 +            if(bgMCHist.GetMaximum() > finalMax):
218 +                finalMax = bgMCHist.GetMaximum()
219 +    if(Target.GetMaximum() > finalMax):
220 +        finalMax = Target.GetMaximum()
221 +
222 +    Target.SetMaximum(1.1*finalMax)
223 +    Target.SetMinimum(0.0001)
224 +
225      Canvas = TCanvas(histogram['name'])
226      Canvas.cd (1)
227      Target.Draw ()
# Line 233 | Line 246 | for histogram in input_histograms:
246              if not arguments.noStack:
247                  Stack[i].Add(bgMCHist)
248  
236        finalMax = 0
237        if not arguments.noStack:
238            finalMax = Stack[i].GetMaximum()
239        else:
240            for bgMCHist in HistogramsToFit:
241                if(bgMCHist.GetMaximum() > finalMax):
242                    finalMax = bgMCHist.GetMaximum()
243        if(Target.GetMaximum() > finalMax):
244            finalMax = Target.GetMaximum()
245
249          makeRatioPlots = arguments.makeRatioPlots
250          makeDiffPlots = arguments.makeDiffPlots
251          if i == 0:
# Line 295 | Line 298 | for histogram in input_histograms:
298              Label.AddText ("Before Fit to Data")
299          if i == 1:
300              Label.AddText ("After Fit to Data")
301 <        Label.AddText ("data yield: " + str (dataYield))
302 <        Label.AddText ("MC yield: " + str (mcYield))
301 >        Label.AddText ("data yield: " + '%.1f' % dataYield)
302 >        Label.AddText ("MC yield: " + '%.1f' % mcYield)
303  
304          Target.Draw("E SAME")
305          BgMCLegend.Draw()
# Line 355 | Line 358 | for histogram in input_histograms:
358  
359   outputFile.Close ()
360  
361 < for dataset in datasets_needed:
362 <    dataset_file = "%s/%s.root_tmp" % (condor_dir,dataset)
363 <    os.remove(dataset_file)
361 > #for dataset in datasets_needed:
362 > #    dataset_file = "%s/%s.root_tmp" % (condor_dir,dataset)
363 > #    os.remove(dataset_file)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines