コード例 #1
0
    mneu_mg_m12g_m3g_X2_lookup=user.mneu_mg_m12g_m3g_X2_lookups.get().get(name)
    if gauss_constraint is not None:
        gauss_constraint=add_array_ids(gauss_constraint,style)
        tools.add_gauss_constraints({name:gauss_constraint})
    elif contour_constraint is not None:
        contours=tools.populate_contours(user.contours.get())
        tools.add_contours(contours)
        contour_constraint=add_array_ids(contour_constraint,style)
        tools.add_contour_constraints({name:contour_constraint})
    elif mneu_mg_m12g_m3g_X2_lookup is not None:
        mneu_mg_m12g_m3g_X2_lookup=add_array_ids(mneu_mg_m12g_m3g_X2_lookup,style)
        lookups={name:mneu_mg_m12g_m3g_X2_lookup}
        lookups=tools.populate_mneu_mg_m12g_m3g_X2_lookups(lookups)
        tools.add_mneu_mg_m12g_m3g_X2_lookups(lookups)
    else:
        print('{} not found in gauss or contour constraints.\Exiting'.format(name))
        exit()

if __name__=='__main__':
    args=parse_args()
    if args.print_all_gauss_constraints:
        pp(list(user.gauss_constraints.get().keys()))
    name=args.constraint
    if not 'chi2-' in name:
        print('adding prefix chi2- to the name of the constraint')
        name='chi2-{}'.format(name)
    setup_constraint(name,args.style)
    vars=args.values 
    value=cw.get_value(name,vars)
    print('{:<20} :{}'.format(name,value))
コード例 #2
0
 contour_constraints=populate_with_array_ids((user.contour_constraints.get()),style,array_ids_dict)
 # populate contours and add to managers
 contours=populate_contours(user.contours.get())
 add_contours(contours)
 # now add values to the managers
 add_vars_lookups(vars_lookups) 
 add_vars_functions(vars_functions) 
 add_gauss_constraints(gauss_constraints)
 add_contour_constraints(contour_constraints)
 format='{:<30}: {:30}'
 number_format='{:<30}: {:<5.3f}'
 if args.observables:
     observables=user.observables.get(args.observables)
     print('='*50)
     for observable in observables:
         value=ctw.get_value(observable,vars)
         print(number_format.format(observable,value))
 if args.breakdown:
     # look for chi2 calculators
     constraints=user.constraints_sets.get(args.breakdown)
     add_chi2_calculator(args.breakdown,constraints)
     print('='*50)
     print(format.format('constraint','chi2'))
     print('='*50)
     for constraint in constraints:
         chi2=ctw.get_value(constraint,vars)
         constraint=constraint.replace('chi2-','')
         print(number_format.format(constraint,chi2))
     print('='*50)
     print(number_format.format('total',ctw.get_value(args.breakdown,vars)))
     print('='*50)
コード例 #3
0
def main(args):
    db=args.sqlite_db
    #establish lookup
    array_ids_dict, style=get_array_ids_and_style(db)
    vars,collection_rowid=get_vars_from_db(db,args.rowid)
    # populate values as usual previously
    # populate vars_lookups, vars_functions, and gauss_constraints with array ids
    vars_lookups={name: {'observable_ids': oids} for name, oids in user.vars_lookups.get().items()}
    vars_lookups=populate_with_array_ids(vars_lookups,style,array_ids_dict)
    vars_functions=populate_with_array_ids(user.vars_functions.get(),style,array_ids_dict)
    gauss_constraints=populate_with_array_ids((user.gauss_constraints.get()),style,array_ids_dict)
    contour_constraints=populate_with_array_ids((user.contour_constraints.get()),style,array_ids_dict)
    mneu_mg_m12g_m3g_X2_lookups=populate_with_array_ids((user.mneu_mg_m12g_m3g_X2_lookups.get()),style,array_ids_dict)
    # pupulate mneu_mg_m12g_m3g_X2_lookups with the lookup data
    mneu_mg_m12g_m3g_X2_lookups=populate_mneu_mg_m12g_m3g_X2_lookups(mneu_mg_m12g_m3g_X2_lookups)
    # populate contours and add to managers
    contours=populate_contours(user.contours.get())
    add_contours(contours)
    # now add values to the managers
    add_vars_lookups(vars_lookups) 
    add_vars_functions(vars_functions) 
    add_gauss_constraints(gauss_constraints)
    add_contour_constraints(contour_constraints)
    add_mneu_mg_m12g_m3g_X2_lookups(mneu_mg_m12g_m3g_X2_lookups)
    #
    format='{:<30}: {:30}'
    number_format='{:<30}: {:<5.'+str(args.ndigits)+'f}'
    float_format='{:<30}: {:<5.3e}'
    if args.database_info:
        print('='*50)
        print(format.format('Data base info',''))
        print('='*50)
        print(format.format('Rowid',str(args.rowid)))
        print(format.format('Database',db))
        print(format.format('Collection rowid',str(collection_rowid)))
    if args.parameters:
        parameters=user.parameters.get(args.parameters)
        print('='*50)
        print(format.format('parameters','value'))
        print('='*50)
        for parameter in parameters:
            value=ctw.get_value(parameter,vars)
            print(number_format.format(parameter,value))
    if args.observables:
        observables=user.observables.get(args.observables)
        print('='*50)
        print(format.format('observables','value'))
        print('='*50)
        for observable in observables:
            value=ctw.get_value(observable,vars)
            if not ('ssi' in observable) and not ('bsmm' in observable) \
                and not (observable=='g-2'):
                print(number_format.format(observable,value))
            else:
                print(float_format.format(observable,value))

    if args.breakdown:
        # look for chi2 calculators
        constraints=user.constraints_sets.get(args.breakdown)
        add_chi2_calculator(args.breakdown,constraints)
        print('='*50)
        print(format.format('constraint','chi2'))
        print('='*50)
        nmeas=0
        for constraint in constraints:
            chi2=ctw.get_value(constraint,vars)
            if chi2 > 0:
                nmeas+=1
            constraint=constraint.replace('chi2-','')
            print(number_format.format(constraint,chi2))
        print('='*50)
        print(number_format.format('total',ctw.get_value(args.breakdown,vars)))
        print(number_format.format('nmeas',nmeas))
        print('='*50)
        if args.mc9_table1_data and args.parameters is not None:
            print(format.format('table data',''))
            print('='*50)
            m0=int(round(ctw.get_value('m0',vars),-1))
            m12=int(round(ctw.get_value('m12',vars),-1))
            A0=int(round(-ctw.get_value('A0',vars),-1))
            tanb=int(round(ctw.get_value('tanb',vars),0))
            chi2=round(ctw.get_value(args.breakdown,vars),1)
            nparameters=len(user.inputs.get(args.inputs))
            ndof=nmeas-nparameters
            cl=round(ctw.chi2_ndof_to_cl(chi2,ndof)*100,1)
            print('{}/{} & {}\% &{} &{} & {} & {}\\\\'.format(chi2,ndof,cl,m0,m12,A0,tanb))
        if args.pvalue and args.parameters is not None:
            print(format.format('table data',''))
            print('='*50)
            chi2=round(ctw.get_value(args.breakdown,vars),1)
            nparameters=len(user.inputs.get(args.inputs))
            ndof=nmeas-nparameters
            cl=round(ctw.chi2_ndof_to_cl(chi2,ndof)*100,1)
            print('{}/{}:  {}%'.format(chi2,ndof,cl))
#    if args.inputs is not None and args.parameters is not None:
    if args.inputs is not None :
        inputs=user.inputs.get(args.inputs)
        values=[str(ctw.get_value(parameter,vars)) for parameter in inputs]
        print('='*50)
        print(format.format('Input to run point',''))
        print('='*50)
        print(' '.join(values))
    if args.array is not None :
        array=user.array.get(args.array)
        values=[str(ctw.get_value(element,vars)) for element in array]
        print(' '.join(values))