예제 #1
0
    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
예제 #2
0
    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
예제 #3
0
    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