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))
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)
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))