def makePlots(): outputFile_name = 'PUbins_{0}.ps'.format(label) canvas = TCanvas("canvas", "canvas") canvas.Print(outputFile_name + "[") lowEdgesOfBins = [0, 11, 14, 18, 40] lowEdgesOfBins.pop() # toglie 40. dalla lista cosi` ho solo gli inizi PU_cuts_labels = [] PU_cuts_labels.append('# PV #leq {}'.format(lowEdgesOfBins[1])) for i in range(1, len(lowEdgesOfBins) - 1): PU_cuts_labels.append('{} < # PV #leq {}'.format( lowEdgesOfBins[i], lowEdgesOfBins[i + 1])) PU_cuts_labels.append('# PV > {}'.format( lowEdgesOfBins[len(lowEdgesOfBins) - 1])) PU_cuts = [] PU_cuts.append('numPrimaryVertices <= {}'.format(lowEdgesOfBins[1])) for i in range(1, len(lowEdgesOfBins) - 1): PU_cuts.append( 'numPrimaryVertices > {} && numPrimaryVertices <= {}'.format( lowEdgesOfBins[i], lowEdgesOfBins[i + 1])) PU_cuts.append('numPrimaryVertices > {}'.format( lowEdgesOfBins[len(lowEdgesOfBins) - 1])) cuts = Cuts() cuts = cuts.loadFromFile("../cuts.txt") Chib1_parameters, canvas = doMCFit(inputfile_name=rootupla_Chib1_Sel, mass_chib=mass_chib1_1P, output_name='ChiB1', cuts=cuts, plotTitle='#chi_{b1}', fittedVariable=fittedVariable) canvas.Print(outputFile_name) Chib2_parameters, canvas = doMCFit(inputfile_name=rootupla_Chib2_Sel, mass_chib=mass_chib2_1P, output_name='ChiB2', cuts=cuts, plotTitle='#chi_{b2}', fittedVariable=fittedVariable) canvas.Print(outputFile_name) print "Creating DataSet from file " + str(rootupla_2012Data) dataSet = makeRooDataset(rootupla_2012Data) y = [] ey = [] for i in range(len(lowEdgesOfBins)): cuts.str_cut = '&& ' + PU_cuts[i] plotTitle_add = PU_cuts_labels[i] numChib, canvas = doDataFit(RooDataSet=dataSet, Chib1_parameters=Chib1_parameters, Chib2_parameters=Chib2_parameters, cuts=cuts, plotTitle='#chi_{b}(1P)' + plotTitle_add, fittedVariable=fittedVariable) canvas.Print(outputFile_name) #canvas.Print('imgPU/{}_PU{}.png'.format(label,i+1)) y.append(numChib.calcRatio()) ey.append(numChib.calcRatioError()) lowEdgesOfBins = lowEdgesOfBins + [40] x = array('d', [(lowEdgesOfBins[i - 1] + lowEdgesOfBins[i]) / 2. for i in range(1, len(lowEdgesOfBins))]) ex = array('d', [(x[i - 1] - lowEdgesOfBins[i - 1]) for i in range(1, len(lowEdgesOfBins))]) y = array('d', y) ey = array('d', ey) h_ratios = TGraphErrors(len(x), x, y, ex, ey) h_ratios.SetTitle( 'Ratio #chi_{b2}/#chi_{b1};Number of primary vertices;N_{2}/N_{1}') gStyle.SetOptStat(0) h_ratios.SetMinimum(0) h_ratios.SetMaximum(1) h_ratios.Draw() canvas.Print(outputFile_name) # #canvas.Print('imgPU/{0}_PU.pdf'.format(label)) # canvas.Print('imgPU/{0}_PU.root'.format(label)) h_ratios.SaveAs('imgPU/{0}_PU.root'.format(label)) canvas.Print(outputFile_name + "]")