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)