def make_bb_plot(data, p0, save_dir, range=None,title='Plot of thing vs thing', xlabel='X axis', ylabel='Y axis',save_name='plot', overlay_reg_bins = True, edges=None,scale=None, bins=80):

    normed=False
    if scale=='normed':
        normed=True
        scale=None

    if edges != None:
        bb_edges=edges
    else:
        bb_edges = bayesian_blocks(data,p0=p0)
    plt.figure()
    #bin_content = np.histogram(data,bb_edges,density=True)[0]
    #plt.yscale('log', nonposy='clip')

    hist(data,bins=bins,range=range,histtype='stepfilled',alpha=0.2,label='{} bins'.format(bins),normed=normed,scale=scale)
    #hist(data,bins=100,histtype='stepfilled',alpha=0.2,label='100 bins',normed=False)
    bb_content, bb_edges,_ = hist(data,bins=bb_edges,range=range,histtype='step',linewidth=2.0,color='crimson',label='b blocks',normed=normed,scale=scale)
    #fill_between_steps(plt.gca(), bb_edges, bin_content*len(data),bin_content*len(data)/2, alpha=0.5, step_where='pre',linewidth=2,label='norm attempt')
    plt.legend()
    plt.xlabel(xlabel)
    plt.ylabel(ylabel)
    plt.title(title)
    plt.savefig(save_dir+save_name+'_bb.pdf')
    return bb_content,bb_edges
def generateToy():

  np.random.seed(12345)

  fig,ax = plt.subplots(4,sharex=True)
  #fig,ax = plt.subplots(2)

  powerlaw_arg = 2
  triang_arg=0.7
  n_samples = 500
  #generate simple line with slope 1, from 0 to 1
  frozen_powerlaw = powerlaw(powerlaw_arg) #powerlaw.pdf(x, a) = a * x**(a-1)
  #generate triangle with peak at 0.7
  frozen_triangle = triang(triang_arg) #up-sloping line from loc to (loc + c*scale) and then downsloping for (loc + c*scale) to (loc+scale).
  frozen_uniform = uniform(0.2,0.5)
  frozen_uniform2 = uniform(0.3,0.2)

  x = np.linspace(0,1)

  signal = np.random.normal(0.5, 0.1, n_samples/2)

  data_frame = pd.DataFrame({'powerlaw':powerlaw.rvs(powerlaw_arg,size=n_samples),
    'triangle':triang.rvs(triang_arg,size=n_samples),
    'uniform':np.concatenate((uniform.rvs(0.2,0.5,size=n_samples/2),uniform.rvs(0.3,0.2,size=n_samples/2))),
    'powerlaw_signal':np.concatenate((powerlaw.rvs(powerlaw_arg,size=n_samples/2),signal))})

  ax[0].plot(x, frozen_powerlaw.pdf(x), 'k-', lw=2, label='powerlaw pdf')
  hist(data_frame['powerlaw'],bins=100,normed=True,histtype='stepfilled',alpha=0.2,label='100 bins',ax=ax[0])
  #hist(data_frame['powerlaw'],bins='blocks',fitness='poly_events',normed=True,histtype='stepfilled',alpha=0.2,label='b blocks',ax=ax[0])
  ax[0].legend(loc = 'best')

  ax[1].plot(x, frozen_triangle.pdf(x), 'k-', lw=2, label='triangle pdf')
  hist(data_frame['triangle'],bins=100,normed=True,histtype='stepfilled',alpha=0.2,label='100 bins',ax=ax[1])
  hist(data_frame['triangle'],bins='blocks',fitness='poly_events',normed=True,histtype='stepfilled',alpha=0.2,label='b blocks',ax=ax[1])
  ax[1].legend(loc = 'best')

  #ax[0].plot(x, frozen_powerlaw.pdf(x), 'k-', lw=2, label='powerlaw pdf')
  hist(data_frame['powerlaw_signal'],bins=100,normed=True,histtype='stepfilled',alpha=0.2,label='100 bins',ax=ax[2])
  #hist(data_frame['powerlaw_signal'],bins='blocks',normed=True,histtype='stepfilled',alpha=0.2,label='b blocks',ax=ax[2])
  ax[2].legend(loc = 'best')

  ax[3].plot(x, frozen_uniform.pdf(x)+frozen_uniform2.pdf(x), 'k-', lw=2, label='uniform pdf')
  hist(data_frame['uniform'],bins=100,normed=True,histtype='stepfilled',alpha=0.2,label='100 bins',ax=ax[3])
  #hist(data_frame['uniform'],bins='blocks',fitness = 'poly_events',p0=0.05,normed=True,histtype='stepfilled',alpha=0.2,label='b blocks',ax=ax[3])
  ax[3].legend(loc = 'best')

  plt.show()
  fig.savefig('plots/toy_plots.png')
def make_hist_ratio_blackhole2(bin_edges, data, mc, data_err, label, suffix = None, bg_est='data_driven', signal=None, mode='no_signal'):
    bin_centres = (bin_edges[:-1] + bin_edges[1:])/2.
    fig = plt.figure()
    gs = gridspec.GridSpec(2,1,height_ratios=[3,1])
    ax1=fig.add_subplot(gs[0])
    ax2=fig.add_subplot(gs[1],sharex=ax1)
    ax1.grid(True)
    ax2.grid(True)
    plt.setp(ax1.get_xticklabels(), visible=False)
    fig.subplots_adjust(hspace=0.001)
    #ax = plt.gca()
    ax1.set_yscale("log", nonposy='clip')
    if bg_est in ['data_driven','mc']:
        #fill_between_steps(ax1, bin_edges, mc,1e-4, alpha=0.2, step_where='pre',linewidth=0,label='QCD MC')
        hist(np.asarray([mc,signal]).T,bin_edges, ax=ax1, alpha=0.2)
    else:
        fill_between_steps(ax1, bin_edges, mc,1e-4, alpha=0.2, step_where='pre',linewidth=0,label='ST_mul2 excl. (normed)')
    if mode in ['signal_search','signal_search_inj']:
        fill_between_steps(ax1, bin_edges,mc+signal,mc,alpha=0.6,step_where='pre',linewidth=0,label='Signal', color='darkgreen')
    ax1.errorbar(bin_centres, data, yerr=data_err, fmt='ok',label='data')
#plt.semilogy()
    ax1.legend()
    ax1.set_ylim(1e-4,ax1.get_ylim()[1])
    if bg_est=='data_driven':
        ax1.set_title('ST_mult '+label+' QCD MC and real data, binned from data')
    elif bg_est=='mc':
        ax1.set_title('ST_mult '+label+' QCD MC and real data, binned from MC')
    elif bg_est=='low_ST':
        ax1.set_title('ST_mult '+label+' data, bg est from ST mult_2 data')
    if mode in ['signal_search','signal_search_inj']:
        ratio = data/(mc+signal)
        ratio_err = data_err/(mc+signal)
    else:
        ratio = data/mc
        ratio_err = data_err/mc
    fill_between_steps(ax2, bin_edges, ratio+ratio_err ,ratio-ratio_err, alpha=0.2, step_where='pre',linewidth=0,color='red')
    ax2.errorbar(bin_centres, ratio, yerr=None, xerr=[np.abs(bin_edges[0:-1]-bin_centres),np.abs(bin_edges[1:]-bin_centres)], fmt='ok')
    ax2.set_xlabel('ST (GeV)',fontsize=17)
    ax2.set_ylabel('Data/BG',fontsize=17)
    ax1.set_ylabel(r'N/$\Delta$x',fontsize=17)
    ylims=[0.1,2]
    #ylims = ax2.get_ylim()
    #if ylims[0]>1: ylims[0] = 0.995
    #if ylims[1]<1: ylims[1] = 1.005
    ax2.set_ylim(ylims[0],ylims[1])
    ax2.get_yaxis().get_major_formatter().set_useOffset(False)
    ax2.axhline(1,linewidth=2,color='r')
    tickbins = len(ax1.get_yticklabels()) # added
    ax2.yaxis.set_major_locator(MaxNLocator(nbins=7, prune='upper'))
    if suffix: suffix = '_'.join([suffix,mode])
    else: suffix = mode

    if bg_est=='data_driven':
        save_name = '../../plots/ST_mul'+label+'_mc_and_data_normed_databin'
    elif bg_est=='mc':
        save_name = '../../plots/ST_mul'+label+'_mc_and_data_normed_mcbin'
    else:
        save_name = '../../plots/ST_mul'+label+'_mc_and_data_normed_st2_bg'

    if suffix: save_name+='_'+suffix
    save_name+='.pdf'
    plt.savefig(save_name)
def make_comp_plots(data, p0, save_dir,title='Plot of thing vs thing', xlabel='X axis', ylabel='Y axis',save_name='plot'):
    bb_edges = bayesian_blocks(data,p0=p0)
    plt.figure()
    plt.yscale('log', nonposy='clip')
    hist(data,bins=100,histtype='stepfilled',alpha=0.2,label='100 bins',normed=True)
    hist(data,bins=bb_edges,histtype='step',linewidth=2.0,color='crimson',label='b blocks',normed=True)
    plt.legend()
    plt.xlabel(xlabel)
    plt.ylabel(ylabel)
    plt.title(title)
    plt.savefig(save_dir+save_name+'_binsVbb.pdf')

    plt.figure()
    plt.yscale('log', nonposy='clip')
    hist(data,'knuth',histtype='stepfilled',alpha=0.2,label='knuth',normed=True)
    hist(data,bins=bb_edges,histtype='step',linewidth=2.0,color='crimson',label='b blocks',normed=True)
    plt.legend()
    plt.xlabel(xlabel)
    plt.ylabel(ylabel)
    plt.title(title)
    plt.savefig(save_dir+save_name+'_knuthVbb.pdf')

    plt.figure()
    plt.yscale('log', nonposy='clip')
    hist(data,'scott',histtype='stepfilled',alpha=0.2,label='scott',normed=True)
    hist(data,bins=bb_edges,histtype='step',linewidth=2.0,color='crimson',label='b blocks',normed=True)
    plt.legend()
    plt.xlabel(xlabel)
    plt.ylabel(ylabel)
    plt.title(title)
    plt.savefig(save_dir+save_name+'_scottVbb.pdf')


    plt.figure()
    plt.yscale('log', nonposy='clip')
    hist(data,'freedman',histtype='stepfilled',alpha=0.2,label='freedman',normed=True)
    hist(data,bins=bb_edges,histtype='step',linewidth=2.0,color='crimson',label='b blocks',normed=True)
    plt.legend()
    plt.xlabel(xlabel)
    plt.ylabel(ylabel)
    plt.title(title)
    plt.savefig(save_dir+save_name+'_freedmanVbb.pdf')

    plt.figure()
    plt.yscale('log', nonposy='clip')
    hist(data,bins=bb_edges,histtype='stepfilled',alpha=0.4,label='b blocks',normed=True)
    plt.legend()
    plt.xlabel(xlabel)
    plt.ylabel(ylabel)
    plt.title(title)
    plt.savefig(save_dir+save_name+'_bb.pdf')

    plt.figure()
    plt.yscale('log', nonposy='clip')
    hist(data,bins=100,histtype='stepfilled',alpha=0.4,label='100 bins',normed=True)
    plt.legend()
    plt.xlabel(xlabel)
    plt.ylabel(ylabel)
    plt.title(title)
    plt.savefig(save_dir+save_name+'_bins.pdf')

    plt.figure()
    plt.yscale('log', nonposy='clip')
    hist(data,bins='knuth',histtype='stepfilled',alpha=0.4,label='knuth',normed=True)
    plt.legend()
    plt.xlabel(xlabel)
    plt.ylabel(ylabel)
    plt.title(title)
    plt.savefig(save_dir+save_name+'_knuth.pdf')

    plt.figure()
    plt.yscale('log', nonposy='clip')
    hist(data,bins='scott',histtype='stepfilled',alpha=0.4,label='scott',normed=True)
    plt.legend()
    plt.xlabel(xlabel)
    plt.ylabel(ylabel)
    plt.title(title)
    plt.savefig(save_dir+save_name+'_scott.pdf')

    plt.figure()
    plt.yscale('log', nonposy='clip')
    hist(data,bins='freedman',histtype='stepfilled',alpha=0.4,label='freedman',normed=True)
    plt.legend()
    plt.xlabel(xlabel)
    plt.ylabel(ylabel)
    plt.title(title)
    plt.savefig(save_dir+save_name+'_freedman.pdf')
def generateToy():

  np.random.seed(12345)

  fig,ax = plt.subplots()
  triang_arg=0.5
  #frozen_triangle = triang(c=triang_arg, loc=2) #up-sloping line from loc to (loc + c*scale) and then downsloping for (loc + c*scale) to (loc+scale).
  frozen_triangle = triang(c=0.5,loc=2) #up-sloping line from loc to (loc + c*scale) and then downsloping for (loc + c*scale) to (loc+scale).
  frozen_powerlaw = powerlaw(2) #powerlaw.pdf(x, a) = a * x**(a-1)

  x = np.linspace(0,1,20)
  x2 = np.linspace(0,1,20)
  nx = x
  nx2 = x2
  #nd = frozen_powerlaw.ppf(nx)
  #nd = np.array([0,0.3162,0.4472,0.5477,0.6324,0.7071,0.7746,0.8367,0.8944,0.9487])
  nd = np.array([0,0.140175,0.264911,0.378405,0.48324,0.581139,0.67332,0.760682,0.843909,0.923538])
  #nd = np.array([0.0723805,0.204159,0.322876,0.431782,0.532971,0.627882,0.717556,0.802776,0.884144,0.962142])
  #pdf = frozen_powerlaw.pdf(x)
  #nd = frozen_triangle.ppf(nx)
  #print x
  #print nd
  #raw_input()
  #pdf = frozen_triangle.pdf(x)
  #print nd
  #print pdf
  #raw_input()
  #for i in range(len(nd)-1):
  #  print (nd[i+1]-nd[i])*(nd[i+1]+nd[i])
  #raw_input()

  #nd2 = frozen_triangle2.ppf(nx2)
  #pdf2 = frozen_triangle2.pdf(x2)

  #print nd,nd2
  #ndc = np.concatenate((nd,nd2),axis=0)
  #print 'ndc', ndc
  #nxc = np.concatenate((nx,nx2))
  #print pdf, pdf2
  #pdfc = np.concatenate((pdf,pdf2))
  #xc = np.concatenate((x,x2))

  #plt.plot(nd,len(nx)*[1],"x")
  #plt.plot(x,pdf)
  #hist(nd,'blocks',fitness='poly_events',p0=0.05,histtype='bar',alpha=0.2,label='b blocks',ax=ax,normed=True)

  #plt.plot(nd[0:11],len(nx[0:11])*[1],"x")
  #plt.plot(x[0:11],pdf[0:11])
  #hist(nd[0:11],'blocks',fitness='poly_events',p0=0.05,histtype='bar',alpha=0.2,label='b blocks',ax=ax,normed=True)
  #hist(ndc,bins=50,histtype='bar',alpha=0.2,label='b blocks',ax=ax,normed=True)

  #plt.plot(nd[11:],len(nx[11:])*[1],"x")
  #plt.plot(x[11:],pdf[11:])
  #hist(nd[11:],'blocks',fitness='poly_events',p0=0.05,histtype='bar',alpha=0.2,label='b blocks',ax=ax,normed=True)

  print(nd)
  plt.plot(nd,len(nd)*[1],"x")
  #plt.plot(x,pdf)
  hist(nd,'blocks',fitness='poly_events',p0=0.05,histtype='bar',alpha=0.2,label='b blocks',ax=ax)

  plt.show()
  fig.savefig('plots/toy_plots2.png')
#weights: array([ 0.27436519,  0.04019762,  0.01657276])
df_mc1 = df_mc[np.isclose(df_mc.weightTree,0.27436519)]
df_mc2 = df_mc[np.isclose(df_mc.weightTree, 0.0401976)]
df_mc3 = df_mc[np.isclose(df_mc.weightTree, 0.01657276)]

#ratio: 42:5:1

for ST in [5]:
    #my_ST = df_mc1[df_mc1['ST_mul'+str(ST)]>ST_low]['ST_mul'+str(ST)].sample(samples*42,random_state=seed,replace=False).values
    my_ST = []
    my_ST = np.append(my_ST, df_mc2[df_mc2['ST_mul'+str(ST)]>ST_low]['ST_mul'+str(ST)].sample(samples*5,random_state=seed).values)
    my_ST = np.append(my_ST, df_mc3[df_mc3['ST_mul'+str(ST)]>ST_low]['ST_mul'+str(ST)].sample(samples*1,random_state=seed).values)
    fig = plt.figure()
    ax = plt.gca()
    hist(my_ST, bins=200, histtype='bar',alpha=0.2, label='standard histogram',normed=normed,log=log)
    print('doing bb')
    p0=0.01
    hist(my_ST, bins = 'blocks', fitness = 'events', p0=p0,  ax = ax, histtype='step', label='Bayesian Blocks', linewidth=2,normed=normed,log=log)
    ax.legend()
    plt.title('ST_mul'+str(ST))
    plt.xlabel('ST (GeV)')
    if normed:
        plt.ylabel(r'N/$\Sigma$N$\Delta$x')
    else:
        plt.ylabel('N')
    plt.savefig('plots/ST_mul'+str(ST)+'_MC.pdf')
    plt.show()

'''
for key in ST_dict_MC.iterkeys():
Example #7
0
def generateToy():

    np.random.seed(12345)

    fig, ax = plt.subplots(4, sharex=True)
    #fig,ax = plt.subplots(2)

    powerlaw_arg = 2
    triang_arg = 0.7
    n_samples = 500
    #generate simple line with slope 1, from 0 to 1
    frozen_powerlaw = powerlaw(
        powerlaw_arg)  #powerlaw.pdf(x, a) = a * x**(a-1)
    #generate triangle with peak at 0.7
    frozen_triangle = triang(
        triang_arg
    )  #up-sloping line from loc to (loc + c*scale) and then downsloping for (loc + c*scale) to (loc+scale).
    frozen_uniform = uniform(0.2, 0.5)
    frozen_uniform2 = uniform(0.3, 0.2)

    x = np.linspace(0, 1)

    signal = np.random.normal(0.5, 0.1, n_samples / 2)

    data_frame = pd.DataFrame({
        'powerlaw':
        powerlaw.rvs(powerlaw_arg, size=n_samples),
        'triangle':
        triang.rvs(triang_arg, size=n_samples),
        'uniform':
        np.concatenate((uniform.rvs(0.2, 0.5, size=n_samples / 2),
                        uniform.rvs(0.3, 0.2, size=n_samples / 2))),
        'powerlaw_signal':
        np.concatenate((powerlaw.rvs(powerlaw_arg,
                                     size=n_samples / 2), signal))
    })

    ax[0].plot(x, frozen_powerlaw.pdf(x), 'k-', lw=2, label='powerlaw pdf')
    hist(data_frame['powerlaw'],
         bins=100,
         normed=True,
         histtype='stepfilled',
         alpha=0.2,
         label='100 bins',
         ax=ax[0])
    #hist(data_frame['powerlaw'],bins='blocks',fitness='poly_events',normed=True,histtype='stepfilled',alpha=0.2,label='b blocks',ax=ax[0])
    ax[0].legend(loc='best')

    ax[1].plot(x, frozen_triangle.pdf(x), 'k-', lw=2, label='triangle pdf')
    hist(data_frame['triangle'],
         bins=100,
         normed=True,
         histtype='stepfilled',
         alpha=0.2,
         label='100 bins',
         ax=ax[1])
    hist(data_frame['triangle'],
         bins='blocks',
         fitness='poly_events',
         normed=True,
         histtype='stepfilled',
         alpha=0.2,
         label='b blocks',
         ax=ax[1])
    ax[1].legend(loc='best')

    #ax[0].plot(x, frozen_powerlaw.pdf(x), 'k-', lw=2, label='powerlaw pdf')
    hist(data_frame['powerlaw_signal'],
         bins=100,
         normed=True,
         histtype='stepfilled',
         alpha=0.2,
         label='100 bins',
         ax=ax[2])
    #hist(data_frame['powerlaw_signal'],bins='blocks',normed=True,histtype='stepfilled',alpha=0.2,label='b blocks',ax=ax[2])
    ax[2].legend(loc='best')

    ax[3].plot(x,
               frozen_uniform.pdf(x) + frozen_uniform2.pdf(x),
               'k-',
               lw=2,
               label='uniform pdf')
    hist(data_frame['uniform'],
         bins=100,
         normed=True,
         histtype='stepfilled',
         alpha=0.2,
         label='100 bins',
         ax=ax[3])
    #hist(data_frame['uniform'],bins='blocks',fitness = 'poly_events',p0=0.05,normed=True,histtype='stepfilled',alpha=0.2,label='b blocks',ax=ax[3])
    ax[3].legend(loc='best')

    plt.show()
    fig.savefig('plots/toy_plots.png')
def generateToy():

  np.random.seed(12345)

  fig,ax = plt.subplots()
  triang_arg=0.5
  #frozen_triangle = triang(c=triang_arg, loc=2) #up-sloping line from loc to (loc + c*scale) and then downsloping for (loc + c*scale) to (loc+scale).
  frozen_triangle = triang(c=0.5,loc=2) #up-sloping line from loc to (loc + c*scale) and then downsloping for (loc + c*scale) to (loc+scale).
  frozen_powerlaw = powerlaw(2) #powerlaw.pdf(x, a) = a * x**(a-1)

  x = np.linspace(0,1,20)
  x2 = np.linspace(0,1,20)
  nx = x
  nx2 = x2
  #nd = frozen_powerlaw.ppf(nx)
  #nd = np.array([0,0.3162,0.4472,0.5477,0.6324,0.7071,0.7746,0.8367,0.8944,0.9487])
  nd = np.array([0,0.140175,0.264911,0.378405,0.48324,0.581139,0.67332,0.760682,0.843909,0.923538])
  #nd = np.array([0.0723805,0.204159,0.322876,0.431782,0.532971,0.627882,0.717556,0.802776,0.884144,0.962142])
  #pdf = frozen_powerlaw.pdf(x)
  #nd = frozen_triangle.ppf(nx)
  #print x
  #print nd
  #raw_input()
  #pdf = frozen_triangle.pdf(x)
  #print nd
  #print pdf
  #raw_input()
  #for i in range(len(nd)-1):
  #  print (nd[i+1]-nd[i])*(nd[i+1]+nd[i])
  #raw_input()

  #nd2 = frozen_triangle2.ppf(nx2)
  #pdf2 = frozen_triangle2.pdf(x2)

  #print nd,nd2
  #ndc = np.concatenate((nd,nd2),axis=0)
  #print 'ndc', ndc
  #nxc = np.concatenate((nx,nx2))
  #print pdf, pdf2
  #pdfc = np.concatenate((pdf,pdf2))
  #xc = np.concatenate((x,x2))

  #plt.plot(nd,len(nx)*[1],"x")
  #plt.plot(x,pdf)
  #hist(nd,'blocks',fitness='poly_events',p0=0.05,histtype='bar',alpha=0.2,label='b blocks',ax=ax,normed=True)

  #plt.plot(nd[0:11],len(nx[0:11])*[1],"x")
  #plt.plot(x[0:11],pdf[0:11])
  #hist(nd[0:11],'blocks',fitness='poly_events',p0=0.05,histtype='bar',alpha=0.2,label='b blocks',ax=ax,normed=True)
  #hist(ndc,bins=50,histtype='bar',alpha=0.2,label='b blocks',ax=ax,normed=True)

  #plt.plot(nd[11:],len(nx[11:])*[1],"x")
  #plt.plot(x[11:],pdf[11:])
  #hist(nd[11:],'blocks',fitness='poly_events',p0=0.05,histtype='bar',alpha=0.2,label='b blocks',ax=ax,normed=True)

  print nd
  plt.plot(nd,len(nd)*[1],"x")
  #plt.plot(x,pdf)
  hist(nd,'blocks',fitness='poly_events',p0=0.05,histtype='bar',alpha=0.2,label='b blocks',ax=ax)

  plt.show()
  fig.savefig('plots/toy_plots2.png')
fig, ax = plt.subplots()
plt.show()
plt.get_current_fig_manager().window.wm_geometry("-2800-600")
ax.set_xlim(0,0.55)
ax.set_ylim(0,5.2)
test_data=[ 0.03815414 , 0.09320462 , 0.11173259 , 0.3899594 ,  0.48899476]
print test_data

my_hist = None
frame=0
for i in range(len(test_data)):
  frame+=1

  ax.plot(test_data[:i+1],len(test_data[:i+1])*[1],"o",zorder=40,color='k')
  if my_hist != None and len(my_hist)>0:
    for patch in my_hist:
      patch.set_alpha(0.15)
  plt.show()
  plt.savefig('plots/frame{}.png'.format(frame))
  #hist(test_data[:i+1],'blocks',fitness='events',p0=0.37,histtype='bar',alpha=0.2,label='b blocks',ax=ax,zorder=len(test_data)-i)
  #my_hists.append(hist(test_data[:i+1],'blocks',fitness='events',p0=0.37,histtype='bar',label='b blocks',ax=ax,zorder=10-i)[-1])
  my_hist = hist(test_data[:i+1],'blocks',fitness='events',p0=0.37,histtype='bar',label='b blocks',ax=ax,zorder=20-i)[-1]
  #print my_hist
  #plt.draw()
  plt.show()
  frame+=1
  plt.savefig('plots/frame{}.png'.format(frame))
  #raw_input()
  #for patch in hist:
  #  patch.set_alpha(0.2)
#weights: array([ 0.27436519,  0.04019762,  0.01657276])
df_mc1 = df_mc[np.isclose(df_mc.weightTree,0.27436519)]
df_mc2 = df_mc[np.isclose(df_mc.weightTree, 0.0401976)]
df_mc3 = df_mc[np.isclose(df_mc.weightTree, 0.01657276)]

#ratio: 42:5:1

for ST in [5]:
    #my_ST = df_mc1[df_mc1['ST_mul'+str(ST)]>ST_low]['ST_mul'+str(ST)].sample(samples*42,random_state=seed,replace=False).values
    my_ST = []
    my_ST = np.append(my_ST, df_mc2[df_mc2['ST_mul'+str(ST)]>ST_low]['ST_mul'+str(ST)].sample(samples*5,random_state=seed).values)
    my_ST = np.append(my_ST, df_mc3[df_mc3['ST_mul'+str(ST)]>ST_low]['ST_mul'+str(ST)].sample(samples*1,random_state=seed).values)
    fig = plt.figure()
    ax = plt.gca()
    hist(my_ST, bins=200, histtype='bar',alpha=0.2, label='standard histogram',normed=normed,log=log)
    print 'doing bb'
    p0=0.01
    hist(my_ST, bins = 'blocks', fitness = 'events', p0=p0,  ax = ax, histtype='step', label='Bayesian Blocks', linewidth=2,normed=normed,log=log)
    ax.legend()
    plt.title('ST_mul'+str(ST))
    plt.xlabel('ST (GeV)')
    if normed:
        plt.ylabel(r'N/$\Sigma$N$\Delta$x')
    else:
        plt.ylabel('N')
    plt.savefig('plots/ST_mul'+str(ST)+'_MC.pdf')
    plt.show()

'''
for key in ST_dict_MC.iterkeys():
Example #11
0
    frame += 1

    ax.plot(test_data[:i + 1],
            len(test_data[:i + 1]) * [1],
            "o",
            zorder=40,
            color='k')
    if my_hist != None and len(my_hist) > 0:
        for patch in my_hist:
            patch.set_alpha(0.15)
    plt.show()
    plt.savefig('plots/frame{}.png'.format(frame))
    #hist(test_data[:i+1],'blocks',fitness='events',p0=0.37,histtype='bar',alpha=0.2,label='b blocks',ax=ax,zorder=len(test_data)-i)
    #my_hists.append(hist(test_data[:i+1],'blocks',fitness='events',p0=0.37,histtype='bar',label='b blocks',ax=ax,zorder=10-i)[-1])
    my_hist = hist(test_data[:i + 1],
                   'blocks',
                   fitness='events',
                   p0=0.37,
                   histtype='bar',
                   label='b blocks',
                   ax=ax,
                   zorder=20 - i)[-1]
    #print my_hist
    #plt.draw()
    plt.show()
    frame += 1
    plt.savefig('plots/frame{}.png'.format(frame))
    #raw_input()
    #for patch in hist:
    #  patch.set_alpha(0.2)