def test_test_significant_digits_ceil_minus(self): assert fu.significant_digits( (-1.234,0.012), mode=0 ) == -1.23 assert fu.significant_digits( (-1.234,10.23), mode=0 ) == -0.0 assert fu.significant_digits( (-1.234,1.234), mode=0 ) == -1.0 assert fu.significant_digits( (-0.000145,0.000123), mode=0 ) == -0.0001 assert fu.significant_digits( (-0.000145,0.000000000123), mode=0 ) == -0.000145
def test_test_significant_digits_round_plus(self): assert fu.significant_digits( (1.234,0.012), mode=1 ) == 1.23 assert fu.significant_digits( (1.234,10.23), mode=1 ) == 0.0 assert fu.significant_digits( (1.234,1.234), mode=1 ) == 1.0 assert fu.significant_digits( (0.000145,0.000123), mode=1 ) == 0.0001 assert fu.significant_digits( (0.000145,0.000000000123), mode=1 ) == 0.000145
def test_test_significant_digits_floor_minus(self): assert fu.significant_digits( (-1.234,0.012), mode=2 ) == -1.24 assert fu.significant_digits( (-1.234,10.23), mode=2 ) == -10.0 assert fu.significant_digits( (-1.234,1.234), mode=2 ) == -2.0 assert fu.significant_digits( (-0.000145,0.000123), mode=2 ) == -0.0002 assert fu.significant_digits( (-0.000145,0.000000000123), mode=2 ) == -0.000145
def test_test_significant_digits_ceil_plus(self): assert fu.significant_digits( (1.234,0.012), mode=0 ) == 1.24 assert fu.significant_digits( (1.234,10.23), mode=0 ) == 10.0 assert fu.significant_digits( (1.234,1.234), mode=0 ) == 2.0 assert fu.significant_digits( (0.000145,0.000123), mode=0 ) == 0.0002 assert fu.significant_digits( (0.000145,0.000000000123), mode=0 ) == 0.000145
for num, fish in enumerate(fishers_temp.get_fisher_list()): #output fisher matrices again #fish.save_to_file(outroot+'__Fisher_Out_'+str(num)+"-"+fish.name, simple_header=True) print(fish.name) fishpars=fish.get_param_names() print("parameter names") print(str(fishpars)) # get the bounds: Bounds_68 = list( fish.get_confidence_bounds( 0.683 ) ) Bounds_95 = list( fish.get_confidence_bounds( 0.950 ) ) Bounds_99 = list( fish.get_confidence_bounds( 0.997 ) ) # get the fiducial: fiducial = [] for num, par in enumerate(fish.get_param_fiducial()): fiducial.append( fu.significant_digits( (par, Bounds_68[num]), mode=1 ) ) # get the names: if use_latex: parameter_names_latex = copy.deepcopy(fish.get_param_names_latex()) else: parameter_names = copy.deepcopy(fish.get_param_names()) # do the printing: if use_latex: print_table = [] for par,fid,bound in zip( parameter_names_latex,fiducial,Bounds_68 ): cent=100 psign='\%' if isclose(fid, 0.0, rel_tol=1e-6, abs_tol=1e-6): fid = 1 cent = 1 psign=''
#output fisher matrices again #fish.save_to_file(outroot+'__Fisher_Out_'+str(num)+"-"+fish.name, simple_header=True) print(fish.name) fishpars = fish.get_param_names() print("parameter names") print(str(fishpars)) # get the bounds: Bounds_68 = list(fish.get_confidence_bounds(0.683)) Bounds_95 = list(fish.get_confidence_bounds(0.950)) Bounds_99 = list(fish.get_confidence_bounds(0.997)) # get the fiducial: fiducial = [] for num, par in enumerate(fish.get_param_fiducial()): fiducial.append( fu.significant_digits((par, Bounds_68[num]), mode=1)) # get the names: if use_latex: parameter_names_latex = copy.deepcopy( fish.get_param_names_latex()) else: parameter_names = copy.deepcopy(fish.get_param_names()) # do the printing: if use_latex: print_table = [] for par, fid, bound in zip(parameter_names_latex, fiducial, Bounds_68): cent = 100 psign = '\%' if isclose(fid, 0.0, rel_tol=1e-6, abs_tol=1e-6): fid = 1
fishers_temp = fishers if eliminate is not False: fishers_temp = fishers_temp.reshuffle( params=params ) elif params is not None: fishers_temp = fishers_temp.marginalise( params=params ) for num, fish in enumerate(fishers_temp.get_fisher_list()): # get the bounds: Bounds_68 = list( fu.v_nice_number( fish.get_confidence_bounds( 0.680 ), mode=1 ) ) Bounds_95 = list( fu.v_nice_number( fish.get_confidence_bounds( 0.950 ), mode=1 ) ) Bounds_99 = list( fu.v_nice_number( fish.get_confidence_bounds( 0.997 ), mode=1 ) ) # get the fiducial: fiducial = [] for num, par in enumerate(fish.get_param_fiducial()): fiducial.append( fu.significant_digits( (par, Bounds_68[num]), mode=1 ) ) # get the names: if use_latex: parameter_names_latex = copy.deepcopy(fish.get_param_names_latex()) else: parameter_names = copy.deepcopy(fish.get_param_names()) # do the printing: if use_latex: print_table = [] for par,fid,bound in zip( parameter_names_latex,fiducial,Bounds_68 ): print_table.append( '$'+str(par)+' = '+str(fid)+' \pm '+str(bound)+'$' ) if len(print_table)%latex_num_col == 0: table_length = len(print_table)/latex_num_col else: table_length = len(print_table)/latex_num_col +1 print_table = fu.grouper( table_length, print_table,fillvalue='' )