def addDiscoverySamples(self, srList, startValList, minValList, maxValList, colorList): """ Add a sample to be used for discovery fits """ self.hasDiscovery = True self.parentTopLvl.hasDiscovery = True if not self.variableName == "cuts": raise TypeError("Discovery sample can only be added " "to a cuts channel") for (iSR, sr) in enumerate(srList): sigSample = Sample("DiscoveryMode_%s" % sr, colorList[iSR]) sigSample.setNormFactor("mu_%s" % sr, startValList[iSR], minValList[iSR], maxValList[iSR]) sigSample.setDiscovery() sigSample.clearSystematics() self.addSample(sigSample) self.parentTopLvl.setSignalSample(sigSample) histoName = "h%sNom_%s_obs_%s" % (sigSample.name, sr, self.variableName.replace("/", "")) self.getSample("DiscoveryMode_%s" % sr).setHistoName(histoName) configMgr.hists[histoName] = TH1F(histoName, histoName, len(srList), 0.0, float(len(srList))) configMgr.hists[histoName].SetBinContent(iSR+1, startValList[iSR]) return
def addDiscoverySamples(self, srList, startValList, minValList, maxValList, colorList): """ Add a sample to be used for discovery fits """ self.hasDiscovery = True self.parentTopLvl.hasDiscovery = True if not self.variableName == "cuts": raise TypeError("Discovery sample can only be added " "to a cuts channel") for (iSR, sr) in enumerate(srList): sigSample = Sample("DiscoveryMode_%s" % sr, colorList[iSR]) sigSample.setNormFactor("mu_%s" % sr, startValList[iSR], minValList[iSR], maxValList[iSR]) sigSample.setDiscovery() sigSample.clearSystematics() self.addSample(sigSample) self.parentTopLvl.setSignalSample(sigSample) histoName = "h%sNom_%s_obs_%s" % ( sigSample.name, sr, self.variableName.replace("/", "")) self.getSample("DiscoveryMode_%s" % sr).setHistoName(histoName) configMgr.hists[histoName] = TH1F(histoName, histoName, len(srList), 0.0, float(len(srList))) configMgr.hists[histoName].SetBinContent(iSR + 1, startValList[iSR]) return
def addDiscoverySamples(self, srList, startValList, minValList, maxValList, colorList): """ Add a sample to be used for discovery fits @param srList List of signal regions to use @param startValList List of starting values for each of the signal regions @param minValList List of minimal values of the parameter used for each of the signal regions @param maxValList List of maximal values of the parameter used for each of the signal regions @param colorList List of colors to use when plotting each of the signal regions """ self.hasDiscovery = True self.parentTopLvl.hasDiscovery = True if not self.variableName == "cuts": raise TypeError("Discovery sample can only be added " "to a cuts channel") for (iSR, sr) in enumerate(srList): sigSample = Sample("DiscoveryMode_%s" % sr, colorList[iSR]) sigSample.setNormFactor("mu_%s" % sr, startValList[iSR], minValList[iSR], maxValList[iSR]) sigSample.setDiscovery() sigSample.clearSystematics() self.addSample(sigSample) self.parentTopLvl.setSignalSample(sigSample) histoName = "h%sNom_%s_obs_%s" % (sigSample.name, sr, self.niceVarName) self.getSample("DiscoveryMode_%s" % sr).setHistoName(histoName) configMgr.hists[histoName] = TH1F(histoName, histoName, len(srList), 0.5, float(len(srList)) + 0.5) configMgr.hists[histoName].SetBinContent(iSR + 1, startValList[iSR]) return