def runPlot(opts): lepton = opts.lepton batchMode = opts.batch inputDir = opts.input_dir outputDir = opts.output_dir verbose = opts.verbose debug = opts.debug dataset.Dataset.verbose_parsing = True if debug else False groups = dataset.DatasetGroup.build_groups_from_files_in_dir(opts.samples_dir) regions = regions_to_plot(opts.include_regions, opts.exclude_regions, opts.regions) inputDir = outputDir+'/'+lepton+'/histos' outputDir = outputDir+'/'+lepton+'/plots' mkdirIfNeeded(outputDir) histonames = dict((g.name, histonamesOneSample(g.name, variables_to_plot(), regions, leptonSources)) for g in groups) groups_to_stack = [g.name for g in groups if not g.is_data] if verbose: print 'groups being included in the compositions: ',groups_to_stack for region in regions: all_histos = dict([(g.name, rootUtils.fetchObjectsFromFile(os.path.join(inputDir, g.name+'_'+region+'.root'), histonames[g.name][region], verbose)) for g in groups]) for v in variables_to_plot(): histos = dict() for s in leptonSources: histos[s] = summedHisto(histos=[all_histos[g][v][s] for g in groups_to_stack], label='') histos['data'] = all_histos['data'][v]['Unknown'] plotStackedHistos(histos=histos, datakey='data', stackkeys=leptonSources, outputDir=outputDir+'/'+region, region=region, colors=fakeu.colorsFillSources(), verbose=verbose) return
def runPlot(opts): lepton = opts.lepton batchMode = opts.batch inputDir = opts.input_dir outputDir = opts.output_dir verbose = opts.verbose debug = opts.debug dataset.Dataset.verbose_parsing = True if debug else False groups = dataset.DatasetGroup.build_groups_from_files_in_dir( opts.samples_dir) regions = regions_to_plot(opts.include_regions, opts.exclude_regions, opts.regions) inputDir = outputDir + '/' + lepton + '/histos' outputDir = outputDir + '/' + lepton + '/plots' mkdirIfNeeded(outputDir) histonames = dict((g.name, histonamesOneSample(g.name, variables_to_plot(), regions, leptonSources)) for g in groups) groups_to_stack = [g.name for g in groups if not g.is_data] if verbose: print 'groups being included in the compositions: ', groups_to_stack for region in regions: all_histos = dict([(g.name, rootUtils.fetchObjectsFromFile( os.path.join(inputDir, g.name + '_' + region + '.root'), histonames[g.name][region], verbose)) for g in groups]) for v in variables_to_plot(): histos = dict() for s in leptonSources: histos[s] = summedHisto( histos=[all_histos[g][v][s] for g in groups_to_stack], label='') histos['data'] = all_histos['data'][v]['Unknown'] plotStackedHistos(histos=histos, datakey='data', stackkeys=leptonSources, outputDir=outputDir + '/' + region, region=region, colors=fakeu.colorsFillSources(), verbose=verbose) return
def fetchHistos(fileName='', histoNames={}, verbose=False): return rootUtils.fetchObjectsFromFile(fileName, histoNames, verbose)