127def removeLargeErrorPoints(nomGraph, graphs) :
128
129 newGraphsIntermediate = []
130 newGraphsFinal = []
131 badPoints = []
132
133 for i, graph in enumerate(graphs+[nomGraph]):
134
135
136 for iPoint
in xrange(0, graph.GetN()) :
137
138 dataPointX = Double(0)
139 dataPointY = Double(0)
140
141 graph.GetPoint(iPoint,dataPointX,dataPointY)
142 dataErrorX = graph.GetErrorX(iPoint)
143 dataErrorY = graph.GetErrorY(iPoint)
144 print "graph no:", i
145 print graph.GetName()
146
147 print "removeLargeErrorPoints:" , dataPointX, dataPointY, dataErrorX, dataErrorY
148
149 if dataErrorY > 0.011 or dataErrorY < 0.00000001 :
150 if not (iPoint in badPoints) : badPoints.append(iPoint)
151
152
153
154 for i, graph in enumerate(graphs):
155
156 newGraph = graph.Clone()
157 newGraphsFinal.append(newGraph)
158
159 for iPoint
in xrange(0, graph.GetN()) :
160
161 dataPointX = Double(0)
162 dataPointY = Double(0)
163
164 dataErrorX = graph.GetErrorX(iPoint)
165 dataErrorY = graph.GetErrorY(iPoint)
166
167 graph.GetPoint(iPoint,dataPointX,dataPointY)
168
169 if not (iPoint in badPoints) :
170 newGraph.SetPoint(iPoint, dataPointX, dataPointY)
171 newGraph.SetPointError(iPoint, dataErrorX, dataErrorY)
172
173 else :
174 newGraph.SetPoint(iPoint, dataPointX, 1)
175 newGraph.SetPointError(iPoint, dataErrorX, 0)
176
177
178 nomGraphFinal = nomGraph.Clone()
179
180 for iPoint
in xrange(0, nomGraph.GetN()) :
181
182 dataPointX = Double(0)
183 dataPointY = Double(0)
184 nomGraph.GetPoint(iPoint,dataPointX,dataPointY)
185 dataErrorX = nomGraph.GetErrorX(iPoint)
186 dataErrorY = nomGraph.GetErrorY(iPoint)
187
188 if not (iPoint in badPoints) :
189 nomGraphFinal.SetPoint(iPoint, dataPointX, dataPointY)
190 nomGraphFinal.SetPointError(iPoint, dataErrorX, dataErrorY)
191
192 else :
193 nomGraphFinal.SetPoint(iPoint, dataPointX, 1)
194 nomGraphFinal.SetPointError(iPoint, dataErrorX, 0)
195
196 c = TCanvas()
197
198
199
200
201
202
203 return nomGraphFinal, newGraphsFinal
204
205
206
207
208
209
210
211
212