Esempio n. 1
0
def crossSections(opts, tabname, label):
    bffilename = 'bf_stat_sys'
    bffile = tools.set_file(
        extbase=attr.brfpath, prefix='dir_'+label, comname=bffilename)

    brf = BrfFile(bffile)
    tab = THSTable()
    tab.row_append(['Quantity', 'Value'])
    names = ['sigma(D0D0bar)', 'sigma(D+D-)',
             'sigma(DDbar)', 'chg/neu']
    for name in names:
        row = [name, brf.parsed[name]]
        if name == 'chg/neu':
            tab.row_append(row, rnd='.001')   
        else:
            name = row[0]
            value = row[1]
            value = tab.cell_trim(
                cell=value, factor=0.001, rnd='.001',
                opt='(cell){~\\rm nb}')
            row = [name, value]
            tab.row_append(row)

    tab.output(tabname, trans_dict=attr.cross_sections_dict)
    sys.stdout.write('%s\n' % brf.parsed['coeff_ddbar'])
Esempio n. 2
0
def fitResultsMC(opts, tabname, label):
    bffilename = 'bf_stat'
    bffile = tools.set_file(
        extbase=attr.brfpath, prefix='dir_'+label, comname=bffilename)

    if '281ipbv0' in label and '/generic' in label:
        generated = attr.Generic281v0_NBF
        power = '10E6'
        factor = 0.000001
    else:
        raise NameError(label)

    tab = THSTable()
    tab.column_append(parse_result(bffile, 'paras'), 'Parameters')
    tab.column_append(generated, 'Input value')
    tab.column_append(parse_result(bffile, 'value_err'), 'Fitted value')

    tab.column_append_by_diff_sigma('Difference', 'Fitted value',
                                    'Input value')
    tab.column_trim('Fitted value', row=['ND0D0Bar', 'ND+D-'],
                    rnd='.001', factor=factor, opt='(cell)x%s' %power)
    tab.column_trim('Fitted value', rnd='.00001',
                    except_row=['ND0D0Bar', 'ND+D-'])
    tab.column_append(parse_result(bffile, 'err_frac'),
                      'Frac. Err', rnd='.1', opt='~(cell%)')
    
    tab.columns_join('Fitted value','Fitted value','Frac. Err', str=' ')

    tab.column_trim('Input value', row=['ND0D0Bar', 'ND+D-'],
                    rnd='.001', factor=factor, opt='cellx%s'%power)
    tab.output(tabname, trans_dict=attr.NBF_dict)

    diff_from_seeds = 'chisq 13.5813 ndof 11 prob 0.257036'
    sys.stdout.write('%s\n' %diff_from_seeds)
    sys.exit()
    chisq = tab.cell_get_by_square_sum(column='Difference')
    ndof = 11
    from ROOT import TMath
    prob = TMath.Prob(float(chisq), ndof)
    prob = tab.cell_trim(prob, rnd='.1', factor=100)
    sys.stdout.write('Chisq is %s for %s d.o.f, Prob = %s%% \n' % (
        chisq, ndof, prob))