dataArr[bin] += 2. * ( plusVal / ( plusVal + minVal ) - plusValB / ( plusValB + minValB ) ) dataErrArr = array( 'd', [ 2. / m0 * sqrt( n0 * ( 1. + nu )**2 / 4. - n1 * nu )\ for nu, m0, n0, n1 in zip( dataArr, eventSums['m0'], eventSums['n0'], eventSums['n1'] ) ] ) dataArr.append( dataArr[0] ) dataErrArr.append( dataErrArr[0] ) dataGraph = Graph( len(timeArr), timeArr, dataArr, timeErrArr, dataErrArr ) dataGraph.SetName('data') if not asymMax : asymMax = 1.1 * max( max( abs( val + err ), abs( val - err ) ) for val, err in zip( dataArr, dataErrArr ) ) # set graph attributes if not asymMax : asymMax = 1. from ROOT import kBlack, kBlue, kRed dummyGraph = Graph( numTimeBins + 1 ) dummyGraph.SetName('dummy') dummyGraph.setAtts( kBlack, 0., -asymMax, +asymMax ) if dataGraph : dataGraph.setAtts( kBlack, 1., -asymMax, +asymMax ) if pdfIntGraph : pdfIntGraph.setAtts( kBlue, 1., -asymMax, +asymMax ) if pdfGraph : pdfGraph.setAtts( kRed if pdfIntGraph else kBlue, 0.1, -asymMax, +asymMax ) # create line from ROOT import TLine, kDotted dotLine = TLine() dotLine.SetLineStyle(kDotted) # create label from ROOT import TLatex label = TLatex() label.SetTextAlign(12) label.SetTextSize(0.072)