def dofit(self): mi = ModalInterval(self.data) mi.setSigmaLevel(1) self.mode.setVal(mi.halfSampleMode()) self.effsigma.setVal(0.5 * mi.length()) self.bootdata.add(self.bootset) resampler = Resampler(self.data) for iboot in range(self.nboot): mi = ModalInterval(resampler.bootstrap()) mi.setSigmaLevel(1) self.mode.setVal(mi.halfSampleMode()) self.effsigma.setVal(0.5 * mi.length()) self.bootdata.add(self.bootset) self.mode.setVal(self.bootdata.mean(self.mode)) self.effsigma.setVal(self.bootdata.mean(self.effsigma)) self.mode.setError(self.bootdata.rmsVar(self.mode).getVal()) self.effsigma.setError(self.bootdata.rmsVar(self.effsigma).getVal())
def dofit(self): mi = ModalInterval(self.data) mi.setSigmaLevel(1) self.mode.setVal(mi.halfSampleMode()) self.effsigma.setVal(0.5 * mi.length()) self.bootdata.add(self.bootset) resampler = Resampler(self.data) for iboot in range(self.nboot): mi = ModalInterval(resampler.bootstrap()) mi.setSigmaLevel(1) self.mode.setVal(mi.halfSampleMode()) self.effsigma.setVal(0.5 * mi.length()) self.bootdata.add(self.bootset) self.mode.setVal(self.bootdata.mean(self.mode)) self.effsigma.setVal(self.bootdata.mean(self.effsigma)) self.mode.setError(self.bootdata.rmsVar(self.mode).getVal()) self.effsigma.setError(self.bootdata.rmsVar(self.effsigma).getVal())
def makegraph(self): row = self.data.get() if row.getSize() < 1: raise RuntimeError, 'Dataset must contain at least one variable!' variable = row.first() self.data.tree().Draw(variable.GetName(), '', 'goff') size = self.data.tree().GetSelectedRows() first = self.data.tree().GetV1() modalinterval = ModalInterval(size, first) widths = [] for x in self.fractions: modalinterval.setFraction(x) widths.append(modalinterval.length()) xvalues = array.array('d', self.fractions) yvalues = array.array('d', widths) self.graph = ROOT.TGraph(len(self.fractions), xvalues, yvalues) ## Decorate the graph self.graph.SetName(variable.GetName()) self.graph.SetTitle(variable.GetTitle()) self.graph.GetXaxis().SetTitle('Sample Fraction') ytitle = 'Subsample Width' if variable.getUnit(): ytitle += ' (%s)' % variable.getUnit() self.graph.GetYaxis().SetTitle(ytitle)
def makegraph(self): row = self.data.get() if row.getSize() < 1: raise RuntimeError, 'Dataset must contain at least one variable!' variable = row.first() self.data.tree().Draw(variable.GetName(), '', 'goff') size = self.data.tree().GetSelectedRows() first = self.data.tree().GetV1() modalinterval = ModalInterval(size, first) widths = [] for x in self.fractions: modalinterval.setFraction(x) widths.append(modalinterval.length()) xvalues = array.array('d', self.fractions) yvalues = array.array('d', widths) self.graph = ROOT.TGraph(len(self.fractions), xvalues, yvalues) ## Decorate the graph self.graph.SetName(variable.GetName()) self.graph.SetTitle(variable.GetTitle()) self.graph.GetXaxis().SetTitle('Sample Fraction') ytitle = 'Subsample Width' if variable.getUnit(): ytitle += ' (%s)' % variable.getUnit() self.graph.GetYaxis().SetTitle(ytitle)