def meanTableFit(tables): if len(tables) == 0: raise Exception("Got 0 tables") tablesCopy = removeColumnsRowsNotInAll(tables) valueTable = tablesCopy[0].clone() chi2Table = valueTable.clone() nrows = valueTable.getNrows() ncolumns = valueTable.getNcolumns() for iRow in xrange(nrows): for iCol in xrange(ncolumns): values = [] for t in tablesCopy: count = t.getCount(iRow, iCol) if count != None: values.append(count) (m, dm, chi2, ndof) = utilities.leastSquareFitPoly0([v.value() for v in values], [v.uncertainty() for b in values]) if m != None: valueTable.setCount(iRow, iCol, dataset.Count(m, dm)) chi2Table.setCount(iRow, iCol, dataset.Count(chi2, ndof)) else: valueTable.setCount(iRow, iCol, None) chi2Table.setCount(iRow, iCol, None) return (valueTable, chi2Table)
def meanTableFit(tables): if len(tables) == 0: raise Exception("Got 0 tables") tablesCopy = removeColumnsRowsNotInAll(tables) valueTable = tablesCopy[0].clone() chi2Table = valueTable.clone() nrows = valueTable.getNrows() ncolumns = valueTable.getNcolumns() for iRow in xrange(nrows): for iCol in xrange(ncolumns): values = [] for t in tablesCopy: count = t.getCount(iRow, iCol) if count != None: values.append(count) (m, dm, chi2, ndof) = utilities.leastSquareFitPoly0( [v.value() for v in values], [v.uncertainty() for b in values]) if m != None: valueTable.setCount(iRow, iCol, dataset.Count(m, dm)) chi2Table.setCount(iRow, iCol, dataset.Count(chi2, ndof)) else: valueTable.setCount(iRow, iCol, None) chi2Table.setCount(iRow, iCol, None) return (valueTable, chi2Table)
def meanRowFit(table): valueRow = table.getRow(0).clone() valueRow.setName("Fit") chiRow = valueRow.clone() chiRow.setName("Chi2/ndof") for icol in xrange(table.getNcolumns()): values = [] for irow in xrange(table.getNrows()): count = table.getCount(irow, icol) if count != None: values.append(count) (m, dm, chi2, ndof) = utilities.leastSquareFitPoly0([v.value() for v in values], [v.uncertainty() for v in values]) if m != None: valueRow.setCount(icol, dataset.Count(m, dm)) chiRow.setCount(icol, dataset.Count(chi2, ndof)) else: valueRow.setCount(icol, None) chiRow.setCount(icol, None) return (valueRow, chiRow)
def meanRowFit(table): valueRow = table.getRow(0).clone() valueRow.setName("Fit") chiRow = valueRow.clone() chiRow.setName("Chi2/ndof") for icol in xrange(table.getNcolumns()): values = [] for irow in xrange(table.getNrows()): count = table.getCount(irow, icol) if count != None: values.append(count) (m, dm, chi2, ndof) = utilities.leastSquareFitPoly0( [v.value() for v in values], [v.uncertainty() for v in values]) if m != None: valueRow.setCount(icol, dataset.Count(m, dm)) chiRow.setCount(icol, dataset.Count(chi2, ndof)) else: valueRow.setCount(icol, None) chiRow.setCount(icol, None) return (valueRow, chiRow)