dataPlotters[-1].addCorrectionFactor('xsec','tree') dataPlotters[-1].addCorrectionFactor('genWeight','tree') dataPlotters[-1].addCorrectionFactor('puWeight','tree') data=MergedPlotter(dataPlotters) binningx=map(float,options.binningx.split(',')) binningy=map(float,options.binningy.split(',')) #STandard histogramming histo=data.drawTH2Binned(options.vary+":"+options.varx,options.cut,"1",binningx,binningy) histoSUP=data.drawTH2Binned(options.vary+"Up:"+options.varx,options.cut,"1",binningx,binningy) histoSDWN=data.drawTH2Binned(options.vary+"Down:"+options.varx,options.cut,"1",binningx,binningy) histoRUP=data.drawTH2Binned(options.vary+"Smear:"+options.varx,options.cut,"1",binningx,binningy) histoRDWN = mirror(histo,histoRUP) renormalizeHisto(histo) renormalizeHisto(histoSUP) renormalizeHisto(histoSDWN) renormalizeHisto(histoRUP) renormalizeHisto(histoRDWN)
scaleyHisto=ROOT.TH1F("scaleyHisto","scaleHisto",len(binsx)-1,array('d',binsx)) resyHisto=ROOT.TH1F("resyHisto","resHisto",len(binsx)-1,array('d',binsx)) variables=options.vars.split(',') genVariables=options.genVars.split(',') gaussian=ROOT.TF1("gaussian","gaus",0.5,1.5) f=ROOT.TFile(options.output,"RECREATE") print "create output file " + str(options.output) f.cd() superHX=data.drawTH2Binned(variables[0]+'/'+genVariables[0]+':'+genVariables[2],options.cut,"1",binsx,binsz) superHY=data.drawTH2Binned(variables[1]+'/'+genVariables[1]+':'+genVariables[2],options.cut,"1",binsx,binsz) for bin in range(1,superHX.GetNbinsX()+1): tmp=superHX.ProjectionY("q",bin,bin) scalexHisto.SetBinContent(bin,tmp.GetMean()) scalexHisto.SetBinError(bin,tmp.GetMeanError()) resxHisto.SetBinContent(bin,tmp.GetRMS()) resxHisto.SetBinError(bin,tmp.GetRMSError()) tmp=superHY.ProjectionY("q",bin,bin) scaleyHisto.SetBinContent(bin,tmp.GetMean()) scaleyHisto.SetBinError(bin,tmp.GetMeanError())
resyHisto = ROOT.TH1F("resyHisto", "resHisto", len(binsx) - 1, array('d', binsx)) #scaleNsubjHisto=ROOT.TH1F("scaleNsubjHisto","scaleHisto",len(binsx)-1,array('d',binsx)) #resNsubjHisto=ROOT.TH1F("resNsubjHisto","resHisto",len(binsx)-1,array('d',binsx)) variables = options.vars.split(',') genVariables = options.genVars.split(',') gaussian = ROOT.TF1("gaussian", "gaus", 0.5, 1.5) f = ROOT.TFile(options.output, "RECREATE") f.cd() superHX = data.drawTH2Binned(variables[0] + '/' + genVariables[0] + ':' + genVariables[2], options.cut, "1", binsx, binsz_x) #mvv superHY = data.drawTH2Binned(variables[1] + '/' + genVariables[1] + ':' + genVariables[2], options.cut, "1", binsx, binsz_y) #mjet #superHNsubj=data.drawTH2Binned('(jj_l1_tau2/jj_l1_tau1)/(jj_l1_gen_tau2/jj_l1_gen_tau1)'+':'+genVariables[2],options.cut,"1",binsx,binsz) #for smearing tau21 # superHX=data.drawTH2Binned(variables[0]+'/'+genVariables[0]+':'+varDijet,options.cut,"1",binsDijet,binsz) #mvv, if using dijetbinning # superHY=data.drawTH2Binned(variables[1]+'/'+genVariables[1]+':'+varDijet,options.cut,"1",binsDijet,binsz) #mjet, if using dijetbinning for bin in range(1, superHX.GetNbinsX() + 1): # tmp=superHX.ProjectionY("q",bin,bin) # scalexHisto.SetBinContent(bin,tmp.GetMean()) # scalexHisto.SetBinError(bin,tmp.GetMeanError()) # resxHisto.SetBinContent(bin,tmp.GetRMS())