In [16]:
%matplotlib inline
import glob
import os
import h5py
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import pandas as pd
mpl.rcParams['axes.titlesize'] = 16
mpl.rcParams['axes.labelsize'] = 14
mpl.rcParams['figure.facecolor'] = 'white'
mpl.rcParams['figure.figsize'] = (8, 6)
mpl.rcParams['font.size'] = 12
mpl.rcParams['legend.fontsize'] = 14
# mpl.rcParams['text.usetex'] = True
mpl.rcParams['xtick.direction'] = 'in'
mpl.rcParams['xtick.labelsize'] = 14
mpl.rcParams['ytick.direction'] = 'in'
mpl.rcParams['ytick.labelsize'] = 14
In [17]:
mock_params = []
num_mocks = 10
for i in range(num_mocks):
mock_params.append(np.genfromtxt('../baofit/mock-{:03d}-save.pars'.format(i)))
mock_params = np.array(mock_params)
In [18]:
alpha_para_index = 8
alpha_perp_index = 9
value_index = 1
error_index = 2
alpha_para = mock_params[:, alpha_para_index, value_index]
alpha_para_error = mock_params[:, alpha_para_index, error_index]
alpha_perp = mock_params[:, alpha_perp_index, value_index]
alpha_perp_error = mock_params[:, alpha_perp_index, error_index]
In [19]:
mock_params[:, (8,9)][:, :, 2]
Out[19]:
In [20]:
alpha_para_error
Out[20]:
In [21]:
alpha_perp_error
Out[21]:
In [22]:
alpha_para_weight = alpha_para_error**-2
alpha_perp_weight = alpha_perp_error**-2
In [23]:
alpha_para_mean = np.average(alpha_para, weights=alpha_para_weight)
alpha_perp_mean = np.average(alpha_perp, weights=alpha_perp_weight)
In [24]:
alpha_para_var = np.average((alpha_para - alpha_para_mean)**2, weights=alpha_para_weight)
alpha_perp_var = np.average((alpha_perp - alpha_perp_mean)**2, weights=alpha_perp_weight)
In [25]:
def plot_xy(ix, iy):
fig, ax = plt.subplots(figsize=(8, 6))
x = mock_params[:, ix, value_index]
x_err = mock_params[:, ix, error_index]
y = mock_params[:, iy, value_index]
y_err = mock_params[:, iy, error_index]
ax.scatter(x, y)
ax.tick_params(direction='in', labelsize=16)
ax.grid(True)
In [26]:
plot_xy(1, 0)
plt.xlabel(r'$b(1 + \beta)$', fontsize=20)
plt.ylabel(r'$\beta$', fontsize=20)
plt.ylim(0, 10)
plt.show()
In [27]:
fig, ax = plt.subplots(figsize=(8, 6))
ax.errorbar(
alpha_perp,
alpha_para,
xerr=alpha_perp_error,
yerr=alpha_para_error,
marker='o', mew=1,
lw=0, elinewidth=1, label='Individual mocks')
ax.errorbar(
alpha_perp_mean,
alpha_para_mean,
xerr=np.sqrt(alpha_perp_var/num_mocks),
yerr=np.sqrt(alpha_para_var/num_mocks),
marker='o',
label='Combined'
)
# ax.errorbar(
# alpha_perp_mean,
# alpha_para_mean,
# xerr=np.sqrt(1.0/np.sum(alpha_perp_weight)),
# yerr=np.sqrt(1.0/np.sum(alpha_para_weight)),
# label='Weighted Std Dev'
# )
# ax.set_ylim(0.5, 1.5)
# ax.set_xlim(0.5, 1.5)
ax.set_xlabel(r'$\alpha_\perp$', fontsize=20)
ax.set_ylabel(r'$\alpha_\parallel$', fontsize=20)
ax.tick_params(labelsize=16)
ax.legend(fontsize='large')
ax.grid(True)
In [28]:
noiseless = np.loadtxt('pylya_summary_full.txt')
In [29]:
noiseless[0, (0, 1, 4)]
Out[29]:
In [30]:
fig, ax = plt.subplots(figsize=(8, 6))
for name, marker in zip(('noiseless', 'full'), ('+', 'x')):
summary = np.loadtxt('pylya_summary_{}.txt'.format(name))
i, ap, ap_err_lo, ap_err_hi, at, at_err_lo, at_err_hi = summary[:, (0, 1, 2, 3, 4, 5, 6)].T
ax.errorbar(
at[:10],
ap[:10],
marker=marker, mew=1,
lw=0, elinewidth=1, label='BOSS {}'.format(name))
ax.errorbar(
alpha_perp,
alpha_para,
marker='.', mew=1,
lw=0, elinewidth=1, label='Margala')
ax.set_ylim(0.8, 1.2)
ax.set_xlim(0.8, 1.2)
ax.set_xlabel(r'$\alpha_\perp$')
ax.set_ylabel(r'$\alpha_\parallel$')
ax.legend(fontsize='large')
# ax.set_aspect('equal')
ax.grid(True)
plt.savefig('mock-alphas.png', dpi=100, bbox_inches='tight')
In [ ]:
In [ ]: