本文整理汇总了Python中tools.plotting.Histogram_properties.ratio_y_limits方法的典型用法代码示例。如果您正苦于以下问题:Python Histogram_properties.ratio_y_limits方法的具体用法?Python Histogram_properties.ratio_y_limits怎么用?Python Histogram_properties.ratio_y_limits使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tools.plotting.Histogram_properties
的用法示例。
在下文中一共展示了Histogram_properties.ratio_y_limits方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: make_ttbarReco_plot
# 需要导入模块: from tools.plotting import Histogram_properties [as 别名]
# 或者: from tools.plotting.Histogram_properties import ratio_y_limits [as 别名]
def make_ttbarReco_plot( channel, x_axis_title, y_axis_title,
signal_region_tree,
control_region_tree,
branchName,
name_prefix, x_limits, nBins,
use_qcd_data_region = False,
y_limits = [],
y_max_scale = 1.2,
rebin = 1,
legend_location = ( 0.98, 0.78 ), cms_logo_location = 'right',
log_y = False,
legend_color = False,
ratio_y_limits = [0.3, 1.7],
normalise = False,
):
global output_folder, measurement_config, category, normalise_to_fit
global preliminary, norm_variable, sum_bins, b_tag_bin, histogram_files
# Input files, normalisations, tree/region names
qcd_data_region = ''
title = title_template % ( measurement_config.new_luminosity / 1000., measurement_config.centre_of_mass_energy )
normalisation = None
if channel == 'electron':
histogram_files['data'] = measurement_config.data_file_electron_trees
histogram_files['QCD'] = measurement_config.electron_QCD_MC_category_templates_trees[category]
if normalise_to_fit:
normalisation = normalisations_electron[norm_variable]
if use_qcd_data_region:
qcd_data_region = 'QCDConversions'
if channel == 'muon':
histogram_files['data'] = measurement_config.data_file_muon_trees
histogram_files['QCD'] = measurement_config.muon_QCD_MC_category_templates_trees[category]
if normalise_to_fit:
normalisation = normalisations_muon[norm_variable]
if use_qcd_data_region:
qcd_data_region = 'QCD non iso mu+jets ge3j'
histograms = get_histograms_from_trees( trees = [signal_region_tree, control_region_tree], branch = branchName, weightBranch = '1', files = histogram_files, nBins = nBins, xMin = x_limits[0], xMax = x_limits[-1] )
selection = 'SolutionCategory == 0'
histogramsNoSolution = 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 == 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
#.........这里部分代码省略.........
示例2: make_plot
# 需要导入模块: from tools.plotting import Histogram_properties [as 别名]
# 或者: from tools.plotting.Histogram_properties import ratio_y_limits [as 别名]
def make_plot( channel, x_axis_title, y_axis_title,
signal_region_tree,
control_region_tree,
branchName,
name_prefix, x_limits, nBins,
use_qcd_data_region = False,
compare_qcd_signal_with_data_control = False,
y_limits = [],
y_max_scale = 1.3,
rebin = 1,
legend_location = ( 0.98, 0.78 ), cms_logo_location = 'right',
log_y = False,
legend_color = False,
ratio_y_limits = [0.3, 2.5],
normalise = False,
):
global output_folder, measurement_config, category, normalise_to_fit
global preliminary, norm_variable, sum_bins, b_tag_bin, histogram_files
controlToCompare = []
if 'electron' in channel :
controlToCompare = ['QCDConversions', 'QCD non iso e+jets']
elif 'muon' in channel :
controlToCompare = ['QCD iso > 0.3', 'QCD 0.12 < iso <= 0.3']
histogramsToCompare = {}
for qcd_data_region in controlToCompare:
print 'Doing ',qcd_data_region
# Input files, normalisations, tree/region names
title = title_template % ( measurement_config.new_luminosity, measurement_config.centre_of_mass_energy )
normalisation = None
weightBranchSignalRegion = 'EventWeight'
if 'electron' in channel:
histogram_files['data'] = measurement_config.data_file_electron_trees
histogram_files['QCD'] = measurement_config.electron_QCD_MC_category_templates_trees[category]
if normalise_to_fit:
normalisation = normalisations_electron[norm_variable]
# if use_qcd_data_region:
# qcd_data_region = 'QCDConversions'
# # qcd_data_region = 'QCD non iso e+jets'
if not 'QCD' in channel and not 'NPU' in branchName:
weightBranchSignalRegion += ' * ElectronEfficiencyCorrection'
if 'muon' in channel:
histogram_files['data'] = measurement_config.data_file_muon_trees
histogram_files['QCD'] = measurement_config.muon_QCD_MC_category_templates_trees[category]
if normalise_to_fit:
normalisation = normalisations_muon[norm_variable]
# if use_qcd_data_region:
# qcd_data_region = 'QCD iso > 0.3'
if not 'QCD' in channel and not 'NPU' in branchName:
weightBranchSignalRegion += ' * MuonEfficiencyCorrection'
if not "_NPUNoWeight" in name_prefix:
weightBranchSignalRegion += ' * PUWeight'
if not "_NBJetsNoWeight" in name_prefix:
weightBranchSignalRegion += ' * BJetWeight'
selection = '1'
if branchName == 'abs(lepton_eta)' :
selection = 'lepton_eta > -10'
else:
selection = '%s >= 0' % branchName
# if 'QCDConversions' in signal_region_tree:
# selection += '&& isTightElectron'
# print selection
histograms = get_histograms_from_trees( trees = [signal_region_tree, control_region_tree], branch = branchName, weightBranch = weightBranchSignalRegion, files = histogram_files, nBins = nBins, xMin = x_limits[0], xMax = x_limits[-1], selection = selection )
histograms_QCDControlRegion = None
if use_qcd_data_region:
qcd_control_region = signal_region_tree.replace( 'Ref selection', qcd_data_region )
histograms_QCDControlRegion = get_histograms_from_trees( trees = [qcd_control_region], branch = branchName, weightBranch = 'EventWeight', files = histogram_files, nBins = nBins, xMin = x_limits[0], xMax = x_limits[-1], selection = selection )
# Split histograms up into signal/control (?)
signal_region_hists = {}
control_region_hists = {}
for sample in histograms.keys():
signal_region_hists[sample] = histograms[sample][signal_region_tree]
if compare_qcd_signal_with_data_control:
if sample is 'data':
signal_region_hists[sample] = histograms[sample][control_region_tree]
elif sample is 'QCD' :
signal_region_hists[sample] = histograms[sample][signal_region_tree]
else:
del signal_region_hists[sample]
if use_qcd_data_region:
control_region_hists[sample] = histograms_QCDControlRegion[sample][qcd_control_region]
# Prepare histograms
if normalise_to_fit:
# only scale signal region to fit (results are invalid for control region)
prepare_histograms( signal_region_hists, rebin = rebin,
scale_factor = measurement_config.luminosity_scale,
normalisation = normalisation )
elif normalise_to_data:
totalMC = 0
for sample in signal_region_hists:
if sample is 'data' : continue
totalMC += signal_region_hists[sample].Integral()
#.........这里部分代码省略.........