def addCurve(self, name, label): def getHisto(dataset): tmp = self.datasets.getDataset(dataset).getDatasetRootHisto(name) #tmp.normalizeToLuminosity(46) tmp.normalizeByCrossSection() return tmp.getHistogram() signalRootHisto = getHisto("Signal") signalEff = muonAnalysis.dist2eff(signalRootHisto) signalEffValues = dataset.histoToList(signalEff) tmpHistoManager = histograms.HistoManager(self.datasets, name) tmpHistoManager.normalizeMCByCrossSection() #tmpHistoManager.normalizeMCByLuminosity() mcSum = histograms.sumRootHistos([ muonAnalysis.getSumOrRootHisto(histo) for histo in filter( lambda h: h.isMC(), tmpHistoManager.getHistos()) ]) mcSum = muonAnalysis.dist2pass(mcSum) bkgHisto = tmpHistoManager.getHisto("Background") bkg = muonAnalysis.getSumOrRootHisto(bkgHisto).Clone(name + "_bkgfraction") bkg = muonAnalysis.dist2pass(bkg) bkg.Divide(mcSum) bkgValues = dataset.histoToList(bkg) curve = ROOT.TGraph(len(signalEffValues), array.array("d", signalEffValues), array.array("d", bkgValues)) self.histoMgr.appendHisto(histograms.HistoGraph(curve, label))
def addCurve(self, name, label): def getHisto(dataset): tmp = self.datasets.getDataset(dataset).getDatasetRootHisto(name) tmp.normalizeByCrossSection() return tmp.getHistogram() signalRootHisto = getHisto("Signal") bkgRootHisto = getHisto("Background") signalEff = muonAnalysis.dist2eff(signalRootHisto) bkgRej = muonAnalysis.dist2rej(bkgRootHisto) # bkgRej = muonAnalysis.dist2eff(bkgRootHisto) signalEffValues = dataset.histoToList(signalEff) bkgRejValues = dataset.histoToList(bkgRej) roc = ROOT.TGraph(len(signalEffValues), array.array("d", signalEffValues), array.array("d", bkgRejValues)) self.histoMgr.appendHisto(histograms.HistoGraph(roc, label))
def addCurve(self, name, label): def getHisto(dataset): tmp = self.datasets.getDataset(dataset).getDatasetRootHisto(name) #tmp.normalizeToLuminosity(46) tmp.normalizeByCrossSection() return tmp.getHistogram() signalRootHisto = getHisto("Signal") signalEff = muonAnalysis.dist2eff(signalRootHisto) signalEffValues = dataset.histoToList(signalEff) tmpHistoManager = histograms.HistoManager(self.datasets, name) tmpHistoManager.normalizeMCByCrossSection() #tmpHistoManager.normalizeMCByLuminosity() mcSum = histograms.sumRootHistos([muonAnalysis.getSumOrRootHisto(histo) for histo in filter(lambda h: h.isMC(), tmpHistoManager.getHistos())]) mcSum = muonAnalysis.dist2pass(mcSum) bkgHisto = tmpHistoManager.getHisto("Background") bkg = muonAnalysis.getSumOrRootHisto(bkgHisto).Clone(name+"_bkgfraction") bkg = muonAnalysis.dist2pass(bkg) bkg.Divide(mcSum) bkgValues = dataset.histoToList(bkg) curve = ROOT.TGraph(len(signalEffValues), array.array("d", signalEffValues), array.array("d", bkgValues)) self.histoMgr.appendHisto(histograms.HistoGraph(curve, label))