예제 #1
0
      	sample_sums[data.title] += data

      samples = []
      for sample in datacard.processes:
         histo = shape_dir.Get(sample)
         if sample in signals:
            histo.Scale(sig_yields[cat_name][sample])
         if sample not in sample_sums:
            sample_sums[sample] = histo.Clone()
         else:
            sample_sums[sample] += histo
         samples.append(histo)

      samples.sort(key=ordering)      

      stack = plotter.create_stack(*samples, sort=False)
      legend = LegendDefinition(position='NE')
      plotter.overlay_and_compare( 
      	[stack], data,
      	writeTo=cat_name,
      	legend_def = legend,
        xtitle='discriminant',
        ytitle='Events',
        method='ratio'
      	)
   samples = [j for i, j in sample_sums.iteritems() if i <> 'data_obs' 
              if i <> 'postfit S+B']
   data = sample_sums['data_obs']
   samples.sort(key=ordering)

   plotter.overlay_and_compare(
예제 #2
0
      	sample_sums[data.title] = data.Clone()
        sample_sums['postfit S+B'] = hsum.Clone()
      else:
      	sample_sums[data.title] += data
        sample_sums['postfit S+B'] += hsum

      sample_names = [i.name for i in cat_dir.keys() if not i.name.startswith('total')]
      samples = [fix_binning(cat_dir.Get(i), data) for i in sample_names]
      for i, j in zip(sample_names, samples):
         if i not in sample_sums:
            sample_sums[i] = j.Clone()
         else:
            sample_sums[i] += j
      samples.sort(key=ordering)

      stack = plotter.create_stack(*samples, sort=False)
      legend = LegendDefinition(position='NE')
      plotter.overlay_and_compare( 
      	[stack, hsum], data,
      	writeTo=cat_name,
      	legend_def = legend,
        xtitle='discriminant',
        ytitle='Events',
        method='ratio'
      	)
   samples = [j for i, j in sample_sums.iteritems() if i <> 'data_obs' 
              if i <> 'postfit S+B']
   samples.sort(key=ordering)
   data = sample_sums['data_obs']
   hsum = sample_sums['postfit S+B']