def makeClosureTestTable(): fitVariable='absolute_eta_M3_angle_bl' for channel in channels: print 'CHANNEL :',channel for variable in variables: print '--->',variable # Read fit results dir = 'data/'+fitVariable+'/'+com+'/' if closureTest : dir = 'data/closure_test/simple/'+fitVariable+'/'+com+'/' fit_results = read_normalisation( dir, variable, 'central', channel, 'patType1CorrectedPFMet' ) # Read initial values initial_values = read_initial_normalisation( dir, variable, 'central', channel, 'patType1CorrectedPFMet' ) # for whichBin in range (0,len(bin_edges[variable])-1): for whichBin in range (0,1): for process in processes: scale = closure_tests['simple'][process] line = '%s ' % (samples_latex[process]) line += '& %.0f ' % initial_values[process][whichBin][0] line += '& %.0f ' % (initial_values[process][whichBin][0]*scale) line += '& %.0f \pm %.0f ' % (fit_results[process][whichBin][0],fit_results[process][whichBin][1]) line += '\\\\' print line # print process # print scale # print initial_values[process][whichBin][0] # print initial_values[process][whichBin][0]*scale # print fit_results[process][whichBin][0],'+/-',fit_results[process][whichBin][1] pass pass print '\n' pass pass pass
def makeClosureTestTable(): fitVariable = 'absolute_eta_M3_angle_bl' for channel in channels: print 'CHANNEL :', channel for variable in variables: print '--->', variable # Read fit results dir = 'data/' + fitVariable + '/' + com + '/' if closureTest: dir = 'data/closure_test/simple/' + fitVariable + '/' + com + '/' fit_results = read_normalisation(dir, variable, 'central', channel, 'patType1CorrectedPFMet') # Read initial values initial_values = read_initial_normalisation( dir, variable, 'central', channel, 'patType1CorrectedPFMet') # for whichBin in range (0,len(bin_edges[variable])-1): for whichBin in range(0, 1): for process in processes: scale = closure_tests['simple'][process] line = '%s ' % (samples_latex[process]) line += '& %.0f ' % initial_values[process][whichBin][0] line += '& %.0f ' % (initial_values[process][whichBin][0] * scale) line += '& %.0f \pm %.0f ' % ( fit_results[process][whichBin][0], fit_results[process][whichBin][1]) line += '\\\\' print line # print process # print scale # print initial_values[process][whichBin][0] # print initial_values[process][whichBin][0]*scale # print fit_results[process][whichBin][0],'+/-',fit_results[process][whichBin][1] pass pass print '\n' pass pass pass
def makeClosureErrorTable(): for channel in channels: print 'CHANNEL :', channel for variable in variables: print '--->', variable for whichBin in range(0, len(bin_edges[variable]) - 1): fitResults = {} for process in processes: fitResults[process] = [] for fitVariable in fitVariableCombinations: # Read fit results dir = 'data/' + fitVariable + '/' + com + '/' if closureTest: dir = 'data/closure_test/simple/' + fitVariable + '/' + com + '/' fit_results_ = read_normalisation( dir, variable, 'central', channel, 'patType1CorrectedPFMet') fitResults[process].append( fit_results_[process][whichBin]) pass pass for process in processes: line = samples_latex[process] + ' ' for fit in fitResults[process]: line += '& %.0f \pm %.1f ' % (fit[0], fit[1]) pass line += ' \\\\' print line pass print '\n' pass print '\n' pass pass pass
def makeClosureErrorTable(): for channel in channels: print 'CHANNEL :',channel for variable in variables: print '--->',variable for whichBin in range (0,len(bin_edges[variable])-1): fitResults = {} for process in processes: fitResults[process] = [] for fitVariable in fitVariableCombinations: # Read fit results dir = 'data/'+fitVariable+'/'+com+'/' if closureTest : dir = 'data/closure_test/simple/'+fitVariable+'/'+com+'/' fit_results_ = read_normalisation( dir, variable, 'central', channel, 'patType1CorrectedPFMet' ) fitResults[process].append( fit_results_[process][whichBin] ) pass pass for process in processes: line = samples_latex[process] + ' ' for fit in fitResults[process]: line += '& %.0f \pm %.1f ' % ( fit[0],fit[1] ) pass line +=' \\\\' print line pass print '\n' pass print '\n' pass pass pass
print_before_unfolding=False, ) print_error_table( normalised_xsection_measured_unfolded, normalised_xsection_measured_errors, channel, toFile=True, print_before_unfolding=True, ) if channel == "combined": print_typical_systematics_table( normalised_xsection_measured_unfolded, normalised_xsection_unfolded_errors, channel, toFile=True, print_before_unfolding=False, ) print_typical_systematics_table( normalised_xsection_measured_unfolded, normalised_xsection_measured_errors, channel, toFile=True, print_before_unfolding=True, ) if not channel == "combined" and not channel == "combinedBeforeUnfolding": fit_input = read_initial_normalisation(path_to_JSON, variable, "central", channel, met_type) fit_results = read_normalisation(path_to_JSON, variable, "central", channel, met_type) print_fit_results_table(fit_input, fit_results, channel, toFile=True)
'M3': {'min':0, 'max':1000, 'rebin':5, 'x-title': 'M3 [GeV]', 'y-title': 'Events/25 GeV'}, 'angle_bl': {'min':0, 'max':3.5, 'rebin':2, 'x-title': 'angle(b,l)', 'y-title': 'Events/(0.2)'}, 'absolute_eta': {'min':0, 'max':2.6, 'rebin':2, 'x-title': '$\left|\eta(e)\\right|$', 'y-title': 'Events/(0.2)'}, } variables = [ 'MET', 'HT', 'ST', 'WPT', 'MT' ] for test in closure_tests: if test != 'qcd_only' : continue; for variable in variables: fit_results_ = read_normalisation( 'data/closure_test/'+test+'/absolute_eta_M3_angle_bl/8TeV/', variable, 'central', 'electron', 'patType1CorrectedPFMet' ) fit_templates_ = read_fit_templates( 'data/closure_test/'+test+'/absolute_eta_M3_angle_bl/8TeV/', variable, 'central', 'electron', 'patType1CorrectedPFMet' ) initial_values_ = read_initial_normalisation( 'data/closure_test/'+test+'/absolute_eta_M3_angle_bl/8TeV/', variable, 'central', 'electron', 'patType1CorrectedPFMet' )