7 sys.argv = [sys.argv[0],
'-b']
9 from ROOT
import TH1, TGraphErrors, TGraphAsymmErrors, Double, TCanvas, TH1F
12 from array
import array
16 plot.GetXaxis().SetLabelFont(42)
17 plot.GetXaxis().SetTitleFont(42)
18 plot.GetYaxis().SetLabelFont(42)
19 plot.GetYaxis().SetTitleFont(42)
27 colorlist = [214,100,221,417,869,617,603,635,807,413,616,215]
28 markerlist = [20,25,22,26,21,20,24,27,29,28,20,30]
31 plot.SetMarkerStyle(markerlist[i])
32 plot.SetMarkerColor(colorlist[i])
34 plot.SetLineColor(colorlist[i])
42 newPlot = TGraphErrors()
44 for i
in xrange(0,nPoints) :
46 dataPointX = Double(0)
47 dataPointY = Double(0)
49 plot.GetPoint(i,dataPointX,dataPointY)
51 if dataPointY < 0.000001 : dataPointY = 0.000001
52 errorX = plot.GetErrorX(i)
53 errorY = plot.GetErrorY(i)
54 newPlot.SetPoint(i, dataPointX/1000., dataPointY)
55 newPlot.SetPointError(i, errorX/1000., errorY)
68 thisBandsGraph = TGraphAsymmErrors()
69 thisBandsGraph.SetName(middleGraph.GetName())
70 thisBandsGraph.SetMarkerStyle(middleGraph.GetMarkerStyle());
71 thisBandsGraph.SetMarkerSize(middleGraph.GetMarkerSize());
72 thisBandsGraph.SetMarkerColor(middleGraph.GetMarkerColor());
73 thisBandsGraph.SetLineColor(middleGraph.GetLineColor());
75 for iPoint
in xrange(0, middleGraph.GetN()) :
77 dataPointX = Double(0)
78 dataPointY = Double(0)
79 dataErrorX = Double(0)
81 middleGraph.GetPoint(iPoint,dataPointX,dataPointY)
82 dataErrorX = middleGraph.GetErrorX(iPoint)
83 dataPointY = fabs(dataPointY-1)
85 if(dataPointY != 0
and iPoint < middleGraph.GetN()):
86 thisBandsGraph.SetPoint(iPoint, dataPointX, dataPointY)
87 thisBandsGraph.SetPointError(iPoint, dataErrorX, dataErrorX, 0, 0)
93 thisBandsGraph = TGraphAsymmErrors()
94 thisBandsGraph.SetName(middleGraph.GetName())
95 thisBandsGraph.SetMarkerStyle(middleGraph.GetMarkerStyle());
96 thisBandsGraph.SetMarkerSize(middleGraph.GetMarkerSize());
97 thisBandsGraph.SetMarkerColor(middleGraph.GetMarkerColor());
98 thisBandsGraph.SetLineColor(middleGraph.GetLineColor());
100 for iPoint
in xrange(0, middleGraph.GetN()) :
102 dataPointX = Double(0)
103 dataPointY = Double(0)
104 dataErrorX = Double(0)
106 middleGraph.GetPoint(iPoint,dataPointX,dataPointY)
107 dataErrorX = middleGraph.GetErrorX(iPoint)
108 dataErrorY = middleGraph.GetErrorY(iPoint)
110 dataPointY = fabs(dataPointY-1)
112 if(iPoint < middleGraph.GetN()):
115 print "fixPlots:" , dataPointX
117 thisBandsGraph.SetPoint(iPoint, dataPointX, dataPointY)
118 thisBandsGraph.SetPointError(iPoint, dataErrorX, dataErrorX, dataErrorY, dataErrorY)
125 return thisBandsGraph
129 newGraphsIntermediate = []
133 for i, graph
in enumerate(graphs+[nomGraph]):
136 for iPoint
in xrange(0, graph.GetN()) :
138 dataPointX = Double(0)
139 dataPointY = Double(0)
141 graph.GetPoint(iPoint,dataPointX,dataPointY)
142 dataErrorX = graph.GetErrorX(iPoint)
143 dataErrorY = graph.GetErrorY(iPoint)
145 print graph.GetName()
147 print "removeLargeErrorPoints:" , dataPointX, dataPointY, dataErrorX, dataErrorY
149 if dataErrorY > 0.011
or dataErrorY < 0.00000001 :
150 if not (iPoint
in badPoints) : badPoints.append(iPoint)
154 for i, graph
in enumerate(graphs):
156 newGraph = graph.Clone()
157 newGraphsFinal.append(newGraph)
159 for iPoint
in xrange(0, graph.GetN()) :
161 dataPointX = Double(0)
162 dataPointY = Double(0)
164 dataErrorX = graph.GetErrorX(iPoint)
165 dataErrorY = graph.GetErrorY(iPoint)
167 graph.GetPoint(iPoint,dataPointX,dataPointY)
169 if not (iPoint
in badPoints) :
170 newGraph.SetPoint(iPoint, dataPointX, dataPointY)
171 newGraph.SetPointError(iPoint, dataErrorX, dataErrorY)
174 newGraph.SetPoint(iPoint, dataPointX, 1)
175 newGraph.SetPointError(iPoint, dataErrorX, 0)
178 nomGraphFinal = nomGraph.Clone()
180 for iPoint
in xrange(0, nomGraph.GetN()) :
182 dataPointX = Double(0)
183 dataPointY = Double(0)
184 nomGraph.GetPoint(iPoint,dataPointX,dataPointY)
185 dataErrorX = nomGraph.GetErrorX(iPoint)
186 dataErrorY = nomGraph.GetErrorY(iPoint)
188 if not (iPoint
in badPoints) :
189 nomGraphFinal.SetPoint(iPoint, dataPointX, dataPointY)
190 nomGraphFinal.SetPointError(iPoint, dataErrorX, dataErrorY)
193 nomGraphFinal.SetPoint(iPoint, dataPointX, 1)
194 nomGraphFinal.SetPointError(iPoint, dataErrorX, 0)
203 return nomGraphFinal, newGraphsFinal
215 newGraphsIntermediate = []
219 for i, graph
in enumerate(graphs+[nomGraph]):
222 for iPoint
in xrange(0, graph.GetN()) :
225 if iPoint == 0 :
continue
226 dataPointX = Double(0)
227 dataPointY = Double(0)
229 graph.GetPoint(iPoint,dataPointX,dataPointY)
230 dataErrorX = graph.GetErrorX(iPoint)
231 dataErrorY = graph.GetErrorY(iPoint)
232 print graph.GetName()
234 if dataErrorY > 0.011
or dataErrorY < 0.00000001 :
235 if not (iPoint
in badPoints) : badPoints.append(iPoint)
239 for i, graph
in enumerate(graphs):
241 newGraph = graph.Clone()
242 newGraphsFinal.append(newGraph)
244 for iPoint
in xrange(0, graph.GetN()) :
246 dataPointX = Double(0)
247 dataPointY = Double(0)
249 dataErrorX = graph.GetErrorX(iPoint)
250 dataErrorY = graph.GetErrorY(iPoint)
252 graph.GetPoint(iPoint,dataPointX,dataPointY)
254 if not (iPoint
in badPoints) :
255 newGraph.SetPoint(iPoint, dataPointX, dataPointY)
256 newGraph.SetPointError(iPoint, dataErrorX, dataErrorY)
259 newGraph.SetPoint(iPoint, dataPointX, 1)
260 newGraph.SetPointError(iPoint, dataErrorX, 0)
263 nomGraphFinal = nomGraph.Clone()
265 for iPoint
in xrange(0, nomGraph.GetN()) :
267 dataPointX = Double(0)
268 dataPointY = Double(0)
269 nomGraph.GetPoint(iPoint,dataPointX,dataPointY)
270 dataErrorX = nomGraph.GetErrorX(iPoint)
271 dataErrorY = nomGraph.GetErrorY(iPoint)
273 if not (iPoint
in badPoints) :
274 nomGraphFinal.SetPoint(iPoint, dataPointX, dataPointY)
275 nomGraphFinal.SetPointError(iPoint, dataErrorX, dataErrorY)
278 nomGraphFinal.SetPoint(iPoint, dataPointX, 1)
279 nomGraphFinal.SetPointError(iPoint, dataErrorX, 0)
287 return nomGraphFinal, newGraphsFinal
299 newGraphsIntermediate = []
303 for i, graph
in enumerate(graphs+[nomGraph]):
306 for iPoint
in xrange(0, graph.GetN()) :
308 dataPointX = Double(0)
309 dataPointY = Double(0)
311 graph.GetPoint(iPoint,dataPointX,dataPointY)
312 dataErrorX = graph.GetErrorX(iPoint)
313 dataErrorY = graph.GetErrorY(iPoint)
315 if dataErrorY > 5
or dataErrorY < 0.00000001 :
316 if not (iPoint
in badPoints) : badPoints.append(iPoint)
320 for i, graph
in enumerate(graphs):
322 newGraph = graph.Clone()
323 newGraphsFinal.append(newGraph)
325 for iPoint
in xrange(0, graph.GetN()) :
327 dataPointX = Double(0)
328 dataPointY = Double(0)
330 dataErrorX = graph.GetErrorX(iPoint)
331 dataErrorY = graph.GetErrorY(iPoint)
333 graph.GetPoint(iPoint,dataPointX,dataPointY)
335 if not (iPoint
in badPoints) :
336 newGraph.SetPoint(iPoint, dataPointX, dataPointY)
337 newGraph.SetPointError(iPoint, dataErrorX, dataErrorY)
340 newGraph.SetPoint(iPoint, dataPointX, 1)
341 newGraph.SetPointError(iPoint, dataErrorX, 0)
344 nomGraphFinal = nomGraph.Clone()
346 for iPoint
in xrange(0, nomGraph.GetN()) :
348 dataPointX = Double(0)
349 dataPointY = Double(0)
350 nomGraph.GetPoint(iPoint,dataPointX,dataPointY)
351 dataErrorX = nomGraph.GetErrorX(iPoint)
352 dataErrorY = nomGraph.GetErrorY(iPoint)
354 if not (iPoint
in badPoints) :
355 nomGraphFinal.SetPoint(iPoint, dataPointX, dataPointY)
356 nomGraphFinal.SetPointError(iPoint, dataErrorX, dataErrorY)
359 nomGraphFinal.SetPoint(iPoint, dataPointX, 1)
360 nomGraphFinal.SetPointError(iPoint, dataErrorX, 0)
369 return nomGraphFinal, newGraphsFinal
375 nPoints = graph.GetN()
385 for iPoint
in xrange(0,nPoints) :
387 dataPointX = Double(0)
388 dataPointY = Double(0)
389 graph.GetPoint(iPoint,dataPointX,dataPointY)
390 dataErrorX = graph.GetErrorX(iPoint)
391 dataErrorY = graph.GetErrorY(iPoint)
393 x.append(dataPointX-dataErrorX)
395 ey.append(dataErrorY)
398 x.append(dataPointX+dataErrorX)
403 for iPoint
in xrange(0,nPoints) :
409 if y[iPoint]<0.00000001 :
413 myHist=
TH1F(
"Hist"+graph.GetName(),graph.GetTitle(),nPoints,x)
415 for iPoint
in xrange(0,nPoints) :
417 myHist.SetBinContent(iPoint+1,y[iPoint])
419 myHist.SetBinError(iPoint+1,0)
432 nPoints = graph.GetN()
438 for iPoint
in xrange(0,nPoints) :
440 dataPointX = Double(0)
441 dataPointY = Double(0)
442 graph.GetPoint(iPoint,dataPointX,dataPointY)
443 dataErrorX = graph.GetErrorX(iPoint)
444 dataErrorY = graph.GetErrorYhigh(iPoint)
446 x.append(dataPointX-dataErrorX)
448 ey.append(dataErrorY)
450 x.append(dataPointX+dataErrorX)
455 print "This TGraph is not centered at zero!"
458 myHist=
TH1F(
"Hist",
"Hist",nPoints,x)
460 for iPoint
in xrange(0,nPoints) :
461 if x[iPoint]<=x[iPoint+1] :
"HELP!"
464 myHist.SetBinContent(iPoint+1,ey[iPoint])
465 myHist.SetBinError(iPoint+1,0)
473 for iPoint
in xrange(0, graph.GetN()) :
475 dataPointX = Double(0)
476 dataPointY = Double(0)
478 graph.GetPoint(iPoint,dataPointX,dataPointY)
479 dataErrorX = graph.GetErrorX(iPoint)
480 dataErrorY = graph.GetErrorY(iPoint)
482 if dataErrorY > 0.011
or dataErrorY < 0.00000001
or iPoint>graph.GetN()-3 :
483 if not (iPoint
in badPoints) : badPoints.append(iPoint)
485 newGraph = graph.Clone()
487 for iPoint
in xrange(0, graph.GetN()) :
489 dataPointX = Double(0)
490 dataPointY = Double(0)
492 dataErrorX = graph.GetErrorX(iPoint)
493 dataErrorY = graph.GetErrorY(iPoint)
495 graph.GetPoint(iPoint,dataPointX,dataPointY)
497 if not (iPoint
in badPoints) :
498 newGraph.SetPoint(iPoint, dataPointX, dataPointY)
499 newGraph.SetPointError(iPoint, dataErrorX, dataErrorY)
502 newGraph.SetPoint(iPoint, dataPointX, 0.00000001)
503 newGraph.SetPointError(iPoint, dataErrorX, 0)