コード例 #1
0
      pl_res_proj['{:0.0f}to{:0.0f}'.format(oJetPt_cuts[0], oJetPt_cuts[1])] = resolution_subtracted[np.where(cut & oJetPt_cut & tJet_exists_subtracted)]

    helpers.add_legend(fig, ax)
    helpers.add_labels(fig, ax, xlabel=r'resolution $\frac{E_T^\mathrm{gFEX} - p_T^\mathrm{offline}}{p_T^\mathrm{offline}}$', ylabel='normalized counts', title=r'Y-Axis Projections of Resolution, with $\rho$ subtraction')
    helpers.add_description(fig, ax, align='br', strings=[helpers.dataSetStr, helpers.seedCutStr, helpers.noiseCutStr, helpers.towerThrStr])
    ax.set_xlim((-1.0, 1.0))
    helpers.add_grid(fig, ax)
    pickle.dump(pl_res_proj, file(helpers.write_file('plots/pickle/{}_resolution_PtOffline_withRhoSubtraction_projection_region{}.pkl'.format(filename_id, i)), 'w+'))
    helpers.to_file(fig, ax, 'plots/resolution/{}_resolution_PtOffline_withRhoSubtraction_projection_region{}.png'.format(filename_id, i))
    pl.close(fig)
  except:
    print "\t"*2, "Error for {}: could not make resolution projection (no Pileup)".format(region)
    pl.close(fig)
    pass

  points_x, mean_y, err_y = helpers.profile_y(np.arange(0., 1500., 10.), data['tJet.et'][region_cut], tJetEt_correction[region_cut])
  f = interp1d(points_x, mean_y, bounds_error=False, fill_value=0., kind='cubic')

  print "\t", "efficiency curves using tJet Et cut in numerator"
  for tJetEt_cut in [100., 120., 140., 160., 180., 200., 220., 240., 260., 280., 300.]:
    # ADD IN np.interp(tJetEt_cut, trigger_Et, rho*A) and shift subtracted eff curves
    eff_curve_shift = f([tJetEt_cut])[0]
    print "\t"*2, "tJetEt_cut = {}, eff_curve_shift = {}".format(tJetEt_cut, eff_curve_shift)
    # eff_curve_shift = np.interp(tJetEt_cut, trigger_jet_Et[region], trigger_jet_Et_correction[region])
    tJetEtThrStr = r'$E_T^\mathrm{{gFEX\ jet}} >\ {:0.2f}\ \mathrm{{GeV}}$'.format(tJetEt_cut)

    pl_eff_diff = {'eff_curve_shift': eff_curve_shift}
    fig, ax = pl.subplots(figsize=helpers.figsize)

    # helpers.add_turnon() returns xpoints_efficiency, hist_eff_curve, errors_eff, nonzero_bins, w
    x, y, e, n, w = helpers.add_turnon(fig, ax, data=data['oJet.pt'], den_cut=cut, num_cut=(data['tJet.et'] > tJetEt_cut + eff_curve_shift), label='no subtraction', p0=(1., 50., tJetEt_cut, 0.5))