本文整理汇总了Python中tools.plotting.Histogram_properties.set_log_y方法的典型用法代码示例。如果您正苦于以下问题:Python Histogram_properties.set_log_y方法的具体用法?Python Histogram_properties.set_log_y怎么用?Python Histogram_properties.set_log_y使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tools.plotting.Histogram_properties
的用法示例。
在下文中一共展示了Histogram_properties.set_log_y方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: draw_regularisation_histograms
# 需要导入模块: from tools.plotting import Histogram_properties [as 别名]
# 或者: from tools.plotting.Histogram_properties import set_log_y [as 别名]
def draw_regularisation_histograms( h_truth, h_measured, h_response, h_fakes = None, h_data = None ):
global method, variable, output_folder, output_formats, test
k_max = h_measured.nbins()
unfolding = Unfolding( h_truth,
h_measured,
h_response,
h_fakes,
method = method,
k_value = k_max,
error_treatment = 4,
verbose = 1 )
RMSerror, MeanResiduals, RMSresiduals, Chi2 = unfolding.test_regularisation ( h_data, k_max )
histogram_properties = Histogram_properties()
histogram_properties.name = 'chi2_%s_channel_%s' % ( channel, variable )
histogram_properties.title = '$\chi^2$ for $%s$ in %s channel, %s test' % ( variables_latex[variable], channel, test )
histogram_properties.x_axis_title = '$i$'
histogram_properties.y_axis_title = '$\chi^2$'
histogram_properties.set_log_y = True
make_plot(Chi2, 'chi2', histogram_properties, output_folder, output_formats, draw_errorbar = True, draw_legend = False)
histogram_properties = Histogram_properties()
histogram_properties.name = 'RMS_error_%s_channel_%s' % ( channel, variable )
histogram_properties.title = 'Mean error for $%s$ in %s channel, %s test' % ( variables_latex[variable], channel, test )
histogram_properties.x_axis_title = '$i$'
histogram_properties.y_axis_title = 'Mean error'
make_plot(RMSerror, 'RMS', histogram_properties, output_folder, output_formats, draw_errorbar = True, draw_legend = False)
histogram_properties = Histogram_properties()
histogram_properties.name = 'RMS_residuals_%s_channel_%s' % ( channel, variable )
histogram_properties.title = 'RMS of residuals for $%s$ in %s channel, %s test' % ( variables_latex[variable], channel, test )
histogram_properties.x_axis_title = '$i$'
histogram_properties.y_axis_title = 'RMS of residuals'
if test == 'closure':
histogram_properties.set_log_y = True
make_plot(RMSresiduals, 'RMSresiduals', histogram_properties, output_folder, output_formats, draw_errorbar = True, draw_legend = False)
histogram_properties = Histogram_properties()
histogram_properties.name = 'mean_residuals_%s_channel_%s' % ( channel, variable )
histogram_properties.title = 'Mean of residuals for $%s$ in %s channel, %s test' % ( variables_latex[variable], channel, test )
histogram_properties.x_axis_title = '$i$'
histogram_properties.y_axis_title = 'Mean of residuals'
make_plot(MeanResiduals, 'MeanRes', histogram_properties, output_folder, output_formats, draw_errorbar = True, draw_legend = False)
示例2: compare
# 需要导入模块: from tools.plotting import Histogram_properties [as 别名]
# 或者: from tools.plotting.Histogram_properties import set_log_y [as 别名]
def compare( central_mc, expected_result = None, measured_result = None, results = {}, variable = 'MET',
channel = 'electron', bin_edges = [] ):
global input_file, plot_location, ttbar_xsection, luminosity, centre_of_mass, method, test, log_plots
channel_label = ''
if channel == 'electron':
channel_label = 'e+jets, $\geq$4 jets'
elif channel == 'muon':
channel_label = '$\mu$+jets, $\geq$4 jets'
else:
channel_label = '$e, \mu$ + jets combined, $\geq$4 jets'
if test == 'data':
title_template = 'CMS Preliminary, $\mathcal{L} = %.1f$ fb$^{-1}$ at $\sqrt{s}$ = %d TeV \n %s'
title = title_template % ( luminosity / 1000., centre_of_mass, channel_label )
else:
title_template = 'CMS Simulation at $\sqrt{s}$ = %d TeV \n %s'
title = title_template % ( centre_of_mass, channel_label )
models = {latex_labels.measurements_latex['MADGRAPH'] : central_mc}
if expected_result and test == 'data':
models.update({'fitted data' : expected_result})
# scale central MC to lumi
nEvents = input_file.EventFilter.EventCounter.GetBinContent( 1 ) # number of processed events
lumiweight = ttbar_xsection * luminosity / nEvents
central_mc.Scale( lumiweight )
elif expected_result:
models.update({'expected' : expected_result})
if measured_result and test != 'data':
models.update({'measured' : measured_result})
measurements = collections.OrderedDict()
for key, value in results['k_value_results'].iteritems():
measurements['k = ' + str( key )] = value
# get some spread in x
graphs = spread_x( measurements.values(), bin_edges )
for key, graph in zip( measurements.keys(), graphs ):
measurements[key] = graph
histogram_properties = Histogram_properties()
histogram_properties.name = channel + '_' + variable + '_' + method + '_' + test
histogram_properties.title = title + ', ' + latex_labels.b_tag_bins_latex['2orMoreBtags']
histogram_properties.x_axis_title = '$' + latex_labels.variables_latex[variable] + '$'
histogram_properties.y_axis_title = r'Events'
# histogram_properties.y_limits = [0, 0.03]
histogram_properties.x_limits = [bin_edges[0], bin_edges[-1]]
if log_plots:
histogram_properties.set_log_y = True
histogram_properties.name += '_log'
compare_measurements( models, measurements, show_measurement_errors = True,
histogram_properties = histogram_properties,
save_folder = plot_location, save_as = ['pdf'] )
示例3: plot_results
# 需要导入模块: from tools.plotting import Histogram_properties [as 别名]
# 或者: from tools.plotting.Histogram_properties import set_log_y [as 别名]
def plot_results ( results ):
'''
Takes results fo the form:
{centre-of-mass-energy: {
channel : {
variable : {
fit_variable : {
test : { sample : []},
}
}
}
}
}
'''
global options
output_base = 'plots/fit_checks/chi2'
for COMEnergy in results.keys():
tmp_result_1 = results[COMEnergy]
for channel in tmp_result_1.keys():
tmp_result_2 = tmp_result_1[channel]
for variable in tmp_result_2.keys():
tmp_result_3 = tmp_result_2[variable]
for fit_variable in tmp_result_3.keys():
tmp_result_4 = tmp_result_3[fit_variable]
# histograms should be {sample: {test : histogram}}
histograms = {}
for test, chi2 in tmp_result_4.iteritems():
for sample in chi2.keys():
if not histograms.has_key(sample):
histograms[sample] = {}
# reverse order of test and sample
histograms[sample][test] = value_tuplelist_to_hist(chi2[sample], bin_edges[variable])
for sample in histograms.keys():
hist_properties = Histogram_properties()
hist_properties.name = sample.replace('+', '') + '_chi2'
hist_properties.title = '$\\chi^2$ distribution for fit output (' + sample + ')'
hist_properties.x_axis_title = '$' + latex_labels.variables_latex[variable] + '$ [TeV]'
hist_properties.y_axis_title = '$\chi^2 = \\left({N_{fit}} - N_{{exp}}\\right)^2$'
hist_properties.set_log_y = True
hist_properties.y_limits = (1e-20, 1e20)
path = output_base + '/' + COMEnergy + 'TeV/' + channel + '/' + variable + '/' + fit_variable + '/'
if options.test:
path = output_base + '/test/'
measurements = {}
for test, histogram in histograms[sample].iteritems():
measurements[test.replace('_',' ')] = histogram
compare_measurements({},
measurements,
show_measurement_errors = False,
histogram_properties = hist_properties,
save_folder = path,
save_as = ['pdf'])
示例4: make_ttbarReco_plot
# 需要导入模块: from tools.plotting import Histogram_properties [as 别名]
# 或者: from tools.plotting.Histogram_properties import set_log_y [as 别名]
#.........这里部分代码省略.........
selection = 'SolutionCategory == 1'
histogramsCorrect = get_histograms_from_trees( trees = [signal_region_tree], branch = branchName, weightBranch = '1', selection = selection, files = histogram_files, nBins = nBins, xMin = x_limits[0], xMax = x_limits[-1] )
selection = 'SolutionCategory == 2'
histogramsNotSL = get_histograms_from_trees( trees = [signal_region_tree], branch = branchName, weightBranch = '1', selection = selection, files = histogram_files, nBins = nBins, xMin = x_limits[0], xMax = x_limits[-1] )
selection = 'SolutionCategory == 3'
histogramsNotReco = get_histograms_from_trees( trees = [signal_region_tree], branch = branchName, weightBranch = '1', selection = selection, files = histogram_files, nBins = nBins, xMin = x_limits[0], xMax = x_limits[-1] )
selection = 'SolutionCategory > 3'
histogramsWrong = get_histograms_from_trees( trees = [signal_region_tree], branch = branchName, weightBranch = '1', selection = selection, files = histogram_files, nBins = nBins, xMin = x_limits[0], xMax = x_limits[-1] )
# Split histograms up into signal/control (?)
signal_region_hists = {}
inclusive_control_region_hists = {}
for sample in histograms.keys():
signal_region_hists[sample] = histograms[sample][signal_region_tree]
if use_qcd_data_region:
inclusive_control_region_hists[sample] = histograms[sample][control_region_tree]
prepare_histograms( histograms, rebin = 1, scale_factor = measurement_config.luminosity_scale )
prepare_histograms( histogramsNoSolution, rebin = 1, scale_factor = measurement_config.luminosity_scale )
prepare_histograms( histogramsCorrect, rebin = 1, scale_factor = measurement_config.luminosity_scale )
prepare_histograms( histogramsNotSL, rebin = 1, scale_factor = measurement_config.luminosity_scale )
prepare_histograms( histogramsNotReco, rebin = 1, scale_factor = measurement_config.luminosity_scale )
prepare_histograms( histogramsWrong, rebin = 1, scale_factor = measurement_config.luminosity_scale )
qcd_from_data = signal_region_hists['QCD']
# Which histograms to draw, and properties
histograms_to_draw = [signal_region_hists['data'], qcd_from_data,
signal_region_hists['V+Jets'],
signal_region_hists['SingleTop'],
histogramsNoSolution['TTJet'][signal_region_tree],
histogramsNotSL['TTJet'][signal_region_tree],
histogramsNotReco['TTJet'][signal_region_tree],
histogramsWrong['TTJet'][signal_region_tree],
histogramsCorrect['TTJet'][signal_region_tree]
]
histogram_lables = ['data', 'QCD', 'V+Jets', 'Single-Top',
samples_latex['TTJet'] + ' - no solution',
samples_latex['TTJet'] + ' - not SL',
samples_latex['TTJet'] + ' - not reconstructible',
samples_latex['TTJet'] + ' - wrong reco',
samples_latex['TTJet'] + ' - correct',
]
histogram_colors = ['black', 'yellow', 'green', 'magenta',
'black',
'burlywood',
'chartreuse',
'blue',
'red'
]
histogram_properties = Histogram_properties()
histogram_properties.name = name_prefix + b_tag_bin
if category != 'central':
histogram_properties.name += '_' + category
histogram_properties.title = title
histogram_properties.x_axis_title = x_axis_title
histogram_properties.y_axis_title = y_axis_title
histogram_properties.x_limits = x_limits
histogram_properties.y_limits = y_limits
histogram_properties.y_max_scale = y_max_scale
histogram_properties.xerr = None
# workaround for rootpy issue #638
histogram_properties.emptybins = True
if b_tag_bin:
histogram_properties.additional_text = channel_latex[channel] + ', ' + b_tag_bins_latex[b_tag_bin]
else:
histogram_properties.additional_text = channel_latex[channel]
histogram_properties.legend_location = legend_location
histogram_properties.cms_logo_location = cms_logo_location
histogram_properties.preliminary = preliminary
histogram_properties.set_log_y = log_y
histogram_properties.legend_color = legend_color
if ratio_y_limits:
histogram_properties.ratio_y_limits = ratio_y_limits
if normalise_to_fit:
histogram_properties.mc_error = get_normalisation_error( normalisation )
histogram_properties.mc_errors_label = 'fit uncertainty'
else:
histogram_properties.mc_error = mc_uncertainty
histogram_properties.mc_errors_label = 'MC unc.'
# Actually draw histograms
make_data_mc_comparison_plot( histograms_to_draw, histogram_lables, histogram_colors,
histogram_properties, save_folder = output_folder,
show_ratio = False, normalise = normalise,
)
histogram_properties.name += '_with_ratio'
loc = histogram_properties.legend_location
# adjust legend location as it is relative to canvas!
histogram_properties.legend_location = ( loc[0], loc[1] + 0.05 )
make_data_mc_comparison_plot( histograms_to_draw, histogram_lables, histogram_colors,
histogram_properties, save_folder = output_folder,
show_ratio = True, normalise = normalise,
)
示例5: get_histograms_from_trees
# 需要导入模块: from tools.plotting import Histogram_properties [as 别名]
# 或者: from tools.plotting.Histogram_properties import set_log_y [as 别名]
print bins,
print xMin, xMax, nBins
histograms = get_histograms_from_trees( trees = [controlTree], branch = var, weightBranch = 'EventWeight', files = histogram_files, nBins = nBins, xMin = xMin, xMax = xMax )
prepare_histograms( histograms, rebin = 1, scale_factor = measurement_config.luminosity_scale )
histograms_to_draw = [histograms['data'][controlTree], histograms['QCD'][controlTree],
histograms['V+Jets'][controlTree],
histograms['SingleTop'][controlTree], histograms['TTJet'][controlTree]]
histogram_lables = ['data', 'QCD', 'V+Jets', 'Single-Top', samples_latex['TTJet']]
histogram_colors = ['black', 'yellow', 'green', 'magenta', 'red']
histogram_properties = Histogram_properties()
histogram_properties.name = 'QCD_nonIso_%s_%s' % (channel, var)
if control_region == 'QCDConversions' :
histogram_properties.name = 'QCD_Conversions_%s_%s' % (channel, var)
if category != 'central':
histogram_properties.name += '_' + category
if channel == 'EPlusJets':
histogram_properties.title = e_title
elif channel == 'MuPlusJets':
histogram_properties.title = mu_title
eventsPerBin = (xMax - xMin) / nBins
histogram_properties.x_axis_title = '%s [GeV]' % ( control_plots_latex[var] )
histogram_properties.y_axis_title = 'Events/(%.2g GeV)' % (eventsPerBin)
histogram_properties.set_log_y = True
histogram_properties.name += '_with_ratio'
make_data_mc_comparison_plot( histograms_to_draw, histogram_lables, histogram_colors,
histogram_properties, save_folder = output_folder, show_ratio = False )