From 73abf6833363f0efda60b0ea297c205fc228771e Mon Sep 17 00:00:00 2001 From: LisaGoh Date: Thu, 26 Mar 2026 13:44:18 +0100 Subject: [PATCH 1/3] updated config space paper plots --- .../S8_om_sigma8_whisker.ipynb | 500 ++++++++++++ .../best_fit_xipm.ipynb | 476 ++++++++++++ .../contours.ipynb | 731 ++++++++++++++++++ .../get_chi2.ipynb | 575 ++++++++++++++ .../get_prior_psf_leakage.ipynb | 249 ++++++ .../masking.ipynb | 151 ++++ .../nonlin_k_analysis.ipynb | 171 ++++ .../ psf_leakage.ipynb | 248 ------ .../2D_cosmic_shear_paper_plots/.gitignore | 3 - .../2025_10_13_plot_data_vectors.py | 0 ...2025_10_28_plot_whisker_config_space.ipynb | 490 ------------ .../2025_12_10_plot_covariance.py | 63 -- .../2025_12_10_plot_leakage_prior.ipynb | 464 ----------- .../2026_01_05_get_bestfit_glass_mock.py | 256 ------ .../2026_01_05_get_p_value_glass_mock.py | 277 ------- .../S8_sigma8_Om_contour.ipynb | 266 ------- .../S8_whisker.ipynb | 113 --- .../config/config.yaml | 19 - .../config/paper.mplstyle | 14 - .../corr_func.ipynb | 331 -------- .../matplotlib_config/paper.mplstyle | 13 - .../supporting_plots.ipynb | 155 ---- .../workflow/Snakefile | 45 -- .../workflow/scripts/contour_plots.py | 183 ----- .../workflow/scripts/eb_plots.py | 389 ---------- .../workflow/scripts/get_bestfit_model.py | 175 ----- .../workflow/scripts/plot_xi_bestfit.py | 185 ----- 27 files changed, 2853 insertions(+), 3689 deletions(-) create mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/S8_om_sigma8_whisker.ipynb create mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/best_fit_xipm.ipynb create mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/contours.ipynb create mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/get_chi2.ipynb create mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/get_prior_psf_leakage.ipynb create mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/masking.ipynb create mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/nonlin_k_analysis.ipynb delete mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/ psf_leakage.ipynb delete mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/.gitignore delete mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2025_10_13_plot_data_vectors.py delete mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2025_10_28_plot_whisker_config_space.ipynb delete mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2025_12_10_plot_covariance.py delete mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2025_12_10_plot_leakage_prior.ipynb delete mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2026_01_05_get_bestfit_glass_mock.py delete mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2026_01_05_get_p_value_glass_mock.py delete mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/S8_sigma8_Om_contour.ipynb delete mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/S8_whisker.ipynb delete mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/config/config.yaml delete mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/config/paper.mplstyle delete mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/corr_func.ipynb delete mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/matplotlib_config/paper.mplstyle delete mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/supporting_plots.ipynb delete mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/Snakefile delete mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/scripts/contour_plots.py delete mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/scripts/eb_plots.py delete mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/scripts/get_bestfit_model.py delete mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/scripts/plot_xi_bestfit.py diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/S8_om_sigma8_whisker.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/S8_om_sigma8_whisker.ipynb new file mode 100644 index 00000000..3791816e --- /dev/null +++ b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/S8_om_sigma8_whisker.ipynb @@ -0,0 +1,500 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "3aee8492", + "metadata": {}, + "source": [ + "# Whisker plot\n", + "\n", + "This notebook plots the whisker plot of $S_8$, $\\Omega_m$ and $\\sigma_8$" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "889d7da8", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import sys\n", + "\n", + "# Trick to plot with tex\n", + "os.environ[\"LD_LIBRARY_PATH\"] = \"\"\n", + "os.environ[\"CONDA_PREFIX\"] = \"/home/guerrini/.conda/envs/sp_validation_3.11\"\n", + "\n", + "sys.path.append(\n", + " \"/n23data1/n06data/lgoh/scratch/UNIONS/cosmo_inference/notebooks/\"\n", + ")\n", + "\n", + "from getdist import plots, loadMCSamples\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "import warnings\n", + "import sys\n", + "\n", + "sys.path.append(\"/home/guerrini/sp_validation/cosmo_inference/scripts\")\n", + "\n", + "import chain_postprocessing as cp\n", + "\n", + "plt.style.use(\n", + " \"/home/guerrini/matplotlib_config/paper.mplstyle\"\n", + ")\n", + "\n", + "plt.rc('text', usetex=True)\n", + "\n", + "sns.set_palette(\"husl\")\n", + "\n", + "g = plots.get_subplot_plotter(width_inch=30)\n", + "g.settings.axes_fontsize=60\n", + "g.settings.axes_labelsize=60\n", + "g.settings.alpha_filled_add = 0.7\n", + "g.settings.legend_fontsize = 60\n", + "\n", + "%matplotlib inline\n", + "\n", + "#SPECIFY DATA DIRECTORY AND DESIRED CHAINS TO ANALYSE\n", + "root_dir = \"/n09data/guerrini/output_chains/\"\n", + "root_external = f\"{root_dir}/ext_data/\"\n", + "blind = 'B'\n", + "\n", + "roots = [\n", + "f'SP_v1.4.6.3_{blind}_fiducial_config',\n", + "f'SP_v1.4.6.3_leak_corr_{blind}',\n", + "'Planck18',\n", + "'KiDS-Legacy_bandpowers',\n", + "'KiDS-Legacy_cosebis',\n", + "'KiDS-Legacy_xipm',\n", + "'HSC_Y3',\n", + "'HSC_Y3_cell',\n", + "f'SP_v1.4.6.3_{blind}_small_scales_config',\n", + "f'SP_v1.4.6.3_{blind}_flat_alpha_beta_config',\n", + "f'SP_v1.4.6.3_{blind}_no_xi_sys_config',\n", + "f'SP_v1.4.6.3_{blind}_no_leak_corr_config',\n", + "f'SP_v1.4.6.3_{blind}_flat_delta_z_config',\n", + "f'SP_v1.4.6.3_{blind}_no_delta_z_config',\n", + "f'SP_v1.4.6.3_{blind}_flat_ia_config',\n", + "f'SP_v1.4.6.3_{blind}_no_ia_config',\n", + "f'SP_v1.4.6.3_{blind}_no_m_bias_config',\n", + "f'SP_v1.4.6.3_{blind}_unmasked_covmat_config',\n", + "f'SP_v1.4.6.3_{blind}_halofit_config',\n", + "f'SP_v1.4.6.3_{blind}_no_baryons_config',\n", + "f'SP_v1.4.6.3_{blind}_nautilus_config',\n", + "f'SP_v1.4.6.3_{blind}_planck_config',\n", + "f'SP_v1.4.6.3_{blind}_planck_desi_sne1a_config',\n", + "\n", + "]\n", + "\n", + "legend_labels = [\n", + " r\"UNIONS-3500 $\\xi_{\\pm}(\\theta)$ (This work)\",\n", + " \n", + " r\"UNIONS-3500 $C_\\ell$ (Guerrini et al. 2026)\",\n", + " \n", + " r\"$\\textit{Planck}$ 2018\",\n", + " r\"KiDS-Legacy Bandpowers ($C_{\\rm E}$)\",\n", + " r\"KiDS-Legacy COSEBIs ($E_n$)\",\n", + " r\"KiDS-Legacy $\\xi_{\\pm}(\\theta)$\",\n", + " r\"HSC-Y3 $\\xi_{\\pm}(\\theta)$\",\n", + " r\"HSC-Y3 $C_\\ell$\",\n", + " \n", + " r\"$\\xi_+$ small scales, $\\theta$=[5,83] arcmin\",\n", + " r\"Flat $\\alpha_{\\rm{PSF}}$ and $\\beta_{\\rm{PSF}}$ priors\",\n", + " r\"No $\\xi^{\\rm sys}_{\\pm}$\",\n", + " r\"No leakage correction\",\n", + " r\"Flat $\\Delta z$ priors\",\n", + " r\"No $\\Delta z$\",\n", + " r\"Flat $A_{\\rm IA}$ prior\",\n", + " r\"No $A_{\\rm IA}$\",\n", + " r\"No $m$ bias\",\n", + " r\"Unmasked covmat\",\n", + " r\"$\\texttt{Halofit}$\",\n", + " r\"$\\texttt{HMCode}$ no baryons\",\n", + " r\"Nautilus sampler\",\n", + " r\"UNIONS-3500 + $\\textit{Planck}$\",\n", + " r\"UNIONS-3500 + Ext\"\n", + " ]\n", + "\n", + "categories = [\n", + " \"configuration\",\n", + " \"harmonic\", \n", + " \n", + " \"external\",\n", + " \"external\",\n", + " \"external\",\n", + " \"external\",\n", + " \"external\",\n", + " \"external\",\n", + " \n", + " \"configuration\",\n", + " \"configuration\",\n", + " \"configuration\",\n", + " \"configuration\",\n", + " \"configuration\",\n", + " \"configuration\",\n", + " \"configuration\",\n", + " \"configuration\",\n", + " \"configuration\",\n", + " \"configuration\",\n", + " \"configuration\",\n", + " \"configuration\",\n", + " \"configuration\",\n", + " \"configuration\",\n", + " \"configuration\",\n", + " \n", + "\n", + "]\n", + "colours = [\n", + " \"darkorange\",\n", + " \"royalblue\",\n", + "\n", + " \"violet\", \n", + " \"black\",\n", + " \"black\",\n", + " \"black\",\n", + " \"black\",\n", + " \"black\",\n", + " \"black\",\n", + " \"black\",\n", + " \n", + " \"forestgreen\",\n", + " \"forestgreen\",\n", + " \"forestgreen\",\n", + " \"forestgreen\",\n", + " \"forestgreen\",\n", + " \"forestgreen\",\n", + " \"forestgreen\",\n", + " \"forestgreen\",\n", + " \"forestgreen\",\n", + " \"forestgreen\",\n", + " \"forestgreen\",\n", + " \"forestgreen\",\n", + " \"forestgreen\",\n", + " \"forestgreen\",\n", + " \"forestgreen\",\n", + "]\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "694ae47f", + "metadata": {}, + "outputs": [], + "source": [ + "chains = []\n", + "for i, root in enumerate(roots):\n", + " category = categories[i]\n", + " if category != \"external\":\n", + " if category == 'configuration':\n", + " path_samples = os.path.join(\n", + " root_dir,\n", + " f\"{root}/samples_{root}.txt\"\n", + " )\n", + " path_getdist = os.path.join(\n", + " root_dir,\n", + " f\"{root}/getdist_{root}\"\n", + " )\n", + " elif category == 'harmonic':\n", + " path_samples = os.path.join(\n", + " root_dir,\n", + " f\"{root}/{root}/samples_{root}_cell.txt\"\n", + " )\n", + " path_getdist = os.path.join(\n", + " root_dir,\n", + " f\"{root}/{root}/getdist_{root}\"\n", + " )\n", + " elif category == \"external_compute_sample\":\n", + " path_samples = os.path.join(\n", + " root_dir,\n", + " f\"ext_data/{root}/samples_{root}.txt\"\n", + " )\n", + " path_getdist = os.path.join(\n", + " root_dir,\n", + " f\"ext_data/{root}/getdist_{root}\"\n", + " )\n", + " else:\n", + " raise ValueError(f\"The category, {category}, of {root} is not correct\")\n", + " if 'nautilus' not in root:\n", + " cp.load_samples_and_write_paramnames(path_samples, path_getdist+\".paramnames\")\n", + " cp.write_samples_getdist_format(path_samples, path_getdist+\".txt\")\n", + " chains.append(\n", + " cp.load_chain(path_getdist, smoothing_scale=0.5)\n", + " )\n", + " else:\n", + " path_getdist = os.path.join(\n", + " root_dir,\n", + " f\"ext_data/{root}/getdist_{root}\"\n", + " )\n", + " chains.append(\n", + " cp.load_chain(path_getdist)\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e57927c8", + "metadata": {}, + "outputs": [], + "source": [ + "name_list = ['OMEGA_M','ombh2','h0','n_s','SIGMA_8','S_8','s_8_input', 'logt_agn','a','m1','bias_1']\n", + "label_list = [r'\\Omega_{\\rm m}', r'\\omega_b h^2', r'h_0', r'n_s', r'\\sigma_8', r'S_8', r'S_8', r'\\log T_{\\rm AGN}', r'A_{\\rm IA}', r'm_1', r'\\Delta z_1']\n", + "\n", + "for i, chain in enumerate(chains):\n", + " print(legend_labels[i])\n", + " param_names = chain.getParamNames()\n", + " for name, label in zip(name_list, label_list):\n", + " try:\n", + " param_names.parWithName(name).label = label\n", + " except:\n", + " warnings.warn(f\"Parameter {name} not found in chain {roots[i]}.\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b0d924cb", + "metadata": {}, + "outputs": [], + "source": [ + "# Micro management of external chains\n", + "\n", + "# Account for the missing parameter conventions\n", + "\n", + "#OMEGA_M not in DES_Y3_cell\n", + "# idx = roots.index('DES_Y3_cell')\n", + "# cp.adjust_paramname_chain(chains[idx], 'omega_m', 'OMEGA_M', r'\\Omega_{\\rm m}')\n", + "# cp.derive_parameter_S8(chains[idx])\n", + "\n", + "idx = roots.index('KiDS-Legacy_xipm')\n", + "cp.derive_parameter_S8(chains[idx])\n", + "\n", + "idx = roots.index('KiDS-Legacy_bandpowers')\n", + "cp.derive_parameter_S8(chains[idx])\n", + "\n", + "idx = roots.index('KiDS-Legacy_cosebis')\n", + "cp.derive_parameter_S8(chains[idx])\n", + "\n", + "#OMEGA_M not in HSC_Y3_cell\n", + "idx = roots.index('HSC_Y3_cell')\n", + "cp.adjust_paramname_chain(chains[idx], 'omega_m', 'OMEGA_M', r'\\Omega_{\\rm m}')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d07b94e2", + "metadata": {}, + "outputs": [], + "source": [ + "param_values = np.array([\"# Expt\", \"Colour\", \"S8_Mean\", \"S8_low\", \"S8_high\", \"sigma_8_Mean\", \"sigma_8_low\", \"sigma_8_high\", \"Omega_m_Mean\", \"Omega_m_low\", \"Omega_m_high\"])\n", + "escaped = np.char.replace(legend_labels, '\\\\', '\\\\\\\\')\n", + "\n", + "for i, chain in enumerate(chains):\n", + " print(chain.root)\n", + " best_fit_params = cp.extract_best_fit_params(chain, best_fit_method='2Dkde')\n", + " margestats = chain.getMargeStats()\n", + "\n", + " s8_stats = margestats.parWithName('S_8')\n", + " sigma8_stats = margestats.parWithName('SIGMA_8')\n", + " omegam_stats = margestats.parWithName('OMEGA_M')\n", + "\n", + " param_values = np.vstack((\n", + " param_values,\n", + " [\n", + " escaped[i],\n", + " colours[i],\n", + " best_fit_params['S_8'],\n", + " best_fit_params['S_8'] - s8_stats.limits[0].lower,\n", + " s8_stats.limits[0].upper - best_fit_params['S_8'],\n", + " best_fit_params['SIGMA_8'],\n", + " best_fit_params['SIGMA_8'] - sigma8_stats.limits[0].lower,\n", + " sigma8_stats.limits[0].upper - best_fit_params['SIGMA_8'],\n", + " best_fit_params['OMEGA_M'],\n", + " best_fit_params['OMEGA_M'] - omegam_stats.limits[0].lower,\n", + " omegam_stats.limits[0].upper - best_fit_params['OMEGA_M'],\n", + " ]\n", + " ))\n", + "print(param_values)\n", + "np.savetxt(f\"{root_dir}/param_values.txt\", param_values, fmt=['%s' for i in range(11)], delimiter=';')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cc58ae5a", + "metadata": {}, + "outputs": [], + "source": [ + "# Load the value of the parameters\n", + "cosmo = np.loadtxt(f\"{root_dir}/param_values.txt\",\n", + " dtype={'names': ('Expt', 'colour', 's8_mean', 's8_low', 's8_high', 'sigma8_mean', 'sigma8_low', 'sigma8_high', 'omegam_mean', 'omegam_low', 'omegam_high'),\n", + " 'formats': ('U250', 'U20', 'U20', 'U20', 'U20', 'U20', 'U20', 'U20', 'U20', 'U20', 'U20')}, skiprows=1, delimiter=';')\n", + "expt = np.char.replace(cosmo['Expt'], '\\\\\\\\', '\\\\')\n", + "colours = cosmo['colour']\n", + "s8_mean = cosmo['s8_mean'].astype(np.float64)\n", + "s8_low = cosmo['s8_low'].astype(np.float64)\n", + "s8_high = cosmo['s8_high'].astype(np.float64)\n", + "sigma8_mean = cosmo['sigma8_mean'].astype(np.float64)\n", + "sigma8_low = cosmo['sigma8_low'].astype(np.float64)\n", + "sigma8_high = cosmo['sigma8_high'].astype(np.float64)\n", + "omegam_mean = cosmo['omegam_mean'].astype(np.float64)\n", + "omegam_low = cosmo['omegam_low'].astype(np.float64)\n", + "omegam_high = cosmo['omegam_high'].astype(np.float64)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d3da35ed", + "metadata": {}, + "outputs": [], + "source": [ + "from matplotlib.gridspec import GridSpec\n", + "\n", + "fig = plt.figure(figsize=(13, 8))\n", + "gs = GridSpec(1, 3, width_ratios=[1, 0.5, 0.5])\n", + "ax1 = fig.add_subplot(gs[0])\n", + "ax2 = fig.add_subplot(gs[1], sharey=ax1)\n", + "ax3 = fig.add_subplot(gs[2], sharey=ax1)\n", + "\n", + "axs = [ax1, ax2, ax3]\n", + "\n", + "params = [\n", + " (s8_mean, s8_low, s8_high, r\"$S_8$\"),\n", + " (sigma8_mean, sigma8_low, sigma8_high, r\"$\\sigma_8$\"),\n", + " (omegam_mean, omegam_low, omegam_high, r\"$\\Omega_{\\rm m}$\"),\n", + "]\n", + "reference = r\"UNIONS-3500 $\\xi_{\\pm}(\\theta)$ (This work)\"\n", + "\n", + "separation_after = [\n", + " r\"UNIONS-3500 $C_\\ell$ (Guerrini et al. 2026)\",\n", + " r\"HSC-Y3 $C_\\ell$\",\n", + " r\"$\\xi_+$ small scales, $\\theta$=[5,83] arcmin\",\n", + " r\"Unmasked covmat\", \n", + " r\"$\\texttt{HMCode}$ no baryons\",\n", + " r\"Nautilus sampler\",\n", + "]\n", + "list_section_index = [\n", + " r\"(ii)\",\n", + " r\"(iii)\",\n", + " r\"(iv)\",\n", + " r\"(v)\",\n", + " r\"(vi)\",\n", + " r\"(vii)\"\n", + "]\n", + "\n", + "preliminary_watermark = False\n", + "blind_axes = False\n", + "row_spacing = 0.2\n", + "\n", + "index_ref = np.where(expt == reference)[0][0]\n", + "\n", + "y = np.arange(len(expt))\n", + "for ax, param in zip(axs, params):\n", + " means, lows, highs, label = param\n", + " for i, mean, low, high, color in zip(y, means, lows, highs, colours):\n", + " ax.errorbar(mean, 0.05+i*row_spacing, xerr=np.array([low, high])[:, None], fmt='o', color=color, ecolor=color, elinewidth=2, capsize=3)\n", + " ax.set_xlabel(label, fontsize=14)\n", + " \n", + " ax.grid(False)\n", + " ax.tick_params(axis='y', left=False, labelleft=False)\n", + " if label == r\"$S_8$\":\n", + " ax.axvspan(s8_mean[index_ref] - s8_low[index_ref], s8_mean[index_ref] + s8_high[index_ref], color=colours[index_ref], alpha=0.2)\n", + " ax.set_xlim(0.6, 1.35)\n", + " if blind_axes:\n", + " ref_tick = np.mean(s8_mean[:4])\n", + " ax.set_xticks(\n", + " [ref_tick + i*0.1 for i in range(-5, 5)], labels=[]\n", + " )\n", + " elif label == r\"$\\sigma_8$\":\n", + " ax.axvspan(sigma8_mean[index_ref] - sigma8_low[index_ref], sigma8_mean[index_ref] + sigma8_high[index_ref], color=colours[index_ref], alpha=0.2)\n", + " ax.set_xlim(0.5, 1.35)\n", + " if blind_axes:\n", + " ref_tick = np.mean(sigma8_mean[:4])\n", + " ax.set_xticks(\n", + " [ref_tick + i*0.2 for i in range(-2, 2)], labels=[]\n", + " )\n", + " elif label == r\"$\\Omega_{\\rm m}$\":\n", + " ax.axvspan(omegam_mean[index_ref] - omegam_low[index_ref], omegam_mean[index_ref] + omegam_high[index_ref], color=colours[index_ref], alpha=0.2)\n", + " ax.set_xlim(0.1, 0.5)\n", + " if blind_axes:\n", + " ref_tick = np.mean(omegam_mean[:4])\n", + " ax.set_xticks(\n", + " [ref_tick + i*0.1 for i in range(-2, 3)], labels=[]\n", + " )\n", + "\n", + "\n", + "axs[0].set_yticks(0.01+y*row_spacing)\n", + "axs[0].set_yticklabels([])\n", + "for label, color in zip(expt, colours):\n", + " if 'This work' in label:\n", + " label_bold = r\"$\\bf{UNIONS}$-$\\bf{3500}$ $\\xi_{\\pm}(\\theta)$ $\\bf{(This\\ work)}$\"\n", + " axs[0].text(-0.6, 0.05 + row_spacing * np.where(expt == label)[0][0], label_bold, fontsize=12, ha='left', va='center', color=color)\n", + " else: \n", + " axs[0].text(-0.6, 0.05 + row_spacing * np.where(expt == label)[0][0], label, fontsize=12, ha='left', va='center', color=color)\n", + " if label != reference:\n", + " index = np.where(expt == label)[0][0]\n", + " s8_tension = cp.get_sigma_tension(\n", + " s8_mean[index], s8_low[index], s8_high[index],\n", + " s8_mean[index_ref], s8_low[index_ref], s8_high[index_ref]\n", + " )\n", + " sign_str = \"+\" if s8_tension > 0 else \"-\"\n", + " axs[0].text(1.32, 0.05 + row_spacing * index, rf\"${sign_str}{np.abs(s8_tension):.2f}\" + r\"\\, \\sigma$\", fontsize=10, ha='right', va='center', color=color)\n", + "# Add separation lines\n", + "for i, sep in enumerate(separation_after):\n", + " print(sep)\n", + " index_sep = np.where(expt == sep)[0][0]\n", + " for ax in axs:\n", + " ax2.axhline(row_spacing * (index_sep + 1) - 0.07, color='black', linestyle='dotted', linewidth=1)\n", + " ax3.axhline(row_spacing * (index_sep + 1) - 0.07, color='black', linestyle='dotted', linewidth=1)\n", + " ax1.axhline(row_spacing * (index_sep + 1) - 0.07, xmin=-1.8,color='black', linestyle='dotted', linewidth=1, clip_on=False)\n", + " axs[0].text(-0.61, row_spacing * (index_sep + 1) + 0.05, \n", + " list_section_index[i], fontsize=12, fontweight='bold', va='center', ha='right')\n", + "\n", + "\n", + "# --- Add section label (i)) ---\n", + "axs[0].text(-0.61, 0.05, \n", + " r\"(i)\", fontsize=12, fontweight='bold', va='center', ha='right')\n", + "\n", + "if preliminary_watermark:\n", + " plt.figtext(0.5, 0.5, 'PRELIMINARY',\n", + " fontsize=50, color='gray',\n", + " ha='center', va='center',\n", + " alpha=0.3, rotation=330)\n", + "\n", + "plt.gca().invert_yaxis()\n", + "\n", + "plt.tight_layout()\n", + "\n", + "# plt.savefig(\"./plots/whisker_plot.png\", dpi=300)\n", + "# #Save pdf\n", + "plt.savefig(\"../Plots/S8_whisker_plot.pdf\", bbox_inches='tight')\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "my_env", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/best_fit_xipm.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/best_fit_xipm.ipynb new file mode 100644 index 00000000..b8008bcf --- /dev/null +++ b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/best_fit_xipm.ipynb @@ -0,0 +1,476 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "88f4c8fd", + "metadata": {}, + "source": [ + "# Best-fit $\\xi_\\pm$\n", + "\n", + "This notebook plots the best-fit 2PCFs for the fiducial and other cases" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7540c690", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import configparser\n", + "import subprocess\n", + "import sys\n", + "import warnings\n", + "\n", + "import sys\n", + "sys.path.append(\"/home/guerrini/sp_validation/cosmo_inference/scripts\")\n", + "\n", + "import chain_postprocessing as cp\n", + "\n", + "from getdist import plots, loadMCSamples\n", + "from astropy.io import fits\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from scipy.interpolate import interp1d\n", + "import scipy.stats as stats\n", + "from IPython.display import Markdown, display\n", + "import healpy as hp\n", + "import matplotlib.scale as mscale\n", + "import matplotlib.ticker as ticker\n", + "import matplotlib.transforms as mtransforms\n", + "import seaborn as sns\n", + "\n", + "plt.style.use(\n", + " \"/home/guerrini/matplotlib_config/paper.mplstyle\"\n", + ")\n", + "\n", + "from sp_validation.rho_tau import SquareRootScale\n", + "mscale.register_scale(SquareRootScale)\n", + "\n", + "plt.rcParams[\"text.usetex\"] = True\n", + "\n", + "sns.set_palette(\"husl\")\n", + "\n", + "g = plots.get_subplot_plotter(width_inch=30)\n", + "g.settings.axes_fontsize=40\n", + "g.settings.axes_labelsize=40\n", + "g.settings.alpha_filled_add = 0.7\n", + "g.settings.legend_fontsize = 50\n", + "\n", + "# Directory where the chains are located\n", + "root_dir = \"/n09data/guerrini/output_chains\"\n", + "\n", + "# THE BLIND TO USE FOR THE PLOTS\n", + "blind = \"B\"\n", + "catalog_version = \"SP_v1.4.6.3\"\n", + "fiducial_root_cell = f\"SP_v1.4.6.3_leak_corr_{blind}\"\n", + "label_fiducial_cell = r\"UNIONS $C_{\\ell}$\"\n", + "fiducial_root_xi_data = f\"SP_v1.4.6.3_leak_corr_{blind}_masked\"\n", + "fiducial_root_xi_chains = f\"SP_v1.4.6.3_{blind}_fiducial_config\"\n", + "label_fiducial_xi = r\"UNIONS $\\xi_{\\pm}$\"\n", + "\n", + "# Path to the ini files used\n", + "path_ini_files = '/home/guerrini/sp_validation/cosmo_inference/cosmosis_config'\n", + "path_datavectors = '/home/guerrini/sp_validation/cosmo_inference/data/'\n", + "path_output_chains = \"/n09data/guerrini/output_chains/\"\n", + "\n", + "\n", + "data_cell = fits.open(\n", + " os.path.join(\n", + " path_datavectors,\n", + " f\"{fiducial_root_cell}/cosmosis_{fiducial_root_cell}.fits\"\n", + " )\n", + ")\n", + "\n", + "data_xi = fits.open(\n", + " os.path.join(\n", + " path_datavectors,\n", + " f\"SP_v1.4.6.3_config/SP_v1.4.6.3_{blind}/cosmosis_{fiducial_root_xi_data}.fits\"\n", + " )\n", + ")\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "46600388", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "# Perform the computation for the fiducial of Cell\n", + "path_samples_fiducial_cell = os.path.join(\n", + " path_output_chains,\n", + " fiducial_root_cell,\n", + " fiducial_root_cell,\n", + " f\"samples_{fiducial_root_cell}_cell.txt\"\n", + ")\n", + "path_gd_fiducial_cell = os.path.join(\n", + " path_output_chains,\n", + " fiducial_root_cell,\n", + " fiducial_root_cell,\n", + " f\"getdist_{fiducial_root_cell}_cell\"\n", + ")\n", + "cp.load_samples_and_write_paramnames(path_samples_fiducial_cell, path_gd_fiducial_cell+\".paramnames\")\n", + "cp.write_samples_getdist_format(path_samples_fiducial_cell, path_gd_fiducial_cell+\".txt\", chain_type='polychord')\n", + "\n", + "chain_fiducial_cell = cp.load_chain(path_gd_fiducial_cell, smoothing_scale=0.5)\n", + "\n", + "best_fit_params_fiducial_cell = cp.extract_best_fit_params(chain_fiducial_cell, best_fit_method='2Dkde')\n", + "\n", + "cp.compute_best_fit(\n", + " path_ini_files,\n", + " best_fit_params_fiducial_cell,\n", + " fiducial_root_cell,\n", + " is_harmonic=True,\n", + " blind=blind\n", + ")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f512a9fc", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "# Perform the computation for the fiducial of xi\n", + "path_samples_fiducial_xi = os.path.join(\n", + " path_output_chains,\n", + " fiducial_root_xi_chains,\n", + " f\"samples_{fiducial_root_xi_chains}.txt\"\n", + ")\n", + "path_gd_fiducial_xi = os.path.join(\n", + " path_output_chains,\n", + " fiducial_root_xi_chains,\n", + " f\"getdist_{fiducial_root_xi_chains}\"\n", + ")\n", + "cp.load_samples_and_write_paramnames(path_samples_fiducial_xi, path_gd_fiducial_xi+\".paramnames\")\n", + "cp.write_samples_getdist_format(path_samples_fiducial_xi, path_gd_fiducial_xi+\".txt\", chain_type='polychord')\n", + "\n", + "chain_fiducial_xi = cp.load_chain(path_gd_fiducial_xi, smoothing_scale=0.5)\n", + "\n", + "best_fit_params_fiducial_xi = cp.extract_best_fit_params(chain_fiducial_xi, best_fit_method='2Dkde')\n", + "\n", + "ini_file_root = os.path.join(\n", + " path_ini_files,\n", + " f'config_space_v1.4.6.3_fiducial/pipeline/blind_{blind}/fiducial.ini'\n", + ")\n", + "cp.compute_best_fit(\n", + " path_ini_files,\n", + " best_fit_params_fiducial_xi,\n", + " fiducial_root_xi_chains,\n", + " is_harmonic=False,\n", + " blind=blind,\n", + " ini_file_root=ini_file_root\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ec3b8452", + "metadata": {}, + "outputs": [], + "source": [ + "# Make the plot for the best-fit datavector for Cell EE\n", + "root_to_plot = [\n", + " fiducial_root_xi_chains,\n", + " fiducial_root_cell,\n", + "]\n", + "\n", + "labels = [\n", + " r\"UNIONS $\\xi_\\pm(\\vartheta)$\",\n", + " r\"UNIONS $C_\\ell$\",\n", + "]\n", + "\n", + "line_args = [\n", + " {'color': 'royalblue', 'linestyle': '-'},\n", + " {'color': 'orange', 'linestyle': '-'}\n", + "]\n", + "\n", + "properties = {}\n", + "\n", + "properties = cp.update_properties_w_roots(properties, fiducial_root_cell, path_ini_files, with_configuration=False)\n", + "properties = cp.update_properties_w_roots(properties, fiducial_root_xi_chains, path_ini_files, with_configuration=True, path_to_this_ini=ini_file_root)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3795f5a0", + "metadata": {}, + "outputs": [], + "source": [ + "root_to_plot = [\n", + " fiducial_root_cell,\n", + " fiducial_root_xi_chains\n", + "]\n", + "labels = [\n", + " r\"UNIONS $C_\\ell$\",\n", + " r\"Best fit $\\xi_\\pm(\\theta)$\"\n", + "]\n", + "path_best_fit_xi_theta = os.path.join(\n", + " path_output_chains,\n", + " fiducial_root_xi_chains,\n", + " \"best_fit/shear_xi_plus/\"\n", + " f\"theta.txt\"\n", + ")\n", + "\n", + "theta_rad = np.loadtxt(path_best_fit_xi_theta)\n", + "theta_min = 1\n", + "theta_max = 250\n", + "\n", + "cp.compute_best_fit_xi_from_cell(path_output_chains, fiducial_root_cell, best_fit_params_fiducial_cell, theta_rad)\n", + "\n", + "data = fits.open(os.path.join(path_datavectors,f\"SP_v1.4.6.3_config/SP_v1.4.6.3_{blind}/cosmosis_{fiducial_root_xi_data}.fits\"))\n", + "bbox_to_anchor_xip = (0.685, 0.09)\n", + "bbox_to_anchor_xim = (0.3, 0.65)\n", + "xi_p_data = data['XI_PLUS'].data\n", + "xi_m_data = data['XI_MINUS'].data\n", + "cov_mat = data['COVMAT'].data\n", + "\n", + "# Plot hyperparameter\n", + "loc_legend = \"lower center\"\n", + "\n", + "fig, [ax,ax2] = plt.subplots(1, 2, figsize=(20, 8))\n", + "\n", + "theta, xi_p, xi_m = xi_p_data['ANG'], xi_p_data['VALUE'], xi_m_data['VALUE']\n", + "ax.errorbar(theta, theta*xi_p, yerr=theta*np.sqrt(np.diag(cov_mat[:len(theta),:len(theta)])), fmt='o', label=r\"UNIONS $\\xi_+$ data\", color='black', capsize=2)\n", + "ax2.errorbar(theta, theta*xi_m, yerr=theta*np.sqrt(np.diag(cov_mat[len(theta):2*len(theta),len(theta):2*len(theta)])), fmt='o', label=r\"UNIONS $\\xi_-$ data\", color='black', capsize=2)\n", + "\n", + "for idx, (label, root) in enumerate(zip(labels, root_to_plot)):\n", + " #Read the results\n", + " theta = (np.loadtxt(path_output_chains + '{}/best_fit/shear_xi_plus/theta.txt'.format(root))) * 180/np.pi * 60\n", + " xi_plus = np.loadtxt(path_output_chains + '{}/best_fit/shear_xi_plus/bin_1_1.txt'.format(root))\n", + " xi_minus = np.loadtxt(path_output_chains + '{}/best_fit/shear_xi_minus/bin_1_1.txt'.format(root))\n", + " if '$C_\\ell$' not in label:\n", + " xi_sys_plus = np.loadtxt(path_output_chains + '{}/best_fit/xi_sys/shear_xi_plus.txt'.format(root))\n", + " xi_sys_minus = np.loadtxt(path_output_chains + '{}/best_fit/xi_sys/shear_xi_minus.txt'.format(root))\n", + " theta_xi_sys = np.loadtxt(path_output_chains + '{}/best_fit/xi_sys/theta.txt'.format(root)) * 180/np.pi * 60\n", + " \n", + " xi_sys_plus = np.interp(theta, theta_xi_sys, xi_sys_plus)\n", + " xi_sys_minus = np.interp(theta, theta_xi_sys, xi_sys_minus)\n", + " xi_plus += xi_sys_plus\n", + " xi_minus += xi_sys_minus\n", + "\n", + " mask = (theta > theta_min) & (theta < theta_max)\n", + " theta = theta[mask]\n", + " ax.plot(theta, theta*xi_plus[mask], label=r\"Best fit $\\xi_+(\\vartheta)$\", **line_args[idx], lw=2.5)\n", + " ax.plot(theta, theta*xi_sys_plus[mask], label=r\"Best fit $\\xi^{\\rm sys}_{+}(\\vartheta)$\", c='r')\n", + " ax2.plot(theta, theta*xi_minus[mask], label=r\"Best fit $\\xi_-(\\vartheta)$\", **line_args[idx], lw=2.5)\n", + " ax2.plot(theta, theta*xi_sys_minus[mask], label=r\"Best fit $\\xi^{\\rm sys}_{-}(\\vartheta)$\", c='r')\n", + " \n", + " else:\n", + " mask = (theta > theta_min) & (theta < theta_max)\n", + " theta = theta[mask]\n", + " ax.plot(theta, theta*xi_plus[mask], label=label, **line_args[idx], lw=2.5)\n", + " ax2.plot(theta, theta*xi_minus[mask], label=label, **line_args[idx], lw=2.5)\n", + "# XI PLUS PLOT SETTINGS\n", + "\n", + "# Plot the scale cuts for different k_max\n", + "ax.axvline(x=5, color='gray', linestyle='--', alpha=0.7)\n", + "ax.axhline(y=0, color='black', linestyle='--', alpha=0.7)\n", + "\n", + "ymin = ax.get_ylim()[0]\n", + "ymax = ax.get_ylim()[1]\n", + "# Shadowing cut scaled\n", + "ax.fill_betweenx(y=[ymin, ymax], x1=0, x2=12, color='gray', alpha=0.2, label=r'$B$-mode informed scale cut')\n", + "ax.fill_betweenx(y=[ymin, ymax], x1=83, x2=250, color='gray', alpha=0.2)\n", + "\n", + "ax.set_ylim(ymin, ymax)\n", + "\n", + "# Add labels directly under the tick\n", + "ax.text(4.5, 0.47e-4,\n", + " r\"$k_\\mathrm{max} = 1 h$ Mpc$^{-1}$\",\n", + " ha='center', va='top', fontsize=20, rotation=90)\n", + "\n", + "ax.set_ylabel(r'$\\theta \\xi_\\pm$', fontsize=26)\n", + "ax.set_xlabel(r'$\\theta$ (arcmin)', fontsize=26)\n", + "ax.set_xlim([theta.min()-0.1, theta.max()+20])\n", + "ax.set_title(r'$\\xi_+(\\theta)$', fontsize=26)\n", + "ax.set_xscale('log')\n", + "ax.set_xticks(np.array([1, 10, 100]))\n", + "ax.tick_params(axis=\"x\", which=\"minor\", length=2, width=0.8)\n", + "ax.tick_params(axis='both', which='major', labelsize=24)\n", + "ax.tick_params(axis='both', which='minor', labelsize=20)\n", + "ax.yaxis.get_offset_text().set_fontsize(24)\n", + "ax.ticklabel_format(axis='y', style='sci', scilimits=(0,0))\n", + "ax.legend(loc=loc_legend, bbox_to_anchor=bbox_to_anchor_xip, fontsize=20)\n", + "\n", + "# XI_MINUS PLOT SETTINGS\n", + "\n", + "# Plot the scale cuts for different k_max\n", + "ax2.axvline(x=50, color='gray', linestyle='--', alpha=0.7)\n", + "ax2.axhline(y=0, color='black', linestyle='--', alpha=0.7)\n", + "\n", + "ymin = ax2.get_ylim()[0]\n", + "ymax = ax2.get_ylim()[1]\n", + "# Shadowing cut scaled\n", + "ax2.fill_betweenx(y=[ymin, ymax], x1=0, x2=12, color='gray', alpha=0.2, label=r'$B$-mode informed scale cut')\n", + "ax2.fill_betweenx(y=[ymin, ymax], x1=83, x2=250, color='gray', alpha=0.2)\n", + "\n", + "ax2.set_ylim(ymin, ymax)\n", + "\n", + "# Add labels directly under the tick\n", + "ax2.text(45, 1.15e-4,\n", + " r\"$k_\\mathrm{max} = 1 h$ Mpc$^{-1}$\",\n", + " ha='center', va='top', fontsize=20, rotation=90)\n", + "\n", + "# ax2.set_ylabel(r'$\\theta \\xi_-$', fontsize=16)\n", + "ax2.set_xlabel(r'$\\theta$ (arcmin)', fontsize=26)\n", + "ax2.set_xlim([theta.min()-0.1, theta.max()+20])\n", + "ax2.set_xscale('log')\n", + "ax2.set_title(r'$\\xi_-(\\vartheta)$', fontsize=26)\n", + "ax2.set_xticks(np.array([1, 10, 100]))\n", + "ax2.tick_params(axis=\"x\", which=\"minor\", length=2, width=0.8)\n", + "ax2.tick_params(axis='both', which='major', labelsize=24)\n", + "ax2.tick_params(axis='both', which='minor', labelsize=20)\n", + "ax2.yaxis.get_offset_text().set_fontsize(24)\n", + "ax2.ticklabel_format(axis='y', style='sci', scilimits=(0,0))\n", + "ax2.legend(loc=loc_legend, bbox_to_anchor=bbox_to_anchor_xim, fontsize=20)\n", + "\n", + "# plt.savefig(f\"{curr_dir}/../Plots/best_fit_xipm_SP_v1.4.6.3_B.pdf\", bbox_inches='tight')\n", + "\n", + "plt.show()\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "98a1fd8f", + "metadata": {}, + "outputs": [], + "source": [ + "root_to_plot = [\n", + " fiducial_root_xi_chains\n", + "]\n", + "labels = [\n", + " r\"Best fit $\\tau_{0,2}(\\vartheta)$\"\n", + "]\n", + "\n", + "bbox_to_anchor_xip = (0.285, 0.7)\n", + "bbox_to_anchor_xim = (0.3, 0.65)\n", + "tau0_data = data['TAU_0_PLUS'].data\n", + "tau2_data = data['TAU_2_PLUS'].data\n", + "cov_mat = data['COVMAT'].data\n", + "\n", + "# Plot hyperparameter\n", + "\n", + "fig, [ax,ax2] = plt.subplots(1, 2, figsize=(20, 8))\n", + "\n", + "theta, tau0, tau2 = tau0_data['ANG'], tau0_data['VALUE'], tau2_data['VALUE']\n", + "ax.errorbar(theta, theta*tau0, yerr=theta*np.sqrt(np.diag(cov_mat[2*len(theta):3*len(theta),2*len(theta):3*len(theta)])), fmt='o', label=r\"UNIONS $\\tau_{0,+}$\", color='black', capsize=2)\n", + "ax2.errorbar(theta, theta*tau2, yerr=theta*np.sqrt(np.diag(cov_mat[3*len(theta):4*len(theta),3*len(theta):4*len(theta)])), fmt='o', label=r\"UNIONS $\\tau_{2,+}$\", color='black', capsize=2)\n", + "\n", + "for idx, (label, root) in enumerate(zip(labels, root_to_plot)):\n", + " #Read the results\n", + " theta = (np.loadtxt(path_output_chains + '{}/best_fit/tau_0_plus/theta.txt'.format(root))) * 180/np.pi * 60\n", + " tau0_plus = np.loadtxt(path_output_chains + '{}/best_fit/tau_0_plus/bin_1_1.txt'.format(root))\n", + " tau2_plus = np.loadtxt(path_output_chains + '{}/best_fit/tau_2_plus/bin_1_1.txt'.format(root))\n", + " \n", + " mask = (theta > theta_min) & (theta < theta_max)\n", + " theta = theta[mask]\n", + " ax.plot(theta, theta*tau0_plus[mask], label=r\"Best fit $\\tau_{0,+}(\\vartheta)$\", c='orange', lw=2.5)\n", + " ax2.plot(theta, theta*tau2_plus[mask], label=r\"Best fit $\\tau_{2,+}(\\vartheta)$\", c='orange', lw=2.5)\n", + "\n", + "# XI PLUS PLOT SETTINGS\n", + "\n", + "# Plot the scale cuts for different k_max\n", + "ax.axhline(y=0, color='black', linestyle='--', alpha=0.7)\n", + "\n", + "ymin = ax.get_ylim()[0]\n", + "ymax = ax.get_ylim()[1]\n", + "# Shadowing cut scaled\n", + "ax.fill_betweenx(y=[ymin, ymax], x1=0, x2=12, color='gray', alpha=0.2, label=r'$B$-mode informed scale cut')\n", + "ax.fill_betweenx(y=[ymin, ymax], x1=83, x2=250, color='gray', alpha=0.2)\n", + "\n", + "ax.set_ylim(ymin, ymax)\n", + "\n", + "ax.set_ylabel(r'$\\theta\\tau_{0,2}$', fontsize=26)\n", + "ax.set_xlabel(r'$\\theta$ (arcmin)', fontsize=26)\n", + "ax.set_xlim([theta.min()-0.1, theta.max()+20])\n", + "ax.set_title(r'$\\tau_{0,+}(\\theta)$', fontsize=26)\n", + "ax.set_xscale('log')\n", + "ax.set_xticks(np.array([1, 10, 100]))\n", + "ax.tick_params(axis=\"x\", which=\"minor\", length=2, width=0.8)\n", + "ax.tick_params(axis='both', which='major', labelsize=24)\n", + "ax.tick_params(axis='both', which='minor', labelsize=20)\n", + "ax.yaxis.get_offset_text().set_fontsize(24)\n", + "ax.ticklabel_format(axis='y', style='sci', scilimits=(0,0))\n", + "ax.legend(loc=loc_legend, bbox_to_anchor=bbox_to_anchor_xip, fontsize=20)\n", + "\n", + "# XI_MINUS PLOT SETTINGS\n", + "\n", + "# Plot the scale cuts for different k_max\n", + "ax2.axhline(y=0, color='black', linestyle='--', alpha=0.7)\n", + "\n", + "ymin = ax2.get_ylim()[0]\n", + "ymax = ax2.get_ylim()[1]\n", + "# Shadowing cut scaled\n", + "ax2.fill_betweenx(y=[ymin, ymax], x1=0, x2=12, color='gray', alpha=0.2, label=r'$B$-mode informed scale cut')\n", + "ax2.fill_betweenx(y=[ymin, ymax], x1=83, x2=250, color='gray', alpha=0.2)\n", + "\n", + "ax2.set_ylim(ymin, ymax)\n", + "\n", + "# ax2.set_ylabel(r'$\\theta \\xi_-$', fontsize=16)\n", + "ax2.set_xlabel(r'$\\theta$ (arcmin)', fontsize=26)\n", + "ax2.set_xlim([theta.min()-0.1, theta.max()+20])\n", + "ax2.set_xscale('log')\n", + "ax2.set_title(r'$\\tau_{2,+}(\\theta)$', fontsize=26)\n", + "ax2.set_xticks(np.array([1, 10, 100]))\n", + "ax2.tick_params(axis=\"x\", which=\"minor\", length=2, width=0.8)\n", + "ax2.tick_params(axis='both', which='major', labelsize=24)\n", + "ax2.tick_params(axis='both', which='minor', labelsize=20)\n", + "ax2.yaxis.get_offset_text().set_fontsize(24)\n", + "ax2.ticklabel_format(axis='y', style='sci', scilimits=(0,0))\n", + "ax2.legend(loc=loc_legend, bbox_to_anchor=bbox_to_anchor_xim, fontsize=20)\n", + "\n", + "plt.savefig(\"/n23data1/n06data/lgoh/scratch/UNIONS/cosmo_inference/notebooks/Plots/best_fit_tau_02_SP_v1.4.6.3_B.pdf\", bbox_inches='tight')\n", + "\n", + "plt.show()\n", + " \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "33f556c3", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "-all", + "main_language": "python", + "notebook_metadata_filter": "-all" + }, + "kernelspec": { + "display_name": "my_env", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/contours.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/contours.ipynb new file mode 100644 index 00000000..4b77b6d0 --- /dev/null +++ b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/contours.ipynb @@ -0,0 +1,731 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "e2675175", + "metadata": {}, + "source": [ + "# 2D contour plots\n", + "\n", + "This notebook produces the plots for all the 2D contours in the results section." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "5e65319a-63f3-47d7-90cd-7b7db06174e9", + "metadata": {}, + "outputs": [], + "source": [ + "from getdist import plots, loadMCSamples\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import os.path\n", + "import seaborn as sns\n", + "from astropy.io import fits\n", + "\n", + "plt.style.use(\n", + " \"/home/guerrini/matplotlib_config/paper.mplstyle\"\n", + ")\n", + "\n", + "plt.rcParams[\"text.usetex\"] = True\n", + "\n", + "sns.set_palette(\"husl\")\n", + "g = plots.get_subplot_plotter(width_inch=30)\n", + "g.settings.axes_fontsize=45\n", + "g.settings.axes_labelsize=55\n", + "g.settings.alpha_filled_add = 0.7\n", + "g.settings.legend_fontsize = 50\n", + "\n", + "\n", + "#SPECIFY DATA DIRECTORY AND DESIRED CHAINS TO ANALYSE\n", + "\n", + "root_dir = '/n09data/guerrini/output_chains/'\n", + "path_datavectors = '/home/guerrini/sp_validation/cosmo_inference/data/'\n", + "path_output_chains = \"/n09data/guerrini/output_chains/\"\n", + "\n", + "data = fits.open(os.path.join(path_datavectors,f\"SP_v1.4.6.3_config/SP_v1.4.6.3_B/cosmosis_SP_v1.4.6.3_leak_corr_B_masked.fits\"))\n", + "\n", + "roots_fid = {\n", + "'SP_v1.4.6.3_leak_corr_B': r\"UNIONS-3500 $C_\\ell$\",\n", + "'SP_v1.4.6.3_B_fiducial_config': r\"UNIONS-3500 $\\xi_\\pm$ (This work) \",\n", + "\n", + "'KiDS-Legacy_xipm': r\"KiDS-Legacy $\\xi_\\pm$\",\n", + "'HSC_Y3': r\"HSC-Y3 $\\xi_\\pm$\",\n", + "'Planck18': r\"$\\textit{Planck}$ 2018\",\n", + "}\n", + "\n", + "roots_full = {\n", + "'SP_v1.4.6.3_B_fiducial_config': r\"UNIONS-3500 $\\xi_\\pm$ (This work) \",\n", + "}\n", + "\n", + "roots_ia = {\n", + "'SP_v1.4.6.3_B_fiducial_config': r\"Gaussian $A_{\\rm{IA}}$ prior\",\n", + "'SP_v1.4.6.3_B_flat_ia_config': r\"Flat $A_{\\rm{IA}}$ prior\",\n", + "'SP_v1.4.6.3_B_no_ia_config': r\"No IA\",\n", + "}\n", + "\n", + "roots_ext = {\n", + "'SP_v1.4.6.3_B_fiducial_config': r\"UNIONS-3500 $\\xi_\\pm$\",\n", + "'SP_v1.4.6.3_B_planck_config': r\"UNIONS-3500 $\\xi_\\pm$ + CMB\",\n", + "'SP_v1.4.6.3_B_planck_desi_sne1a_config': r\"UNIONS-3500 $\\xi_\\pm$ + CMB + BAO + SNe1a\",\n", + "'Planck18': r\"$\\textit{Planck}$ 2018\",\n", + "}\n", + "\n", + "roots_dz = {\n", + "'SP_v1.4.6.3_B_fiducial_config': r\"Gaussian $\\Delta z$ prior\",\n", + "'SP_v1.4.6.3_B_flat_delta_z_config': r\"Flat $\\Delta z$ prior\",\n", + "'SP_v1.4.6.3_B_no_delta_z_config': r\"No $\\Delta z$ modelling\",\n", + "}\n", + "\n", + "roots_psf = {\n", + "'SP_v1.4.6.3_B_flat_alpha_beta_config': r\"Flat $\\alpha$ and $\\beta$ priors\",\n", + "'SP_v1.4.6.3_B_fiducial_config': r\"Gaussian $\\alpha$ and $\\beta$ priors\",\n", + "'SP_v1.4.6.3_B_no_xi_sys_config': r\"No $\\xi^{\\rm sys}$ included\",\n", + "'SP_v1.4.6.3_B_no_leak_corr_config': r\"No object-wise leakage correction\",\n", + "}\n", + "\n", + "roots_scale = {\n", + "'SP_v1.4.6.3_B_fiducial_config': r\"Fiducial scale cuts\",\n", + "'SP_v1.4.6.3_B_small_scales_config': r\"$\\xi_+$ small scales, $\\theta=[5,83]$\"\n", + "}\n", + "\n", + "roots_nonlin = {\n", + "'SP_v1.4.6.3_B_fiducial_config': r\"Fiducial (\\texttt{HMCode2020}, $\\log(T_{\\rm AGN})$)\",\n", + "'SP_v1.4.6.3_B_no_baryons_config': r\"\\texttt{HMCode2020} no baryons\",\n", + "'SP_v1.4.6.3_B_halofit_config': r\"\\texttt{Halofit}\",\n", + "}\n", + "roots = roots_scale\n", + " " + ] + }, + { + "cell_type": "markdown", + "id": "70549903-a160-4a3e-a202-bd5a9d6b45eb", + "metadata": {}, + "source": [ + "## Retrieve the chains" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "4795888c-ce6f-4fe2-bbd4-fe17b5e57f02", + "metadata": {}, + "outputs": [], + "source": [ + "#READ CHAIN\n", + "\n", + "chains=[]\n", + "\n", + "for i, root in enumerate(list(roots.keys())):\n", + " \n", + " burnin = 0\n", + " if 'SP' not in root:\n", + " chain = g.samples_for_root(root_dir + 'ext_data/{}/getdist_{}'.format(root, root),\n", + " cache=False,\n", + " settings={'ignore_rows': burnin,\n", + " # 'smooth_scale_2D':0.2,\n", + " # 'smooth_scale_1D':0.2\n", + " })\n", + " p = chain.getParams()\n", + " if hasattr(p, 'S_8')==False:\n", + " omega_m = chain.getParams().OMEGA_M\n", + " sigma_8 = chain.getParams().SIGMA_8\n", + "\n", + " s_8 = sigma_8 * (omega_m / 0.3) ** 0.5\n", + "\n", + " chain.addDerived(s_8, name='S_8', label=r'S_8')\n", + "\n", + " p = chain.paramNames.parWithName('S_8')\n", + " \n", + " elif 'config' in root:\n", + " if os.path.isfile(root_dir + '{}/getdist_{}.txt'.format(root, root))==False:\n", + " \n", + " samples = np.loadtxt(root_dir + '{}/samples_{}.txt'.format(root, root))\n", + " \n", + " if 'nautilus' in root:\n", + " weights = np.exp(samples[:, -3])\n", + " neglogL = samples[:, -2] - samples[:, -1]\n", + "\n", + " samples = np.column_stack((weights, neglogL, samples[:, 0:-3]))\n", + " elif 'mh' in root:\n", + " samples = np.column_stack((np.ones_like(samples[:,-1]),np.log(samples[:,-1])-np.log(samples[:,-2]), samples[:,0:-2]))\n", + " burnin=0.3\n", + " else:\n", + " print(\"here\")\n", + " samples = np.column_stack((samples[:,-1],samples[:,-3],samples[:,0:-4]))\n", + " \n", + " np.savetxt(root_dir + '{}/getdist_{}.txt'.format(root, root), samples)\n", + " \n", + " chain = g.samples_for_root(root_dir + '{}/getdist_{}'.format(root, root),\n", + " cache=False,\n", + " settings={'ignore_rows': burnin,\n", + " # 'smooth_scale_2D':0.2,\n", + " # 'smooth_scale_1D':0.2\n", + " })\n", + " else:\n", + " if os.path.isfile(root_dir + '{}/{}/getdist_{}_cell.txt'.format(root, root, root))==False:\n", + " \n", + " samples = np.loadtxt(root_dir + '{}/{}/samples_{}_cell.txt'.format(root, root, root))\n", + " \n", + " if 'nautilus' in root:\n", + " weights = np.exp(samples[:, -3])\n", + " neglogL = samples[:, -2] - samples[:, -1]\n", + "\n", + " samples = np.column_stack((weights, neglogL, samples[:, 0:-3]))\n", + " elif 'mh' in root:\n", + " samples = np.column_stack((np.ones_like(samples[:,-1]),np.log(samples[:,-1])-np.log(samples[:,-2]), samples[:,0:-2]))\n", + " burnin=0.3\n", + " else:\n", + " print(\"here\")\n", + " samples = np.column_stack((samples[:,-1],samples[:,-3],samples[:,0:-4]))\n", + " \n", + " np.savetxt(root_dir + '{}/{}/getdist_{}_cell.txt'.format(root, root, root), samples)\n", + " \n", + " chain = g.samples_for_root(root_dir + '{}/{}/getdist_{}_cell'.format(root, root, root),\n", + " cache=False,\n", + " settings={'ignore_rows': burnin,\n", + " # 'smooth_scale_2D':0.2,\n", + " # 'smooth_scale_1D':0.2\n", + " })\n", + " p = chain.getParams()\n", + "\n", + " chains.append(chain)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "51f60f61", + "metadata": {}, + "outputs": [], + "source": [ + "name_list = ['OMEGA_M','ombh2','h0','n_s','SIGMA_8','S_8','logt_agn','a','m1','bias_1', 'alpha', 'beta', 'omch2']\n", + "label_list = [r'\\Omega_{\\rm m}', r'\\omega_{\\rm b}', r'h_0', r'n_{\\rm s}', r'\\sigma_8', r'S_8', r'\\log T_{\\rm AGN}', r'A_{\\rm IA}', r'm_1', r'\\Delta z', r'\\alpha_{\\rm PSF}', r'\\beta_{\\rm PSF}', r'\\omega_{\\rm c}']\n", + "\n", + "for chain in chains:\n", + " param_names = chain.getParamNames()\n", + " p = chain.getParams()\n", + " for name, label in zip(name_list, label_list):\n", + " if hasattr(p,name):\n", + " param_names.parWithName(name).label = label\n", + " \n", + "legend_labels = list(roots.values())\n" + ] + }, + { + "cell_type": "markdown", + "id": "09ff24ef-6e8c-4ddd-96de-eeaf63b6982d", + "metadata": {}, + "source": [ + "## Plot the chains" + ] + }, + { + "cell_type": "markdown", + "id": "04fb3609", + "metadata": {}, + "source": [ + "### FIDUCIAL PLOT" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dc86e03a", + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "\n", + "colours = [\n", + " \"royalblue\",\n", + " \"orange\",\n", + " \"crimson\",\n", + " \"forestgreen\",\n", + " \"indigo\",\n", + "]\n", + "\n", + "linestyle = [\n", + " 'solid',\n", + " 'solid',\n", + " 'solid',\n", + " 'solid',\n", + " 'solid'\n", + "]\n", + "\n", + "line_args = [dict(color=col, ls=ls, lw=2) for col, ls in zip(colours, linestyle)]\n", + "\n", + "# FIDUCIAL PLOT\n", + "g.triangle_plot(chains,\n", + " ['SIGMA_8','S_8','OMEGA_M'], #\n", + " legend_labels=legend_labels,\n", + " line_args=line_args,\n", + " contour_colors=colours,\n", + " label_order=[1,0,2,3,4],\n", + " filled=[True,True,False,False,True])\n", + "\n", + "g.export('../Plots/SP_v1.4.6.3_B_fiducial_config_contour_plot.pdf')" + ] + }, + { + "cell_type": "markdown", + "id": "5f48f2e8", + "metadata": {}, + "source": [ + "### IA PLOT" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4d3a244d", + "metadata": {}, + "outputs": [], + "source": [ + "colours = [\n", + " \"orange\", \n", + " \"royalblue\",\n", + " \"forestgreen\",\n", + "]\n", + "\n", + "linestyle = [\n", + " 'solid',\n", + " 'solid',\n", + " 'solid',\n", + "]\n", + "\n", + "line_args = [dict(color=col, ls=ls, lw=2) for col, ls in zip(colours, linestyle)]\n", + "\n", + "g.triangle_plot(chains,\n", + " ['S_8','OMEGA_M','a'], #\n", + " legend_labels=legend_labels,\n", + " line_args=line_args,\n", + " contour_args={'alpha':0.6},\n", + " contour_colors=colours,\n", + " filled=[True, False, True])\n", + "\n", + "g.export('../Plots/SP_v1.4.6.3_B_fiducial_config_contour_plot_ia.pdf')" + ] + }, + { + "cell_type": "markdown", + "id": "df994437", + "metadata": {}, + "source": [ + "### PSF PLOT" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e16a4c90", + "metadata": {}, + "outputs": [], + "source": [ + "colours = [\n", + " \"royalblue\",\n", + " \"orange\", \n", + " \"hotpink\",\n", + " \"slategray\",\n", + "]\n", + "\n", + "linestyle = [\n", + " 'solid',\n", + " 'solid',\n", + " 'solid',\n", + " 'solid',\n", + "]\n", + "\n", + "line_args = [dict(color=col, ls=ls, lw=2) for col, ls in zip(colours, linestyle)]\n", + "\n", + "g.triangle_plot(chains,\n", + " ['S_8','OMEGA_M', 'alpha','beta'], #\n", + " legend_labels=legend_labels,\n", + " line_args=line_args,\n", + " contour_args=[{'alpha':1},{'alpha':0.6},{'alpha':0.8},{'alpha':0.8}],\n", + " contour_colors=colours,\n", + " label_order=[1,0,2,3],\n", + " \n", + " filled=[False, True, True, True])\n", + "g.subplots[3,2].scatter(0.005,0.81, color='k', marker='X', s=400, label='Fiducial config best-fit')\n", + "g.subplots[3,2].scatter(0.022,0.798, color='k', marker='P', s=400, label='Fiducial config best-fit')\n", + "g.export('../Plots/SP_v1.4.6.3_B_fiducial_config_contour_plot_psf.pdf')" + ] + }, + { + "cell_type": "markdown", + "id": "ed35ae74", + "metadata": {}, + "source": [ + "### DELTA Z PLOT" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "acfcdfb5", + "metadata": {}, + "outputs": [], + "source": [ + "colours = [\n", + " \"orange\", \n", + " \"royalblue\",\n", + " \"indigo\",\n", + "]\n", + "\n", + "linestyle = [\n", + " 'solid',\n", + " 'solid',\n", + " 'solid',\n", + "]\n", + "\n", + "line_args = [dict(color=col, ls=ls, lw=2) for col, ls in zip(colours, linestyle)]\n", + "g.triangle_plot(chains,\n", + " ['S_8','OMEGA_M', 'bias_1'], #\n", + " legend_labels=legend_labels,\n", + " line_args=line_args,\n", + " contour_args=[{'alpha':1.0},{'alpha':0.9},{'alpha':0.5}],\n", + " contour_colors=colours,\n", + " filled=[True, False, True])\n", + "\n", + "g.export('../Plots/SP_v1.4.6.3_B_fiducial_config_contour_plot_dz.pdf')" + ] + }, + { + "cell_type": "markdown", + "id": "698d6f8a", + "metadata": {}, + "source": [ + "### EXTERNAL DATA" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "638926dc", + "metadata": {}, + "outputs": [], + "source": [ + "colours = [\n", + " \"orange\", \n", + " \"dodgerblue\", \n", + " \"royalblue\",\n", + " \"crimson\",\n", + " \"forestgreen\",\n", + "]\n", + "\n", + "linestyle = [\n", + " 'solid',\n", + " 'solid',\n", + " 'solid',\n", + " 'solid',\n", + " 'solid',\n", + "]\n", + "\n", + "line_args = [dict(color=col, ls=ls, lw=2) for col, ls in zip(colours, linestyle)]\n", + "\n", + "g.triangle_plot(chains,\n", + " ['SIGMA_8','S_8','omch2','ombh2','h0'], #\n", + " legend_labels=legend_labels,\n", + " line_args=line_args,\n", + " contour_args=[{'alpha':0.7},{'alpha':1.0},{'alpha':1.0}],\n", + " contour_colors=colours,\n", + " filled=[True, True, True, False])\n", + "\n", + "g.export('../Plots/SP_v1.4.6.3_B_fiducial_config_contour_plot_ext.pdf')" + ] + }, + { + "cell_type": "markdown", + "id": "92cadb11", + "metadata": {}, + "source": [ + "### BBN Prior" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5a81c458", + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "\n", + "from getdist.gaussian_mixtures import Gaussian1D\n", + "\n", + "colours = [\n", + " \"orange\", \n", + " \"royalblue\",\n", + "]\n", + "\n", + "linestyle = [\n", + " 'solid',\n", + " 'solid',\n", + "]\n", + "\n", + "line_args = [dict(color=col, ls=ls, lw=2) for col, ls in zip(colours, linestyle)]\n", + "\n", + "# BBN PRIOR\n", + "bbn_prior = Gaussian1D(mean=0.02218, sigma=0.00055, name='ombh2', labels=[r'\\omega_{\\rm b}'],label='BBN prior')\n", + "bbn_chain = bbn_prior.MCSamples(3000,label='BBN prior')\n", + "\n", + "g.triangle_plot(chains\n", + " +[bbn_chain]\n", + " ,\n", + " name_list,\n", + " legend_labels=legend_labels,\n", + " line_args=line_args,\n", + " contour_colors=colours,\n", + " filled=[True, False])\n" + ] + }, + { + "cell_type": "markdown", + "id": "34fcc96a", + "metadata": {}, + "source": [ + "## Plot the best-fit $\\xi_\\pm$" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "5fe497bd", + "metadata": {}, + "outputs": [], + "source": [ + "xi_p_data = data['XI_PLUS'].data\n", + "xi_m_data = data['XI_MINUS'].data\n", + "cov_mat = data['COVMAT'].data\n", + "\n", + "labels = roots_scale.values()\n", + "\n", + "bbox_to_anchor_xip = (0.685, 0.09)\n", + "bbox_to_anchor_xim = (0.3, 0.65)\n", + "theta_min = 1.0\n", + "theta_max = 250.0\n", + "loc_legend = \"lower center\"" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "7277e2ed", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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ERERERHxOQo8RERERERERMTnKPAQEREREREREZ+jwENEREREREREfI4CDxERERERERHxOQo8RERERERERMTnKPAQEREREREREZ+jwENEREREREREfI4CDxERERERERHxOQo8RERERERERMTnKPAQEREREREREZ+jwENEREREREREfI6f2QWIiIiIiIiInMnhw4c5cuRIo/HY2Fji4uJMqEg6OwUeIiIiIiIi0uktXryYhQsXNhqfNWsWDz30kAkVSWenwENEREREREQ6vTvvvJNx48YxZcoUAJYvX05QUBCxsbHmFiadlgIPERERERER6fTi4uIIDw/3Hg8dOpSQkBATK5LOTk1LRURERERERMTnKPAQEREREREREZ+jwENEREREREREfI4CDxERERERERHxOQo8RERERERERMTn+GTgkZubS0pKSps+Z15eHikpKSQkJBAVFUVSUhKpqak4nc42fR0REREREREROXc+E3i4XC5yc3OZPn06KSkpbRpELFiwgIyMDLKyssjPz6e4uJj09HRyc3NJSEggNTW1zV5LRERERERERM5dlw88XC6Xd8ZFTk4Oc+bMadPnz87OBiAjIwO73e4dT05OJj8/n+TkZDIzMxV6iIiIiIiIiHQifmYXcK7sdjvFxcXt9vwZGRnk5OQ0ez4hIcEbeiQmJrZbLSIiIiIiIiLSMl1+hkd7ys7OZvr06c1e43A4SE5OBjzhh4iIiIiIiIiYT4FHM9auXUtqamqLQg+AdevWdURZIiIiIiIiInIGCjya4XK5gBN9PE7n5N4eIiIiIiIiImK+Lt/Doz2lpaUBnHGL2/odYUaNGtXuNYmIiIiIiIjImSnwaIbD4WhRX468vDwAkpKS2rskEREREREREWkBBR7nKC8vD6fTid1uZ+bMmWe8vqqqiqqqKu9xaWlpe5YnIiIiIiIi0i2ph8c5ql/2smjRohZdP3/+fCIjI723fv36tWd5IiIiIiIiIt2SAo9zkJ2dTW5uLrNnz2batGktesycOXMoKSnx3vbu3dvOVYqIiIiIiIh0P1rS0koul4sZM2Ywbdo00tPTW/y4wMBAAgMD27EyEREREREREdEMj1a65pprSE5OJisry+xSREREREREROQUCjxaYfr06TgcDoUdIiIiIiIiIp2UAo+zlJqaCqCwQ0RERERERKQTU+BxFhYsWEBRUdFpww6Xy9WxBYmIiIiIiIhIkxR4tFB2djZr165tdmZH/Ra1IiIiIiIiImIuBR6A0+ls9nxeXh5LlixpNuzQ7A4RERERERGRzqPbBx4pKSkkJCSQkpLS5Hmn00lGRsYZe3YsXbqUpKSk9ihRRERERERERM6Sn9kFtLXc3FzAE1Q4nU4cDkeLrq//9WQul8sbYixdurTJx588syMnJ6c1JYuIiIiIiIhIG/OJwCMhIQGAoqKiBgFEQkICdrud6OhoEhMTm5ylMXv2bDIzM5k5c2ajc2lpaWe1VGXUqFFnXbuIiIiIiIiItD2fCDzy8/Nb/dj09HTS09ObPJeRkUFGRkarn1tEREREREREzNHte3iIiIiIiIiIiO9R4CEiIiIiIiIiPkeBh4iIiIiIiIj4HAUeIiIiIiIiIuJzFHiIiIiIiIiIiM9R4CEiIiIiIiIiPkeBh4iIiIiIiIj4HAUeIiIiIiIiIuJzFHiIiIiIiIiIiM9R4CEiIiIiIiIiPkeBh4iIiIiIiIj4HAUeIiIiIiIiIuJzFHiIiIiIiIiIiM9R4CEiIiIiIiIiPkeBh4iIiIiIiIj4HAUeIiIiIiIiIuJz/MwuQERERERERMSXHT58mCNHjjQaj42NJS4uzoSKugcFHiIiIiIiIiLtaPHixSxcuLDR+KxZs3jooYdMqKh7UOAhIiIiIiIi0o7uvPNOxo0bx5QpUwBYvnw5QUFBxMbGmluYj1PgISIiIiIiItKO4uLiCA8P9x4PHTqUkJAQEyvqHtS0VERERERERER8jgIPEREREREREfE5CjxERERERERExOco8BARERERERERn6PAQ0RERERERER8jnZpEREREREREZEmHT58mCNHjjQaj42NJS4uzoSKWk6Bh4iIiIiIiIg0afHixSxcuLDR+KxZs3jooYdMqKjlFHiIiIiIiIiISJPuvPNOxo0bx5QpUwBYvnw5QUFBxMbGmltYCyjwEBEREREREZEmxcXFER4e7j0eOnQoISEhJlbUcgo8RERERES6mIMHD3Lw4MFG4/Hx8cTHx5tQkYhI56NdWkREREREupiMjAySkpIa3TIyMswuTUSk09AMDxERERGRLiY1NZWUlBTGjh0LwOrVqwkODtbsDhGRkyjwEBERERHpYuLj44mIiPAejxw5ktDQUBMrEhHpfLSkRURERERERER8jgIPEREREREREfE5CjxERERERERExOco8BARERERERERn6PAQ0RERERERER8jgIPEREREREREfE5CjxERERERERExOco8BARERERERERn6PAQ0RERERERER8jgIPEREREREREfE5fmYXICIiIp3D4cOHOXLkSKPx2NhY4uLiTKhIREREpPUUeIiIiAgAixcvZuHChY3GZ82axUMPPWRCRSIiIiKtp8BDREREALjzzjsZN24cU6ZMAWD58uUEBQURGxtrbmEiIiIiraDAQ0RERACIi4sjPDzcezx06FBCQkJMrEhERESk9dS0VERERERERER8jgIPEREREREREfE5CjxERERERERExOco8BARERERERERn6PAQ0RERERERER8jgIPEREREREREfE5CjxERERERERExOco8BARERERERERn6PAQ0RERERERER8jp/ZBYiIiIiISPdy8OBBDh482Gg8Pj6e+Ph4EyoSEV+kGR4iIiIiItKhMjIySEpKanTLyMgwuzQR8SGa4SEiIiIiIh0qNTWVlJQUxo4dC8Dq1asJDg7W7A4RaVMKPEREREREpEPFx8cTERHhPR45ciShoaEmViQivkhLWkRERERERETE52iGh4iIiIiISAup4apI16EZHiIiIiIiIi2khqsiXYdmeIiIiIiIiLSQGq6KdB0KPERERERERFpIDVdFug4FHiIiIiIiIt3A4cOHOXLkSKPx2NhY4uLiTKhIpH0p8BAREREREekGFi9ezMKFCxuNz5o1i4ceesiEikTalwIPERERERGRbuDOO+9k3LhxTJkyBYDly5cTFBREbGysuYWJtBMFHiIiIiIiIt1AXFwc4eHh3uOhQ4cSEhJiYkUi7Uvb0oqIiIiIiIiIz1HgISIiIiIiIiI+R4GHiIiIiIiIiPgcBR4iIiIiIiIi4nMUeIiIiIiIiIiIz1HgISIiIiIiIiI+R4GHiIiIiIiIiPgcBR4iIiIiIiIi4nP8zC5ARERERESku6ipgwPHYN8xKCiHwnIorPDcXBU2CkrjKa/1o7zOSmWthRq3hWq3hZo6qDMsAFgsBhbAaoFAm0GA1SDQ5rkfFuAm3N9NeIBBRICb6KA6egS5iQmqo0ewm8A6K1isYLjN/YMQ6QAKPERERERERNpQQTl8VQR7S2BfqSfcqL9/qAzcxukeaQVCW/AKFu+98tqzrS6W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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "colours = [\n", + " \"orange\",\n", + " \"dodgerblue\",\n", + "]\n", + "\n", + "linestyle = [\n", + " 'solid',\n", + " 'solid',\n", + "]\n", + "\n", + "line_args = [dict(color=col, ls=ls, lw=2) for col, ls in zip(colours, linestyle)]\n", + "\n", + "labels = roots_scale.values()\n", + "\n", + "fig, ax = plt.subplots(1, 1, figsize=(11, 7))\n", + "\n", + "theta, xi_p, xi_m = xi_p_data['ANG'], xi_p_data['VALUE'], xi_m_data['VALUE']\n", + "ax.errorbar(theta, theta*xi_p, yerr=theta*np.sqrt(np.diag(cov_mat[:len(theta),:len(theta)])), fmt='o', color='black', capsize=2)\n", + "\n", + "for idx, (label, root) in enumerate(zip(labels, roots_scale)):\n", + " #Read the results\n", + " theta = (np.loadtxt(path_output_chains + '{}/best_fit/shear_xi_plus/theta.txt'.format(root))) * 180/np.pi * 60\n", + " xi_plus = np.loadtxt(path_output_chains + '{}/best_fit/shear_xi_plus/bin_1_1.txt'.format(root))\n", + " xi_minus = np.loadtxt(path_output_chains + '{}/best_fit/shear_xi_minus/bin_1_1.txt'.format(root))\n", + " xi_sys_plus = np.loadtxt(path_output_chains + '{}/best_fit/xi_sys/shear_xi_plus.txt'.format(root))\n", + " xi_sys_minus = np.loadtxt(path_output_chains + '{}/best_fit/xi_sys/shear_xi_minus.txt'.format(root))\n", + " theta_xi_sys = np.loadtxt(path_output_chains + '{}/best_fit/xi_sys/theta.txt'.format(root)) * 180/np.pi * 60\n", + " \n", + " xi_sys_plus = np.interp(theta, theta_xi_sys, xi_sys_plus)\n", + " xi_sys_minus = np.interp(theta, theta_xi_sys, xi_sys_minus)\n", + " xi_plus += xi_sys_plus\n", + " xi_minus += xi_sys_minus\n", + "\n", + " mask = (theta > theta_min) & (theta < theta_max)\n", + " theta = theta[mask]\n", + " ax.plot(theta, theta*xi_plus[mask], label=label, **line_args[idx])\n", + "\n", + "ymin = ax.get_ylim()[0]\n", + "ymax = ax.get_ylim()[1]\n", + "\n", + "ax.fill_betweenx(y=[ymin, ymax], x1=0, x2=12, color='gray', alpha=0.2)\n", + "ax.fill_betweenx(y=[ymin, ymax], x1=0, x2=5, color='gray', alpha=0.7)\n", + "ax.fill_betweenx(y=[ymin, ymax], x1=83, x2=300, color='gray', alpha=0.2)\n", + "\n", + "ax.set_ylim(ymin, ymax)\n", + "\n", + "ax.set_ylabel(r'$\\theta \\xi_\\pm$', fontsize=26)\n", + "ax.set_xlabel(r'$\\theta$ (arcmin)', fontsize=26)\n", + "ax.set_xlim([theta.min()-0.1, theta.max()+20])\n", + "ax.set_title(r'$\\xi_+(\\theta)$', fontsize=26)\n", + "ax.set_xscale('log')\n", + "ax.set_xticks(np.array([1, 10, 100]))\n", + "ax.tick_params(axis=\"x\", which=\"minor\", length=2, width=0.8)\n", + "ax.tick_params(axis='both', which='major', labelsize=24)\n", + "ax.tick_params(axis='both', which='minor', labelsize=20)\n", + "ax.yaxis.get_offset_text().set_fontsize(24)\n", + "ax.ticklabel_format(axis='y', style='sci', scilimits=(0,0))\n", + "ax.legend(loc=loc_legend, bbox_to_anchor=bbox_to_anchor_xip, fontsize=20)\n", + "\n", + "\n", + "plt.savefig(\"./../Plots/scale_cut_xipm_SP_v1.4.6.3_B.pdf\", bbox_inches='tight')\n", + "\n", + "plt.show()\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a8c70d3a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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TxMREZHOSIFHB1U/7IiNjWXu3LmkpKSwdOnSdgs9Gus6X1/dCJC6gERERORKhYaGsmDBAgoLC0lPT3dapauuN0Z7SEpKatKUltaWmZlJZmZmg9XaREREpOkUeHRA9cOOus71YF+idtWqVe0WesTGxhIaGnrRrvP11TV0u/fee9u8JhER6Xri4+NZtWoVhYWFjhEfl3ttai11gUN7L5m7ZMkSFixYoP5YIiIiV0CBRwdzqbCjzsyZM9s19Fi4cCFms7nRPh5paWnMnDlTb8pERKRNhYaGOkYftmdfi7pV09pLZmYmGRkZLhlZIiIi4k4UeHQgcXFxjYYddeqHHm39BmzBggWYTKZLhiupqakALF++vE3rEBGRrsVisZCQkOA0ssJisZCRkdFok9K2MHPmTEwmE0uXLm2Xx5s1a5ZeV0VERFqBAo8OIiEhAbPZfNmwo05d6JGamtrs0KPuzaPZbHY0HG1Meno6GRkZDZrEZWZmkpSURHp6ukZ3iIhIqwoNDWXVqlWkp6eTkJBAQkICs2bNYtWqVS7pa7Fq1SpSUlKa9Lp5JZYuXcrMmTOdepaIiIhIyxhsNpvN1UV0ZVarlZMnT/Kzn/2M559/vtnBwfr169mxYwdPPvlko8eNGTMGgMLCQoqKipz2hYSEEBYWxpgxY/jrX/960fMtFgvLli3j8OHD9O/f33GNJ598kgEDBjSrZhERkfaSnZ0N0CqvVdnZ2Tz55JO89dZbbRL0r1+/njfffPOSr8UiIiICNpuNs2fP0rNnT4zGxsdwKPBwsePHj9OnTx9XlyEiIiIiIiLSaRw7dozevXs3eoxnO9UilxAUFATAl19+SWBgoIurERERaRs1NTVYrVb69u2Ll5eXq8sREemQqqurOXr0KEajEU9PfVQTuZiSkhImTpzo+CzdGP0tcjGDwQDY5yo35X+YiIhIZ1RTU0NVVRXBwcEKPERELqG6upqgoCC8vb0VeIhcQt3fjbrP0o1R01IRERERERERcTsKPERERERERETE7SjwEBERERERERG3o8BDRERERERERNyOAg8RERERERERcTsKPERERERERETE7SjwEBERERERERG3o8BDRERERERERNyOAg8RERERERERcTsKPERERERERETE7SjwEBERERERERG3o8BDRERERERERNyOAg8RERERERERcTsKPERERERERETE7SjwEBERERERERG3o8BDRERERERERNyOAg8RERERERERcTsKPERERERERETE7SjwEBERERERERG3o8BDRERERERERNyOAg8RERERERERcTueri5ARERERERE5HJyc3PJy8trsD0yMpKoqCgXVCQdnQIPERERERER6fBWrFjBsmXLGmyfN28e8+fPd0FF0tEp8BAREREREZEOb/bs2UyaNInp06cDsGbNGnx9fYmMjHRtYdJhKfAQERERERGRDi8qKoqgoCDH/REjRuDv7+/CiqSjU9NSEREREREREXE7CjxERERERERExO0o8BARERERERERt6PAQ0RERERERETcjgIPEREREREREXE7CjxERERERERExO24ZeCRkZFBQkJCq14zMzOThIQEYmJiCAsLIy4ujsTERMxmc6s+joiIiIiIiIhcObcJPCwWCxkZGcyaNYuEhIRWDSKWLl1KSkoKq1atIisri8LCQpKTk8nIyCAmJobExMRWeywRERERERERuXKdPvCwWCyOERfp6eksXLiwVa+flpYGQEpKCqGhoY7t8fHxZGVlER8fT2pqqkIPERERERERkQ7E09UFXKnQ0FAKCwvb7PopKSmkp6c3uj8mJsYResTGxrZZLSIiIiIiIiLSNJ1+hEdbSktLY9asWY0eYzKZiI+PB+zhh4iIiIiIiIi4ngKPRmzevJnExMQmhR4AW7ZsaY+yREREREREROQyFHg0wmKxAOf7eFxK/d4eIiIiIiIiIuJ6nb6HR1tKSkoCuOwSt3UrwowfP77NaxIRERERERGRy1Pg0QiTydSkvhyZmZkAxMXFtXVJIiIiIiIiItIECjyuUGZmJmazmdDQUObOnXvZ4ysrK6msrHTcLy4ubsvyRERERERERLok9fC4QnXTXpYvX96k45csWUJISIjj1qdPn7YsT0RERERERKRLUuBxBdLS0sjIyGDBggXMnDmzSecsXLiQoqIix+3YsWNtXKWIiIiIiIhI16MpLS1ksViYM2cOM2fOJDk5ucnn+fj44OPj04aViYiIiIiIiIhGeLTQ5MmTiY+PZ9WqVa4uRUREREREREQuoMCjBWbNmoXJZFLYISIiIiIiItJBKfBopsTERACFHSIiIiIiIiIdmAKPZli6dCkFBQWXDDssFkv7FiQiIiIiIiIiF6XAo4nS0tLYvHlzoyM76paoFRERERERERHXUuABmM3mRvdnZmby7rvvNhp2aHSHiIiIiIiISMfR5QOPhIQEYmJiSEhIuOh+s9lMSkrKZXt2rFy5kri4uLYoUURERERERESaydPVBbS2jIwMwB5UmM1mTCZTk46v+1mfxWJxhBgrV6686Pn1R3akp6e3pGQRERERERERaWVuEXjExMQAUFBQ4BRAxMTEEBoaSnh4OLGxsRcdpbFgwQJSU1OZO3dug31JSUnNmqoyfvz4ZtcuIiIiIiIiIq3PYLPZbK4uoisrLi4mJCSEffv2ERQU5OpyRERE2kRNTQ1VVVX069cPLy8vV5cjItIhVVdXc+TIEby9vfH0dIvvpltdWVkZgwYNAuDgwYP4+/u7uCJpb2fPnmXo0KEUFRURHBzc6LFdvoeHiIiIiIiIiLgfBR4iIiIiIiIi4nYUeIiIiIiIiIiI21HgISIiIiIiIiJuR4GHiIiIiIiIiLgdBR4iIiIiIiIi4nYUeIiIiIiIiIiI21HgISIiIiIiIiJuR4GHiIiIiIiIiLgdBR4iIiIiIiIi4nYUeIiIiIiIiIiI21HgISIiIiIiIiJuR4GHiIiIiIiIiLgdBR4iIiIiIiIi4nYUeIiIiIiIiIiI21HgISIiIiIiIiJux9PVBYiIiIiIiIi4s9zcXPLy8hpsj4yMJCoqygUVdQ0KPERERERERETa0IoVK1i2bFmD7fPmzWP+/PkuqKhrUOAhIiIiIiIi0oZmz57NpEmTmD59OgBr1qzB19eXyMhI1xbm5hR4iIiIiIiIiLShqKgogoKCHPdHjBiBv7+/CyvqGtS0VERERERERETcjgIPEREREREREXE7CjxERERERERExO0o8BARERERERERt6PAQ0RERERERETcjlZpEREREREREZGLys3NJS8vr8H2yMhIoqKiXFBR0ynwEBEREREREZGLWrFiBcuWLWuwfd68ecyfP98FFTWdAg8RERERERERuajZs2czadIkpk+fDsCaNWvw9fUlMjLStYU1gQIPEREREREREbmoqKgogoKCHPdHjBiBv7+/CytqOgUeIiIiIiKdTE5ODjk5OQ22R0dHEx0d7YKKREQ6Hq3SIiIiIiLSyaSkpBAXF9fglpKS4urSREQ6DI3wEBERERHpZBITE0lISOD6668HYOPGjfj5+Wl0h4hIPQo8REREREQ6mejoaIKDgx33x44dS0BAgAsrEhHpeDSlRURERERERETcjgIPEREREREREXE7CjxERERERERExO0o8BARERERERERt6PAQ0RERERERETcjgIPEREREREREXE7CjxERERERERExO0o8BARERERERERt6PAQ0RERERERETcjgIPEREREREREXE7nq4uQERERDqG3Nxc8vLyGmyPjIwkKirKBRWJiIiItJwCDxEREQFgxYoVLFu2rMH2efPmMX/+fBdUJCIiItJyCjxEREQEgNmzZzNp0iSmT58OwJo1a/D19SUyMtK1hYmIiIi0gAIPERERASAqKoqgoCDH/REjRuDv7+/CikRERERaTk1LRURERERERMTtKPAQEREREREREbejwENERERERERE3I4CDxERERERERFxOwo8RERERERERMTtKPAQEREREREREbejwENERERERERE3I4CDxERERERERFxOwo8RERERERERMTteLq6ABERERER6VpycnLIyclpsD06Opro6GgXVCQi7kgjPEREREREpF2lpKQQFxfX4JaSkuLq0kTEjWiEh4iIiIiItKvExEQSEhK4/vrrAdi4cSN+fn4a3SEirUqBh4iIiIiItKvo6GiCg4Md98eOHUtAQIALKxIRd6QpLSIiIiIiIiLidhR4iIiIiIiIiIjb0ZQWERERERGRJtIKMyKdh0Z4iIiIiIiINJFWmBHpPDTCQ0REREREpIm0woxI56HAQ0REREREpIm0woxI56HAQ0REREREpAvIzc0lLy+vwfbIyEiioqJcUJFI21LgISIiIiIi0gWsWLGCZcuWNdg+b9485s+f74KKRNqWAg8REREREZEuYPbs2UyaNInp06cDsGbNGnx9fYmMjHRtYSJtRIGHiIiIiIhIFxAVFUVQUJDj/ogRI/D393dhRSJtS8vSioiIiIiIiIjbUeAhIiIiIiIiIm5HgYeIiIiIiIiIuB0FHiIiIiIiIiLidhR4iIiIiIiIiIjbUeAhIiIiIiIiIm5HgYeIiIiIiIiIuB0FHiIiIiIiIiLidhR4iIiIiIiIiIjbUeAhIiIiIiIiIm5HgYeIiIiIiIiIuB0FHiIiIiIiIiLidhR4iIiIiIiIiIjbUeAhIiIiIiIiIm5HgYeIiIiIiIiIuB0FHiIiIiIiIiLidhR4iIiIiIiIiIjbUeAhIiIiIiIiIm5HgYeI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oh6DkHOvidWcelJdXY2CgoLzcnoOERHRcDHwICIiohHX9YNye3s7az+MY5s2bUJZWdmAgysiIqLRxC0tRERENOLy8/NhsViGfJIKjQ3bt2/vcWUIERHRWMQVHkRERHRebNmyBRs3buTqgHGKq3SIiGi84QoPIiIiOi/WrFkDoO9inDR2bdiwAevWrWPYQURE4wZXeBAREdF5U1FRgdLSUq7yGGeqq6tx7bXXRoqeEhERjQdc4UFERETnzfLly/H/2bvzuKjvO3/gr+G+GVDBW2cQxeYS0IRkc7QciRrbpihJSbPb7qKy0XZ/rRKo0G5iW7WwmO52qymIu9vdNDYBp0mTGlOONM2hiTKTy3jyHW/FA77c1zDf3x+T71eGORjOgeH1fDx46HzPz8wwwPf1/XzeH61Wi6KiInc3hQYhIyMDe/bscXcziIiIBoU9PIiIiGhMiaKIxMREVFZWKlPO0vhVVFSEmzdvorCw0N1NISIiGhT28CAiIqIxpVarUVlZiezsbIii6O7mkBNVVVU4cuQIww4iIpqQGHgQERHRmNNqtSgpKcGOHTvc3RRyQBAElJeXo7y83N1NISIiGhIOaSEiIiIiIiIij8MeHkRERERERETkcRh4EBEREREREZHHYeBBRERERERERB6HgQcREREREREReRwGHkRERERERETkcRh4EBEREREREZHHYeBBRERERERERB6HgQcREREREREReRwGHkRERERERETkcRh4EBEREREREZHHYeBBRERERERERB6HgQcREREREREReRwGHkRERERERETkcRh4EBEREREREZHHYeBBRERERERERB6HgQcREREREREReRwGHkRERERERETkcRh4EBEREbmotLR01M8hCAIqKipG/TxERESejoEHERERkQsyMjKwdOnSUT+PVqvFkSNHxiRcISIi8mQMPIiIiGjc0uv14+LCPyMjA9nZ2UhISBjyMfR6PTIyMpCWloaYmBinz6uwsBCVlZXs6UFERDQMPu5uABEREZEjgiC4uwkoKioCAKSmpg75GFVVVSgpKcGePXugVqshCAJiYmIQGRmJNWvW2N1nz5490Gg0SEhIgFarHfK5iYiIJiuVJEmSuxtBREREZE9VVRXy8vKwdOlSNDQ0AAAiIyORl5c3JiGAIAhITEyE0WiEWq0e8jGys7NRWVlptTwjIwN6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+IxRW8iB0NBQAMDhw4cREhLi5tYQERGNLZPJBLPZjLlz58LX19fdzSEimjB6enpw/vx5eHl5wceHl3U0ebS2tiIpKUm5lnaGnww3U6lUACwV6F15w4iIiDyJyWRCd3c3wsLCGHgQEQ1CT08PQkND4efnx8CDJhX5+12+lnaGs7QQERERERERkcdh4EFEREREREREHoeBBxERERERERF5HAYeRERERERERORxGHgQERERERERkcdh4EFEREREREREHoeBBxERERERERF5HAYeRERERERERORxGHgQERERERERkcdh4EFEREREREREHoeBBxERERERERF5HAYeRERERERERORxGHgQERERERERkcdh4EFEREREREREHoeBBxERERERERF5HAYeRERERERERORxGHgQERERERERkcdh4EFEREREREREHoeBBxERERERERF5HAYeRERERERERORxGHgQERERERERkcfxcXcDiIiIiIiIiMhz1NfX49q1azbLo6KiEB0dPWbtYOBBRERERERERCPmxRdfxPPPP2+zfNOmTdi8efOYtYOBBxERERERERGNmKeeegoPPvggHnvsMQDAq6++ioCAAERFRY1pOxh4EBEREREREdGIiY6ORmhoqPL4tttuQ1BQ0Ji3g0VLiYiIiIiIiMjjMPAgIiIiIiIiIo/DwIOIiIiIiIiIPA4DDyIiIiIiIiLyOAw8iIiIiIiIiMjjMPAgIiIiIiIiIo/DwIOIiIiIiIiIPA4DDyIiIiIiIiLyOAw8iIiIiIiIiMjjMPAgIiIiIiIiIo/DwIOIiIiIiIiIPA4DDyIiIiIiIiLyOAw8iIiIiIiIiMjjMPAgIiIiIiIiIo/DwIOIiIiIiIiIPA4DDyIiIiIiIiLyOAw8iIiIiIiIiMjjMPAgIiIiIiIiIo/DwIOIiIiIiIiIPA4DDyIiIiIiIiLyOAw8iIiIiIiIiMjjMPAgIiIiIiIiIo/DwIOIiIiIiIiIPA4DDyIiIiIiIiLyOD7ubgB5JkmSYDabIUmSu5tCRETjmMlkQm9vLzo7O9Hb2+vu5kxoXl5e8PX1hUqlcndTiIiIxgUGHjSiJElCZ2cnOjs7YTab+UcXERE5JUkSJEnChQsX+DtjBHh7eyM0NBTh4eEICgpyd3OIiIjcioEHjai2tjZ0d3cjNDQUoaGh8PHhtxgRETkn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7Xa2IiIiIiIiIsNBgcc40TEnBevpBNrbew87LCYT05OTmZWSwpKsrKiwA0IFREVERERERETGCwUe40TzbdOYVt3JnKoGZqWkMCslhdln/551dqaG7ZyZGiIiIiIiIiLjmQKPceSu3Fzuys0d7WGIiIiIiIiIjDr9yl9ERERERERExh3N8JBBq62t5ejRo5HHe/bsweFwkJWVRXZ29iiOTERERERERCSaZnjIoD3xxBOsWLEi8njFihW8853v5Iknnhi9QYmIiIiIiIj0QjM8ZNDuv/9+brvtth7Hs7KyRmE0IiIiIiIiIn1T4CGDlp2draUrIiIiIiIiEhO0pEVERERERERExh0FHiIiIiIiIiIy7ijwEBEREREREZFxR4GHiIiIiIiIiIw746poqcfjYf369bjdblwuFx6PB4Di4mJcLteY719EREREREREhsa4CTzcbjeFhYVs2LCBDRs2RI5XVVWRn59PWVkZBQUFY7Z/ERERERERERk642ZJS2FhIUVFRaxcuTLqeF5eHmVlZRQWFuJ2u8ds/yIiIiIiIiIydMZF4LFx40bcbjdr1qzptb2goACXy0VxcfGY7F9EREREREREhta4CDxKSkrIy8vD6XT2eU5BQQHl5eWRuhtjqX+RwaitrWXPnj2Rx3v27GHXrl3U1taO4qhERERERETGppgPPNxud6SIaH9yc3MB2LJly5jqX2SwnnjiCVasWBF5vGLFCt75znfyxBNPjN6gRERERERExqiYL1paWVkJMGAgEW7fvn37mOpfZLDuv/9+brvtth7Hs7KyRmE0IiIiIiIiY1vMBx7V1dVA9wyLvoSXo1xoYdHh7l9ksLKzs8nOzh7tYYiIiIiIiMSEmF/SMtiaGenp6QA0NDSMqf5FREREREREZOjF/AyP4Qowhqv/zs5OOjs7I4+bm5svqH8RERERERERGdiEmeERNtoByfr160lNTY38mT59+gX1LyIiIiIiIiIDi/nAI9Y8/PDDNDU1Rf4cO3ZstIckIiIiIiIiMu7E/JKWCxWutTFa/cfFxREXFzesYxARERERERGZ6GJ+hkd4d5RYPV9EREREREREhl7MBx7hGRUD1dq42N1Thrt/ERERERERERl6MR945OfnA1BdXd3veW63G4ClS5eOqf5FREREREREZOjFfOARDhgGmmERnqERDjDGSv8iIiIi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Ticul4utW7cOeO6aNWtYuXIlbreb4uLiqLbwzi3FxcUUFRUB3UVWy8rKot6Eh68V3s52MGMMF0idPXt2j+UtbrebVatW9blzTTgo6i+oCffpdrv7DH88Hk+kj/6W2ITvq7/P6VCN6Xzbtm2L1D0REREZy0yGYRijPQgREREZOZWVlRQXF0dqeRQWFg77rIWioiIqKysjS1YGUl5eHllaE565kZuby5o1ayKhTGlpKSUlJaSnp1NSUoLL5SI3N7fXN+5Op5PNmzdHlq70p7S0lLKyssiskfT0dJxOJw8//HCPQCg/P7/XQMHpdNLY2BjpLxzQnH9OOKjxeDzMnj2719kla9asiXwuCgsLew1Czj1nqMbUm6qqKvLz80dk9xwREZFLpcBDREREhl34jXJjY6NqP8SwjRs3UlJSMujgSkREZDRpSYuIiIgMu7y8PFwu10XvpCJjw5NPPtnrzBAREZGxSDM8REREZESUlpayYcMGzQ6IUZqlIyIisUYzPERERGRErFmzBui/GKeMXevXr2fdunUKO0REJGZohoeIiIiMmPLycoqLizXLI8ZUVVVx6623RoqeioiIxALN8BAREZERs3LlSlwuFxs3bhztocgFWLVqFZs3bx7tYYiIiFwQzfAQERGREeXxeMjPz6eioiKy5ayMXRs3bqS+vp4NGzaM9lBEREQuiGZ4iIiIyIhyOp1UVFRQVFSEx+MZ7eFIPyorK9m6davCDhERiUkKPERERGTEuVwuSkpKWL9+/WgPRfrgdrspKyujrKxstIciIiJyUbSkRURERERERETGHc3wEBEREREREZFxR4GHiIiIiIiIiIw7CjxEREREREREZNxR4CEiIiIiIiIi444CDxEREREREREZdxR4iIiIiIiIiMi4o8BDRERERERERMYdBR4iIiIiIiIiMu78/6TFH9bxM2ULAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "labels = roots_nonlin.values()\n", + "\n", + "colours = [\n", + " \"orange\",\n", + " \"hotpink\",\n", + " 'teal'\n", + "]\n", + "\n", + "linestyle = [\n", + " 'solid',\n", + " 'solid',\n", + " 'dashed'\n", + "]\n", + "\n", + "line_args = [dict(color=col, ls=ls, lw=2) for col, ls in zip(colours, linestyle)]\n", + "\n", + "fig, [ax,ax2] = plt.subplots(2, 1, figsize=(11, 14))\n", + "\n", + "theta, xi_p, xi_m = xi_p_data['ANG'], xi_p_data['VALUE'], xi_m_data['VALUE']\n", + "ax.errorbar(theta, theta*xi_p, yerr=theta*np.sqrt(np.diag(cov_mat[:len(theta),:len(theta)])), fmt='o', color='black', capsize=2)\n", + "ax2.errorbar(theta, theta*xi_m, yerr=theta*np.sqrt(np.diag(cov_mat[len(theta):2*len(theta),len(theta):2*len(theta)])), fmt='o', color='black', capsize=2)\n", + "\n", + "for idx, (label, root) in enumerate(zip(labels, roots_nonlin)):\n", + " #Read the results\n", + " theta = (np.loadtxt(path_output_chains + '{}/best_fit/shear_xi_plus/theta.txt'.format(root))) * 180/np.pi * 60\n", + " xi_plus = np.loadtxt(path_output_chains + '{}/best_fit/shear_xi_plus/bin_1_1.txt'.format(root))\n", + " xi_minus = np.loadtxt(path_output_chains + '{}/best_fit/shear_xi_minus/bin_1_1.txt'.format(root))\n", + " xi_sys_plus = np.loadtxt(path_output_chains + '{}/best_fit/xi_sys/shear_xi_plus.txt'.format(root))\n", + " xi_sys_minus = np.loadtxt(path_output_chains + '{}/best_fit/xi_sys/shear_xi_minus.txt'.format(root))\n", + " theta_xi_sys = np.loadtxt(path_output_chains + '{}/best_fit/xi_sys/theta.txt'.format(root)) * 180/np.pi * 60\n", + " \n", + " xi_sys_plus = np.interp(theta, theta_xi_sys, xi_sys_plus)\n", + " xi_sys_minus = np.interp(theta, theta_xi_sys, xi_sys_minus)\n", + " xi_plus += xi_sys_plus\n", + " xi_minus += xi_sys_minus\n", + "\n", + " mask = (theta > theta_min) & (theta < theta_max)\n", + " theta = theta[mask]\n", + " ax.plot(theta, theta*xi_plus[mask], label=label, **line_args[idx])\n", + " ax2.plot(theta, theta*xi_minus[mask], label=label, **line_args[idx])\n", + "\n", + "ymin = ax.get_ylim()[0]\n", + "ymax = ax.get_ylim()[1]\n", + "ax.fill_betweenx(y=[ymin, ymax], x1=0, x2=12, color='gray', alpha=0.2)\n", + "ax.fill_betweenx(y=[ymin, ymax], x1=83, x2=300, color='gray', alpha=0.2)\n", + "\n", + "ax.set_ylim(ymin, ymax)\n", + "\n", + "ax.set_ylabel(r'$\\theta \\xi_\\pm$', fontsize=26)\n", + "ax.set_xlabel(r'$\\theta$ (arcmin)', fontsize=26)\n", + "ax.set_xlim([theta.min()-0.1, theta.max()+20])\n", + "ax.set_title(r'$\\xi_+(\\theta)$', fontsize=26)\n", + "ax.set_xscale('log')\n", + "ax.set_xticks(np.array([1, 10, 100]))\n", + "ax.tick_params(axis=\"x\", which=\"minor\", length=2, width=0.8)\n", + "ax.tick_params(axis='both', which='major', labelsize=24)\n", + "ax.tick_params(axis='both', which='minor', labelsize=20)\n", + "ax.yaxis.get_offset_text().set_fontsize(24)\n", + "ax.ticklabel_format(axis='y', style='sci', scilimits=(0,0))\n", + "\n", + "\n", + "ymin = ax2.get_ylim()[0]\n", + "ymax = ax2.get_ylim()[1]\n", + "ax2.fill_betweenx(y=[ymin, ymax], x1=0, x2=12, color='gray', alpha=0.2)\n", + "ax2.fill_betweenx(y=[ymin, ymax], x1=83, x2=3000, color='gray', alpha=0.2)\n", + "\n", + "ax2.set_ylim(ymin, ymax)\n", + "ax2.set_xlabel(r'$\\theta$ (arcmin)', fontsize=26)\n", + "ax2.set_xlim([theta.min()-0.1, theta.max()])\n", + "ax2.set_xscale('log')\n", + "ax2.set_title(r'$\\xi_-(\\vartheta)$', fontsize=26)\n", + "ax2.set_xticks(np.array([1, 10, 100]))\n", + "ax2.tick_params(axis=\"x\", which=\"minor\", length=2, width=0.8)\n", + "ax2.tick_params(axis='both', which='major', labelsize=24)\n", + "ax2.tick_params(axis='both', which='minor', labelsize=20)\n", + "ax2.yaxis.get_offset_text().set_fontsize(24)\n", + "ax2.ticklabel_format(axis='y', style='sci', scilimits=(0,0))\n", + "ax2.legend(loc=loc_legend, bbox_to_anchor=bbox_to_anchor_xim, fontsize=20)\n", + "\n", + "plt.savefig(\"./../Plots/nonlin_xipm_SP_v1.4.6.3_B.pdf\", bbox_inches='tight')\n", + "\n", + "plt.show()\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f270042c", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "my_env", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/get_chi2.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/get_chi2.ipynb new file mode 100644 index 00000000..2763aedc --- /dev/null +++ b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/get_chi2.ipynb @@ -0,0 +1,575 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import configparser\n", + "import subprocess\n", + "import re\n", + "from getdist import plots, loadMCSamples\n", + "from astropy.io import fits\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from scipy.interpolate import interp1d\n", + "import scipy.stats as stats\n", + "from IPython.display import Markdown, display\n", + "import healpy as hp\n", + "\n", + "import sys\n", + "sys.path.append(\"/home/guerrini/sp_validation/cosmo_inference/scripts\")\n", + "\n", + "import chain_postprocessing\n", + "\n", + "%matplotlib inline\n", + "\n", + "plt.rc('mathtext', fontset='stix')\n", + "plt.rc('font', family='sans-serif')\n", + "\n", + "g = plots.get_subplot_plotter(width_inch=30)\n", + "g.settings.axes_fontsize=30\n", + "g.settings.axes_labelsize=30\n", + "g.settings.alpha_filled_add = 0.7\n", + "g.settings.legend_fontsize = 40\n", + "\n", + "# #SPECIFY DATA DIRECTORY AND DESIRED CHAINS TO ANALYSE\n", + "root_dir = '/n09data/guerrini/output_chains/'\n", + "blind = 'B'\n", + "\n", + "roots = [\n", + "f'SP_v1.4.6.3_{blind}_fiducial_config',\n", + "f'SP_v1.4.6.3_{blind}_small_scales_config',\n", + "f'SP_v1.4.6.3_{blind}_flat_alpha_beta_config',\n", + "f'SP_v1.4.6.3_{blind}_no_xi_sys_config',\n", + "f'SP_v1.4.6.3_{blind}_no_leak_corr_config',\n", + "f'SP_v1.4.6.3_{blind}_flat_delta_z_config',\n", + "f'SP_v1.4.6.3_{blind}_no_delta_z_config',\n", + "f'SP_v1.4.6.3_{blind}_flat_ia_config',\n", + "f'SP_v1.4.6.3_{blind}_no_ia_config',\n", + "f'SP_v1.4.6.3_{blind}_no_m_bias_config',\n", + "f'SP_v1.4.6.3_{blind}_unmasked_covmat_config',\n", + "f'SP_v1.4.6.3_{blind}_halofit_config',\n", + "f'SP_v1.4.6.3_{blind}_no_baryons_config',\n", + "f'SP_v1.4.6.3_{blind}_nautilus_config',\n", + "f'SP_v1.4.6.3_{blind}_planck_config',\n", + "f'SP_v1.4.6.3_{blind}_planck_desi_sne1a_config',\n", + "]\n", + "\n", + "catalog_versions = [\n", + " f'SP_v1.4.6.3_config/SP_v1.4.6.3_{blind}',\n", + "]\n", + "\n", + "catalog_sub_versions = [\n", + " f'SP_v1.4.6.3_leak_corr_{blind}_masked',\n", + " f'SP_v1.4.6.3_leak_corr_{blind}_masked',\n", + " f'SP_v1.4.6.3_leak_corr_{blind}_masked',\n", + " f'SP_v1.4.6.3_leak_corr_{blind}_masked',\n", + " f'SP_v1.4.6.3_{blind}_masked',\n", + " f'SP_v1.4.6.3_leak_corr_{blind}_masked',\n", + " f'SP_v1.4.6.3_leak_corr_{blind}_masked',\n", + " f'SP_v1.4.6.3_leak_corr_{blind}_masked',\n", + " f'SP_v1.4.6.3_leak_corr_{blind}_masked',\n", + " f'SP_v1.4.6.3_leak_corr_{blind}_masked',\n", + " f'SP_v1.4.6.3_leak_corr_{blind}',\n", + " f'SP_v1.4.6.3_leak_corr_{blind}_masked',\n", + " f'SP_v1.4.6.3_leak_corr_{blind}_masked',\n", + " f'SP_v1.4.6.3_leak_corr_{blind}_masked',\n", + " f'SP_v1.4.6.3_leak_corr_{blind}_masked',\n", + " f'SP_v1.4.6.3_leak_corr_{blind}_masked',\n", + "]\n", + "output_folder = '/n09data/guerrini/output_chains/'\n", + "\n", + "path_ini_files = '/home/guerrini/sp_validation/cosmo_inference/cosmosis_config/'\n", + "\n", + "\n", + "ini_roots =[\n", + " f'blind_{blind}/fiducial',\n", + " f'blind_{blind}/small_scales',\n", + " f'blind_{blind}/flat_alpha_beta',\n", + " f'blind_{blind}/no_xi_sys',\n", + " f'blind_{blind}/no_leak_corr',\n", + " f'blind_{blind}/flat_delta_z',\n", + " f'blind_{blind}/no_delta_z',\n", + " f'blind_{blind}/flat_ia',\n", + " f'blind_{blind}/no_ia',\n", + " f'blind_{blind}/no_m_bias',\n", + " f'blind_{blind}/unmasked_covmat',\n", + " f'blind_{blind}/halofit',\n", + " f'blind_{blind}/no_baryons',\n", + " f'blind_{blind}/nautilus',\n", + " f'blind_{blind}/planck',\n", + " f'blind_{blind}/planck_desi_sne1a',\n", + "]\n", + "\n", + "properties = {}\n", + "\n", + "for i,root in enumerate(roots):\n", + " config = configparser.ConfigParser()\n", + " config.optionxform = str # Preserve case sensitivity of option names\n", + " config.read(path_ini_files+'config_space_v1.4.6.3_fiducial/pipeline/'+ini_roots[i]+'.ini') \n", + " add_xi_sys = config[\"2pt_like\"][\"add_xi_sys\"]\n", + " add_xi_sys = add_xi_sys == 'T'\n", + " lower_bound_xi_plus, upper_bound_xi_plus = map(float, config[\"2pt_like\"][\"angle_range_XI_PLUS_1_1\"].split())\n", + " lower_bound_xi_minus, upper_bound_xi_minus = map(float, config[\"2pt_like\"][\"angle_range_XI_MINUS_1_1\"].split())\n", + "\n", + " properties[root] = {\n", + " 'add_xi_sys': add_xi_sys,\n", + " 'lower_bound_xi_plus': lower_bound_xi_plus,\n", + " 'upper_bound_xi_plus': upper_bound_xi_plus,\n", + " 'lower_bound_xi_minus': lower_bound_xi_minus,\n", + " 'upper_bound_xi_minus': upper_bound_xi_minus\n", + " }\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Retrieve the chains" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#READ CHAIN\n", + "\n", + "chains=[]\n", + "\n", + "for i, root in enumerate(roots):\n", + " burnin = 0\n", + " \n", + " if os.path.isfile(root_dir + '{}/getdist_{}.txt'.format(root, root))==False:\n", + " \n", + " samples = np.loadtxt(root_dir + '{}/samples_{}.txt'.format(root, root))\n", + " \n", + " if 'nautilus' in root:\n", + " samples = np.column_stack((np.exp(samples[:,-3]),samples[:,-1]-samples[:,-2],samples[:,0:-3]))\n", + " if 'mh' in root:\n", + " samples = np.column_stack((np.ones_like(samples[:,-1]),np.log(samples[:,-1])-np.log(samples[:,-2]), samples[:,0:-2]))\n", + " burnin=0.3\n", + " else:\n", + " samples = np.column_stack((samples[:,-1],samples[:,-3],samples[:,0:-4]))\n", + " \n", + " np.savetxt(root_dir + '{}/getdist_{}.txt'.format(root, root), samples)\n", + " \n", + " chain = g.samples_for_root(root_dir + '{}/getdist_{}'.format(root, root),\n", + " cache=False,\n", + " settings={'ignore_rows': burnin,\n", + " 'smooth_scale_2D':0.5,\n", + " 'smooth_scale_1D':0.5\n", + " })\n", + " p = chain.getParams()\n", + "\n", + " chains.append(chain)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "param_list = ['OMEGA_M','ombh2','h0','n_s','SIGMA_8','s_8_input', 'logt_agn','a','m1','bias_1','alpha','beta', 'omch2', 'm', 'a_planck']\n", + "label_list = ['\\Omega_m', '\\omega_b', 'h_0', 'n_s', '\\sigma_8', 'S_8', 'log T_{AGN}', 'A_{IA}', 'm_1', '\\Delta z_1', '\\\\alpha_{PSF}', '\\\\beta_{PSF}', '\\omega_c', 'M', 'A_{\\rm Planck}']\n", + "\n", + "for chain in chains:\n", + " param_names = chain.getParamNames()\n", + " for name, label in zip(param_list, label_list):\n", + " if param_names.parWithName(name) is not None:\n", + " param_names.parWithName(name).label = label\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Extract the best fit parameters" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "best_fit = {}\n", + "\n", + "for root, chain in zip(roots, chains):\n", + " print(root)\n", + " p=chain.getParams()\n", + " \n", + " best_fit[root] = chain_postprocessing.extract_best_fit_params(chain, best_fit_method='2Dkde')\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Run `Cosmosis` in test mode to get the data vectors" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "if not os.path.exists(path_ini_files+'/values_empty.ini'):\n", + " content = \"\"\"[cosmological_parameters]\n", + "\n", + "tau = 0.0544\n", + "w = -1.0\n", + "mnu = 0.06\n", + "omega_k = 0.0\n", + "wa = 0.0\n", + "\n", + "[halo_model_parameters]\n", + "\n", + "[intrinsic_alignment_parameters]\n", + "\n", + "[shear_calibration_parameters]\n", + "\n", + "[nofz_shifts]\n", + "\n", + "[psf_leakage_parameters]\n", + "\"\"\"\n", + "\n", + " with open(path_ini_files+'/values_empty.ini', 'w') as f:\n", + " f.write(content)\n", + " f.close()\n", + "\n", + " print('File created successfully')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "section_map = {\n", + " 'omch2': 'cosmological_parameters',\n", + " 'ombh2': 'cosmological_parameters',\n", + " 'h0': 'cosmological_parameters',\n", + " 'n_s': 'cosmological_parameters',\n", + " 's_8_input': 'cosmological_parameters',\n", + " 'logt_agn': 'halo_model_parameters',\n", + " 'a': 'intrinsic_alignment_parameters',\n", + " 'm1': 'shear_calibration_parameters',\n", + " 'bias_1': 'nofz_shifts',\n", + " 'alpha': 'psf_leakage_parameters',\n", + " 'beta': 'psf_leakage_parameters',\n", + " 'm': 'supernova_params',\n", + " 'a_planck' : 'planck'\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env = os.environ.copy()\n", + "env[\"LD_LIBRARY_PATH\"] = \"/home/guerrini/.conda/envs/sp_validation/lib/python3.9/site-packages/cosmosis/datablock:\" + env.get(\"LD_LIBRARY_PATH\", \"\")\n", + "\n", + "for i,root in enumerate(roots):\n", + " print(root)\n", + " config = configparser.ConfigParser()\n", + " config.optionxform = str # Preserve case sensitivity of option names\n", + "\n", + " for param, section in section_map.items():\n", + " # Check if this parameter exists for the current root\n", + " if param in best_fit[root]:\n", + " value = best_fit[root][param]\n", + " \n", + " if section not in config:\n", + " config.add_section(section)\n", + "\n", + " config[section][param] = str(value)\n", + "\n", + " with open(path_ini_files+'/values_empty.ini', 'w') as configfile:\n", + " config.write(configfile)\n", + "\n", + " #Modify the ini file to run in test mode at the best fit\n", + " config = configparser.ConfigParser()\n", + " config.optionxform = str # Preserve case sensitivity of option names\n", + " \n", + " ini_file = path_ini_files+'config_space_v1.4.6.3_fiducial/pipeline/{}.ini'.format(ini_roots[i])\n", + " config.read(ini_file)\n", + "\n", + " sampler = config['runtime']['sampler']\n", + " config['runtime']['sampler'] = 'test'\n", + " values = config['pipeline']['values']\n", + " config['pipeline']['values'] = path_ini_files + '/values_empty.ini'\n", + " config['DEFAULT']['FITS_FILE'] = f'/home/guerrini/sp_validation/cosmo_inference/data/{catalog_versions[0]}/cosmosis_{catalog_sub_versions[i]}.fits'\n", + " config['test']['save_dir'] = root_dir + '{}/best_fit'.format(root)\n", + " \n", + " with open(ini_file, 'w') as configfile:\n", + " config.write(configfile)\n", + "\n", + " #Run cosmosis\n", + " result = subprocess.run(\n", + " ['cosmosis', ini_file],\n", + " env=env,\n", + " capture_output=True,\n", + " text=True\n", + " )\n", + " print(f\"STDOUT:\\n{result.stdout}\")\n", + " print(f\"STDERR:\\n{result.stderr}\")\n", + "\n", + " #Modify the ini file to the previous one\n", + " config['pipeline']['values'] = values\n", + " config['runtime']['sampler'] = sampler\n", + "\n", + " with open(ini_file, 'w') as configfile:\n", + " config.write(configfile)\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Compute the $\\chi^2$" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "metrics = {}\n", + "\n", + "for idx,root in enumerate(roots):\n", + " print(root)\n", + " match = re.search(r'corr_([A-Za-z])', root)\n", + " if match:\n", + " blind = match.group(1)\n", + "\n", + " add_xi_sys = properties[root]['add_xi_sys']\n", + " lower_bound_xi_plus = properties[root]['lower_bound_xi_plus']\n", + " upper_bound_xi_plus = properties[root]['upper_bound_xi_plus']\n", + " lower_bound_xi_minus = properties[root]['lower_bound_xi_minus']\n", + " upper_bound_xi_minus = properties[root]['upper_bound_xi_minus']\n", + "\n", + " #Read the results\n", + " theta = np.loadtxt(output_folder + '{}/best_fit/shear_xi_plus/theta.txt'.format(root))\n", + " theta_arcmin = theta * 180 * 60 / np.pi\n", + " shear_xi_plus = np.loadtxt(output_folder + '{}/best_fit/shear_xi_plus/bin_1_1.txt'.format(root))\n", + " shear_xi_minus = np.loadtxt(output_folder + '{}/best_fit/shear_xi_minus/bin_1_1.txt'.format(root))\n", + " if add_xi_sys:\n", + " xi_sys_plus = np.loadtxt(output_folder + '{}/best_fit/xi_sys/shear_xi_plus.txt'.format(root))\n", + " xi_sys_minus = np.loadtxt(output_folder + '{}/best_fit/xi_sys/shear_xi_minus.txt'.format(root))\n", + "\n", + " theta_tau = np.loadtxt(output_folder + '{}/best_fit/tau_0_plus/theta.txt'.format(root))\n", + " theta_tau_arcmin = theta_tau * 180 * 60 / np.pi\n", + " tau_0_model = np.loadtxt(output_folder + '{}/best_fit/tau_0_plus/bin_1_1.txt'.format(root))\n", + " tau_2_model = np.loadtxt(output_folder + '{}/best_fit/tau_2_plus/bin_1_1.txt'.format(root))\n", + "\n", + " data = fits.open(f'/home/guerrini/sp_validation/cosmo_inference/data/{catalog_versions[0]}/cosmosis_{catalog_sub_versions[idx]}.fits')\n", + " \n", + " tau_0_data = data['TAU_0_PLUS'].data['VALUE']\n", + " tau_2_data = data['TAU_2_PLUS'].data['VALUE']\n", + "\n", + " theta_data = data['XI_PLUS'].data['ANG']\n", + " xi_plus_data = data['XI_PLUS'].data['VALUE']\n", + " xi_minus_data = data['XI_MINUS'].data['VALUE']\n", + "\n", + "\n", + " #Load the covariance\n", + " cov = data['COVMAT'].data\n", + " cov_xi = cov[0:2*len(xi_plus_data), 0:2*len(xi_plus_data)]\n", + " cov_tau = cov[2*len(xi_plus_data):, 2*len(xi_plus_data):]\n", + "\n", + " #interpolate the model\n", + " interp_xi_plus = interp1d(theta_arcmin, shear_xi_plus, kind='cubic', fill_value='extrapolate')\n", + " interp_xi_minus = interp1d(theta_arcmin, shear_xi_minus, kind='cubic', fill_value='extrapolate')\n", + "\n", + " xi_plus_model = interp_xi_plus(theta_data)\n", + " if add_xi_sys:\n", + " xi_plus_model += xi_sys_plus\n", + " xi_minus_model = interp_xi_minus(theta_data)\n", + " if add_xi_sys:\n", + " xi_minus_model += xi_sys_minus\n", + "\n", + " #Concatenate the data vector\n", + " xi_data = np.concatenate((xi_plus_data, xi_minus_data))\n", + " xi_model = np.concatenate((xi_plus_model, xi_minus_model))\n", + "\n", + " tau_data = np.concatenate((tau_0_data, tau_2_data))\n", + " tau_model = np.concatenate((tau_0_model, tau_2_model))\n", + "\n", + " #Apply scale cuts\n", + " mask_xi_plus = (theta_data > lower_bound_xi_plus) & (theta_data < upper_bound_xi_plus)\n", + " mask_xi_minus = (theta_data > lower_bound_xi_minus) & (theta_data < upper_bound_xi_minus)\n", + " mask = np.concatenate((mask_xi_plus, mask_xi_minus))\n", + "\n", + " xi_data = xi_data[mask]\n", + " xi_model = xi_model[mask]\n", + " cov_xi = cov_xi[mask][:, mask]\n", + " \n", + " cov_xi_plus = cov[0:len(xi_plus_data), 0:len(xi_plus_data)]\n", + " cov_xi_plus = cov_xi_plus[mask_xi_plus][:, mask_xi_plus]\n", + " cov_xi_minus = cov[len(xi_plus_data):2*len(xi_minus_data), len(xi_plus_data):2*len(xi_minus_data)]\n", + " cov_xi_minus = cov_xi_minus[mask_xi_minus][:, mask_xi_minus]\n", + "\n", + " xi_plus_chi2 = np.dot((xi_plus_model[mask_xi_plus] - xi_plus_data[mask_xi_plus]), np.dot(np.linalg.inv(cov_xi_plus), (xi_plus_model[mask_xi_plus] - xi_plus_data[mask_xi_plus])))\n", + " xi_minus_chi2 = np.dot((xi_minus_model[mask_xi_minus] - xi_minus_data[mask_xi_minus]), np.dot(np.linalg.inv(cov_xi_minus), (xi_minus_model[mask_xi_minus] - xi_minus_data[mask_xi_minus])))\n", + " xi_chi2 = np.dot((xi_model - xi_data), np.dot(np.linalg.inv(cov_xi), (xi_model - xi_data)))\n", + " tau_chi2 = np.dot((tau_model - tau_data), np.dot(np.linalg.inv(cov_tau), (tau_model - tau_data)))\n", + " n_dof_xi_plus = np.sum(mask_xi_plus)\n", + " n_dof_xi_minus = np.sum(mask_xi_minus)\n", + " n_dof_tau = len(tau_0_data) + len(tau_2_data)\n", + " p_value_xi_plus = 1 - stats.chi2.cdf(xi_plus_chi2, n_dof_xi_plus)\n", + " p_value_xi_minus = 1 - stats.chi2.cdf(xi_minus_chi2, n_dof_xi_minus)\n", + " p_value_xi = 1 - stats.chi2.cdf(xi_chi2, n_dof_xi_plus + n_dof_xi_minus)\n", + " p_value_tau = 1 - stats.chi2.cdf(tau_chi2, n_dof_tau)\n", + " chi2_tot = xi_plus_chi2 + tau_chi2\n", + " n_dof_tot = n_dof_xi_plus + n_dof_xi_minus + n_dof_tau\n", + " p_value_tot = 1 - stats.chi2.cdf(chi2_tot, n_dof_tot)\n", + "\n", + " metrics[root] = {\n", + " 'chi2_xi_plus': xi_plus_chi2,\n", + " 'n_dof_xi_plus': n_dof_xi_plus,\n", + " 'p_value_xi_plus': p_value_xi_plus,\n", + " 'chi2_xi_minus': xi_minus_chi2,\n", + " 'n_dof_xi_minus': n_dof_xi_minus,\n", + " 'p_value_xi_minus': p_value_xi_minus,\n", + " 'chi2_xi': xi_chi2,\n", + " 'p_value_xi': p_value_xi,\n", + " 'chi2_tau': tau_chi2,\n", + " 'n_dof_tau': n_dof_tau,\n", + " 'p_value_tau': p_value_tau,\n", + " 'chi2_tot': chi2_tot,\n", + " 'n_dof_tot': n_dof_tot,\n", + " 'p_value_tot': p_value_tot\n", + " }\n", + " print(\"Done!\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def get_latex_table(metrics):\n", + " latex_lines = [\n", + " r\"\\begin{tabular}{lccc|ccc|ccc}\",\n", + " r\"\\hline\",\n", + " r\"Root & $\\chi^2_{\\xi^+}$/dof & $p_{\\xi^+}$ & $\\chi^2_{\\xi^-}$/dof & $p_{\\xi^+}$ & $\\chi^2_{\\xi}$/dof & $p_{\\xi}$ &\"\n", + " r\"$\\chi^2_\\tau$/dof & $p_\\tau$ & $\\chi^2_{\\text{tot}}$/dof & $p_{\\text{tot}}$ \\\\\",\n", + " r\"\\hline\"\n", + " ]\n", + "\n", + " for root, vals in metrics.items():\n", + " escaped = root.replace(\"_\", r\"\\_\")\n", + " line = (\n", + " f\"{escaped} & \"\n", + " f\"{vals['chi2_xi_plus']:.2f}/{vals['n_dof_xi_plus']} & {vals['p_value_xi_plus']:.3g} & \"\n", + " f\"{vals['chi2_xi_minus']:.2f}/{vals['n_dof_xi_minus']} & {vals['p_value_xi_minus']:.3g} & \"\n", + " f\"{vals['chi2_xi']:.2f}/{vals['n_dof_xi_plus']+ vals['n_dof_xi_minus']} & {vals['p_value_xi']:.3g} &\"\n", + " f\"{vals['chi2_tau']:.2f}/{vals['n_dof_tau']} & {vals['p_value_tau']:.3g} & \"\n", + " f\"{vals['chi2_tot']:.2f}/{vals['n_dof_tot']} & {vals['p_value_tot']:.3g} \\\\\\\\\"\n", + " )\n", + " latex_lines.append(line)\n", + "\n", + " latex_lines.append(r\"\\hline\")\n", + " latex_lines.append(r\"\\end{tabular}\")\n", + "\n", + " # Print LaTeX table\n", + " print(\"\\n\".join(latex_lines))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "get_latex_table(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def display_markdown(metrics):\n", + " # Build Markdown table\n", + " header = (\n", + " \"| Root | $\\chi^2$ (ξ⁺) / dof | p-val (ξ⁺) |$\\chi^2$ (ξ-) / dof | p-val (ξ-) | $\\chi^2$ (ξ) / dof | p-val (ξ) | $\\chi^2$ (τ) / dof | p-val (τ) | $\\chi^2$ (tot) / dof | p-val (tot) |\\n\"\n", + " \"|------|----------------|------------|----------------|------------|------------|---------------|------------|------------|------------------|--------------|\\n\"\n", + " )\n", + "\n", + " rows = []\n", + " for root, vals in metrics.items():\n", + " row = f\"| `{root}` \"\n", + " row += f\"| {vals['chi2_xi_plus']:.2f} / {vals['n_dof_xi_plus']} \"\n", + " row += f\"| {vals['p_value_xi_plus']:.5f} \"\n", + " row += f\"| {vals['chi2_xi_minus']:.2f} / {vals['n_dof_xi_minus']} \"\n", + " row += f\"| {vals['p_value_xi_minus']:.5f} \"\n", + " row += f\"| {vals['chi2_xi']:.2f} / {vals['n_dof_xi_minus']+vals['n_dof_xi_plus']} \"\n", + " row += f\"| {vals['p_value_xi']:.5f} \"\n", + " row += f\"| {vals['chi2_tau']:.2f} / {vals['n_dof_tau']} \"\n", + " row += f\"| {vals['p_value_tau']:.5f} \"\n", + " row += f\"| {vals['chi2_tot']:.2f} / {vals['n_dof_tot']} \"\n", + " row += f\"| {vals['p_value_tot']:.5f} |\"\n", + " rows.append(row)\n", + "\n", + " # Display in Jupyter\n", + " display(Markdown(header + \"\\n\".join(rows)))\n", + " return header + \"\\n\".join(rows)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "markdown_source = display_markdown(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "my_env", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/get_prior_psf_leakage.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/get_prior_psf_leakage.ipynb new file mode 100644 index 00000000..2381654c --- /dev/null +++ b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/get_prior_psf_leakage.ipynb @@ -0,0 +1,249 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "2978bafe", + "metadata": {}, + "source": [ + "# Covariance matrix and PSF leakage\n", + "\n", + "This notebook plots the combined covariance matrix, and samples and plots the 2D marginalised posteriors of the PSF leakage parameters $\\alpha$ and $\\beta$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "54601eff", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "if not os.path.exists(\"./Plots\"):\n", + " os.makedirs(\"./Plots\")\n", + "\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from astropy.io import fits\n", + "import seaborn as sns\n", + "from getdist import plots, loadMCSamples, MCSamples\n", + "\n", + "from shear_psf_leakage.rho_tau_stat import RhoStat, TauStat, PSFErrorFit\n", + "\n", + "# Use paper style and seaborn with husl palette\n", + "plt.style.use(\n", + " \"/home/guerrini/matplotlib_config/paper.mplstyle\"\n", + ")\n", + "# Set default palette - will be updated per plot as needed\n", + "sns.set_palette(\"husl\")\n", + "%matplotlib inline\n", + "\n", + "g = plots.get_subplot_plotter(width_inch=30)\n", + "g.settings.axes_fontsize=30\n", + "g.settings.axes_labelsize=30\n", + "g.settings.alpha_filled_add = 0.7\n", + "g.settings.legend_fontsize = 25\n", + "\n", + "ver = 'v1.4.6.3'\n", + "blind = 'B'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4a1618a7", + "metadata": {}, + "outputs": [], + "source": [ + "data_path = f\"/home/guerrini/sp_validation/cosmo_inference/data/SP_{ver}_config/\"\n", + "\n", + "path_cosmo_val = \"/home/guerrini/sp_validation/notebooks/cosmo_val/output/\"\n", + "\n", + "roots = [\n", + " f\"SP_{ver}_{blind}\",\n", + " f\"SP_{ver}_leak_corr_{blind}\"\n", + "]\n", + "\n", + "labels = [\n", + " f\"SP_{ver}_{blind}\",\n", + " f\"SP_{ver}_leak_corr_{blind}\"\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6c8c0a1f", + "metadata": {}, + "outputs": [], + "source": [ + "data_vectors = []\n", + "\n", + "for root in roots:\n", + " data_vectors.append(\n", + " fits.open(data_path +f\"SP_{ver}_{blind}/cosmosis_{root}_masked.fits\")\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "af22339d", + "metadata": {}, + "outputs": [], + "source": [ + "def cov_to_corr(cov):\n", + " \"\"\"Convert a covariance matrix to a correlation matrix.\"\"\"\n", + " d = np.sqrt(np.diag(cov))\n", + " corr = cov / np.outer(d, d)\n", + " corr[cov == 0] = 0\n", + " return corr" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a5d8de0d", + "metadata": {}, + "outputs": [], + "source": [ + "#Print the covariance matrix for each root\n", + "for i, root in enumerate(roots):\n", + " print(f\"Covariance matrix for {labels[i]}:\")\n", + " cov = data_vectors[i][\"COVMAT\"].data\n", + "\n", + " n_bins = cov.shape[0] // 4\n", + "\n", + " fig, ax = plt.subplots(figsize=(10, 8))\n", + "\n", + " im = ax.imshow(cov_to_corr(cov), vmin=-1, vmax=1, cmap=\"seismic\")\n", + " ax.set_aspect('equal')\n", + " ax.set_yticks(np.array([10, 30, 50, 70]))\n", + " ax.set_yticklabels([r\"$\\xi_+(\\vartheta)$\", r\"$\\xi_-(\\vartheta)$\", r\"$\\tau_0(\\vartheta)$\", r\"$\\tau_2(\\vartheta)$\"])\n", + " ax.set_xticks(np.array([10, 30, 50, 70]))\n", + " ax.set_xticklabels([r\"$\\xi_+(\\vartheta)$\", r\"$\\xi_-(\\vartheta)$\", r\"$\\tau_0(\\vartheta)$\", r\"$\\tau_2(\\vartheta)$\"], rotation=45)\n", + " fig.colorbar(im, ax=ax)\n", + "\n", + " plt.savefig(f\"./Plots/cov_matrix_{root}.png\", bbox_inches='tight', dpi=300)\n", + " plt.show()\n", + " print(\"\\n\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a484afb6", + "metadata": {}, + "outputs": [], + "source": [ + "#Create dummy rho and tau stat handler.\n", + "\n", + "#Inference of the xi_sys parameters\n", + "sep_units = 'arcmin'\n", + "coord_units = 'degrees'\n", + "theta_min = 1.0\n", + "theta_max = 250\n", + "nbins = 20\n", + "\n", + "\n", + "TreeCorrConfig_xi = {\n", + " 'ra_units': coord_units,\n", + " 'dec_units': coord_units,\n", + " 'min_sep': theta_min,\n", + " 'max_sep': theta_max,\n", + " 'sep_units': sep_units,\n", + " 'nbins': nbins,\n", + " 'var_method':'jackknife',\n", + "}\n", + "\n", + "rho_stats_handler = RhoStat(\n", + " output='.',\n", + " treecorr_config=TreeCorrConfig_xi,\n", + " verbose=True\n", + ")\n", + "\n", + "tau_stats_handler = TauStat(\n", + " catalogs=rho_stats_handler.catalogs,\n", + " output='.',\n", + " treecorr_config=TreeCorrConfig_xi,\n", + " verbose=True\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a4dd4416", + "metadata": {}, + "outputs": [], + "source": [ + "#Create a PSFErrorFit instance\n", + "psf_fitter = PSFErrorFit(rho_stats_handler, tau_stats_handler, path_cosmo_val+'rho_tau_stats/', use_eta=False)\n", + "\n", + "g = plots.get_subplot_plotter(width_inch=30)\n", + "\n", + "g.settings.axes_fontsize=30\n", + "g.settings.axes_labelsize=30\n", + "g.settings.alpha_filled_add = 0.7\n", + "g.settings.legend_fontsize = 40\n", + "\n", + "chains = []\n", + "\n", + "#Load rho-, tau-statistics, and cov_tau from the data_vector\n", + "for i, root in enumerate(roots):\n", + " print(\"Sampling PSF parameters for \", labels[i])\n", + " path_rho = f\"rho_stats_{root}.fits\"\n", + " path_tau = f\"tau_stats_{root}.fits\"\n", + " path_cov_rho = f\"cov_rho_{root}.npy\"\n", + " path_cov_tau = f\"cov_tau_{root}_th.npy\"\n", + " psf_fitter.load_rho_stat(path_rho)\n", + " psf_fitter.load_tau_stat(path_tau)\n", + " psf_fitter.load_covariance(path_cov_rho, cov_type='rho')\n", + " psf_fitter.load_covariance(path_cov_tau, cov_type='tau')\n", + " samples_lq, _, _ = psf_fitter.get_least_squares_params_samples(npatch=None, apply_debias=False)\n", + "\n", + " samples_gd = MCSamples(samples=samples_lq, names=[r\"\\alpha\", r\"\\beta\"], labels=[r\"\\alpha\", r\"\\beta\"])\n", + "\n", + " chains.append(samples_gd)\n", + "\n", + "g.triangle_plot(chains,\n", + " filled=True,\n", + " legend_labels=labels,\n", + " legend_loc='upper right',\n", + " \n", + ")\n", + "\n", + "# plt.savefig(f\"./Plots/psf_leakage_params.png\", bbox_inches='tight', dpi=300)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a24f3510", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "my_env", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/masking.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/masking.ipynb new file mode 100644 index 00000000..d4b2ed97 --- /dev/null +++ b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/masking.ipynb @@ -0,0 +1,151 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Covmat mask analysis\n", + "\n", + "This notebook creates the plots to look at the ratio of the covaraiance matrices when applying the mask or not" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "import os\n", + "import numpy as np\n", + "import healpy as hp\n", + "from astropy.io import fits\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "plt.style.use(\n", + " \"/home/guerrini/matplotlib_config/paper.mplstyle\"\n", + ")\n", + "\n", + "plt.rcParams['axes.labelsize'] = 18\n", + "plt.rcParams['xtick.labelsize'] = 18\n", + "plt.rcParams['ytick.labelsize'] = 18\n", + "\n", + "plt.rcParams['text.usetex'] = True\n", + "sns.set_palette(\"husl\")\n", + "\n", + "cat_dir = '/n17data/UNIONS/WL/v1.4.x/'\n", + "catalog_ver = 'v1.4.6.3'\n", + "blind = 'B'\n", + "\n", + "nside = 8192\n", + "npix = hp.nside2npix(nside)\n", + "\n", + "data_dir = f'/n23data1/n06data/lgoh/scratch/UNIONS/cosmo_inference/data/'\n", + "curr_dir = os.getcwd()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# PLOT 2D MAP OF COVMAT masked vs unmasked RATIOS\n", + "nbins=20\n", + "ndata = nbins * 2 \n", + "full_ratio = np.zeros((ndata,ndata))\n", + "\n", + "cov = np.loadtxt(data_dir + f'/covs/cov_SP_{catalog_ver}_{blind}.txt')\n", + "cov_masked = np.loadtxt(data_dir + f'/covs/cov_masked_SP_{catalog_ver}_{blind}.txt')\n", + "\n", + "for i in range(ndata):\n", + " for j in range(ndata):\n", + " full_ratio[i][j] = cov_masked[i][j] / cov[i][j]\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.add_subplot(1, 1, 1) \n", + "extent = (0, ndata, ndata, 0)\n", + "\n", + "vmin, vmax = np.percentile(full_ratio, [1, 99])\n", + "\n", + "im3 = ax.imshow(full_ratio, cmap='RdBu_r', vmin=vmin, vmax=vmax, extent=extent)\n", + "\n", + "cbar = fig.colorbar(im3, ax=ax, fraction=0.046, pad=0.04)\n", + "\n", + "ax.text(int(ndata/4), ndata+5, r'$\\xi_+$', fontsize=15)\n", + "ax.text(3*int(ndata/4), ndata+5, r'$\\xi_-$', fontsize=15)\n", + "ax.text(-8, int(ndata/4), r'$\\xi_+$', fontsize=15, rotation=90)\n", + "ax.text(-8, 3*int(ndata/4), r'$\\xi_-$', fontsize=15,rotation=90)\n", + "ax.set_xticks([0,10,20,30,40])\n", + "ax.set_yticks([0,10,20,30,40])\n", + "ax.set_yticklabels([\"1'\", \"125'\", \"250'\", \"125'\", \"250'\"])\n", + "ax.set_xticklabels([\"1'\", \"125'\", \"250'\", \"125'\", \"250'\"])\n", + "plt.axvline(x=int(ndata/2), color='white', linewidth=1.0)\n", + "plt.axhline(y=int(ndata/2), color='white', linewidth=1.0)\n", + "\n", + "plt.savefig(f'{curr_dir}/../Plots/covmat_masked_unmasked_ratio_{catalog_ver}_{blind}.pdf', bbox_inches='tight')\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "theta = np.linspace(1,250,20)\n", + "plt.axhline(y=1, color='k', ls='--')\n", + "plt.plot(theta,np.diag(cov_masked)[:20]/np.diag(cov)[:20], label=r'$\\xi_+$')\n", + "plt.plot(theta,np.diag(cov_masked)[20:]/np.diag(cov)[20:], label=r'$\\xi_-$')\n", + "\n", + "plt.xlabel(r'$\\theta$ (arcmin)')\n", + "plt.ylabel('Cov masked / Cov unmasked')\n", + "plt.legend(fontsize=20)\n", + "plt.savefig(f'{curr_dir}/../Plots/covmat_masked_unmasked_ratio_diag.pdf', bbox_inches='tight')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "my_env", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/nonlin_k_analysis.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/nonlin_k_analysis.ipynb new file mode 100644 index 00000000..5c047ec4 --- /dev/null +++ b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/nonlin_k_analysis.ipynb @@ -0,0 +1,171 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Nonlinear $k$ contributions\n", + "\n", + "This notebook plots the 2D heatmap of ratio of scale contributions to the $\\xi_\\pm$ 2PCF given angular scale $\\theta$ and wavenumber $k$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import os\n", + "import matplotlib.pylab as plt\n", + "import seaborn as sns\n", + "plt.style.use(\n", + " \"/home/guerrini/matplotlib_config/paper.mplstyle\"\n", + ")\n", + "\n", + "plt.rcParams['text.usetex'] = True\n", + "\n", + "plt.rcParams.update({\n", + " \"font.size\": 20, \n", + " \"axes.titlesize\": 21,\n", + " \"axes.labelsize\": 20,\n", + " \"xtick.labelsize\": 20,\n", + " \"ytick.labelsize\": 20,\n", + " \"legend.fontsize\": 20,\n", + " \"figure.titlesize\": 21,\n", + "})\n", + "sns.set_palette(\"husl\")\n", + "\n", + "blind = 'B'\n", + "ver = 'v1.4.6.3'\n", + "\n", + "%matplotlib inline\n", + "\n", + "data_dir = f'/n23data1/n06data/lgoh/scratch/UNIONS/cosmo_inference/data/'\n", + "curr_dir = os.getcwd()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plotting from script" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Read the 2D array from the text file\n", + "\n", + "file_headers = [ \"xip_%s_%s\" % (ver, blind) , \"xim_%s_%s\" % (ver, blind) ]\n", + "\n", + "for f in file_headers:\n", + " \n", + " xis = np.loadtxt(data_dir + f'theta_k_{f}.txt')\n", + " xis_reshaped = xis.reshape(-1,201)\n", + " sorted_xis = xis_reshaped[np.argsort(xis_reshaped[:, 0])]\n", + " \n", + " np.savetxt(data_dir + f'theta_k_{f}_sorted.txt', sorted_xis)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "fig, axs = plt.subplots(2, 1, figsize=(8,10))\n", + "\n", + "# --- k grid ---\n", + "h = 0.6766\n", + "k_plot = np.logspace(-4, 2, 200)\n", + "\n", + "file_header = \"%s_%s\" % (ver, blind)\n", + "\n", + "xi_thetas = np.loadtxt(data_dir + f'theta_k_xip_{file_header}_sorted.txt')\n", + "thetas = xi_thetas[:,0]\n", + "xis = xi_thetas[:,1:]\n", + "\n", + "# normalise\n", + "xi_plot = xis / np.max(xis, axis=1, keepdims=True)\n", + "\n", + "T, K = np.meshgrid(thetas, k_plot)\n", + "\n", + "axs[0].contour(T, K, xi_plot.T, levels=[0.9], colors='red', linewidths=1.7)\n", + "pcm = axs[0].pcolormesh(T, K, xi_plot.T, shading='auto', cmap='viridis')\n", + "pcm.set_rasterized(True)\n", + "\n", + "axs[0].axvline(5, color='k', ls='dashed',lw=1.2)\n", + "axs[0].axvline(12, color='white', ls='dashed',lw=1.6)\n", + "axs[0].axhline(1, color='k', ls='dashed',lw=1.2) # converted to h/Mpc space if needed\n", + "axs[0].axhline(0.425, color='white', ls='dashed',lw=1.6)\n", + "\n", + "axs[0].set_yscale('log')\n", + "axs[0].set_xlabel(r'$\\theta\\ \\mathrm{(arcmin)}$')\n", + "axs[0].set_ylabel(r'$k\\ (h$ Mpc$^{-1})$')\n", + "\n", + "axs[0].set_title(r'$\\xi_+$')\n", + "\n", + "xi_thetas = np.loadtxt(data_dir + f'theta_k_xim_{file_header}_sorted.txt')\n", + "thetas = xi_thetas[:,0]\n", + "xis = xi_thetas[:,1:]\n", + "\n", + "xi_plot = xis / np.max(xis, axis=1, keepdims=True)\n", + "\n", + "T, K = np.meshgrid(thetas, k_plot)\n", + "\n", + "axs[1].contour(T, K, xi_plot.T, levels=[0.9], colors='red', linewidths=1.7)\n", + "pcm = axs[1].pcolormesh(T, K, xi_plot.T, shading='nearest', cmap='viridis')\n", + "pcm.set_rasterized(True)\n", + "\n", + "axs[1].axvline(12, color='white', ls='dashed', lw=1.6)\n", + "axs[1].axhline(2.85, color='white', ls='dashed', lw=1.6)\n", + "\n", + "\n", + "axs[1].set_yscale('log')\n", + "axs[1].set_xlabel(r'$\\theta\\ \\mathrm{(arcmin)}$')\n", + "axs[1].set_ylabel(r'$k\\ (h$ Mpc$^{-1})$')\n", + "axs[1].set_title(r'$\\xi_-$')\n", + "\n", + "\n", + "fig.tight_layout()\n", + "\n", + "cbar_ax = fig.add_axes([0.99, 0.15, 0.02, 0.7])\n", + "cbar = fig.colorbar(pcm, cax=cbar_ax)\n", + "\n", + "fig.savefig(curr_dir + f'/../Plots/theta_k_xip_xim_{ver}_{blind}.pdf', bbox_inches='tight')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "my_env", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/ psf_leakage.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/ psf_leakage.ipynb deleted file mode 100644 index 20f4a5a0..00000000 --- a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/ psf_leakage.ipynb +++ /dev/null @@ -1,248 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## PSF Leakage Plots\n", - "\n", - "This notebook creates all the plots of the PSF leakage: the scale-dependent $\\alpha$ parameter, $\\rho$ and $\\tau$ statistics (from Guerrini et al. 2024) as well as the covariance matrix of the $\\tau_0$ ad $\\tau_2$ data vectors." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib\n", - "from astropy.io import fits\n", - "import matplotlib.pyplot as plt\n", - "import uncertainties\n", - "import yaml\n", - "import os\n", - "import numpy as np\n", - "\n", - "plt.rcParams.update({'font.size': 25,'figure.figsize':[12,7]})\n", - "plt.rcParams.update({\"text.usetex\": True})\n", - "plt.rc('mathtext', fontset='stix')\n", - "plt.rc('font', family='serif')\n", - "\n", - "# Define path to data files (NOTE: YOU MUST HAVE RAN THE cosmo_val.py PIPELINE!)\n", - "cosmoval_data_dir = \"/n23data1/n06data/lgoh/scratch/UNIONS/sp_validation/notebooks/cosmo_val/output\"\n", - "ver = \"SP_v1.4.5\"\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plot the $\\alpha(\\theta)$ leakage" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Read in the text file of the 2PCFs\n", - "\n", - "alpha_fname = f\"{cosmoval_data_dir}/leakage_{ver}/alpha_leakage.txt\"\n", - "print(f\"Reading xi_sys's from {alpha_fname}\")\n", - "\n", - "alphas = np.loadtxt(alpha_fname)\n", - "theta = alphas[:,0]\n", - "alpha = alphas[:,1]\n", - "var_alpha = alphas[:,2]\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\n", - "# Plot the xi_+sys\n", - "ax1 = plt.subplot(111)\n", - "ax1.tick_params(axis='both', which='both', direction='in', length=6, width=1,\n", - " top=True, bottom=True, left=True, right=True)\n", - "ax1.yaxis.minorticks_on()\n", - "\n", - "ax1.errorbar(theta, alpha, yerr=var_alpha, \n", - " fmt='o', markersize=4, capsize=2, capthick=1.5, ls = 'solid', lw=1.8,\n", - " color='darkviolet')\n", - "ax1.axhline(0,ls='dashed',lw=1, color='grey')\n", - "ax1.text(0.85, 0.15, r'$1-1$', transform=ax1.transAxes,\n", - " bbox=dict(facecolor='white', edgecolor='black', boxstyle='round', pad=0.5))\n", - "ax1.set_xscale('log')\n", - "ax1.set_xlabel(r'$\\theta$ [arcmin]')\n", - "ax1.set_ylabel(r'$\\alpha(\\theta)$')\n", - "# plt.savefig('plots/alpha_sys_%s.pdf' %ver,bbox_inches='tight')\n", - "plt.show()\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plot the $\\tau(\\theta)$ statistics" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "tau_stats_fname = f\"{cosmoval_data_dir}/rho_tau_stats/tau_stats_{ver}.fits\"\n", - "print(f\"Reading tau stats from {tau_stats_fname}\")\n", - "tau_stats_hdu = fits.open(tau_stats_fname)\n", - "\n", - "theta = tau_stats_hdu[1].data['theta']\n", - "\n", - "tau_0_p = tau_stats_hdu[1].data['tau_0_p']\n", - "vartau_0_p = tau_stats_hdu[1].data['vartau_0_p']\n", - "\n", - "tau_2_p = tau_stats_hdu[1].data['tau_2_p']\n", - "vartau_2_p = tau_stats_hdu[1].data['vartau_2_p']" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#Plot the xi_plus\n", - "ax1 = plt.subplot(111)\n", - "ax1.tick_params(axis='both', which='both', direction='in', length=6, width=1,\n", - " top=True, bottom=True, left=True, right=True)\n", - "ax1.yaxis.minorticks_on()\n", - "\n", - "# ax1.errorbar(theta, tau_0_p*1e4, yerr=np.sqrt(vartau_0_p)*1e4, \n", - "# fmt='o', markersize=6, capsize=2, capthick=1.5, ls = 'solid', lw=1.8,\n", - "# color='royalblue')\n", - "ax1.plot(theta, tau_0_p*1e4, marker='o', markersize=4, ls = 'solid', lw=1.8, color=\"royalblue\")\n", - "ax1.fill_between(theta, (tau_0_p-np.sqrt(vartau_0_p))*1e4, (tau_0_p+np.sqrt(vartau_0_p))*1e4, color=\"powderblue\", alpha=0.7)\n", - "ax1.text(0.85 , 0.88, r'$1-1$', transform=ax1.transAxes,\n", - " bbox=dict(facecolor='white', edgecolor='black', boxstyle='round', pad=0.5))\n", - "ax1.axhline(0,ls='dashed',lw=1.5, color='grey')\n", - "# ax1.axvspan(0,10,color='gray', alpha=0.3)\n", - "# ax1.axvspan(150,200,color='gray', alpha=0.3)\n", - "ax1.set_xscale('log')\n", - "ax1.set_xlabel(r'$\\theta$ [arcmin]')\n", - "ax1.set_ylabel(r'$\\tau_{0,+}\\times 10^4$')\n", - "# plt.savefig('plots/tau0_%s.pdf' %ver,bbox_inches='tight')\n", - "plt.show()\n", - "\n", - "# Plot the xi_minus\n", - "ax2 = plt.subplot(111)\n", - "ax2.tick_params(axis='both', which='both', direction='in', length=6, width=1,\n", - " top=True, bottom=True, left=True, right=True)\n", - "ax2.yaxis.minorticks_on()\n", - "\n", - "# ax2.errorbar(theta, tau_2_p*1e4, yerr=np.sqrt(vartau_2_p)*1e4, \n", - "# fmt='o', markersize=6, capsize=2, capthick=1.5, ls = 'solid', lw=1.8,\n", - "# color='orangered')\n", - "ax2.plot(theta, tau_2_p*1e4, marker='o', markersize=4, ls = 'solid', lw=1.8, color=\"orangered\")\n", - "ax2.fill_between(theta, (tau_2_p-np.sqrt(vartau_2_p))*1e4, (tau_2_p+np.sqrt(vartau_2_p))*1e4, color=\"pink\", alpha=0.7)\n", - "ax2.text(0.85, 0.88, r'$1-1$', transform=ax2.transAxes,\n", - " bbox=dict(facecolor='white', edgecolor='black', boxstyle='round', pad=0.5))\n", - "ax2.axhline(0,ls='dashed',lw=1.5, color='grey')\n", - "# ax2.axvspan(0,10,color='gray', alpha=0.3)\n", - "# ax2.axvspan(150,200,color='gray', alpha=0.3)\n", - "ax2.set_xscale('log')\n", - "ax2.set_xlabel(r'$\\theta$ [arcmin]')\n", - "ax2.set_ylabel(r'$\\tau_{2,+}\\times 10^4$')\n", - "# plt.savefig('plots/tau2_%s.pdf' %ver,bbox_inches='tight')\n", - "plt.show()\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plot the $\\tau$ covariance matrix" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "tau_covmat_file = f\"{cosmoval_data_dir}/rho_tau_stats/cov_tau_{ver}_th.npy\"\n", - "print(f\"Reading tau covmat from {tau_covmat_file}\")\n", - "tau_cov = np.load(tau_covmat_file)\n", - "ndata = len(tau_cov[0])\n", - "tau_cov = tau_cov[:int(2*ndata/3),:int(2*ndata/3)]\n", - "cmap = 'coolwarm'" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "ndata = len(tau_cov[0])\n", - "pp_norm = np.zeros((ndata,ndata))\n", - "for i in range(ndata):\n", - " for j in range(ndata):\n", - " pp_norm[i][j] = tau_cov[i][j]/ np.sqrt(tau_cov[i][i]*tau_cov[j][j])\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.add_subplot(1, 1, 1) \n", - "extent = (0, ndata, ndata, 0)\n", - "im3 = ax.imshow(pp_norm, cmap=cmap, vmin=-1, vmax=1, extent=extent)\n", - "\n", - "plt.axvline(x=int(ndata/2),color='black',linewidth=1.0)\n", - "plt.axhline(y=int(ndata/2),color='black',linewidth=1.0)\n", - "\n", - "fig.colorbar(im3, orientation='vertical')\n", - "ticks = np.arange(0,ndata+10,10)\n", - "tick_labels = np.array([0,10,0,10,20])\n", - "ax.set_xticks(ticks,labels= tick_labels)\n", - "ax.set_yticks(ticks,labels= tick_labels)\n", - "ax.text(int(ndata/4), ndata+5, r'$\\tau_{0,+}(\\theta)$')\n", - "ax.text(3*int(ndata/4), ndata+5, r'$\\tau_{2,+}(\\theta)$')\n", - "ax.text(-11, int(ndata/4), r'$\\tau_{0,+}(\\theta)$')\n", - "ax.text(-11, 3*int(ndata/4), r'$\\tau_{2,+}(\\theta)$')\n", - "\n", - "# plt.savefig(\"plots/tau_covmat.pdf\", bbox_inches='tight')\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "sp-validation", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/.gitignore b/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/.gitignore deleted file mode 100644 index d7bb7cd2..00000000 --- a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -results/* -plots/* -.snakemake/* \ No newline at end of file diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2025_10_13_plot_data_vectors.py b/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2025_10_13_plot_data_vectors.py deleted file mode 100644 index e69de29b..00000000 diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2025_10_28_plot_whisker_config_space.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2025_10_28_plot_whisker_config_space.ipynb deleted file mode 100644 index 669ae7f2..00000000 --- a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2025_10_28_plot_whisker_config_space.ipynb +++ /dev/null @@ -1,490 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 8, - "id": "889d7da8", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "['SP_v1.4.6_leak_corr_A_10_80', 'SP_v1.4.6_leak_corr_B_10_80', 'SP_v1.4.6_leak_corr_C_10_80', 'SP_v1.4.6_leak_corr_A_fid_cell', 'SP_v1.4.6_leak_corr_A_4_80', 'SP_v1.4.6_leak_corr_A_5_80', 'SP_v1.4.6_leak_corr_A_7_80', 'SP_v1.4.6_leak_corr_A_11_80', 'SP_v1.4.6_leak_corr_A_10_80_no_bar', 'SP_v1.4.6_leak_corr_A_10_80_halofit', 'SP_v1.4.6_no_leak_corr_A_10_80']\n" - ] - } - ], - "source": [ - "from getdist import plots, loadMCSamples\n", - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "import seaborn as sns\n", - "\n", - "plt.style.use(\n", - " \"/home/guerrini/matplotlib_config/paper.mplstyle\"\n", - ")\n", - "\n", - "plt.rc('text', usetex=True)\n", - "\n", - "sns.set_palette(\"husl\")\n", - "\n", - "g = plots.get_subplot_plotter(width_inch=30)\n", - "g.settings.axes_fontsize=60\n", - "g.settings.axes_labelsize=60\n", - "g.settings.alpha_filled_add = 0.7\n", - "g.settings.legend_fontsize = 60\n", - "\n", - "%matplotlib inline\n", - "\n", - "#SPECIFY DATA DIRECTORY AND DESIRED CHAINS TO ANALYSE\n", - "root_dir = \"/n09data/guerrini/output_chains/\"\n", - "\n", - "roots = [\n", - " \"SP_v1.4.6_leak_corr_A_10_80\",\n", - " \"SP_v1.4.6_leak_corr_B_10_80\",\n", - " \"SP_v1.4.6_leak_corr_C_10_80\",\n", - " \"SP_v1.4.6_leak_corr_A_fid_cell\",\n", - " \"SP_v1.4.6_leak_corr_A_4_80\",\n", - " \"SP_v1.4.6_leak_corr_A_5_80\",\n", - " \"SP_v1.4.6_leak_corr_A_7_80\",\n", - " \"SP_v1.4.6_leak_corr_A_11_80\",\n", - " \"SP_v1.4.6_leak_corr_A_10_80_no_bar\",\n", - " \"SP_v1.4.6_leak_corr_A_10_80_halofit\",\n", - " \"SP_v1.4.6_no_leak_corr_A_10_80\"\n", - "]\n", - "\n", - "legend_labels = [\n", - " r\"UNIONS $\\xi_\\pm(\\vartheta)$, Blind A\",\n", - " r\"UNIONS $\\xi_\\pm(\\vartheta)$, Blind B\",\n", - " r\"UNIONS $\\xi_\\pm(\\vartheta)$, Blind C\",\n", - " r\"UNIONS $C_\\ell$, Blind A\",\n", - " r\"$\\vartheta \\in [4',80']$\",\n", - " r\"$\\vartheta \\in [5',80']$\",\n", - " r\"$\\vartheta \\in [7',80']$\",\n", - " r\"$\\vartheta \\in [11',80']$\",\n", - " r\"No baryons\",\n", - " r\"Halofit\",\n", - " r\"No leakage correction\"\n", - "]\n", - "\n", - "colours = [\n", - " \"darkorange\",\n", - " \"crimson\",\n", - " \"forestgreen\",\n", - " \"royalblue\",\n", - " \"darkorange\",\n", - " \"darkorange\",\n", - " \"darkorange\",\n", - " \"darkorange\",\n", - " \"darkorange\",\n", - " \"darkorange\",\n", - " \"darkorange\"\n", - "]\n", - "\n", - "print(roots)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "694ae47f", - "metadata": {}, - "outputs": [], - "source": [ - "# MAKE PARAMNAMES FILE\n", - "\n", - "for root in roots:\n", - " with open(root_dir + '{}/samples_{}.txt'.format('/'+root ,root), \"r\") as file:\n", - " params = file.readline()[1:].split('\\t')[:-4]\n", - " file.close()\n", - " \n", - " with open(root_dir + '{}/getdist_{}.paramnames'.format('/'+root, root), \"w\") as file:\n", - " for i in range(len(params)):\n", - " if len(params[i].split('--')) > 1:\n", - " file.write(params[i].split('--')[1] + '\\n')\n", - " else:\n", - " file.write(params[i].split('--')[0] + '\\n')\n", - " file.close()" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "45061659", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1618\n", - "/n09data/guerrini/output_chains/SP_v1.4.6_leak_corr_A_10_80/getdist_SP_v1.4.6_leak_corr_A_10_80.txt\n", - "Removed no burn in\n", - "1612\n", - "/n09data/guerrini/output_chains/SP_v1.4.6_leak_corr_B_10_80/getdist_SP_v1.4.6_leak_corr_B_10_80.txt\n", - "Removed no burn in\n", - "1608\n", - "/n09data/guerrini/output_chains/SP_v1.4.6_leak_corr_C_10_80/getdist_SP_v1.4.6_leak_corr_C_10_80.txt\n", - "Removed no burn in\n", - "1728\n", - "/n09data/guerrini/output_chains/SP_v1.4.6_leak_corr_A_fid_cell/getdist_SP_v1.4.6_leak_corr_A_fid_cell.txt\n", - "Removed no burn in\n", - "1931\n", - "/n09data/guerrini/output_chains/SP_v1.4.6_leak_corr_A_4_80/getdist_SP_v1.4.6_leak_corr_A_4_80.txt\n", - "Removed no burn in\n", - "1876\n", - "/n09data/guerrini/output_chains/SP_v1.4.6_leak_corr_A_5_80/getdist_SP_v1.4.6_leak_corr_A_5_80.txt\n", - "Removed no burn in\n", - "1739\n", - "/n09data/guerrini/output_chains/SP_v1.4.6_leak_corr_A_7_80/getdist_SP_v1.4.6_leak_corr_A_7_80.txt\n", - "Removed no burn in\n", - "1579\n", - "/n09data/guerrini/output_chains/SP_v1.4.6_leak_corr_A_11_80/getdist_SP_v1.4.6_leak_corr_A_11_80.txt\n", - "Removed no burn in\n", - "1623\n", - "/n09data/guerrini/output_chains/SP_v1.4.6_leak_corr_A_10_80_no_bar/getdist_SP_v1.4.6_leak_corr_A_10_80_no_bar.txt\n", - "Removed no burn in\n", - "1636\n", - "/n09data/guerrini/output_chains/SP_v1.4.6_leak_corr_A_10_80_halofit/getdist_SP_v1.4.6_leak_corr_A_10_80_halofit.txt\n", - "Removed no burn in\n", - "1590\n", - "/n09data/guerrini/output_chains/SP_v1.4.6_no_leak_corr_A_10_80/getdist_SP_v1.4.6_no_leak_corr_A_10_80.txt\n", - "Removed no burn in\n" - ] - } - ], - "source": [ - "#READ CHAIN\n", - "\n", - "chains=[]\n", - "\n", - "for root in roots:\n", - "\n", - " samples = np.loadtxt(root_dir + '{}/samples_{}.txt'.format(root,root))\n", - " print(len(samples))\n", - " if 'nautilus' in root:\n", - " samples = np.column_stack((np.exp(samples[:,-3]),samples[:,-1]-samples[:,-2],samples[:,0:-3]))\n", - " else:\n", - " samples = np.column_stack((samples[:,-1],samples[:,-3],samples[:,0:-4]))\n", - " np.savetxt(root_dir + '{}/getdist_{}.txt'.format(root,root), samples)\n", - " \n", - " chain = g.samples_for_root(root_dir + '{}/getdist_{}'.format(root,root),\n", - " cache=False,\n", - " settings={'ignore_rows':0,\n", - " 'smooth_scale_2D':0.5,\n", - " 'smooth_scale_1D':0.5})\n", - "\n", - " chains.append(chain)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "e57927c8", - "metadata": {}, - "outputs": [], - "source": [ - "name_list = ['OMEGA_M','ombh2','h0','n_s','SIGMA_8','s_8_input','a','m1','bias_1']\n", - "label_list = ['\\Omega_m', '\\omega_b h^2', 'h_0', 'n_s', '\\sigma_8', 'S_8', 'A_{IA}', 'm_1', '\\Delta z_1']\n", - "\n", - "for chain in chains:\n", - " param_names = chain.getParamNames()\n", - " for name, label in zip(name_list, label_list):\n", - " param_names.parWithName(name).label = label" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "d07b94e2", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[['# Expt' 'Colour' 'S8_Mean' 'S8_low' 'S8_high' 'sigma_8_Mean'\n", - " 'sigma_8_low' 'sigma_8_high' 'Omega_m_Mean' 'Omega_m_low'\n", - " 'Omega_m_high']\n", - " ['UNIONS $\\\\\\\\xi_\\\\\\\\pm(\\\\\\\\vartheta)$, Blind A' 'darkorange'\n", - " '0.7999861371466284' '0.06314803973690342' '0.05893888296160765'\n", - " '0.8621075476611365' '0.23146333595852553' '0.1775369759565658'\n", - " '0.2910399256634304' '0.13493574099977587' '0.07911322665839293']\n", - " ['UNIONS $\\\\\\\\xi_\\\\\\\\pm(\\\\\\\\vartheta)$, Blind B' 'crimson'\n", - " '0.828021240748265' '0.05962669788171815' '0.0689229332138428'\n", - " '0.9043558073678621' '0.23819570559254566' '0.20142194817753034'\n", - " '0.2855648058012865' '0.13776998824251813' '0.07550946033844397']\n", - " ['UNIONS $\\\\\\\\xi_\\\\\\\\pm(\\\\\\\\vartheta)$, Blind C' 'forestgreen'\n", - " '0.7656944786800725' '0.059302825285473704' '0.05571480015963448'\n", - " '0.8171988099453209' '0.22307663383848042' '0.16410095590993268'\n", - " '0.2969725477689531' '0.13842890774341807' '0.08267212562558135']\n", - " ['UNIONS $C_\\\\\\\\ell$, Blind A' 'royalblue' '0.8526580459586517'\n", - " '0.06130449685517725' '0.05980036342696382' '0.9409413763630565'\n", - " '0.22897867819558437' '0.2148772631199174' '0.27651742798133283'\n", - " '0.13143075949837665' '0.07271426428449712']\n", - " [\"$\\\\\\\\vartheta \\\\\\\\in [4',80']$\" 'darkorange' '0.8391383622379155'\n", - " '0.051868763411967334' '0.05902295252492895' '1.0293045987391145'\n", - " '0.15978910919454226' '0.26094446229683244' '0.22533650323796878'\n", - " '0.11077885903081033' '0.04228391897264244']\n", - " [\"$\\\\\\\\vartheta \\\\\\\\in [5',80']$\" 'darkorange' '0.8262197149477798'\n", - " '0.059741339121721415' '0.06326525363850344' '0.98051719928015'\n", - " '0.20096608004101424' '0.27151722638101905' '0.24587071743736716'\n", - " '0.13286800925272613' '0.057698857495527556']\n", - " [\"$\\\\\\\\vartheta \\\\\\\\in [7',80']$\" 'darkorange' '0.8174838817931142'\n", - " '0.06360812305922126' '0.06089305891666941' '0.9206253257714622'\n", - " '0.22958018282339543' '0.23156740229755857' '0.268430749841675'\n", - " '0.1330729887949352' '0.06920520433899596']\n", - " [\"$\\\\\\\\vartheta \\\\\\\\in [11',80']$\" 'darkorange' '0.7946580153616004'\n", - " '0.056697418999712146' '0.058560084849922034' '0.8656353752367024'\n", - " '0.21099726006198594' '0.1742952375973953' '0.2810682053375021'\n", - " '0.12317271689748549' '0.07282205006200493']\n", - " ['No baryons' 'darkorange' '0.7778633583399868' '0.06382266065372233'\n", - " '0.0600880939604872' '0.8255176217158618' '0.24904301122285633'\n", - " '0.16163906061217137' '0.3032199897045411' '0.14311028042067594'\n", - " '0.0910072307908466']\n", - " ['Halofit' 'darkorange' '0.7768797670850353' '0.0570505296366518'\n", - " '0.05779156691792786' '0.8570456491362484' '0.22966260121484694'\n", - " '0.1838455216750512' '0.2792256063898' '0.13395698046453647'\n", - " '0.08267197218325684']\n", - " ['No leakage correction' 'darkorange' '0.7778032458853116'\n", - " '0.06388565217480069' '0.0715520863135456' '0.7707536767164093'\n", - " '0.24120398709301716' '0.12974820149481003' '0.345394649845583'\n", - " '0.14304007855581574' '0.11009844659489898']]\n" - ] - } - ], - "source": [ - "param_values = np.array([\"# Expt\", \"Colour\", \"S8_Mean\", \"S8_low\", \"S8_high\", \"sigma_8_Mean\", \"sigma_8_low\", \"sigma_8_high\", \"Omega_m_Mean\", \"Omega_m_low\", \"Omega_m_high\"])\n", - "escaped = np.char.replace(legend_labels, '\\\\', '\\\\\\\\')\n", - "for i, chain in enumerate(chains):\n", - "\n", - " margestats = chain.getMargeStats()\n", - " likestats = chain.getLikeStats()\n", - "\n", - " s8_stats = margestats.parWithName('S_8')\n", - " sigma8_stats = margestats.parWithName('SIGMA_8')\n", - " omegam_stats = margestats.parWithName('OMEGA_M')\n", - "\n", - " param_values = np.vstack((\n", - " param_values,\n", - " [\n", - " escaped[i],\n", - " colours[i],\n", - " s8_stats.mean,\n", - " s8_stats.mean-s8_stats.limits[0].lower,\n", - " s8_stats.limits[0].upper-s8_stats.mean,\n", - " sigma8_stats.mean,\n", - " sigma8_stats.mean - sigma8_stats.limits[0].lower,\n", - " sigma8_stats.limits[0].upper - sigma8_stats.mean,\n", - " omegam_stats.mean,\n", - " omegam_stats.mean - omegam_stats.limits[0].lower,\n", - " omegam_stats.limits[0].upper - omegam_stats.mean,\n", - " ]\n", - " ))\n", - "print(param_values)\n", - "np.savetxt(f\"{root_dir}/param_values.txt\", param_values, fmt=['%s' for i in range(11)], delimiter=';')" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "cc58ae5a", - "metadata": {}, - "outputs": [], - "source": [ - "# Load the value of the parameters\n", - "cosmo = np.loadtxt(f\"{root_dir}/param_values.txt\",\n", - " dtype={'names': ('Expt', 'colour', 's8_mean', 's8_low', 's8_high', 'sigma8_mean', 'sigma8_low', 'sigma8_high', 'omegam_mean', 'omegam_low', 'omegam_high'),\n", - " 'formats': ('U250', 'U20', 'U20', 'U20', 'U20', 'U20', 'U20', 'U20', 'U20', 'U20', 'U20')}, skiprows=1, delimiter=';')\n", - "expt = np.char.replace(cosmo['Expt'], '\\\\\\\\', '\\\\')\n", - "colours = cosmo['colour']\n", - "s8_mean = cosmo['s8_mean'].astype(np.float64)\n", - "s8_low = cosmo['s8_low'].astype(np.float64)\n", - "s8_high = cosmo['s8_high'].astype(np.float64)\n", - "sigma8_mean = cosmo['sigma8_mean'].astype(np.float64)\n", - "sigma8_low = cosmo['sigma8_low'].astype(np.float64)\n", - "sigma8_high = cosmo['sigma8_high'].astype(np.float64)\n", - "omegam_mean = cosmo['omegam_mean'].astype(np.float64)\n", - "omegam_low = cosmo['omegam_low'].astype(np.float64)\n", - "omegam_high = cosmo['omegam_high'].astype(np.float64)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "d3da35ed", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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A2wiIiIiIiKiGmCATURERERERFQDDLCJiIiIiIiIaoABNhEREREREVENMMAmIiIiIiIiqgEG2EREREREREQ1wACbiIiIiIiIqAYYYBMRERERERHVAANsIiIiIiIiohpggE1ERERERERUAwywiYiIiIiIiGqAATYRERERERFRDTDAJiIiIiIiIqoBBthERERERERENcAAm4iIiIiIiKgGGGATERERERER1QADbCIiIiIiIqIaYIBNREREREREVAMMsImIiIiIiIhqgAE2ERERERERUQ0wwCYiIiIiIiKqAQbYRERERERERDXAAJuIiIiIiIioBhhgExEREREREdUAA2wiIiIiIiKiGmCATURERERERFQDDLCJiIiIiIiIaoABNpUlGwzP6/5ERERERESNTr/YDahG+vQwQg89idBDT0Hb5IT9uj+C+y8/A53LAQAY/+sfIvLkizC9+zy0/M3noXU5VPt3v/oz1fF8d92P0ENPKfsDQOTJF1XHd976MRjWrlSekw2GEfjRIzC9+zzkAlNBpfPW62ds62znNl28AQDgv/enAACdy4FsMAz7dVci8vRLaLrjlrKuUeSpl2C//sqy9i3Fd9f9aPn2F4o+Ftt/CLlgGMnXj6n2CT30FJy3Xq/8LCohX6vAvY9Cv3alci1z/hDSp4dhes95qtefPHIcY3+1E7lQpOC61oL8Pur4l+/CuuXSqttLRERERERLU0MH2Ia1K9Hy7S8gtv8QzO8+ryAIbLvnq9C67KrtLd/+ArRNTgR+9EhB4Cj/P3+b6eINJY+fPHIcvu8+gI5/uUsVSEaeegnDN3wZK/f+Y0FbKzn3+F//EM5br1eCbQAY/fO/Kfv6pE8Pw/+jRxDffwgA4L7jFtXNgXJIgfLHij6WPHIcAGC//krkAmFVMN90xy0zBuYzka9VsrcPpo3rC4LToQ/dhszpYbTd81UA0s+o5dtfwPhXfqjaz3fX/UifHsaKf/1uxW3I13bPV5F4/VjN2ktEREREREvTkhgirmtylnzMsHZV4f4uBzr+5bsI3Pso0qeHZ9+/xPGH//R/wX3HLQVZWvv1V8LQvRLjf/3DgudUcu7Iky+qgmsAaPvHO4u2ZbrY/kMYvvHLaP+HO2G7/krYrr+y4uA6fXoYySPHSz4veeS4KqObHlC/HsuW9yL00FMVnbMcrs9+rOC4Ondhptyy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h55CNhhG019+ZsZ5xcnXjqHtH+9Uvo8fOITAjx6B89brS2bh5XbG9x+S5oJPtiPnDyk3M1bv+xfl+ckjx+H77gPITF7jlm9/oext/nt/iuTrx5D1h6B1O2C//kq03fNV+O/9qao8l3Hjevh/9Ai0LkfBYmWVtpdovujanGj6wh9D11Y/oyXsV18M+9UXL3YzKqLraEHTV/8f6DpaFrspVIF6fP/Xm0bsj7XEvl0dXr/yNEo/42fm/NEIIcTsuy2eUCgEl8uFYDAIp5NvgHL47/0pJu56AMaN6+H67MdKZk5nWuRMfty0cUNVq1+P/vnfFKyQLgedXPCLlj0OrZubeR4iXi9q9fuvoX+Pso8sb0ukry/pvsw+urQskT43Hyrpf0tiiDipNd1xC9a+/UvYP/5B+O66HwPv/dScjxN9au41rEMPPQXnZz9WsD3Ze5zBNRERERERLTlLZog4qelcDjTdcQua7rhFCbDTp4cReXoqYI5Pm99tv+7KgsDXeev1JRdym0k2GEY2GIazSPZbLolFRERERES0lDDAXqLkMl8AlGHghrUrVUPCyylJZrp4A9IDwzOWBSsm+uRLRY+fnlbii4iIiIiIaKlggL1E6VyOirPOpczlOKXmfXNoOBERERERLVWcg01ERERERERUAwywiYiIiIiIiGqAATYRERERERFRDTDAJiIiIiIiIqoBBthERERERERENcAAm4iIiIiIiKgGGGATERERERER1QADbCIiIiIiIqIaYIBNREREREREVAMMsImIiIiIiIhqgAE2ERERERERUQ0wwCYiIiIiIiKqAQbYRERERERERDXAAJuIiIiIiIioBhhgExEREREREdUAA2wiIiIiIiKiGmCATURERERERFQDDLCJiIiIiIiIaoABNhEREREREVENMMAmIiIiIiIiqgEG2EREREREREQ1wACbiIiIiIiIqAYYYBMRERERERHVAANsIiIiIiIiohpggE1ERERERERUAwywiYiIiIiIiGqAATYRERERERFRDTDAJiIiIiIiIqoBBthERERERERENcAAm4iIiIiIiKgGGGBTWUKJ0LzuT0RERERE1Oj0i92AagwGBvHYkcfweO/jcJvd+PD6D+ML7/sCnGYnAOCbv/omfnn8l7hoxUW4c/OdcJqcqv1fuv0l1fF27N+Bx3sfV/YHgGePPas6/s0X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HnvsMX1dh8MhP/7xj0VE5MMPPxQA0tPTIyIie/bskfvvv19ft6amRl5++WUREfn4448FgLS3t4uIyHe/+13ZuHGjvm5jY6O88MILIiJy6tQpASCnTp0SEZEXXnhBGhsb9XU3btwo3/3ud0VEpL29XQDIxx9/LCIiL7/8stTU1Ojr3n///bJnzx4REenp6REA8uGHH4qIyI9//GNxOBz6uo899ph885vfFBGRkZERASDvvfeeiIgcOnRI0ov4E088IU8++aSIiEQiEQEgb731loiIvPPOOwJAAoGAiIjs3LlTHn/8cX1bk8kkb7zxhoiIvP/++wJABgcHRUTk6aeflocfflhft7y8XF577TURETl27JgAkKtXr4qIyHe+8x2599579XXr6+vlhz/8oYiIfPLJJwJAzp07JyIizz//vLS0tOjrNjc3y/e+9z0RETlz5owAkJMnT4qIyEsvvSTr1q3T1y2ae8Rwv0jnL+Sp39sqWx95QMTdKuJuFavVIq+/vFfE3SofvPXX6h5x5kMRd6s8843fk4fu26SvW+WskAN//p9F3K3y0XtvqHvEv/1vEXerPPfM12TTHbfo665bs1pe+tPdIu5WOfmLv1f3iF/9o4i7Vb733B9I800N+rotzRvk+T/+toi7Vc7980/VPeKD/ynibpUf7vuPUr96lb7uvZtuk+/8wS4Rd6tcPfkzdY94929F3K3y2l/+iZSXlerrPvzA3fL0V39HxN0qg+fU9fH+378m4m6VNw58X90jxtd9/N89JDt/Z6uIu1UCHao8vvPf94v0/ou89d/+n2V/j9DSoj1L5quon6MsI/MrI+5Weev1H6gy0vWJiLtVnnziS/LE1of1bW02m/ztgRel58wx+fu/fUWcTqf0t/1SxN0q3/z9fy+PfXGLvq6jxC4/3v+8iLtVPvzHv1FlxPVzEXer7Pn2k3L/3Rv1dWuqnfKjP/tPMnbphPzv//dvpKWlRX71//1ELn76c/nT//QHsrGlSV+3sWGNvPAnfyjibpVTv3xblZFfvi3ibpUX/uQPpbGhXqTzFyKxYFE/R7WysCzLciwoO7Y+KDu2q2sr3vt/VFn+65dE3K3y7sH/os798j+LuFvlqf/wOMtyjssyADn02osi7lZ5738cUM+7C/80z7J8u17m+Jk4syxnU44NIoXdAcbn86GyshKffPIJvvjF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UXEoXQN88SX1Wog2fFn9FKKSGmDTbvVKy0+hl41CVMjlNVss3ytLySr+v7O1XMo77/VTZDVN1ze+8Q1Eo9FFGVH85z//OQ4dWmHNlj/ep/pGA1MHNyOi4lC2Bvitv1SvlB1HDXD3s+qVlh+WjZWN5XtlKeH/e8XivX6KrOfB/sEPfoCvfOUrOU3E/v370dLSsiQjlRcUrUl428EbD7JGREREREREBS3rAPvFF19ERUUF9u/fn5MEtLW14bXXXkN7e3tO9ldUtPm62TSciIiIiIio6GUdYANAe3s7jh49mpME7N69G7/+9a9zsi8iIiIiIiKifMl6HmxN+gjgC5Gr/RARERERERHl07xqsImIiIiIiIgoEwNsIiIiIiIiohxggE1ERERERESUAwywiYiIiIiIiHKAATYRERERERFRDjDAJiIiIiIiIsoBBthEREREREREOcAAm4iIiIiIiCgHGGATERERERER5QADbCIiIiIiIqIcYIBNRERERERElAMMsImIiIiIiIhygAE2ERERERERUQ4wwCYiIiIiIiLKAQbYRERERERERDnAAJuIiIiIiIgoBxhgExEREREREeUAA2wiIiIiIiKiHGCATURERERERJQDDLCJiIiIiIiIcoABNhEREREREVEOMMAmIiIiIiIiygEG2EREREREREQ5wACbiIiIiIiIKAcYYBMRERERERHlAANsIiIiIiIiohxggE1ERERERESUAwywiYiIiIiIiHKAATYRERERERFRDjDAJiIiIiIiIsoBc74TsCCeTqDtTaDtIGCvBlp2Ag98H7A7gRP7gK7jwKAL2LwH2PwsULdl9v0NuIBf7gaiHuCPOrJLS8QDnHwFcDartERG1XGJiIiIiIhoRSjuGmxnE/Doq0BlE9C4Tf1ud6r3Hn0VuO1rgM0JbH/zxsE1oNZ59NX5peXt+1QQv3mPCvRP7FNfAKRrOzi/fRMREREREVHBK+4AW2OvnmG5M3f7ms2ASwXyzqaJZTsOZ/4NAAOnst83ERERERERFYXlEWDnW2R0amDeuC3z77aDgLt16dJERERERERES2rlBdgRD3DyAHDpCHDsWVX7PBfaNpeOqN81XcdVP3Bvp1p+8oDa7+tV6j1tna5jmesQ0fIU6Ac++Uv1StMLDQNn3lSvRDMJ9AP/50dAeDTfKaF8CQ8D598Ggryf5h2f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d//AMNrOT1wfFy5dRXevKjfRaAyutnb4/Or6HhgawelzE9fHxSvXcK27bzy/E3C1tcPjVf+boeExuNomyuPlzm50dvVO5HdbO0bH1P9m1OOH67PPVsQ9IleK+jnKMqLyO5syMuaFq619oox09eLK1R59W1dbO4ZHPCq/PT642tonykjXdVzq6NLXPX3uIgaH1PPC51f5HYupZ0B3rxvtlyfyu+38ZbgHVR4GgqGM/O7tG8jI73MXrqDPrZ4toZDKw1BI5Xefewjn2ifWLfbnaC4VXFnu6kPHNfV8FhG42toxMuoBMHFt6WW56zrLMgq4LF+ZWJefiRdQlqXAeb1eASBr1qzRl23atEmee+45ERG5fPmyAJCPPvpIREQOHDggVVVV+roPPfSQPPPMMyIi0tfXJwDkgw8+EBGR119/XaxWq77u1q1b5amnnso47rvvvisiIj/5yU8EgMTjcRER2bFjh+zYsUNEROLxuACQn/zkJyIi8u677woA8Xq9IiLy1FNPydatW/XjWK1Wef3110VE5IMPPhAA0tfXJyIizzzzjDz00EP6ulVVVXLgwAEREfnoo48EgFy+fFlERJ577jnZtGmTvu66devkpZdeEhGRkydPCgA5c+aMiIh873vfk+bmZn3dlpYWef7550VE5Ny5cwJAPvnkExER+eEPfyj19fX6uvfee6985zvfERGRq1evCgA5duyYiIi89tprUl5erq/78MMPy9NPPy0iIoODgwJA3n//fREReeONN8RkMunrPv7447Jz504REQkEAgJA3nnnHREReeuttwSARCIRERF58skn5YknntC3BSCHDh0SEZH33ntPAMjIyIiIiHzzm9+Uxx57TF/X4XDIj3/8YxER+fDDDwWA9PT0iIjInj175P7779fXrampkZdffllERD7++GMBIO3t7SIi8t3vflc2btyor9vY2CgvvPCCiIicOnVKAMipU6dEROSFF16QxsZGfd2NGzfKd7/7XRERaW9vFwDy8ccfi4jIyy+/LDU1Nfq6999/v+zZs0dERHp6egSAfPjhhyIi8uMf/1gcDoe+7mOPPSbf/OY3RURkZGREAMh7770nIiKHDh2S9CL+xBNPyJNPPikiIpFIRADIW2+9JSIi77zzjgCQQCAgIiI7d+6Uxx9/XN/WZDLJG2+8ISIi77//vgCQwcFBERF5+umn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RJQX8xrk7Ac/+AG+8pWvoK+vL2cJ2b9/P1paWnIzgvhyptVcnzww0QdZG118PoOOERERERERUU7MK8B+8cUX8fbbb2P//v36AGYL0dbWhtdeew1jY5w6Yk4at914bmsiIiIiIiJaUlk3Ede0t7fPOmBZNnbv3o1f//rXOdkXERERERERUT7MqwZbM3mk8Hzvh4iIiIiIiChf5l2DTUREREREREQTGGATERERERER5QADbCIiIiIiIqIcYIBNRERERERElAMMsImIiIiIiIhygAE2ERERERERUQ4wwCYiIiIiIiLKAQbYRERERERERDnAAJuIiIiIiIgoBxhgExEREREREeUAA2wiIiIiIiKiHGCATURERERERJQDDLCJiIiIiIiIcsCc7wTciIgAAHw+X55TQkSUY/EQ4A8CpjhgsuU7NcUjGQWSMcDnAyyJfKdm0WjPPe05OF9F/RxlGVnZlklZX9ZlmWV0eVkmZW4xZFOOCz7A9vv9AID169fnOSVERERLz+/3o7Kyct7bj4yMAOBzlCjfWJaJit9cynHBB9hr165FT08PysvLYTAY8p2cDD6fD+vXr0dPTw8qKirynZwlx/Pn+fP8V+75A8yDxT5/EYHf78fatWsXtJ/q6moAQHd394I+3BejlXqNrtTzBgrz3FmWZ1eI/7NcWK7nBSzfc5vtvLIpxwUfYBuNRjQ0NOQ7GbOqqKhYVhdXtnj+PH+e/8o9f4B5sJjnn4sP0UajUd/XSv0/rdRrdKWeN1B4586yfGOF9j/LleV6XsDyPbeZzmuu5ZiDnBERERERERHlAANsIiIiIiIiohxggL0ANpsNL730Emy2lTlqIs+f58/zX7nnDzAPiuX8iyWdi2GlnvtKPW9geZ/7cj03nlfxWa7nlqvzMshC5wwgIiIiIiIiItZgExEREREREeUCA2wiIiIiIiKiHGCATURERERERJQDDLCJiIiIiIiIcoABNhEREREREVEOMMAmIiIiIiIiygEG2EREREREREQ5wACbiIiIiIiIKAfM+U4AERWWzs5OvPnmmxnLvv/97+Pdd9/Ftm3b0NTUlKeUERERERUej8eDV155BatWrYLT6QQAdHR0oLm5GXv27Mlv4mjJGURE8p0IIioMx48fx+HDh6cE2Lt27YLL5UJHR0eeUkZERERUeA4ePIh9+/bhn/7pn7Bly5aM9/bt24cjR47g1KlTeuBNyx8DbCICoL593bp1K06dOjXlvSNHjuDYsWNTAm8iIiKiler48ePYvn07Dh8+jJ07d067zn333QcA036+ouWJfbCJCADw7rvv4v7775/2vaamJmzfvn2JU0RERERUuF599VUAmDG4BoCvfe1rcLlcOH78+FIli/KMATYRAVB9hWa6+Tc1Nc368CAiotw4fvw47rvvPhgMhik/Bw4cyHfyiChNa2vrDcem0ZqNHzt2bCmSRAWAATYRAQCeffZZdHZ2wmAw4Nlnn80IttlviIho8R05cgT79u3DoUOHMDY2hr1796KpqQkiAhHB3r17851EIkpTXV2Nzs7OWdfR3m9ubl6KJFEBYIBNRABULfXY2Bj27Nmj9ylijQkR0dLo7OzE7t27cfjwYWzZsgVOpxOvvvoqOjs7b/gBnojyQ2vdN1sZ1QaI/epXv7okaaL84yBnRDStzs5OvPrqqzh48CA6Ojr0JlCdnZ167XZHRwe+9rWvTRk1k4iIsrN9+3Zs3759Si21wWDAqVOnMu6zvA8TFY6qqip8//vfn7GFSXNzM7Zt28aBYlcQBthEhM7Ozhn7EDU3N+PVV1/Vv6Xdt2+fPqgHoKbwOnz48JKkk4houTIYDBlfZgJqdoeqqipM/qjG+zBR4Thy5AheeeWVaUcJd7lc2Lp1K8bGxvKQMsoXNhEnWuHSa0Jmkl4zcuTIETZXJCLKIZfLBQBTvuh89913p62Z5n2YqHDs3Llzxr7Yb775Jg4dOpSHVFE+mfOdACLKr+PHj+v9gyZzuVxoamrK+ND37LPPorm5GXv37sWqVasyalGIiCh7Tqdz2sEk33zzzWnvsbwPExWGI0eOYOfOnXjzzTenLa+jo6N6C8CDBw9iz5498Hg8evc7bYDZ0dFReDwebNu2TR93gTO4FC8G2EQr3LFjx+DxeKY0E+/s7MS+ffumNDvcu3cvOjo6cOTIEQDAtm3bljS9RETLjfZFpsfj0QPtffv2Ydu2bdPeY3kfJioMx44dw5YtW1BdXT3lPY/Hgy984QtTBio8fvw49u7di+bmZtx3333Ys2cPgInxFnbu3AmXy4V9+/YxwC5SDLCJVrjq6mocPnwYBw4cQEdHh/7hbtWqVVPmbPR4PPootwBw4MAB3HfffRgbG+NUXkREC3D48GG88soraG5u1j+YT/fhmvdhosIxOjqqT7/V1NSUUYPd2tqKffv2Yd++fQCg99HeuXMnPB4PAOjBtcvlwrZt2/QuIa2trRy4sIhxkDMimrMjR45gdHRUfyAAqqnirl27WINCRLQEeB8mKn5HjhzBsWPH9JHFtSlRtZHIt2/frrdioeLDQc6IaM6ampqm9Nd2Op24//7785QiIqKVhfdhouJ37NgxbN++PePv9GC6tbUV27Ztw8GDB/ORPFog1mATUVa00WudTqc+IAebMRERLR3eh4mK2/bt23H48GG9W8d9992XMc3Xrl27sH37dnz1q19l148ixACbiIiIiIiIKAfYRJyIiIiIiIgoBxhgExEREREREeUAA2wiIiIiIiKiHGCATURERERERJQDDLCJiIiIiIiIcoABNhEREREREVEOMMAmIiIiIiIiygEG2EREREREREQ5wACbiIiIiIiIKAcYYBMRERERERHlwP8PmHwzD5QcV8oAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "from matplotlib.gridspec import GridSpec\n", - "\n", - "fig = plt.figure(figsize=(10, 6))\n", - "gs = GridSpec(1, 3, width_ratios=[1, 0.5, 0.5])\n", - "ax1 = fig.add_subplot(gs[0])\n", - "ax2 = fig.add_subplot(gs[1], sharey=ax1)\n", - "ax3 = fig.add_subplot(gs[2], sharey=ax1)\n", - "\n", - "axs = [ax1, ax2, ax3]\n", - "\n", - "params = [\n", - " (s8_mean, s8_low, s8_high, r\"$S_8$\"),\n", - " (sigma8_mean, sigma8_low, sigma8_high, r\"$\\sigma_8$\"),\n", - " (omegam_mean, omegam_low, omegam_high, r\"$\\Omega_m$\"),\n", - "]\n", - "reference = r\"UNIONS $\\xi_\\pm(\\vartheta)$, Blind A\"\n", - "\n", - "separation_after = [\n", - " r\"UNIONS $C_\\ell$, Blind A\",\n", - " r\"$\\vartheta \\in [11',80']$\",\n", - " r\"Halofit\"\n", - "]\n", - "list_section_index = [\n", - " r\"(ii)\",\n", - " r\"(iii)\",\n", - " r\"(iv)\",\n", - " r\"(v)\",\n", - " r\"(vi)\",\n", - " r\"(vii)\"\n", - "]\n", - "\n", - "preliminary_watermark = True\n", - "blind_axes = True\n", - "row_spacing = 0.1\n", - "\n", - "index_ref = np.where(expt == reference)[0][0]\n", - "\n", - "y = np.arange(len(expt))\n", - "for ax, param in zip(axs, params):\n", - " means, lows, highs, label = param\n", - " for i, mean, low, high, color in zip(y, means, lows, highs, colours):\n", - " ax.errorbar(mean, 0.05+i*row_spacing, xerr=np.array([low, high])[:, None], fmt='o', color=color, ecolor=color, elinewidth=2, capsize=3)\n", - " ax.set_xlabel(label, fontsize=14)\n", - " \n", - " ax.grid(False)\n", - " ax.tick_params(axis='y', left=False, labelleft=False)\n", - " if label == r\"$S_8$\":\n", - " ax.axvspan(s8_mean[index_ref] - s8_low[index_ref], s8_mean[index_ref] + s8_high[index_ref], color=colours[index_ref], alpha=0.2)\n", - " ax.set_xlim(0.25, 0.95)\n", - " if blind_axes:\n", - " ref_tick = np.mean(s8_mean[:4])\n", - " ax.set_xticks(\n", - " [ref_tick + i*0.1 for i in range(-5, 2)], labels=[]\n", - " )\n", - " elif label == r\"$\\sigma_8$\":\n", - " ax.axvspan(sigma8_mean[index_ref] - sigma8_low[index_ref], sigma8_mean[index_ref] + sigma8_high[index_ref], color=colours[index_ref], alpha=0.2)\n", - " ax.set_xlim(0.5, 1.2)\n", - " if blind_axes:\n", - " ref_tick = np.mean(sigma8_mean[:4])\n", - " ax.set_xticks(\n", - " [ref_tick + i*0.2 for i in range(-2, 2)], labels=[]\n", - " )\n", - " elif label == r\"$\\Omega_m$\":\n", - " ax.axvspan(omegam_mean[index_ref] - omegam_low[index_ref], omegam_mean[index_ref] + omegam_high[index_ref], color=colours[index_ref], alpha=0.2)\n", - " ax.set_xlim(0.1, 0.5)\n", - " if blind_axes:\n", - " ref_tick = np.mean(omegam_mean[:4])\n", - " ax.set_xticks(\n", - " [ref_tick + i*0.1 for i in range(-2, 3)], labels=[]\n", - " )\n", - "\n", - "\n", - "axs[0].set_yticks(0.05+y*row_spacing)\n", - "axs[0].set_yticklabels([])\n", - "for label, color in zip(expt, colours):\n", - " axs[0].text(0.26, 0.05 + row_spacing * np.where(expt == label)[0][0], label, fontsize=12, ha='left', va='center', color=color)\n", - "# Add separation lines\n", - "for i, sep in enumerate(separation_after):\n", - " index_sep = np.where(expt == sep)[0][0]\n", - " for ax in axs:\n", - " ax.axhline(row_spacing * (index_sep + 1), color='black', linestyle='dotted', linewidth=1)\n", - " axs[0].text(0.25, 0.05 + row_spacing * (index_sep + 1), \n", - " list_section_index[i], fontsize=14, fontweight='bold', va='center', ha='right')\n", - "\n", - "\n", - "# --- Add section labels (i), (ii)) ---\n", - "axs[0].text(0.25, 0.05, \n", - " r\"(i)\", fontsize=14, fontweight='bold', va='center', ha='right')\n", - "\n", - "if preliminary_watermark:\n", - " plt.figtext(0.5, 0.5, 'PRELIMINARY',\n", - " fontsize=50, color='gray',\n", - " ha='center', va='center',\n", - " alpha=0.3, rotation=330)\n", - "\n", - "plt.gca().invert_yaxis()\n", - "\n", - "plt.tight_layout()\n", - "\n", - "plt.savefig(\"./plots/whisker_plot_config_space.png\", dpi=300)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 213, - "id": "a172104f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['royalblue',\n", - " 'crimson',\n", - " 'forestgreen',\n", - " 'royalblue',\n", - " 'royalblue',\n", - " 'royalblue',\n", - " 'royalblue']" - ] - }, - "execution_count": 213, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "list(colours)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6fe01467", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "sp_validation_3.11", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.0" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2025_12_10_plot_covariance.py b/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2025_12_10_plot_covariance.py deleted file mode 100644 index 08037537..00000000 --- a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2025_12_10_plot_covariance.py +++ /dev/null @@ -1,63 +0,0 @@ -# %% -import IPython - -ipython = IPython.get_ipython() - -import os -import numpy as np -from astropy.io import fits -import matplotlib.pyplot as plt -import matplotlib.ticker as mticker -import seaborn as sns -from getdist import plots, MCSamples - -plt.style.use( - "./matplotlib_config/paper.mplstyle" -) - -plt.rcParams["text.usetex"] = True - -sns.set_palette("husl") - -#Matplotlib inline if in jupyter -if ipython is not None: - ipython.run_line_magic("matplotlib", "inline") - -# %% -cosmosis_dv = fits.open( - "/home/guerrini/sp_validation/cosmo_inference/data/SP_v1.4.6_leak_corr_A_10_80/cosmosis_SP_v1.4.6_leak_corr_A_10_80.fits" -) - -cov_matrix = cosmosis_dv["COVMAT"].data -# %% -def cov_to_corr(cov): - """Convert covariance matrix to correlation matrix.""" - diag = np.sqrt(np.diag(cov)) - corr = cov / np.outer(diag, diag) - return corr - -# %% -labels_cov = [ - r"$\xi_+(\theta)$", - r"$\xi_-(\theta)$", - r"$\tau_0(\theta)$", - r"$\tau_2(\theta)$", -] -# %% -plt.figure() - -plt.imshow(cov_to_corr(cov_matrix), vmin=-1, vmax=1, cmap="coolwarm") -plt.colorbar(label="Correlation coefficient") - -plt.xticks( - ticks=[10, 30, 50, 70], - labels=labels_cov, -) -plt.yticks( - ticks=[10, 30, 50, 70], - labels=labels_cov, -) - -plt.savefig("./plots/cov_matrix_SP_v1.4.6_leak_corr.pdf") -plt.show() -# %% diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2025_12_10_plot_leakage_prior.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2025_12_10_plot_leakage_prior.ipynb deleted file mode 100644 index 67e72292..00000000 --- a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2025_12_10_plot_leakage_prior.ipynb +++ /dev/null @@ -1,464 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 5, - "id": "ee91f375", - "metadata": {}, - "outputs": [], - "source": [ - "import os\n", - "\n", - "# Trick to plot with tex on candide\n", - "os.environ[\"LD_LIBRARY_PATH\"] = \"\"\n", - "os.environ[\"CONDA_PREFIX\"] = \"/home/guerrini/.conda/envs/sp_validation_3.11\"\n", - "\n", - "import numpy as np\n", - "from astropy.io import fits\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.ticker as mticker\n", - "\n", - "import seaborn as sns\n", - "from getdist import plots, MCSamples\n", - "\n", - "from shear_psf_leakage.rho_tau_stat import RhoStat, TauStat, PSFErrorFit\n", - "\n", - "plt.style.use(\n", - " \"./matplotlib_config/paper.mplstyle\"\n", - ")\n", - "\n", - "plt.rcParams[\"text.usetex\"] = True\n", - "\n", - "sns.set_palette(\"husl\")\n", - "\n", - "%matplotlib inline\n", - "\n", - "g = plots.get_subplot_plotter()\n", - "\n", - "g.settings.legend_fontsize = 10\n", - "g.settings.axes_fontsize=10\n", - "\n", - "def cov_to_corr(cov):\n", - " \"\"\"Convert a covariance matrix to a correlation matrix.\"\"\"\n", - " d = np.sqrt(np.diag(cov))\n", - " corr = cov / np.outer(d, d)\n", - " corr[cov == 0] = 0\n", - " return corr" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "90e5396a", - "metadata": {}, - "outputs": [], - "source": [ - "data_path = \"/home/guerrini/sp_validation/cosmo_inference/data/\"\n", - "\n", - "path_cosmo_val = \"/home/guerrini/sp_validation/notebooks/cosmo_val/output/\"\n", - "\n", - "versions = [\"SP_v1.4.6\", \"SP_v1.4.6_leak_corr\"]\n", - "roots = [\n", - " \"SP_v1.4.6_no_leak_corr_A_masked\",\n", - " \"SP_v1.4.6_leak_corr_A_masked\"\n", - "] #Root name of the cosmosis data vector used\n", - "labels = [\"No leakage correction\", \"With leakage correction\"]\n", - "colors = [\"C0\", \"C1\"]" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "866113d1", - "metadata": {}, - "outputs": [], - "source": [ - "data_vectors = []\n", - "\n", - "for root in roots:\n", - " data_vectors.append(\n", - " fits.open(data_path + root +f\"/cosmosis_{root}.fits\")\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "ebbc442d", - "metadata": {}, - "outputs": [], - "source": [ - "#Create dummy rho and tau stat handler.\n", - "\n", - "#Inference of the xi_sys parameters\n", - "sep_units = 'arcmin'\n", - "coord_units = 'degrees'\n", - "theta_min = 1.0\n", - "theta_max = 250\n", - "nbins = 20\n", - "\n", - "\n", - "TreeCorrConfig_xi = {\n", - " 'ra_units': coord_units,\n", - " 'dec_units': coord_units,\n", - " 'min_sep': theta_min,\n", - " 'max_sep': theta_max,\n", - " 'sep_units': sep_units,\n", - " 'nbins': nbins,\n", - " 'var_method':'jackknife',\n", - "}\n", - "\n", - "rho_stats_handler = RhoStat(\n", - " output='.',\n", - " treecorr_config=TreeCorrConfig_xi,\n", - " verbose=True\n", - ")\n", - "\n", - "tau_stats_handler = TauStat(\n", - " catalogs=rho_stats_handler.catalogs,\n", - " output='.',\n", - " treecorr_config=TreeCorrConfig_xi,\n", - " verbose=True\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "8f0a3808", - "metadata": {}, - "outputs": [], - "source": [ - "#Write a function to load the covariance and cut it to only use alpha and beta\n", - "def load_matrix_and_cut(root, root_cosmo_val, type='rho'):\n", - " if type=='rho':\n", - " cov = np.load(f\"{root}/cov_rho_{root_cosmo_val}.npy\")\n", - " nbins = cov.shape[0] // 6\n", - " cov = cov[:nbins*3, :nbins*3]\n", - " np.save(f\"{root}/cov_rho_{root_cosmo_val}_cut.npy\", cov)\n", - " elif type=='tau':\n", - " cov = np.load(f\"{root}/cov_tau_{root_cosmo_val}_th.npy\")\n", - " nbins = cov.shape[0] // 3\n", - " cov = cov[:nbins*2, :nbins*2]\n", - " np.save(f\"{root}/cov_tau_{root_cosmo_val}_th_cut.npy\", cov)\n", - " else:\n", - " raise ValueError(\"type must be 'rho' or 'tau'\")" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "4b203d60", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Class created. Don't forget to load your rho and tau statistics and define your prior and your likelihood.\n", - "Sampling PSF parameters for No leakage correction\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|██████████| 10000/10000 [00:35<00:00, 284.72it/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Number of samples: 10000\n", - "\n", - "Parameters constraints\n", - "----------------------\n", - "Parameter: $\\alpha$=0.0222^+0.0026_0.0026\n", - "Parameter: $\\beta$=0.7703^+0.1131_0.1144\n", - "Chi square: 72.57480636040468\n", - "Removed no burn in\n", - "Sampling PSF parameters for With leakage correction\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|██████████| 10000/10000 [00:33<00:00, 298.71it/s]" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Number of samples: 10000\n", - "\n", - "Parameters constraints\n", - "----------------------\n", - "Parameter: $\\alpha$=0.0050^+0.0021_0.0021\n", - "Parameter: $\\beta$=0.8063^+0.1082_0.1144\n", - "Chi square: 70.17303691323765\n", - "Removed no burn in\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], - "source": [ - "#Create a PSFErrorFit instance\n", - "psf_fitter = PSFErrorFit(rho_stats_handler, tau_stats_handler, path_cosmo_val+'rho_tau_stats/', use_eta=False)\n", - "\n", - "chains = []\n", - "\n", - "#Load rho-, tau-statistics, and cov_tau from the data_vector\n", - "for i, root_cosmo_val in enumerate(versions):\n", - " print(\"Sampling PSF parameters for \", labels[i])\n", - " path_rho = f\"rho_stats_{root_cosmo_val}.fits\"\n", - " path_tau = f\"tau_stats_{root_cosmo_val}.fits\"\n", - " path_cov_rho = f\"cov_rho_{root_cosmo_val}.npy\"\n", - " path_cov_tau = f\"cov_tau_{root_cosmo_val}_th.npy\"\n", - "\n", - " load_matrix_and_cut(path_cosmo_val+'/rho_tau_stats/', root_cosmo_val, type='rho')\n", - " load_matrix_and_cut(path_cosmo_val+'/rho_tau_stats/', root_cosmo_val, type='tau')\n", - " path_cov_rho = f\"cov_rho_{root_cosmo_val}_cut.npy\"\n", - " path_cov_tau = f\"cov_tau_{root_cosmo_val}_th_cut.npy\"\n", - "\n", - " psf_fitter.load_rho_stat(path_rho)\n", - " psf_fitter.load_tau_stat(path_tau)\n", - " psf_fitter.load_covariance(path_cov_rho, cov_type='rho')\n", - " psf_fitter.load_covariance(path_cov_tau, cov_type='tau')\n", - " samples_lq, _, _ = psf_fitter.get_least_squares_params_samples(npatch=None, apply_debias=False)\n", - "\n", - " samples_gd = MCSamples(samples=samples_lq, names=[r\"\\alpha\", r\"\\beta\"], labels=[r\"\\alpha\", r\"\\beta\"])\n", - "\n", - " chains.append(samples_gd)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "0845ac4a", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/guerrini/.conda/envs/sp_validation_3.11/lib/python3.11/site-packages/getdist/plots.py:3347: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.\n", - " self.fig.savefig(fname, bbox_extra_artists=self.extra_artists, bbox_inches='tight', **kwargs)\n", - "/home/guerrini/.conda/envs/sp_validation_3.11/lib/python3.11/site-packages/IPython/core/events.py:82: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.\n", - " func(*args, **kwargs)\n", - "/home/guerrini/.conda/envs/sp_validation_3.11/lib/python3.11/site-packages/IPython/core/pylabtools.py:170: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.\n", - " fig.canvas.print_figure(bytes_io, **kw)\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX8AAAGACAYAAABFgGKrAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAZd5JREFUeJztvXl0G1d+5/u9Vdi4AAT3nZRILRYlLyIl73arbcrd7bbbbZu07KQn20RSJ0omk+mJNHrnvNfd816iSJmkM2fiJKI7++LYou24vcQWKS/yJlsSJcsStRIS9x3ERmKv+/6AARHEDhRQAOp+zuGxUXXr3h8g4Fu3fvd3fz9CKaVgMBgMhqzgpDaAwWAwGJmHiT+DwWDIECb+DAaDIUOY+DMYDIYMYeLPYDAYMoSJP4PBYMgQJv4MBoMhQ5j4MxgMhgxRSG1AKgiCgImJCWi1WhBCpDaHIWMopbBarairqwPHJTan8nq9cLvdabKMITeUSiV4no/ZLqfFf2JiAo2NjVKbwWAEGB0dRUNDQ9ztbTYbxsbGwDbaM8SCEIKGhgYUFxdHbZfT4q/VagH4fnA6nS6ha8+ePYs77rgjDVYx5IjFYkFjY2PgOxkPXq8XY2NjKCwsRGVlJXt6ZaQMpRSzs7MYGxvD2rVroz4B5LT4+38sOp0uYfFftWpVwtcwGLFIRMDdbjcopaisrERBQUEarWLIicrKSty4cQNutzt/xT8VPvnkEzQ1NUltBoMRdMOgCxbQxSVx+i0qBCllExy5Ee8ERLbiz2BkG3TBAueBFwCPV5wOFTzU+3dGvAEYDAbs27cPJpMJfX19AIDe3l4cOHAABw8eRGdnZ8whBgYG0N3djaGhoYRMS/a6XODQoUPYu3dv4HVra2tWvk/ZhnrG88VmMDIJXVwST/gBwOON+hTR0tKCHTt2oL29HYcOHQIAdHV1Yf/+/XH/Ptrb29HS0pKwaclelwu89NJLQa+zUfgBGYv/lStXpDaBwcgKDh48iJdeegkGgyHkXE9PD/r7+9HT0xP2/EoOHTqE3t7ewM1k+bF9+/aFvcZgMKC3txcmkyli23379gWO9/T0wGQyRRxvpf3+6/zXhHtPAwMD6OjoQH9/P7q7u0NeRxprZf/9/f0wmUzo7e2FwWCAwWBAa2tr1M9zYGAAra2t6O/vj/o5iY1sxX9kZERqExiMrOHIkSMBkfPT29uLsrIydHZ2YteuXdi9e3fUPnp6eqDX69HV1YX29nb09vYC8D1hdHV1AQD6+/tDrjt8+DD0ej30en3Ytn6R7OrqgsFgwK5du6DX6yOO52dgYACnT59GV1cXtm7dilOnTkV8T+3t7QCALVu24IUXXgh5HW6scP13dnYG2rW0tAT+on2e7e3t0Ov12LJlC7q6ujAwMBDPP1nKyFb81Wq11CYwGFmD3wW0fNbZ19cHvV4feG00GqP2cfr06cDsF7gpqAaDITAjXo7RaMTu3buxdevWgJspXNuWlhYYDAaYTCaUlZXFHM/PSy+9hI6ODgC+G0dnZ2fM9+S/Ca18HW6scP1HI56xwx1PF7IV/6eeekpqExiMrGLv3r0YGBjAyZMnAQAdHR1xuXr8bN++HYBvPc0vhP7ZeGdnJ1pbW2EymQIz27KyMhw+fBiHDx8OuH4itd2+fTsMBgMOHz4cdbzl+PvwYzKZor6n5TeWla/DjRWu/+WsfBJJ9PNMN7IV/5WLMgyG3BgYGMCBAwfQ09MTOHbkyJHA/+/atSsw2+3p6cELL7wQ0offr93f3x9w1/T29qKnpwdlZWVob2/H0NAQ+vv7odfrA7PfgYEBGAwGDAwMYPfu3eju7oZKpQrb1mQy4ciRIzhw4AC2b98eeDoJN95ydu3ahfn5+YBfPtp78tvjb7fydbixwvUPADt27EBvb2/gicX/+UQa2/9U09/fH9Q+3ZBcLuBusVhQUlICs9mc8IatF198Ec8991yaLGPIjWS+iw6HA9evX8fq1auh0WgyHuqZK+zbtw/79+8PuEV2794d9ATACGbl9yoSso3zX74Cz2BkA6RUB/X+nWyT1wp2796Nl19+GS0tLQHXDSN1ZCv+9fX1UpvAYIRASnV5Idhi0tLSgl27dkltRt4hW5//8ePHRe9zfvQzXProj+FymETvO5+hbg/cv3gf7pffgTBvktocBkMWyFb8xcZuGceVz36G4vI1+Krvf7AUvXFC7U64e46AFBWCa2uF+29eBbWJ4/ZgMBiRka3bZ9u2baL2d+Ps36N1yw9R1fIQ5kc/hXn6K+hrbhN1jHzE/Vo/uM0boLj3DgAAtS7B897nUH7vm9IaJhHOxVm4nRZR+lKqdVAXVYrSFyP/kK34j4yMoLa2VpS+vB4nFiZPY/39vhC02vXfw9S1d5j4x0C4MQEsWMA/92jgGH/nJrj+19+Dbr8HpCBypEI+4lycxak3dsHjtIrSn0KtxZbHeyLeAPypC/bv34+9e/eiv78fu3fvxu7du7F3716YTCZ0d3eju7sbu3btCkpQtjx5WbxJ2lgSuFCkTAInW7ePmJst5kY+QnnDveA43720ovFeGMc/Z66fGHje/xyKRx8ISkFLeB7cbevg/eqqhJZJg9tpgcdpBeEU4BWalP4Ip4DHaY36FNHZ2YlnnnkmEELZ2dmJlpaWwGu9Xo/du3cHFluXi9LyfTLxJmljSeBCkTIJnGzFX6EQ76Fn9sZxVLfe3GHI8SpoiqvhsE6INka+Qc1W0AULyKrQqCt+8wYIZy5JYFV2wHEKcLwqtT8uvu/37t27Axu7/DP95TH0/hvB8gRlK5OX+Uk0MRlLAidtEjjZiv/KJFapYJ0dhK5yY9Axfc1mLExmJkFTLuI9fw38HbeELTzB1VSAWmygDqcElsmL9vb2oB2m/lm+X2T9qQyWJyhbmbwM8OWjSSQxGUsCJ30SONmK/yuvvCJKPw7rJFSFZeB4ZdDx0tp2mKbOiDJGPiJcNIBri7zRjmtpgGAYy6BF8qWrqwsvv/xy4LU/PUGiJJKYjCWBkz4JnGzF3+VyidKPeXYQuqpNIcd1VRthmbkgyhj5BnV7QOdNINXlEdtwa5shXGNptzPB7t27cfDgwcCsc9euXYEZdiySuUkALAlcNiSBk634Nzc3i9KPdfYidBUbQo7zCg0oKASvW5Rx8glhaBRca2PUWqPcqjoIw/JcMxEEDwSvK7U/wRP3eC0tLWhvbw/MhvV6Pdrb24NEcmXCsZXJy+JJTMaSwGVXEjjZJnabnp5GdXV1yjaceet3cMsD+1GgC124/PLoH6B1y24Ul61JeZx8wv3WcXD1VeDvuCVqO+fBv4HqR78GouAzZFnyiJHYLdOhnvkISwLHErvF5L333hMlq6fdNgmNti7sueLSFtiMBib+KxBujENx3+aY7Uh9Fej4DEizOPsxsh11USW2PN7DNnmlAEsCFz+yFX8xcDvMUKp1Ed0XRaWtWFzIv40pqUC9XsC6CKLXxmzLNftcP5xMxB/w3QDkJthiwpLAxY9sff73339/yn3YFgwoKl0d8XxxWStsRib+y6ETsyB1VXG15RpqIIxPp9kiBkOeyFb8Z2ZmUu5jcWEIRaWRwxULS5qwZGERK8sRboyDC7OxKxykrhJ0PPV/p2wnh5fdGFlIvN8n2bp9rly5krI/cHHBgIqmByKe53glCDh4PU7wClYwHgDo2DT4u+PLeUTUKkAQQF1uEJUy9gU5hlKpBCEEs7OzqKysjBr9xGDEA6UUs7OzIIRAqYz+m5Gt+IvB4sJ1NN/+q1HbFOqbsWQehrZ8XYasym6EqTkoauL3aZPaStCpOZCm/PP78zyPhoYGjI2N4caNG1Kbw8gTCCFoaGgAz0ePkpOt+IsR6eNYnIG6KLr/uri0FYsLBib+AKggAE4XSEH8T0FcTQXo9DyQh+IPAMXFxVi7di3cbrYfhCEOSqUypvADMhb/119/HU888UTS1wteNwjHx3xUL9DVw26R52alldA5E0iFPqFrSHU5hJFJZH+kf/LwPB/Xj5XBEBPZLvguLaVWLcq5OANNUU3MdhptHcvu+TV0chYkAZcP4BN/Oj2fJosYDPkiW/FvaGhI6Xq7dRwF2tiuiAJtLew2Jv4AQKfmwNUmKP4VetC5hTRZxGDIF9mKf1tbW0rX260T0GhjhyyqCyvhXJxNaax8QZicBamtSOgawvMAx4G6489Vw2AwYiNb8T969GhK19stEyjQhU/rsBzC8QCloFRIabx8gM4YQaoiZ/KMBKksBZ1ls38GQ0xkK/6p4rCOoyCOmT/g27LvXJpLs0XZDfV6ASCpJG2kuhx0hvn9GQwxka3433PPPSldb7dOoiBCQreVaLS1sl/0pfNmkPKSpK7lKkqZ35/BEBnZir/ZbE7perfTDIU6vtS9Gm2d7MM96awRpLIsdsMwkIpS0DmTuAYxGDJHtuI/ODiY9LVejwMcr457O36Btk72ET90dgGksjSpa0mFHgKb+TMYoiJb8U8Fh3USBdrYMf5+ClisP+isEVySM38UFwK21PZlMBiMYGQr/t3d3UlfG2+Ypx/fRq/JpMfLB+jsAkhVkm4fQgClAtQpTt1lBoMhY/F/5513kr7WYZ2Ia4OXH3Vhhexj/anFBmiLkr6eVJSCzqe2TsNgMG4iW/G3WpOvk2q3TsQd5gkAhHAAIaCCN+kxcxnqdAEqZUopi0m5HnTeJJ5RDIbMka3419TE77NfiS+1Q3xhnn58sf7ynP3TBQtIaXJhnn5IRSnorFEkixgMhmzFv729Pelr7ZYJaHTxz/wBoKC4DnaZ+v2pMfkYfz+kQg9qZG4fBkMsZCv+b7/9dtLXej12KJSFCV2j0dbBbh1PesxchhrNKc/8uXI9i/VnMEREtuKfLB7XYsLCDwAFOvmGe4ox80dJMag5+XUaBoMRjGzFf+vWrUld5wvzTMzfDwAaubt9ylJ0+3BfL5p7WYI8BkMMZCv+DocjqevsCSR0W06BjPP7+Nw+8aXCiAYp1YGaLCJYxGAwZCv+X331VVLXOW3T0BQnHimkKiyHa0mmmSldbhC1KuVuCPP7MxiiIVvxTxbH4jTUxdGLtoeDEN9HTSkV26SshjqcgAjCD/hj/VmOHwZDDGQr/k8++WRS1zltM9AUVSd1rbKgFG6HKalrcxUx/P1+SIWe7fJlMERCtuL/wQcfJHWdY3EG6qLEZ/4AoCmqgmNxOqlrcxVRxZ+5fRgM0ZCt+C8sJOc+cNuNUBUkl5pYXVQNp20mqWtzFVHFv6wE1GgSpS8GQ+7IVvwrKhIrJA74/PUUNOC/TxR1cRWcbOafNESlBNwe2a2bMBjpQLbin0wZR7fTDKUmeSHzuX3kNvO3iCb+AHy5/Rft4vXHYMgU2Yr/G2+8kfA1zsXkF3uBr90+cpv5L4gT4++H+f0ZDHGQrfgng9M2nfRiL/D1zF9mPn+4PT53jUhwLNyTwRAF2Yr/5s2bE77GkeLMX1VQBpddPhu96JIDKNCI2ieb+TMY4iBb8U8GZ5IbvPwQjgelgmwWLMVc7PVDKvQQWGpnBiNlZCv+Z86cSfgaRwobvPwo1Tp4XPLITpkW8WczfwZDFGQr/sngTGGDlx91URWcNnks+vrEX7zFXgBAUQGwuCRunwyGDJGt+D/++OMJX+NcmoOqsDylcTVF1bIJ9/SJv17UPgkhgFIB6nKL2i+DITdkK/6fffZZwtdQ6gHHKVIaV04bvdIy8wdAylhJRwYjVWQr/nNzcwm197hsUKiKUx5XTuGevsLtaRD/Cj3oHAv3ZDBSQbbiX1qaWH4eX0K31BZ7Af9Gr/wXf0op4PWCKFJ7UgqHL7WzSfR+GQw5IVvx37ZtW0LtnbZpaFJc7AVklNlz0e5bnE0DLLUzg5E6shX/1157LaH2Ys38VYUVcC7NptxPtkMXxA/z9MPCPRmM1JGt+CeKc3EamhQ2ePnheCWo4BXBouyGzqdR/PWsli+DkSqyFf9bb701ofZO2wzUhamLPwAolEXwuGyi9JWt+Iq2p0n8eQ6gFFQQ0tI/gyEHZCv+Gk1iOWccizMppXZYjrqoCs7F/Hb90AULSHl6xB8AiF4LmPP7BspgpBPZiv/JkycTau9cnIG6sFKUsTXF+Z/XPx2pHZZDyvUQWLgng5E0shX/RBEEF3iFWpS+5JDXny5YQEq0aeufhXsyGKkhW/F/9NFH427rddvB8eKlJs73il6UUkAQQBR82sZgET8MRmrIVvwHBgbibutcmhUlxt9P3hdyty35yi2mEVKhZ8XcGYwUkK34T01Nxd3WIUI2z+Xke34f0ev2hoGUlbCNXgxGCshW/LXa+P3RThEjfQBAXVgJRx5H+6Rzg5cfolEDTldax2Aw8hnZiv+3v/3tuNs6F2egESnGHwB4hRrUm7/Cle5InwCFGtBFe/rHYTDyENmK/5EjR+Ju6yviIk6Ypx9OoYLX4xC1z2zBt8FL/GyeK/GldjalfRwGIx+RrfgngsM2A3Vx6nl9lqMurMrb7J6Zmvn7Ujub0j4Og5GPyFb829ra4m7rXJqBRqQNXn7UxVVw5Gk5R2qy+nbgphmOxfozGEkjW/EvKYl/Zupx2cCLUMhlOZqimrxM7RyI8efTF+Pvh838GYzkka34x1vGURA8IEThqx0rIpriPI31z0CMvx+2y5fBSB7Zin+8uOxGqFMs2h4OdXE1HIvx7zXIFajRDFKuz8xg2iJQ62JmxmIw8gzZiv8jjzwSVzunbVr0SB8A0BRVw5mHPv9MRfoA8D2N8Tyox5OR8RiMfEK24j84OBhXO+firCgVvFaiztP8PhmL8f8aUl4CamQ7fRmMRJGt+I+NjcXVzrGYnpk/r1BDyMONXpkXf7boy2Akg2zFv7AwvkVJ5+IsNGmY+QMAr9DA686vHaqZyOuzHLboy2Akh2zF/4knnoirnVPkpG7LURdV5124JzVb05rHfyVs5s9gJIdsxf/FF1+Mq50jDakd/GiKq/Nqo9fNGP/Mfa1YamcGIzlkK/7x4rYboSooS0vfmuI8q+hlXQS0RRkdkpSWgBotGR2TwcgHZCv+69ati9mGUgoKCkLS8zGpi/IrxQOdM4HLVIz/1xAFDwgCqEAzOi6DkevIVvyrqmL78T1OC5Tq9C1eaopq8irWn86bQCr0GR+X6IoAiy3j4zIYuYxsxf/jjz+O2SYdqZyXoynOrwVfYW4BpKI04+Oy1M4MRuLIVvzjwbE4k7YwT8Dn9smntM503pS51A7LIBV6CCzih8FICNmK/0MPPRSzjcM2BU1xTdps4HglBCF/UhPQOYncPhWloHMLGR+XwchlZCv+Q0NDMdukW/wBQKEshMeVJ8nJHE6QAk3GhyVVZaAzxoyPy2DkMrIV/+Hh4ZhtHLYpaLTpFX+NthYO60Rax8gE1O4ENGpJxiaVpaCzbObPYCSCbMVfpVLFbJOJmX+Bth72fBD/+QVJ/P0AQBQKX7inV5BkfAYjF5Gt+D/99NMx27jsRig16Y1eKdDWwW4dT+sYmUAqf78fUs4ifhiMRJCt+B85ciTqeSp4QQgnegWvlWi09bBb8mHmL02kjx9SXQ46PS/Z+AxGriFb8ffEKADitM9DXViRdjsKdPV5MvNfACflzJ8t+jIYCSFb8W9paYl63mGdgjrN/n4AKNDWwmGdTPs46cbn9sn8Bi8/HJv5MxgJIVvxb2pqino+E4u9AMDxKgiC25cRM4ehEiR1Ww6pLIPAZv4MRtzIVvw/+OCDqOczJf4AoNKUwu0wZWSsdEDdHoDn074+Eg1SVADYHTl/E2UwMoVsxT8WmRT/Al0d7Jb4ykpmI9RoBinPXPWuiGiLfGmlGQxGTGQr/g8++GDU85kUf02Ox/rTGSNIZXpqHiQCV8VcPwxGvMhW/MfHo0fY+MQ/fUndlpPrsf50xghSJb34s3BPBiN+ZCv+sXL7CF4HeEVm8tQU6BrgyOFYfzprBFdVLrUZIFXlLNyTwYgT2Yo/x0V+6x6XDQplccZsyfWZv5AlM3+uuhx0ak5qMxiMnEC24r9jx46I55YsYyjQ1WfMFnVRJZyLsxkbT3SW7L5oG6nRa0FNrJ4vgxEPshX/V199NeI5u2UMBbqGjNlCCAcQLidz+1PbEpANwg/4Qk21Rb49BwwGIyqyFX+n0xnxXKbFHwA0OVrVi84awWVBpI8frrYSwmQOP0UxGBlCtuIfbYev3TKOwkyLv64Odkvu+f2zxd/vh9RWgE4w8WcwYiFb8V+3bl3Ec1LM/HM1r3+2hHn64WqrQNnMn8GIiWzFv7+/P+I55+Is1EWVGbTGl93TkYMRP3R6HiQLwjz9kNoKCCzih8GIiWzFPxKC1w1wnG8RNoMUaOtz0u1D56Ut4rISolEDTheowKp6MRjRkK3433fffWGPO2yTKCiuzbA1QGFJI5bMoxkfNxWowwmolCBR9kxIAaksBZ1jNX0ZjGhk1682g8zNhXcNSOHvBwCFqhge92JOZaWkk3PgatJf8CZRSG0lW/RlMGIgW/G/fPly2ONLEok/AKgLy+Fayh1/tTA5C1Kb2bWReGDhngxGbGQr/pGwW8YyHubpp7BkFRZNNyQZOxloloo/qa8GHZ+W2gwGI6uRrfhHSu8gldsHAAr1zVgyD0sydjIIk7PgarPQ7VNRCjpnktoMBiOrka34v/nmm2GP2y0T0GjrMmyNjyJ9MxZNuSH+lFLAtiRp6cZIEI4ARQUszQODEQXZiv/iYqgwUEohCC7wCrUEFgGF+lVYyhHxh9kGUlIsaenGaHD11RDGmOuHwYiEbMW/vj40a6dzaRbqQul82AXFtXDkyC5fYXIWpCb7/P1+SEM16Hju5UpiMDKFbMV/06ZNIccWFwwoKm2VwBofhONBeBW8brtkNsRLti72+uHqqyGwRV8GIyKyFf9333035JhP/Fdl3phlFJe2wLZgkNSGeBAmZsDVZa/4k5oKVtiFwYiCbMU/HIsL11FU2iKpDcXla2AzXpXUhnigE7Mg2Sz+PAcUatiiL4MRAdmK/1133RVybHHBgGKpxb9sLWzz2S3+dNHuS+ugUEhtSlS4ploII5NSm8FgZCWyFX+bzRb0mlIKl90IpaZUIot8FJevhc14TVIbYiGMTYFrrJHajJhwjTUQRqekNoPByEpkK/4XLlwIeu20TUFTXCN56KK60FfPN5tz/NCRSXBNmU9+lyikqRaUzfwZjLDIVvxXYp2/iuLytVKbAUIIVIUVWZ3jRxiZAskF8S/Xg86bsvpGymBIhWzFv6urK+i1df4ytOXrJbImmOKy7F30pZSCzsyDZFHd3kgQQnzpnWeMUpvCYGQdshX/o0ePBr22zV+FtjxyacdMoi1fA+t8lvr9TVYQvdaXQiEH4FoaIRhyq04Cg5EJZCv+Fosl6PWi6ToK9aukMWYFxWVrs3bmL1wfA2kO3R2drXCtjRCGxqQ2g8HIOmQr/tXV1YH/dzut4Hg1OF4poUU3KS5fC+t8+HoDUiNcGwG3pklqM+KGNFSDjk0xvz+DsQLZiv+WLVsC/2+Z+QolVaHpHqSCV2jA82q4nZbYjTOMcGMC3Cppsp4mA+F5EL0W1GiW2hQGI6uQrfi/9dZbgf83TX+FkprbJLQmFF3lRlhmLsRumEGoyQoUakBU2fGEFC/cmmYIV25IbQaDkVXIVvyXY57+EiXVWSb+1ZtgnjkvtRlBCEO55fLxw21ogXDxutRmMBhZhWzFv6OjAwBAqQCHdQoF2uxaxCyp2gRLton/tRFwrY1Sm5EwpK4SdGYe1OOR2hQGI2uQrfi73W4ANzN5Sr2zdyWFJU1YMo9m1UKlcGMCXHPu+Pv9EELArW6AYBiX2hQGI2uQrfifO3cOAGCaOouS6tsltiYUQjhotLWwW7IjTFGYMfri+3PM3+/H5/oZktoMBiNrkK34+zGOfYGy+julNiMspbUdWJg4JbUZAABhcAhc2xqpzUgabl0zhCs5UiKTwcgAshX/73//+6CCFzbjNWgrsiOtw0rKm+7F3OinUpsBABAuXAPXJm2661QgGjWIthDCzLzUpjAYWYFsxf/48eOwzF2EtuIWEJKdH4O2fB0WjUMQvG5J7aCLdlCHE1y5XlI7UoXbvAHegYtSm8FgZAXZqXoZwGg0wjj2OcoaQou6ZAuEcCipvhXm6XOS2uE9dxn8rdmR9ygV+NvWQzh3JasW0RkMqZCt+JeXl2N2+ENUNN4rtSlRKW+8D/MSu368pwfBtW+Q1AYxIAVqkOpy0GGW45/BkK34d9yxBhyvhrooe+vQAkB5w12YHzsh2fjUaAYECq5C2gpnYsF3tMF78iupzWAwJEe24v/6a6+gquVhqc2IiVJTAo5Xw7E4I8n4ns/Pgd/SJsnY6YDb0ArBMOarQ8xgyBjZir9zcRbVq7Nf/AGgquUhTF97N+PjUrcHwpeXwXdszPjY6YLwHPg7b4X3hLTrKAyG1MhS/K3zV9FU5c56l4+f2rWPYvLqf2R8odJ75iK4jWtA1KqMjptu+Ltvg/fkV6Bulu6BIV9kKf5jg0dQ2ZTdC73LURWUoUBbC8vsYMbGpAKF9+MBKO5vz9iYmYIUaMDdcQu8Hw9IbQqDIRmyE3+XfQGmybO4NiZt7Hyi1N/yfYxdeDlj4wkDg+Dqq0FKdRkbM5MovnknvF98BWpdlNoUBkMSZCf+I+f+GY2bdmRdIrdYlDfdB5vxGuzW9IcpUqcLnmMnoHj0gbSPJRVErYLi2/fDfeRdFvfPkCWyEn+7dRKzIx+hbv3jeOyxx6Q2JyEI4bDqjl+F4XRP2sfyvHUc/N23gWiL0j6WlPC3rwdUSng/+1JqUxiMjCMb8aeU4sqnf4I1d/4OOF6FL774QmqTEqaqZTvslnGYps6mbQzv2Uugs0bwD2yJ3TgPUHY9Au+JL+G9ypK+MeSFbMR/4tJr4BWFqGx+EE6nEx999BGcTqfUZsWN0+nET3/6U7Te9SNc/OiP0lLf13v+KjzvfQ7lDx4H4cRxizmdTvzkJz/J2s+aaNRQ/fqT8Lz+Pjxf3Nz8le12MxipQmgOOzwtFgtKSkpgNpuh00VemFyYPIPLnxzClu/9HApVESwWC5599ln827/9W9Trsonl73Vp5jOMDb6CO779MyhUqbtmqMcL7/ufw3vRANWvPymquyfefyOpoXYn3P/6FkipDorHvgGrw56Q3bnyPhkMP3k583/++ecD/z838gkufXQAt3/rT4OE8tixYwn1kw1t/NSs+Rbq1j+O02/shm3BkFQ/zz//PKjdAc8nZ+D62T+CerxQ/fazQcIvtt2p9pPONqRADeWvPwmi18L1s38Ed/ICipWx9zeI9f4ZjIxDcxiz2UwBULPZHHR8w4YN1GU30Usf/wk9+e+/QR22mZDrnnvuuZDrVrJhw4aYNmSqTbj3apo+T0/0/hK9+NEfU8vcFSoIQtR+BIeTeq7coO6jn9D+H/wudfzxz6n76CdUWLBk1O50jSVWG8Fio9bXj9GBX/lv1Pb3r1HPqfMxP6N43yeDkS0opL31pIbX6wUAzIxfgdXIw+00Y8l0A889zOPDF38F9Ru7seYbvwGnVwGn5aaP3GKxwO12w2KJ7jf3er2St6EuNyAIsFqsKFUXwDI1A2qxAZQCVI917X+I2fFPcfboH8Nhm8JvbNfgzGs/RQEphcKrgmKRgjM5QcwOEJ4HV1MFvrEOf3rlE9z+p3vBcRw46gIXZmwx3pv/nNSfY6JtLO3r0PHEwxjd/Rw0N0YhvH8CsC6CVJSClJf4SlqW6HCHrhKm81dgcvpyBRmNxqj9MhjphlIKq9WKuro6cFxk505O+/xPnjyJO+/MzhKMDAaDISWjo6NoaGiIeD6nZ/5r1vhqyl64cCFokW3btm344IMPIl5ntVqxf/9+HDhwAFqtNmK7WP1kso3VakVbWxsGBwdTtlksm+JpI6bdmWyTqN3j4+O4++67MTo6yhZ8c5gjR46gu7tbajNSwmKxoLGxMer3Fshx8ed5HgDQ0NAQ9INTqVRR73gWiwUjIyOor6+P+kON1U8m2/jdFGLYLJZN8bQR0+5MtknWbp1Ox8Q/h9m8eXPe/PvFymKQl9E+e/bsidlmfj52Ie94+slkm3iIt59ctDvbbBa7L4b0VFRUSG1Cxshpn3+ysdUWiwU//OEP8dd//dc5c5fP1Thyudg9NjaGxsbGnHufjGBefPFFPPfcc1KbkRLxfnfzcuYfC7VajXXr1kGtVkttStyo1Wr8+Mc/zimbAWY3g5GtyHLmDwCzs7OorMyNYi6M7IfN/PODfNAFNvOPwZUrV6Q2gcFgZBly0oW8EP+tW7eira0toa32IyMjabSIIReef/55tLW1Ydu2bVKbwhABOelCTod6+jl58mTCj9rMl8sQgz179mDPnj0Btw8jt5GTLuTFzD8ZnnrqKalNYDAYWYacdEG24v/SSy9JbQKDwcgy5KQLshV/QRCkNoHBYGQZctIFSXz+JpMJBw4cwI4dO9De3h62TU+Pr1bt0NAQtm/fjs7OTlFtaG1tFbU/BoOR+8hJFyQR/1OnTsFkMkU839/fD5PJhL1798JgMKC7uxunT58W1Yb6+npR+2MwGNGhRjOEyVkQbRFIdTmI2lcsZ8kyBtfSPIpKV0OplnaPhJx0QRLx7+zsRF9fX9Tz/pm+wWDAli3Ri4mvzM2uVqtjrtofP34857dxM6TD6XQG1fe1Wq0SWpPdUErh/fgMvJ+fA7euGdS6CDo6BbKtHVftr2PJPIJC/SpYpr9Cy5ZdqG59RDJb5aQLWR/qefjwYRw8eDBqm5Uhdj/+8Y/xk5/8JI1WMeTOgQMH8NOf/lRqM3ICzzsfg84YofovvwyiUgIABLsdX/39b6K4+Ta0PfG3IITA7TDj7Du/D15ZjIqmeyW2Ov/J6gXfQ4cOYf/+/WhpaYnabnR0FGazOfC3f//+mH2zTTmMVNi/f3/Qd25wcFBqk7IS77kroMOTUP6nxwPCDwAjl1+Gav0tqD9fATpnAgAoNSW4tfOPcPXEz+BxSvMkJSddyFrx7+3tRWdnJ9rb29Hb2xu1rT+Huv8vno0actrJxxAftVod9J2LVThDjlDrIjz/8RGUP3gMZFk5Qbt1ElNX38a6B/8Aqu5vwf2vb4EKvhRjmuIaNG7aAcPpFySxWU66IIn49/b2YmBgAC+99BIGBgYCxzs6OmAymWAwGLBz507s3LkTra2taYm9NRgMovfJYDBu4nn7OBQP3w1SXBh03HDqMFo6doNXaMCtbgBXWwHhq5s5derWP4H50U/hdkavs5wO5KQLkvj8u7q60NXVFXLcH9Gj1+uxsLCQVhsUiqxf7mAwchZhdBLCzAIUz3w76LjDOgmb8Sratv0/gWP8Q3fB/U9vgLttHQgh4Hgl6jY8ibELvVjd/hsZtVtOupC1bp90k+t1OhmMbMbTdwLK7z4YUkpw/NJraGjrAiE3pYerKAWpLIVw6XrgWP0t38fk1bfg9TiRSeSkC7IV/1deeUVqExiMvESYMYLalkBWB8fMC143pg39qF7zrZBrFA/fDc+xEzdfq4pQ2fQAZq4fS7u9y5GTLshW/F0ul9QmMBh5iffDk1Bs2xoy658dPo6y+rugUBaGXMPVVoKolBAmZgLH6m55AhOXXk+7vcuRky7IVvybm5ulNoHByDvooh3C9XFwm9aEnBu/+CoaNkTOmsl3bIT39M2Q2aLS1RC8bjhsU2mxNRxy0oW8EP9kirnIKYcHI32wYi7BeAcugu/YGBTaCQAuhwluxwKKy9dGvJbbtAbChWuBsE8AqG7djumho2mzdyVy0oW8EP+TJ09icHAQe/bsifua9957L40WMeTCnj17MDg4iA8++EBqU7IC7+kL4DvaQo7P3TiOiuZvRL2WqFUgjTUQDKOBY9UtnZg29ItuZyTkpAt5If4MBkN6hKk5EI0aRB+64W3m+nuoWv1QzD74O26B8OXlwGt1USUIp4BjcSbKVYxkkK3433///VKbwGDkFd5TF8Bv2Rhy3ONahN02geKy0HWAlXDrV0G4Ohzk+qlouh9zwx+Lamsk5KQLshX/mRk2k2AwxIIKAoTzV8HdGurTnxv5GBWN94dE/4SDKBQg9dWgw+OBY5VND2Bu5CNR7Y2EnHRBtuJ/5cqV2I0YDEZc0OFJkPrqQI7+5fhcPt+Muy/+tnXwfnU18LqobA2WzCPwehyi2BoNOemCbMWfwWCIh/f8VfBhwju9HgdsxmvQVYW6gyLBrVsF4cpw4DUhBGV1W7EwflIUWxk+ZCv+cinYwGBkAuHSdXAbQlOvG8c+R1n9XUHpHGJBCtSARgW6cDOxW3njvZgfOxHlKnGQky7khfgnE+f/+uuZ3TnIyE9YnD8gTM+D6IpBNKGp1OfHTqCi6b6E++Q3tMB76WaGzdK6DixMiFvKNRxy0oW8EP9k4vyXlpbSaBFDLrA4f0A4fy3sjl4AME2egb52c8J9creshnDpRuC1QlUEhaoo7SGfctIF+eQvXUFDQ0PS11JK4bLPY/LyG/C4lyB4naCCAADgeCV4ZSFq1z0GdVElOE62HzFDJngHr0H1n74Xcty5OAteVRg2l08sSG0V6NQsqEBBOF+UUFn9XTCOfY669Y+nbHMkUtGFXEO2ytTWFroLMRaC142Rr/4FDts0FKoiKNUl0BTXgFdoQDgeoBSC4IbHZcPE5dfhdpih1JSg+fZfSeoHwGBkO9TuAFzusBu7FiZOoaxua1L9Eo6A1FSATs6C1FcBAMoa7sLYhSNpFf9kdCFXyQu3TzIcPZpYvpDR8y/h6omfgVIBJdW3Qlu+DpriaijVWnC8EoRwIBwPXqGBurACxaUt0NfcAaVKi6Ev/gLXB/4GVPCm6d0wGNIgXB0BtzZ8MjTjxEmU1icn/gDArWmCcO1mWUVd1UZYZgdBKY1yVWokqgu5jGzFPxFunPk72K0T0FW2oVDXELcrhxACdVElSqpvAwBcPfHncDvM6TSVwcgowqXr4NavDnvOPP0VSqpuTbrvleLPcQoU6puxZLqRdJ+Mm8hW/O+555642t04+w9wu6zQVW4Ax4duYIkHQjgUljSiUL8KhtOHMXLuX5Lqh8HIJiilEK6PgVtRtAUA7JZxqAsrwCtCI4DihVRXgM7MB9bTAEBfsxkLk2eS7jMW8epCPiBb8TebY8/Axy4cgWtpDtqytQnFKUdCqdZCV7UJzqVZXB/4m5T7YzCkhM4ugOh1ICplyDnjxCmUJunv90M4AlJXBbqswEtp7WaYptIn/vHoQr4g2wXfwcFB3H777RHPC14XFk3Xoa24xbeYKxIcp4C24hbYjNdwfeDnWN3+m6L1nUtQlxuwLYHanfCeuQh4vYA/mRchvj+OgL99PaBW+dIGFBWAKGX7lc06hMs3wN2yKuy5hYlTaGhLvR6u3/XDNdQAALQVt8A6dynlfiMRSxfyibz4JW3duhU8z2PPnj0JxfpH4/qZv4WmuBa8QiNKf8shhENx2RpY5y5j+Nw/o/m2H4g+RjZC7Q543v0E1LoEwnOAWgUolQDPgajVwNchfaA08Oc9dwXweAGPB3B+XWKvRAvFt+8DUUj/9X3++efx/PPPy6r8nx/h6g0ovvNA2HPWucvQVd6S8hhcayM8b34AbLvT95pXQlVQBod1Ehptbcr9yxnpfz0icPLkSeh0uoSu6e6OPCtxOy3wuGwo0odfyBIDQjgUl6+FZeYCXPYFqApK0zaW1FCnC543PgScTpCyEpDKspBKT5FYmQeSejygJivcL74NrrIcim8nvntUTPwTjrGxMTQ2NkpqSyahAgWdngeprgg553KYwCsLkl4jWw6pLgedXQD1Cr4JA772+0+dQW0axD+aLuQbsvX5v/POOxHPDX/5jyjUNcaVgjYVOE6B4rI1uH4mf8NAPX2fwf3yuyDFBSCrG3w+4jiFPxxEoQBXUQpuVQOoyQL3v7+X1tA/Rnjo9BxIdUVgA9ZyLDMXUFK1SZRxCCG+FM9j04Fj+trNME2eFaX/lUTThXxDtuJvtVrDHnc7zBA8zozNxBWqIqg0etz48h8yMl4mcb91HHTGCK65DqREK+rNlCh4kKZawOuF55X+oOIfjPQjGMbAtYbfDWueOS+a+AM+149w/WZpx5LqW2Ge+Uq0/pcTSRfyEdmKf01NTdjjw1/+IwpKMvv4XqBrgGtpDh53/uQV8bx9HLDYQFbVpW2RlhACUlsJcASe14+xJ4AMIgyNgmsJ/zuxzJyHTkzxX90AwTAWeK1QFoLjlXA5TKKN4SeSLuQjkoi/yWTCvn37MDAwELFNT08Pent7cejQIRgMhojtkqW9vT3kmNtpgeB1Q6XRiz5eNAjhUKBrwPDZ/Jj9e975GNRkA2mqTcnFEw+E+NIAwO2F563jaR2L4YNSCjoxA1JXFfac3TKOAp14OXJITQXo9HzQzV1fcwdMU2dFG8NPOF3IVyQR/1OnTsFkMkU8bzAYMDQ0hK6uLuzduxf79u0T3Ya333475NjIuX9Bga5O9LHiQVVQDo9rER6XTZLxxYIuWCDMmUCaatIu/H58fuEqwGKD5+inGRlTztA5k2/hng/9910yj6CgpEFcFx9HQCpLQWeMgWP6ms0wp8HvH04X8hVJxL+zsxN6vT7i+YGBAbS2tga9jobFYgn6czqdCdvkddvhcVmh1EgTdUMIQYG2Nqd3/9IlB9xvfgiusRqEF29vRDwQjgNprIEwPQ+6aE/7eE6nM+g7JydfsWCI7vIR09/vh1vdGOT6SdfMX05kZainwWAIujkYjcbIjQH8/u//PpRKJV555RU8/PDDuPPOO/HAAw/gzjvvxJtvvgnA9zgnCALOnj0LALj11ltx9OhRzM/Po6ysDM0lw/j0PAF38TLWtVRCwXMYvOqLMHjgztUYvDqN+YUlFBepcHd7M/o/8tUYbW0uR2GBCl9dmgQA3LtlFa7dmMPMnA0FGiUevKsF7354GQCwqrEUel0Bzl6YAADctbkJI+MLmJyxQqXk8dB9rTj6sQEnrvwr1qxZg/r6ehw/7nNlbNu2DSMjIzAYDFAoFOju7sYrr7wCl8uF5uZmtLa24r333gMA3H///ZiZmQnUI33uuefw+uuvY2lpCQ0NDWhrawsksLrnnntgNpsxODgIwBfq9s4778BqtaKmpgbt7e2B2dDWrVvhcDjw1Ve+xbYnn3wSH3zwARYWFlBRXo4tE4v4D+skYJ3AHfVNAICz477cLN9tuwOfDw9hbtGK0oJCPNi6Aa+f9xXn2FTbAI1CiVOj1wEA377lNpwdH8aU1QytWoNH1t+KV875SvhtqK6DTlOAz4eHAADb123CxekJjJmNKFCq8HjLBrz4l4dB6quwbv16VFVV4eOPPwYAPPTQQxgaGsLw8DBUKhWefvppHDlyBB6PBy0tLWhqagrk5X/wwQcxPj6OoaEhcByHHTt24NVXX4XT6URTUxP6+voCn+8nn3wCrTY0q2W+IhjGoLjrtrDnzDPnUdkcPvY/FbiWeng++xK4x7cBS1VQCq/HDq/bDl5ZINo4W7emtis5lyBUolWyffv2YceOHWF9bL29vTAYDNi7dy8AoLW1FUNDQyHtLBYLSkpKMDo6GhTnr1aroVZHzyly/vx5bNrkm6FQKuDyJ38CffVtou7mTYYl8yg4Xonm239FUjsSgVIKz5GjvnDO0hKpzYEwtwA4XVA8vT1t4bpOpzPoCXN8fBxtbW0wm80J7znJNZwH/waqH/1q2E12X7z2K9j86F9AqRb3M6AeD1x/+g9Q7/vPgWODH/6/qFn7HZTVbRFtnOW6kKv4dTHWdzEro33a29sxPz8f9DoaOp0u6C+W8AMIzF4BX7pmpaZEcuEHAE1xddqrFYmN540Pfbt0s0D4AYCU6327g//j47SNoVarg75zcpn50wULUFwYVvi9HgcEj1N04Qd8+ztQVABqvuleS4frZ7ku5DuSiH9vby8GBgbw0ksvBfnzOzo6YDKZ0NLSgvLycvT29mLfvn144YUX0mqPc3EGmqLQyAUp4HgVOE6RM6mfPf0nAOuiL+ImS/CFgFZBmDeBLjmkNievEAxj4FrCR/JY5y5DW7E+bWNzq+ohXB8PvNbX3AFTGjN85juSuX3EIN7Hm3A4HA5oNBp4PU5c+/z/QF8T3ocZi8uf/mnEc+vv/VFSfToXZ+FxL6GlY2dS12cKanfC3XsUXFNt2MyOUkMXl0BnF6B49jtp363tT++Q724f9yt94DatAR8mh//wuX8BxyvRuPGZtIztPX8VgmEMyu99E4DP3fjZS0/j7mdeFq1cql8XcpmcdvtkAv/C3tiFl5PezesXfoWyKOTPfz7azSESyoJSuB0LSdmUKahXgOfVfnC1FVkp/ABAigoBpQLedz+R2pS8QRieANcUPqeOL9In+eItseCa6yDcmAi8JoSguHwtbMZroo3h1wU5IFvxX1jwiavLboSqsDyha/2ivlzoV7LyJpAIHKcAp9DAZY8e5SQlntffA3RFPoHNYkh1OYTZBVBPfuZOyiTU5Qa8AkhB+Jmxbf4qisvWpG18oi0C7I6gf0uxXT9+XZADshX/iooKUMELr8eRVHH1SKIfqV2iNwB1YQXGBl9J2K5M4Dn6qa9od7lealNiQhQKEL3Wl26CkRJ0bBpcY/j0By67EQq1Dhyf3qdAUl8FOn4zIELsRd+KiuxZu0o3shX/e+65B86luYQjE/wz/kRI5gag1Oiz0vVDXW4I0/MgdVVp96OLBSkrATVb2ew/RYThCZDm8C4f8/R5lFSnP0SSa66DMHzT9VNcvha2+aui5XViZRxzjK1bt6KtrQ3PP/983Ne88cYbmLzyZkLin4z/3k+iNwCOU4DjVXA7LUmPmQ48b3wArlyfUxW1CMeB6LTwpMH3//zzz6OtrQ3btm0Tve9sQxieANccPv2JeeartOzsXQm3qg7C8M2IH45TQFNcA4d1IspV8fPGG2+I0k8ukDu/4CgkU8wFADwuK9RFlQldk+isf+W1Hvdi3O1VBWUYH3wFqzb/etJjigk1W33VtGoT+8ziwX3k3aDXyu5vido/KdNBGJ4ApVTUJxY5FXOhU3MRQ3otM+dRv+GptNtAaqtAJ2aDjpXU3A7T1Jco0IUWkmdEJi/EPxk2b94M79zrcZdpTMbdE62veMJAlRo9bMbQnc1SQCmF562PQGoqRBPPlYIf7VyqNwOiUIBo1L6kZJX5WzUtXVCTFURbFDZZH6UCHLZpaIrTnw6ZKHigUANqsYHoigEA+prbMXP9PdSuezTl/jdv3pxyH7lCXrh9ksHrsYNXxN4JLDaJ3EB4hQZUcEPwutNoUXx4+z8DlHzESI9EcB95N6rwR7omVUhZCbzHTqTcjxzx+fvDu3wWTTdQqF+VsTUgn99/MvC6pGoTLDPnMzJ2PiFb8T9z5gz4OIVYzFk/4LsBxOv7V6h1cC7NiTZ2stA5E0hFajPmZERfzOtJgQbwekGd8iu2nirC8AS4VeHF3zKdnkyekVi56KtQFQMg8DhTz6x65ox8dgzLVvydi7NQqMQT9HSh0ugxefkXktpAbb4KY0ST/JOSGDN3UfrSFcPT95lotsgFYWQy4uYuscs2xoJbVQfhxnjQsZKq9JV2zFdkK/5b29RxzeZTifCJRryzf4VaJ3nEj+fYCZCS5BOXiSn8qfZJdMWAJbcL5mQa6hWARXvAx74Sy+wF6KraMmYPKdECtiWfXV+j/3rRN1Uef/zxlPvIFWQr/hcNNnBx+vzFdPkkCscpQAgHrzv9BUrCQSkFtSwCuuQ+g3QIfyp9+1NRUEfiBX/kCp2eB6kKvwve67aDUuFr10vmIHWVoJM3o35Kau4QRfw/+0w+T4V5If6JxvlTwQvLIgUh0r/9eGf/kvn9zTYQtSqpylzpFP6U0BX7spGKgBzi/IXRSXBN4SN5LHOXoK24JcMWhfr9NcU1cC7NQBA8KfU7Nyf9+lqmkF79RODkyZMYHBzEnj174mrvdlqgLYq9DT1dLh8/8T5RKNU6TF2Vprao58NTINrszd+T1OxfWwRY4t9vEY09e/ZgcHAwrxOC0dEpkAhpHayzF6Gr3JBhi0LFnxCC4jLfbt9UKC2VTxhwXoh/onhcNmzeUBZXWyldPgEbVMXSFXZfXAKSSN6WyVl/omMRlRJUEHyJyhgxEUanIub0scxdhK4i8+JPGqpBx6aDjomR5yefn+BWIkvxnx46ik/OZk+xlFhPGByvBKVeUCGzuWmo1wvqFXIqlUO8kOJCeN/7XGozsh7q8QBuT/RMnuVrM2zV15W91KpAJBoA6Gs3wzSVWqjma6+9lqppOYMsxd/rsWdFyUYg/icLXlkEV6YTvVkWQQoSD+/MWl//Moi2ENS6FLuhzKETsyB14dN5eN12gHBx75IXG665Nsj1oy1bC9v8NdGSvOU78hR/twNrV0cv25huf3+iKFTFmLzyVkbH9Hx6Fkghtj+TJHzDKdCAOhxMKGLgc/mEj++3zl+GVoJZv5+VO30Jx6NAVw+7ZTTpPm+9NX3FaLINWYo/pV6o1bEXfLPB3+9HoSqC153hmarTBaJWJXRJLsz6ga/r/KqUgI3N/qNBR2JE+kiw2OuHW1UPOhyczVNfsxkLKRR3yfUSjokgO/H3ehzgOCUuXJ6O3TiDxHrS4JWFCWUEFQWHC9AkJv45RVEhPB+ektqKrEYYnwGprw57zjorzWJvAL3WV6dBWLbZq3ZzSpW9Tp48KYZlOYH8xN+9FPfmrkwRzxMGxykkWPD1AAnE90s960846qdQA9gdabIm96FOF0AQsUazdf4KtOXrMmzVTQghINXloFPzgWO6yjZYZi9IZlMukRfin8gmL49rEbxCjfvvXJ0By8SF41XwZMj1Q70CQEjOVOtKCrUq5SRv+bzJi45Ng4sw6/e67QCl4JUFGbYqGJ/f/2aeH16hhkKthXNxNspVkXn00dTTQucKcYv/9evX8cMf/hC/9Vu/hRs3bqTRpMRJZJPXzPX3QDglLl2bidk22+AVmszF+zuceRniuRzCcQAFqJD8om8+b/ISRqdAIvj7bcZrKJZw1u+HW1UHumzRFwBKa5IP+RwYGBDDrJwgbvHv6enB7t270dnZid27d+Ps2bN45plnsGbNGpSXl2PHjh2wWLKr5GA4qOAGxysxZ8yw/1wEOIUaXldm7KYOJ6BMbzHubIAoFQDL8xMWYXQyYqSPb3NX5tM6rIQ01EAYnQo6pq/djIXJs0n1NzU1FbtRnhC3+Le0tGDz5s14+umn8e6776K7uxs///nPce3aNczPz2Pnzp3o7u7O+huA4PWA45QoKsy9hUyOV2H2xgeZGczpBhS54+/3k7AdTPwjQifnQCKU7LTOShvp44eolICCB126uXZTUn07zNPJJXnTapPPXptrJO3zX716dVDd3M7OTrz88svo6ekRxbB0QakHhFPg3i2rIrYRu3iLWHCcEoKQmZQE3jODAJ8XS0LR4TnfLlZGEHTRDqiUvrKJYbDOX5J0sXc5XHMdhJGbrh+l2ifgyRR3+fa3vy2aXdlO3L/uzs5OvPrqq4HXLS0tIW1KSkpQUlISV389PT3o7e3FoUOHYDAYwrbp7e1Ff38/enp6RPPFUcELwvHoO35FlP4yCeEUoClmLYwbj5BUJs+cg+MAjxC7ncwQxiLn8/F6nBAET9YUQ+Kaa0OLu1TfDtP0uYT7OnLkiFhmZT1xr+itXr0aZWVleOGFF1BeXo5Dhw6FbRfuprASg8GAoaEh7Nq1CwDQ3d0d8qGbTCYYDAbs3bsXALBv3z60t7fHa25EKBWyIpVzMnCcIuWUtXHj9QK8DDa8EAJQJv4roSORM3najNegLZNuZ+9KSHMd6KnBoGOltXfANHkGFU33SWRV9pNQOEdJSQl27twJs9mMvr4+GI1GEEJQVlaGlpYWnDp1Ki7xHxgYQGtra9Drlej1ehw+fBiA74ayY8eOREyNAUFLc/jiFFkN4QAhQ0IlCL5ZcRxki78/KQgBUoj2yVeE0Ukobn0w7Dnr3MWs8Pf7IeV6UKMJVKAgnC80WV+zGaPnX0q4r7a2zFUkk5qkYvlKSkrw9NNPBx07duwYKKUYGhqCyWRCe3s7Vq1aFfZ6g8EAvV4feG00GsO2O3jwIA4fPgyDwYC+vr6I9qxcZFar1VCro23koijOsgVff1nH9ff+KGIbQjhQZEr8KcDlcYy/H0p9N4AEcTqdcDpvLhRbrakXD88m6IwRpCp82nPr7CVUr80e3zghBKSqDHTWCFLtm9Spiyrhdlrh9TjBJ7CpM163dT4gmv/j4Ycfxs6dO7Fz50489dRTWFhYCFojWE5LSwtMJlPgdVlZ6JdsYGAARqMRfX19OHz4MHbv3h1x7MbGxsB6Q0lJCQ4cOBCxLSEElFKcuzgZsU1Wk6lJagIz/5xGoEktbB84cCDoO5dPM0ZqtgLFhb59EGGwzF2Crnx9hq2KDtdcD+F6sN/ft9t3MMIV4WFlHEVg8+bNeOqpp8Kea29vx/z8fNDrlZw6dQqdnZ0AfIvN0fz9o6OjMJvNgb/9+/dHbEsIn5U+Xo97MeqsP0CmdtzKRvyFhEJa/ezfvz/oOzc4mJjIZDPC6BS4pvDx/YLXBcHrgkKdXSGRXEs96IpF31Tz/OQ7kmzhbGlpQXl5OXp7e3Hy5Em88MILgXMdHR04duwYdu3ahUOHDgXWEKL5/HU6XVDYaTQIx0MQPLinozm1NyEBvsXqzIj/cv9pXuP1giSxmW2lazHb97ckQrTKXTbjEIrLWsOekxLSWAuhN9g1XFq7GZc/+ZOE+nnkkUfENCurkWz/vj+Kp6urK+j46dOnQ9qIiT9c0jBiQfumetH7TyeUen1PLpkZLHNPGVLi8QIJpq3Od+jIJMid4fPaW+cuQitlJs8IEKUC0KhBrYu+Gs0ACnSNsFvGA+Hd8TA4OIgHHnggnaZmDTJ4rg+G45QQvC5Mz0ZfoMt4+uQ4oIJvg1qmyOukbl9DPR4gjtoOcoFSCmo0g5SFX/i0zF7KirQO4eBWB/v9CSEoLl8L63z8e3rGxsbSYVpWIjvxr1z9TQiCGxp1ZBGNy/cuAdSbWfGXBZRGXNiUI3R2AaSiNOKN3zp3CdrKbBb/YPEurevAwkT8NRsKCwvFNitrkd23nlcWQvC48M1710htSsIIggscz1wUYkG9Xib8K/BV7oq02OuG12OHUh3f+lqm4VaFRvyU1W1NSPyfeOIJsc3KWmT3zVcoiyB4HPiP9y9JbUrCCF4XqlY/JLUZ+YPLDUQoVCJXhJFJkAjib1sYQlFp7E2cUkGKCwG3B9R1M/9VoX4VlsyjELzx5cR68cUX02Ve1pEX4p9IMRdeWQivNzezOHo9jqzJp5IXuDwpi3++FXMRosz8LTMXUFK1McMWJQbXVBuU5I0QAl3lBljncm+yl27ywoF88uTJ+EM9CQEhHJrqc28nn0/8syu+Opehbjf4jtTEbM+ePdizZw/GxsbQ2NgokmXSQD0ewOkCKQpfncsycwG16x7LsFWJQVbXg14fA9Y0BY6V1m2BceIkSqrDRzAtZ9267MhUmgnyYuafKLyyAPri2G89UxE/8W7wooIXHM/cFKLhcvvq+DIAAHRiFqS+KuJ5SxYv9vrhVjeE+P1L67diYTw+v39VVeT3n2/IUvwVyiKcHYxesSfbIn68Hid4PrOF5ynN84RnLjfAxD9ANJePr3Y0hUKZ3dEwpEIPOm8CXZYAsUBbD+fiDARv7HrNH3/8cTrNyypkKf41ax/NXGpkkfC6F8GrMvjDy9EQf2X3t+Ju64vxZ9FTfqKJv3X2EnRZuLlrJYQQkJpK0Mm5oGO6qk0wT5+X0LLsQ5biryoow60t8b31dLt+4u3f47KhZk3mMikSLoPpoyWACgJAiCw2ssULHZsGqa8Oe84yewG6LF/s9cO11IcUdymr3wrj+Bcxr33oIflE08lS/Dleial5IWb4V6ZcP/GM43ZaoSrIYA0CjgO8+Sv+cHuSyumTr1C7A1AqfGkSwmCZuQBdZW5kLuVWN0AwrNjsVb8VxonY4j80NJQus7IOWYo/AMxZCNxOs9RmxAWlAqjgzmyYp4L35b3JV5wultZhGcJI5GRugK96V3FZbmyMJPVVoOPTQcc0RVXwupbgcdmiXjs8PJxO07IK2Yq/trQRbocprrbpcv0k4vJRqIrTYkNEFDyQx4XNqcsNwjZ4BaBRNnc5l+ag0OhyJtKM8DyIrhh0ITjTqi/Vw+kIV/lQqeSzBpQX4p/IJi8/3d3Pwu2MXX0p3a6fuFw+DjMUmd5Sr1D46vjGQSKLrOkkITvcHnARMlcmQr5s8hJGJsE114U9Z546B3317Rm2KDVImDw/ZQ13YX7s86jXraxQmM/khfifPHkSg4OD2LNnT9zX9L7yKnhlQczHQD9iz/4T6c/tMKNhQ2a/lHxHG6g7j90+LjdIQephnnv27MHg4CA++OCD1G2SCEop6Mw8SGX4so2m6S9RUpNb4h823r+2A6bJ6DP/I0eOpNOsrCIvxD8ZPB4PVAVlcNnD1w9eTrpm//H0KwgeUOoFrwy/6zJdkAIN4I4vH0ouQt0eQATxzwtMVhC9NmLxHvP0Oeirb8uwUanBraqDMDwRdEyhKoJCpYXDFnmPjyePXZ0rka34t7S0oKGtGy67Ke5rxJr9JzbrN0Gp0YsybkIUagBn7oh/QvH93q/DPOVQqSwOfMncwrt8vB4nPK5FqArCPxVkK0Tj2xBJ7cF5vGK5fvyVA+WAbMW/qakJvEINjlPA67bHbC/W7N8v/PH257abUH/L90UZOxGISgkqeOPe5Zstfv+4cDgD4sCIsblr7iJ0ldm/uSscXHNdSLx/ecPdMEYR/6ampojn8g3Zir/fR6sqLIdzaS56469Zf++PRJn9xyv8lApwu6xQFWYwvn8ZRKEA3Nn/GJzojYcuOVhOn2UIwxPgmsKHeZqmzqEkxxZ7/XAtDSHir/06wycVwq9n5fLaTaLIVvz9NG7aAZd9PqFrkr0BJHqd22mBUq0DIRL9M2nUgCP+9Nc5M/tfsoP/xhaprcgKqFcAbEsgJeGzxZqnz0KfY4u9fsJt9uI4BbQV62GZuyiRVdmDbMX/wQcfBABwvAqcQhN31I9/1p6okCfq7gEA19Ic6jc8mdA4YsLfc3uIzzTbSHjWTymomyV080On5kBqKsKfoxSLCzdQVLo6w1aJA9FrgUV7UHEXAChvvBdzI5+EvcavC3IgL8Q/mTj/8fGbj4Pqwoq4XT9A4jeAZISfCl64nVaoi8LnWskERK8FlmKvh0hFUk8ai3aQwgLRcvrkepy/MDQKriV8HQK7ZQwFunrpnjxFgFtVB+FGcNRPeeO9mB/9NGz75bqQ7+Tuv+oykonzX57Do2HjM3DZF0Bp/Lls1t/7o8AaQKSbwPJziS4Yu+xGqArKJE08RjRqUIGCxrnZC8h+1w+12MA/2CFaf7ke5y8MjYJrbQh7zjR1Jufi+1fCrW2GcOVG0DF1YTkAGjbMm+X2kQHcssLdHKeAUl0Sd7qH5Sx/Clj55z+fTKSQwzaNpk3PJnyd2JDiAsC2JLUZISRzk6GCALpkBynXi29QDkIpBZ2aBamtDHt+YWIApbXi3SilgFvbDOHaSMjx8oZ7MD/6WWh7Tj6SmBdlHJNhx44dQa8bNz2D4XP/nFQ8s9ibwDwuGwjHQ6GWvmSjYtud8Bz9NOKCYDiU3d+C+8i7abMp6acLiw1EW+RLV80AnZ4HqSqL+HlYZi9gw4P/V4atEhdSXAgIQkiEV0XT/Rg5/yJq1303qP1KXchnZPsrePXVV4NeqwrKIHhd8HqkX+C0W8bRmAWzfgBASTGo0xlUGSke0uX+SbZfSimo0QzFI/eJbFHuEtXfb52EqqAMHJ/7ic641saQ2b+usg3W2YshIZ8rdSGfkUz8e3p60Nvbi0OHDsFgMIRtYzKZsG/fPvT29qK/v1/U8Z3OUJHXFNfAYZsUdZxE8biXIHhd0BRLt9C7HEIIiLYYsMQXDbUcsW8AKfW3uASolCy+fxk+f3948V+YPI3Sutx2+fjh1q2CcDU4VTPheOiqboVp6sug4+F0IV+RRPwNBgOGhobQ1dWFvXv3Yt++fWHbdXd34+DBg+js7ERfX5+oNoTbyde06Tm47Asxi7ykkyXTMJpu+4Fk44dD8ci9Ielx40WsG0Aq/fgSly1A8Z0HRLElH6CUgo5Hrty1MP4FSuu2Ztiq9MC1hMb7A0DV6m9i5vp7QcfYDt80MzAwgNbW1qDXK+nv70dLS0vgqeDgwYOi2rBu3bqQY4TjJZ39u5aMIITLmlm/H1KoAQgBdcYugB2OVG8AKd9ALIuAWunz/zIAAHRuAaRMD8KHSgClFOaZ8yip2iSBZeJD1CpAowY1BadwL2+4G/NjnwWlMAmnC/mKZDP/5RiNoSFXBoMBBoMBZWVl6O/vR09PT8T+LBZL0F88j26R3EjNt/0ALrsx475/wevGkmUEq9t/M6Pjxgsp14POmZK+Xtn9rYRFPJlrVkK9XgizRige+0ZK/azE6XQGfees1ti1IbKJaC6fReM1FJasypniLfHArW0Kcf3wygIUl7bCumy3r9ju5WxGEvFvaWmByWQKvC4rCx9h097eDr1ej66uroiuIQBobGxESUlJ4O/AgQNJ20Y4HoUlTVg0XU+6j0ShlMJmvIYCXUPGUzfHC7/9HlCHM2S3ZKL4BT2SqMc6nyh0ag5cuV70RG4HDhwI+s61teVGfVs/0cR/fuwEyhvuzrBF6YVftwreFfH+wNeuH8N7oRfIAEnEv729HfPz80GvV9LZ2Rl0g4iWanV0dBRmsznwt3///pg23Hdf5KiPxk3PghAOjsWZmP2IwZJ5BLxCg6Zbfykj4yUDIQRchR50bkG0PpcLvZiC74dabIDXC/4794vaLwDs378/6Ds3ODgo+hjphI5OgUSo2Wsc+xzljfkl/qS5FnRkMiRqraLpfsyNfBRw/UTThXxDspl/eXk5ent7sW/fPrzwwguBcx0dHTCZTGhpaUFHR0cgImh5m5XodLqgP7U69ixvbi56OoeWjl1wWCfiSvecCg7bFLzuJazu2JXWccSAf+Q+ULvDVwgly6FuN4QZIxTffzgtu6TVanXQd06rlX5PRrwIRjNISTGIgg855/U44bBNoUAX/qkgVyE8D9JQAzocvJ6nUGuhLqrG4oLPFR1LF/IJyTZ57d27FwDQ1dUVdPz06Ztl1nbtSp8gXr58OewThx+OV2F1+05cH3gBusq2tMQ7OxZn4Fyax5q7flfSNA7xQjgCrlwPOmsEqauS2pyIUEEAHZsGV1PhW+xjBEGjxPebps5CX7s5J76PicJvbIX3wjVwq+uDjvujforLWmPqQj4h201e8aAqKEWRfjUssxdFXwB22KbhtM1gzZ2/A47LnY3W/LfvB5wuULtDalPCQikFHZsGdMVQbL9HanOyEmFoFCSCv984+hnKGu7KsEWZgbulBcLl0LW8ylXbMHvjQwkskhbZin+827gbNnajSL8K1rmLormAlixjcH0948+1iApCCBSPfQN0cjbuKl+ZwjfjnwI0aihFju7JFyilEG6MR6zcNT/2Wd4t9vohhRoQjRrCvCnouKqgFApVIZYsYyy9gxx48803427bsLEbq9t/E9b5y3DZk1/wpIIX1vmrEDyOnBR+P0RXDBQVphT6KTZUEEBHJoHCAiif+KbU5mQtdMboi+9XhX73Fk3DUBWWQ6EqlsCyzMBtXANhMDRzZ+XqhzB7/f2EdCHXka34Ly4mVoxFVVCGNXf+LuzWcSyahhNK/wz40jaYZy9AoSpG69bfBuFCF9tyCcXj20AtNtAl6d0/1OsFHZkEKdGyGX8MhIsGcBvCF2eZGz6Oyub8/vy4ja0QLoSKf9WqbZi58X7CupDL5IX4J1PMpb6+PnajFfDKAqy9+7+CEA7mmfNwO2OnPKBUgN0yAdv8Vay649ex6o5fTXjcbITwHJRPPgxhYgbUI130D3U4IdwYBynVQfFo5tM35FoxF+GSAdwt4cOmZ4ePo6I5vytZcZVloNZF0BXlSTXFNYAgoLpSL41hEpA7K41ROHnyJHQ6XULXbNqU3NZ1Qjisbv/PcDlMGD7797CDQKOthVJdEhQhQakA19I87NZxKDWlWHvP7+fUwm48kKICcNXloKPTwKq6jEaIUEpB502gZhuU3/umzxUlAXv27MGePXswNjaGxsbsDo+kTheoZRFcZWnIOZd9AV73Egq04dcC8glu/SoIl2+Av3190PGq1u3Q2CYiXJV/5MXMPxnefTe1fPMqjR5r7/6vaLrtl+FcnIVp6iwss4Owzl2GeeYCTFNfwuNeROudv4OWjp15J/x+FI/cCxQXZHQBmLpcoDcmAI8Xyue+I5nw5xrCtRFwa8InLpu5/h6qVj+UYYukgd+0Ft6vroQcr137HXx04lLWBTKki/xUpAyiLqzAmjv3gFIKr3sJVPCA41VZm6YhHSge3wbPK32gM0agKn2lJ/05+anJAq6mEorO/IxKSRfCpevgNoR3+UwPvYsND/7fGbZIGsiqetCX3wF1uYMWvlUFZeB5Naxzl6Cr3CChhZlBtjP/u+4SN5aZEAKFqghKTYmshB/4+r0/tR1wu0Gn59Iyc6IOJ+iNccDlhvLZR5nwJwilFMLV4bAzf+fiLLxuBwpLstttJRaEI+DaWiFcuBZybuuWzZi88oYEVmUe2Yq/zZZ4cRJGZAhHoHj6EV/q5+EJ0VJAUK8AYWoOdGIGikcfhPKpzrBpCRjRoaNTIDUVYUM8p68fQ1VLpwRWSQffvgHegYshx7mi1ZgfOyFpTY9MIVvxv3DhgtQm5B2EI1B+/2GQcj2E4QnQBUvSTwGUUghGM4Tro4BSAcVz3wXR507+nGzD+9VV8LeuDXtueugoqlu3Z9giaSH11T4X4opQ5YsXL6Os/m7MjXwkkWWZQ7biz0gfikfuhXLHt31hmIYxUJM17psAFQSf6A+NAm43lDu+A+Vj3wDh8i/XTCYRBofAtbWGHLdbxgEKWUT5LIcQAu7WtfCeC134rVv/GCav5P9mL9ku+K5MKMcQF6JSQvlUJ6jdAc87n4DOGUGKCkG0RUCBJqiCFKUUsDt8m8ZsSyC6Yiif+RZLyiYSwvQ8iK4IpCC0fvH4pddRd8v3JLBKevj2NrhffgeKu28LHOvq6oJCoYDDNgXn4izURZUSWphe8mLmn8wmr6NHj6bRIoYfUqCB8smHofylx8Dft9kn8MPj8F4b/vpvBMLQKKjRAlJYAOUvPQblEw/ljPDnwiYv78AguM2h0SuC4MHM9WOobn1EAqukh6sqA+E5CJOzgWNHjx4FIQT1tzyJ8UuvSWhd+smLmX8ym7wsluQKkjOSg/AcSHU5uKfzy7ec7Zu8KKUQzl2B6vd+EHJufuQTlNZ2QKGUb21j/t7N8H56NvC99OtCzdpH8cVrv4JVd/x6zubgikVezPyTobo6u4qkMxjpgF4fB6mtDFvGcvziq6jf8KQEVmUP3KY1EK4OB9I9+HVBoSpCecNdmL3xgYTWpRfZiv+WLVukNoHBSDve0xfAb9kYctxhm4bLviCLzUzRIDwPfvMGeAd8ZTiX60JDWzdGLxyRyrS0I1vxf+utt6Q2gcFIK9Th9BVqX78q5NzYhZdlP+v3w991G7wnzoFSGqQLRaWrwXEKWOdDI4LyAdmKP4OR73hPXgDf0QbCB2+K8zitmL3xIWrXfVciy7ILoteClJX4dpCvoPn2/4QbZ/4+80ZlANmKf0dHh9QmMBhpgwoU3hNfgr/79pBzY4O9qLvle2mpS52rKB7ogOe9L0J0oazhbjisE1gyj0hkWfqQrfi73fm/fZshX4SrwyB1lb59FcvwehyYuPIm6jc8LZFl2QnX2gh4PHBNTAcdJ4Sg+Y5fzcvZf16IfzJx/ufOnUujRQy5kK1x/t6PT0Nxf+jT7cTlX6C65WEoVEVhrpI3ikcfwJeffR6yG71y1TdgmbsEu3VSIsvSQ16I/8mTJzE4OIg9e/ZIbQpDZuzZsweDg4P44IMPpDYlgDC3AGqzg2sOTtng9Tgxdv5lNG56TiLLshuusRbgeQiXbwQdJ4RDS8dv4toX/0caw9JEXoh/Mnz/+9+X2gQGIy14+09A8c07Q46PDfaiqqUTqoLQSl4MH99/9hl4/uMjUGHl7P+bcNsXYJo8I5Fl4iNb8T9+/LjUJjAYoiPMGiFMzIDbFJzB0+20Yvziq2i+7Zclsiw3+PjieXB1VRDODAYdJ4Rg3b0/wpUTPwMVvBJZJy6yFX+j0Si1CQyG6Hhefx+K74ZmQb0+8AKaNj0LhZqlxY6G0WiE4rsPwtN/AtS2FHSuuGwNSqo2YeLy6xJZJy6SiX9PTw96e3tx6NAhGAyGqG27u7tFH7+8vFz0PhkMKfFeNAAcAb9iU9ei6QYWJk6jjm3qikl5eTlIcSEU2++B+7X+kPMtW36IkXP/Crcz93ODSSL+BoMBQ0ND6Orqwt69e7Fv376Ibfv7+zEwMCC6Dffff7/ofTIYUkG9XnjeOg7F974ZfJxSXPn0z7D27t8Dx+VFHse04tcFbvMGwCPAe/J80HmlWofmzb+GS8f/KOcLvUsi/gMDA2htbQ16HQ6TyQQAaGkJX3Q6FV5/PT8e3RgMAPD0fQZuYyu4iuDF3Mmrb0Gp1qKsPnQBmBGKXxcIIVA++x14PjwFYWwqqE3t2u+C8CqMX3xFChNFQ7KZ/3Ii+d/7+/vR2Rm7tqjFYgn6czqdotjJYETC6XQGfeesVqtktgiGUQhXbkDxyL1Bxx22KQyf/Qesvz/ykzUjMqRADeUPHoP7X98O8v8TQnDLA/8DY4OvwDI7GKWH7EYS8W9paQnM6gGgrKwspM3AwEBcwg8AjY2NKCkpCfwdOHAg5jV33HFHvOYyGCEcOHAg6DvX1tYmiR3UYoO7tw/KX/puUA4fSgUMfvg/sfbu34dSnVitCzmzUhe4mgooHn0Arr95FdR+s96vQlmIWzsP4ML7P8biwvUMWykOkoh/e3s75ufng16Ho7+/H729vTAYDOjp6YnY3+joKMxmc+Bv//79MW3gONkGOjFEYP/+/UHfucHBzM8AqdMF19++BsXj20LcPcNf/hMKdA2oaLo3wtWMcITTBX7TWijub4frhVcCef8BoEi/Chu/+T9xrm9fTu7+lWzmX15ejt7eXuzbtw8vvPBC4FxHRwdMJhPa29vR1dUFvV4fsz+dThf0p1aHFq5YSToWkRnyQa1WB33ntNrMhlBStwfuf3gd/N23g98QvCY2c/19zA1/hPX3/veM2pQPRNIFvqMNinvvgOuvXwY13XTx6So34JYH9uPLd34fjhy7AUi2/L93714AoYXUT58+HfS6s7MTQ0NDGbOLwch2qMMJ99/9O7i21qDi4wBgmR2E4dRfo/2xv2ZZO0WG37IR0BXBdfhlKJ97FFyTL31Gae1mrL/vD3DmP/4L2rb9BCVVocVzshHZ+j4ee+wxqU1gMBJGmJqD6y9eBL91ExTfCK5GZ565gAvv/xi3bj/IUjgkSSxd4NetgvLXvg9371F4jn0OKggAgNK6Dtz2yP/CpY/+ENcH/haC4MmEuSkhW/H/4osvpDaBwYgb6vXC897ncP/TG1A+952Q0oxzwx9h8IOf4vZv/SmK9KukMTIPiEcXuOpyqH73l0Fti3D91UsQpuYAAEX6Zmx54u/gdS/i9Ou/CcvsxXSbmxKyFH+n04mPPvoop0JCnU4nfvKTn+SUzQCzO9W+qUDh/fIyXH/+T6BLDqh+7wfg6qsD5wWvG0Mn/wrXz/4d2h/7SxSWNKXFjnSSTXbEqwtEqYDyiYeg/M4DcL/4Nlz//CaE8RnwCjXW3PW7WHffH+DqiT/H2Xf+GxYmTie0ISxTnwehObxNzWKxoKSkBGazGTpd/OFsFosFzz77LP7t3/4toeukJNn3KjVysXtsbAyNjY1xtY+nb2pdhPeL8/AODIJrqgG//V5wZSVBbYwTp3DtxP9GedP9WL35N8DxyvjfYJx2ZIJssiMZXaCUQrh8A973vwAIAX/3beDaWkFUSixMnsHYhSOwLVxDZfM2VK3eBm35ehCOj9hfqp9HvNfn5cw/nqIux44dE6WfTLaJh3j7yUW7s83mSH0l0z8VKISpOXg+OAnXX72E8T/8K0CpgOq3n4Vyx3cCwu9xWjE2+CpO/vtv4Pjr/x/atv0YrVt2hxV+Md5nNn3msfoQw45kdIEQAv6W1VD91g4oHv8Gzrz+Nlx/9g9w/eMvoB3msfH2P0DH4z9HkX4Vbpz9B3z2cjd+8VffxZXP/gyTV9+GzTgEr8cRYbTk30tMaA5jNpspALpu3Tq6YcMG+hd/8ReUUko3bNgQ87rnnnuOms3mqO1i9ZPJNv73KobNYtkUTxsx7c5km3jtrq6uphs2bKCtra2B9tH6F5wuah4eo/fXr6bW905Q1y/ep86/fJE6/qiHOn/+CnUfP0W9s0a6sW0DdSzO0YXJs3T80i/olc/+Nz35779BP3t5Bx06dZguWcZjvg8x/m0y8ZmL9R0Rww4xdGHDhg1U8Hqp98YEdR/9lDoPH/H9+z7/InW92k9d731O//t3ttPpT3vptfd/Rs+++Xv0syPP0k/+7Un6xb//Oj399n+nv/1MA7346fN0bPBVOnXtKJ0b+YQuTJ6l1rkrdMkyQV12E924Mbwd8X6eOZ3piX7tsTp27Fjg8cZiscDr9cJiiZx1z2KxwO12R20DIGY/mWzjPyfGWGLZFE8bMe3OZJt47S4pKcGJEycwNjaGjRs34tO//GUc7K7Gh3/2BEAFgNKvv6cUFBTgAMoR7Pm1Cnx+8Q9BlEqgUAFoAcHjBK5RYIjgd55U4LNf/AiF2jpodPUo0q1G852PQV1UAQBw09jvQ4x/m0x85mJ9R8SwQwxd8Hq9sNpsQGkRcNdG4K6Nvu+A2QZhdh50wYpKqgd/haBksQq6xWLAvhaUCnATB1zUhqdLH4Tn2EXM8mfh5dzwEje8+Pq/xAUvcePAL+tx9M+WJfIjAAHBksMXgURjePRz2ufv97MyGAwGI5jR0VE0NDREPJ/T4i8IAiYmJqDVakEIiX0Bg5EmvF4vrl27hjVr1oDnIy/mMRjphlIKq9WKurq6qGlsclr8GQwGg5EceRntw2AwGIzo5PSCbyR6enpQVlYGg8GArq6usMVgIrWJ59pss9lkMuHAgQPYsWNHxAyp2Wi3P1Pr0NAQtm/fHncKb6nt7u3thV6vR19fH3bv3h31O5LI96m7uxtHjhxJ/c0laYf/e7R161bo9fq0/HvEY4f/8zUYDNiyZYvo3+l4fi+Z0IF47QDS9BuJGguUgwwNDdG9e/cGXnd1dcXdJp5r00EqNlNKaV9fH921axc9ffp0eg1NwKZYbfr6+ujBgwcDbdrb29NsbWyb4mmzsLAQ+P8jR47QXbt2pTSOn76+PtrS0hL/m0iAeO3o7OyklPre4/L2mbRjYWEh8L2glKbFjli/l0zpQCw70v0bybuZfzwlIiO1ibe8pNikYjPgy3za19eXXiPDkIrdnZ2dgVmMf4aXKVKxW6/XB2bn/pl/KuMA6S1XGq8d/f39aGlpgcFgQFlZGQ4ePCiJHXq9HocPHwbg+zx27Nghuh2xfi+Z0oFYdqT7N5J3Pv94SkRGahNveUmxScVmKRHL7sOHD2PfvsyVGhTD7v7+flHG8feVTpdXvO/XL/z9/f1Riyel0w4AOHjwIPr6+rBv37646nmITTb+1tLxG8k78Y+nRGSkNvFcmw5SsVlKxLD70KFD2L9/f8bWVuKxKZ42nZ2d2L17d9QfpNjlSpMl3u9Oe3s79Ho9urq60nIzjvfzMBqN6Ovrw+HDh6M+WaWLbPutpes3knfiH0+JyEht4i0vKTap2Cwlqdrd29uLzs5OtLe3o7e3N73GxmlTrDY9PT04dOgQAAQWJVMZB4i/XGmyxGNHZ2dnkOCl42Ycjx2nTp0K3Az9341Mk02/tXT+RvLO57+8ROTJkydDSkQeO3YsYpto12arzYDvC7LcL5mpL2sqdhsMBuzcuTMwy/KX7cx2u5955hn09/ejv78ffX19UaNz4hmnvb0d7e3tcbmR0v1+Ozo6AjehdHz347Fj165dOHToUODmkw6ff6TfSzy/tUzaYTQa0/obYZu8GAwGQ4bknduHwWAwGLFh4s9gMBgyhIk/g8FgyBAm/gwGgyFDmPgzGAyGDGHiz2AwGDKEiT+DwWDIECb+DAaDIUOY+DMYDIYMYeLPYDAYMoSJP4PBYMiQvEvsxmAwcheDwRBIcjc0NBSzTCYjeVhiNwaDkRWYTCb09/cHMlcODAzg8OHDgcpeDHFhbh8Gg5EVvPzyy0Epi6PVSmCkDnP7MBgMyTGZTCEVs9isP70w8ZcxBoMBhw8fxtatW3Hy5Ens2LEjKyqEMeSHv47x7t27A/WEjxw5wvz9aYSJv0wZGBjAzp07cezYMej1enR2dqKjowNDQ0Po7e3NWFUtBgPwFUnX6/WBmb7JZMLOnTujVkpjpAYTf5nS3d2NgwcPQq/XA/DVozUajTAYDDAajdIax5A9er0+qMQhQ3zYgq8MGRgYgMFgCJndl5WV4fDhw4EC2gxGpljp7wfAJiFphom/DDEYDGF9qXq9HuXl5czPysgo/f39Id85/xoAI30w8Zch4RZ1BwYGYDKZ2IIvI+MYDAacOnUq8NpkMuHgwYN44YUXJLQq/2GbvGRKT08PgJuP2y0tLTAajejr68PWrVvZgi8jY/T09ARm/gaDASaTCbt27QqsRzHSAxN/BoMhKSy6TBqY24fBYEjGwMAAczVKBBN/BoMhGZGCDxjph7l9GAwGQ4awmT+DwWDIECb+DAaDIUOY+DMYDIYMYeLPYDAYMoSJP4PBYMgQJv4MBoMhQ5j4MxgMhgxh4s9gMBgyhIk/g8FgyJD/H7lra5ijk15CAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "g = plots.get_subplot_plotter()\n", - "\n", - "g.settings.legend_fontsize = 10\n", - "g.settings.axes_fontsize=10\n", - "\n", - "markers = {\n", - " r\"\\alpha\": 0.0,\n", - " r\"\\beta\": 1.0,\n", - "}\n", - "\n", - "line_args = [\n", - " {'color': colors[i]} for i in range(len(versions))\n", - "]\n", - "g.triangle_plot(\n", - " chains,\n", - " filled=True,\n", - " legend_labels=labels,\n", - " legend_loc=\"upper right\",\n", - " line_args=line_args,\n", - " contour_colors=colors,\n", - " markers=markers\n", - ")\n", - "\n", - "ax = g.get_axes(ax=(1, 0))\n", - "ax.minorticks_on()\n", - "ax = g.get_axes(ax=(1, 1))\n", - "ax.minorticks_on()\n", - "ax.get_yaxis().set_visible(False)\n", - "g.export(\"./plots/psf_leakage_prior.pdf\")" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "0f1ec511", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Predicting xi_sys for No leakage correction\n", - "Predicting xi_sys for With leakage correction\n", - "Class created. Don't forget to load your rho and tau statistics and define your prior and your likelihood.\n", - "Predicting xi_sys with eta for No leakage correction\n", - "Predicting xi_sys with eta for With leakage correction\n" - ] - } - ], - "source": [ - "# Check that the prediction for the xi_sys is consistent with the (alpha, beta, eta) fit\n", - "xi_sys_samples = []\n", - "for i, root_cosmo_val in enumerate(versions):\n", - " print(\"Predicting xi_sys for \", labels[i])\n", - " samples = chains[i].samples\n", - "\n", - " path_rho = f\"rho_stats_{root_cosmo_val}.fits\"\n", - " path_tau = f\"tau_stats_{root_cosmo_val}.fits\"\n", - " \n", - " psf_fitter.load_rho_stat(path_rho)\n", - " psf_fitter.load_tau_stat(path_tau)\n", - "\n", - " xi_sys_sample = np.array([\n", - " psf_fitter.compute_xi_psf_sys(sample) for sample in samples\n", - " ])\n", - "\n", - " xi_sys_samples.append(xi_sys_sample)\n", - "\n", - "xi_sys_samples_eta = []\n", - "psf_fitter_eta = PSFErrorFit(\n", - " rho_stats_handler, tau_stats_handler, path_cosmo_val+'rho_tau_stats/', use_eta=True\n", - ")\n", - "for i, root_cosmo_val in enumerate(versions):\n", - " print(\"Predicting xi_sys with eta for \", labels[i])\n", - " # Load the saved samples\n", - " samples_eta = np.load(f\"{path_cosmo_val}/rho_tau_stats/samples_{root_cosmo_val}.npy\")\n", - "\n", - " # Load the rho and tau statistics\n", - " path_rho = f\"rho_stats_{root_cosmo_val}.fits\"\n", - " path_tau = f\"tau_stats_{root_cosmo_val}.fits\"\n", - " \n", - " psf_fitter.load_rho_stat(path_rho)\n", - " psf_fitter.load_tau_stat(path_tau)\n", - "\n", - " # Compute the xi_sys\n", - " xi_sys_sample_eta = np.array([\n", - " psf_fitter_eta.compute_xi_psf_sys(sample) for sample in samples_eta\n", - " ])\n", - " xi_sys_samples_eta.append(xi_sys_sample_eta)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "18c7071a", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAm8AAAHPCAYAAAAFwj37AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAbkdJREFUeJzt3Wt0m/dh5/nvgzvFC0BSkmVLiiPQ98ipTUqO125i1ybtenuZPQkp5cz2dE7amnzBs+nOTI646kzSTrInDtn0xWQPmxDKbKfTdhuJTOo506kTE3LjuHYdS4SVxPGtIWRHkqMrCIKkiPuzLyAgpASCF4C4kL/POT4WHzx4/v8HJIgf/1fDNE0TEREREakJlkpXQERERERWTuFNREREpIYovImIiIjUEIU3ERERkRqi8CYiIiJSQxTeRERERGqIwpuIiIhIDbFVugK1IJ1O88EHH9DY2IhhGJWujoiIiGxApmkyMzPDLbfcgsWydPuawtsKfPDBB+zevbvS1RAREZFN4MyZM+zatWvJxxXeVqCxsRHIvJhNTU0Vro2IiIhsRJFIhN27d+dyx1IU3goYHh5meHiYVCoFQFNTk8KbiIiIrKvlhmgZ2tt0eZFIBLfbzfT0tMKbiIiIrIuV5g3NNhURERGpIeo2FRGRvFKpFIlEotLVENlw7HY7Vqt1zc9XeBMRkRvMzs5y9uxZNLJGpPQMw2DXrl00NDSs6fkKbyIiskgqleLs2bNs2bKFbdu2aX1LkRIyTZNLly5x9uxZbr/99jW1wCm8iYjIIolEAtM02bZtG3V1dcueb87NY85Hl3zcqHNh1C9/HZHNYtu2bbz33nskEgmFNxERKZ2Vtril3z5N6vW3wDRJnzkPgGX3Drj2fOv9d2PtuGfd6ilSa4ptzVZ4ExGRolju2oNx682YUzOkv/08pNIYe3ZiaduN0ViPUeeqdBVFNhQtFSIiIkUx6uswQ9Mkn3sJwjMwM0f6xBsk//4HmKFI0V2mgUCAnp4e2tracseCwSA9PT309PQQDodXfJ22trYVn5/l9/tpbm5e1XM2koWveykEg0HGxsZKes21CofDDA0NVboaq6bwJiIiRTGnZ0h+7xWYj4LdBg47tHpgPkryey9jRmaLun57ezsHDx6ku7ubvr4+ALxeL4cPH+bw4cN4PJ4VX8fr9a66/M7OzjU9rxb5fL4bjo2Pj5e0jMHBQbq7u0t6zevlu498PB4PnZ2dVRMmV0rhrYDh4WHuuece9u/fX+mqiIhUrfS778PcVWhuyo1zMwwj8/XsVdLvvFeScgYHB/H7/fj9fiDzwbvS4CYrMzIycsOxUgbXsbExurq6Sna9peS7j6W0t7eXPKCuN415K6C/v5/+/v7cdhUiInIjc2YOE7AYBgtXhTMMg7SRebxURkdH6enpYXJy8obHhoaGFgWN5Vp3BgYG2L9/P8FgkM7OTtrb2+nr66Orq4sTJ07Q19d3Q3DJduFmW4+WOn9gYIC2tjYmJyfZv38/oVCI3t7evGVeb2xsjFAoBEBLSwvd3d15783v99PX18fIyAiDg4OMjo5y8uTJG455PJ685V5fjsfjIRwO4/P58Hq9dHZ25u53YmICj8eTtx6BQIDHH3+cI0eOEAqFGB8fZ3R0NO9rPj4+vihYLffclXxPr7+3UCh0w30Ay35vg8FgzbSwKryJiEhRjMZ6DLhhQV/TNDHMzOOl0t7engtNAwMDuePZbrLsh3v2wzlfOMqe39ramju/q6uL8fFx2tra6O7uxuPxMDg4uChohMNh/H7/ouCY7/xAIEAwGGRwcBCfz5cLbkuVuVAgEODo0aOMjo4SDAYZGBjIBazr762zsxOPx0NLS0supOU7lq/cwcHBG8rJnt/b27vo9c4GmkKv8b59+/B6vXR3dxMOhxkbG8sbtLL3svD6Sz13Jd/TpV7T6+9jqe9VVkdHB4FAoGbCm7pNRUSkKJY7boX6LTAVgWsBzjTNzNeNW7Dc+eGSljc4OMjJkycXjVOamJhY9MHb1taW617NZ2JigitXruS6YQcHBwFyYScQCNwQNHw+3w1hK9/5Xq+XcDhMOBxmfHycffv2FSxzoaNHj+a6Fb1eL6Ojo8veW3t7+w3dxwuP5Ss3XznLWa4eK+nCXmqySL7nruR7upLXdGEZS31vW1palq17NVF4q0KJ6DRXp88s+V8iOl3pKoqI5BjuRmxPPgx1LkgkIZ6AK2HY4sL2xMMYTWvbAmih6z9sR0dHF7W8dXR0EAwGc19PTk4u2eqWPR8ykxGy3Wo+n4/JyUl6e3tzxwKBQO45hw4doqenJ1fuUud7PB76+vo4efIkR44cydUjX5nXa21tXdSyFw6HV31vK7nXfOUs/He+AfzL1aOYAJTvuSu570Kv6cL7WO57GwqFaqbVDRTeqtKVM6/w7it/xjsv/yknnv09Tjz7e7zz8p/y7it/xruv/BlXzrxS6SqKiCxiveNW7P/7b2Bs9WB4GrH+2gM4fve3sd5xa9HXDgQCjIyMLAprXq93UStLtotsbGwMn89HR0fHDR/m2e5Mn89Hb28vra2t+Hy+3Af8vn37cl2j2bAYDAZzzxsbG+PAgQMMDQ0xNDS05PkAJ06cyHVhLqzj9WVe79ChQ0BmrNfY2BjBYHDJe8vWa+FSF/mO5Ss3XzmQ6Zr0+Xy5emevd+zYsWXr4fP5cq2NR48ezdvK5vV6FwWyQs9dyfd0qdf0+vso9L2CTDCspfBmmNp1eFnZCQvT09M0NTWte3mJ6DSJWIR0Ks47/5R5A975q4ewWB0A2J1N2F2aQCEi6yMajXL69Gn27NmDy7X8Aru57bGSKRLfyXRr2T/ZCbbMtj+bcXusjo6ORa1J2fFkm10gEODkyZM3jEertJ6enhV1HZfKUu+xleYNTVioQnaXG7vLTSoZw2rP/MKra9qF1eascM1ERG6U2x4LMBx2AJJ//2Lu8c22PdbAwADHjx9f1Hrl8/lyrV2bWXt7O0ePHq10NRYZGxvj8OHDla7Gqii8VchKNnLGqV5tEal+2e2xlrLZtsfq6+vj2LFjuZa3hV2fAocPH851XVdatmt3NWMIq4HCW4WsZCNnfqW0W5KIiKwHo75u03WLFuL1eqsimFSrfMt4VIrH41n33R7Wg8JbheT+Ul0wRsT2W48uGiOSrmD9REREpDopvFVI9i9VM5HMjRExWj0Y9gXfkmSsQrUTEVm57CSrpWiSlUhpKbyJiEhRrpx5hfM/+x6mmSZyKTNxoWnb3RhGZtzujtueZMftT1WyiiIbisKbiIgUpXX3QzRt37toeaPbH/zDRcsbiUjpaDqjiIgUxe5yY3Pk30XB5mhQl6lIiSm8FTA8PMw999zD/v37K10VEZGqFZ+f4o3jf8QbL/xHIpffInL5Ld544T/yk/EB3jj+R8Tnp4q6fiAQoKenh7a2X87ADwaD9PT00NPTs+R+mfmu09bWtuLzs/x+P83Nzat6zkay8HUvhexuFaUoPxAI0NzcvOrv6WqFw+FFu1ZUmsJbAf39/bz55pucOHGi0lUREalayfgsieg0FosDw7BhGDZsjgYMq4NEdJpkfLao67e3t3Pw4EG6u7vp6+sDMstxHD58mMOHD69454L29vY1bYHU2dlZU1snFcPn891wbHx8vKRlDA4Ormp5joXlX1+/9vZ29u3bt+a65LvffDweD52dnasKnetJ4a0KTcdjnJ2d4ezcLJfSTi6lnZydm80cm51hOl6aWaiJ6HTeje+z/yWi0yUpR0Q2B4vNgWGxYlisWG11WK2l3RVmcHAQv9+P359ZXsnj8WjLqRIbGRm54Vgpg+vY2BhdXV2res7C8vPVrxiruV57e3vJg+xaacJCFXr1wgc8f+Z9UukUb8TuBmDvT05htWTWgHti9608uXtP0eVohpiI1JrR0VF6enqYnJy84bGhoaFFH/TLte4MDAywf/9+gsEgnZ2dtLe309fXR1dXFydOnKCvr++G4JLtws22Hi11/sDAAG1tbUxOTrJ//35CoRC9vb15y7ze2NhYbvP0lpYWuru7896b3++nr6+PkZERBgcHGR0d5eTJkzcc83g8ecu9vhyPx0M4HMbn8+H1enObzvf09DAxMYHH48lbj0AgwOOPP86RI0cIhUKMj48vuU/o+Pj4osA0NjbG008/zfHjxzl58iSDg4NMTEzg9/sZGRnhP/yH/8Dv//7vMzExwcmTJ2+oX1Y20B89enTJsq9/DUKhUN7rLfczEAwGK94Sq/BWITPxaWYTEUikSFgz40Hsc2fBbmVPg0nv3XdgMW188dK7APTfcy91jswK5o0OR0nqoBliIlJr2tvbc6FpYGAgdzzb/ZUNbNkP3aW2PfL5fLS2tubO7+rqYnx8nLa2Nrq7u/F4PAwODi4KGuFwGL/fvyg45js/EAgQDAYZHBzE5/PlgttSZS4UCARyASQYDDIwMJALWNffW2dnJx6Ph5aWllxIy3csX7mDg4M3lJM9f+HuBwu7mgu9xvv27cPr9dLd3U04HGZsbCxveM7eS1Z3dzcjIyO5ug8ODuLxePB6vYyMjOD1enPlZ+8t3+4M2ednx9NdX/ZSr32+6xX6Gejo6CAQCCi8bVavX3yFl859l3Qqxc88pwC47c1TWKyZ1rWP7/x19m17BKeR2WdhZ30DW5xbVl1OoT1UrYCtbivpegtWeyYY1jXtwmorbVeHiGwO6WQcM50CIJWcJ51KrEs5g4ODdHR0LPqQnpiYWNQd19bWht/vXzK8ZVuSsi02g4ODALmwEw6HbwgaPp+P8fHxRRvM5zvf6/USDocJh8OMj4/nNj1fqsyFjh49mrsPr9fL6OhoriVoqXvLd48Lj+UrN185y1nuNV5JF3a+iQXZlsL9+/czMDCA3+8nHA6valzccmFqJa99VqGfgex+tZWmMW8Vcv/2h/i9vZ/jd+/6LLuT29id3Mbv3vVZfm/v5/i9vZ/j/u0PlaSc9NunST77Asm/O078a39D/Gt/Q/LvjmeOPfsC6bdPl6QcEdm8ssuBpNNxTDOJaSZJxmcxU/GCy4isxvUfoqOjo4ta3jo6OggGg7mvJycnC2423tHRAWRac7LdZT6fj8nJSXp7e3PHAoFA7jmHDh2ip6cnV+5S53s8Hvr6+jh58iRHjhzJ1SNfmddrbW1d1LIXDodXfW8rudd85Sz8d76B+cvVY63BJtsFDHDgwIFlx6Hlq99yZRd67Rdeb7mfgVAoVPFWN1B4q5hGh5ub63ezY8tOnNhxYmfHlp3cXL+bm+t30+gozbpIlrv2YPvfHsP2W49i7NiKsWMrtt96NHPsf3sMy13Fj50Tkc3NUdfM3se/zN7H/m+att5N09a72fvY/829XYPsffzLOOqKW2YjEAgwMjKyKKx5vd5FrSfZrq+xsTF8Ph8dHR03fEhnuzN9Ph+9vb20trbi8/lyH9z79u3LdY1mw2IwGMw9b2xsjAMHDjA0NMTQ0NCS5wOcOHEi1823sI7Xl3m9bKve0NAQY2NjBIPBJe8tW6+FS1jkO5av3HzlQKYVzOfz5eqdvd6xY8eWrUe2tWp8fJyjR4/mbWXzer2LAmBWdhxetst3YXDKll+ofsuVvdRrf/31Cn1PIRNYqyG8GaZpmpWuRLWLRCK43W6mp6dpairtOLBYdI6h//EZAA791l/gdNXnHrsau8pnn/sLAL721GfW1G2aZSaSJP7yvwNg/zf/atEeqqlkjJ+MZ34p3ts1qG5TkU0uGo1y+vRp9uzZg8vlWvb87N6mC8fP3vmrhxaNn91sC/V2dHQsag3Kjifb7AKBACdPnsw7bq0W9PT0rKiLeTlLvcdWmjc05k1ERIqSnbkO5MbP/uyH/0/u8c02c31gYIDjx48vah3y+XyLxsptVu3t7Rw9erTS1ViTsbGx3PjFSlN4ExGRomRnri9ls81c7+vr49ixY7mWt4VdnwKHDx/OdV3Ximw37GrGGq4nhTcRESmK3eXedN2ihXi93poKJuW21HIf1czj8axq9ut604QFERERkRqiljcRESlKbtHxJTTYm0o2g15EFN5ERKRIuUXHzTST4cxWe22eu7Fc22rv4zt/nU/s2jwTFkTWm8KbiIgU5f7tD3F7814SqThHfpJZe+3f3PN/Yr+2VEiDfXNNWBBZbxrzJiIiRckuOu6wOplNRAjHrvDO1I9wWl0lWXR8bGyM5uZm+vr6gMzszZ6eHtra2nKr3wcCAdra2nL7b7a1tS15vUAgQHNzc95FZK8/r62tbdnzruf3+2luLm5h4lpW6LVfi+wCydUgHA4vWgC5UhTeRESkaD+69EP+c+DznJ87w+X58zz7s//GV0/+X/z40g+LvnZ3dzcHDhzIhQKv10tfXx+hUGjR/p4DAwO5WYwLN3zPBrqs7Ebqy1m4KftqdHZ2VsUq/OVw/WsLi1/7UhgcHFz3mZ757iMfj8dDZ2dnxcOkwlsBw8PD3HPPPezfv7/SVRERqVqh6CWOvuNjNjGDw+LCaa1j+5adzCUifOsdH6HopaLL6OvrW7S4azgcxuv15lresl9nLfz3cntlytrle21LGVzHxsbo6uoq2fWWspqfkfb29pIH1NXSmLcC+vv76e/vz21XIauX3TZnKZtx2xyRjebUxVeJxEJs23ILM/EwABbDwta6HVyYO8upi6/y2Id+q6gy2tvbCQaDBIPBXDg4ePAgIyMjjIyM4Pf7c60zgUCAnp4eJiYmOHnyJOFwGJ/Ph9frXbTfaXYz9KNHj65oy6OBgQH2799PMBjM7cXZ19dHV1cXJ06coK+v74bgkq1LtvVoqfMHBgZoa2tjcnKS/fv3EwqF6O3tzVvm9cbGxnL7cLa0tNDd3c3Q0NCiumQ3f+/r62NkZITBwUFGR0c5efLkDcc8Hk/ecq8vx+Px3PDaLnztPR5P3noEAgEef/xxjhw5QigUYnx8fMnXf3x8fFGwWu65+cpb7vsYCoXy/ows971d+LNYbgpvm9h0PMZMPE4qFedSOrOf6dm5WazWOACNDgduR3H7nGa3zTHNNJFLmVloTdvuxrg2C22zbZsjshFNx0OAkZtdmpX52rj2ePF6e3sZGxvLhYn29nY6OjpuaDVZ2N2Z3Rw+36Kw2S6w7JiqQl1zPp+P1tbW3DldXV2Mj4/T1tZGd3c3Ho+HwcHBRXXJbnA+OTmZO5bv/Ozm6oODg/h8vlxwW6rMhQKBQC58BoNBBgYGcgEr+7xs8Mi+Fi0tLbmQlu9YvnIHBwdvKCd7/sLXduFrn+2KvL4e2W5rr9dLd3c34XB4ydc/ey8Lr7/UcwuVt9z3Md/PSKHvbUdHB4FAQOFNyu/VCx/w/Jn3SaVTvBG7G4C9PzmF1WIF4Indt/Lk7j1FlZHdNmfhhtW3P/iHizasFpHa5na0ACZpM73oeOZr89rjxTt48CBPP/107oMbMl10Y2Nja9r0fTUfvNmWpGxr3eBgZlZtNuyEw+EbgobP52N8fHzRnqb5zvd6vYTDYcLhMOPj47n9M5cqc6GjR4/muhW9Xi+jo6O5FqOstrY2/H7/ovGB11t4LF+5+cpZyWtWqB4r+Z4tNVkk33OXKy97znKv6cIylvreZrc+qxSNedvgZuLT/GLuDOfnznLeOpX5b+4sv5g7w54Gk96776D/nnu52ZjnZmOe/nvu5d9+tIN/+9EOHrzplhWVYc7Nk748lfc/62yaOttW6pp2YbXXYbXXUde0iy3u3Wxx71aXqcgGcN/2B2lytnBl/gKmaQKZ4HZ5/jxuZwv3bX+wJOVku04XfpAePHiQgYGBRd2h+WRbaBZazQdwR0cHkGnJy5bl8/mYnJykt7c3dyw7Bg/g0KFD9PT0MDAwUPB8j8dDX18fJ0+e5MiRI7mwka/M67W2ti5q2QuHw3R0dBAMBnPHJicnV7UnZ75y85Wz8N/5BvAvV49iAlC+567kvgu9pgvvY7nvbSgUquikFIW3De71i6/w/77xVb755lf5vOe/8nnPf+Wbb36V//eNrzL67n/mwtyP2FnfgNNI4zTS7KxvYFdDI7saGlfcZZp++zTJZ18g+XfHiX/tb4h/7W9I/t3xzLFnXyD99ul1vksRqaQW1zY+fWcv9fZG4ukosdQ8F6+eo8HexME7e2lxbStZWQs/TLNfX9/dlu2GPHbsGJDpPvP5fLnWmuzj2VaV8fFxjh49ekMrz8Lzent7aW1txefz5T7g9+3bl+sazQbKYDCYe97Y2BgHDhxgaGiIoaGhJc8HOHHiRK4Lc+G9XV/m9bKtekNDQ4yNjREMBnPdf2NjY/h8Pjo6OnLj0YLB4KKlLvIdy1duvnIKvbbHjh1bth7Lvf6QaeVbGMgKPXep8hZa6jW9/j4Kfa8gEwwrGd4MM/tnkiwpO2FhenqapqbSdvPFonMM/Y/PAHDot/4Cp6s+99jV2FU++9xfAPC1pz7DFueWVV8/u21NPDbPkeOZv/6efnwQh7MOyCyeaTXtRZVjzs1jzkchmSLxnUxTtP2TnWDLdL8adS7STgs/Gc+Uf2/XIFZbcWPpRGT9RKNRTp8+zZ49e3C5XMuen/09c/nqBUZ+/GWSZpLOD/0r9m7dh9vZou2xVqCjo2NRa1J2PNlmFwgEOHnyZNVtZN/T07OiruOlLPUeW2ne0Ji3Da7R4abR4SZmncOJHYAdW3beEBKLYdTXYdTXYSaSGI5MGUarB8O+4McrGSuqDBGpXtntsQBubtgNwDtTP+adqR8D2h5rOQMDAxw/fnxR65XP51s0Vm6zam9vX7RETDUYGxvLjUusFIU3EREpSnZ7rKVoe6zC+vr6OHbsWK7lbWHXp8Dhw4dzXdeVlu3aXc0YwvWg8CYiIkXJtvDL2ni93qoIJtVqqaVeKsHj8az7bg8roQkLIiIiIjVE4U1ERESkhqjbVEREipLdrWUppditRUR+SeFNRESKkt2tJW2avBXOrIl1t6cFi2EApdmtRUR+SeFNRESK8uBNt7CrvpFIPMY33/oJAAfa7sBusVJns7GrobHCNRTZWDTmTUREipI2Tb7+0x8x/NNTnJ6JcHomwvBPT/GffxLg6z/9Eeki14IfGxujubmZvr4+ILOURk9PD21tbbktiwKBAG1tbbnNydva2pa8XiAQoLm5ecl9Mxee19bWtux51/P7/TQ3N6/qORtJodd+LbK7VZSi/JV+74sVDocX7VpRagpvIiJSlLlEgul4DIfFitViYLUYNNocOCxWpuMx5hKJoq7f3d3NgQMHch/KXq+Xvr4+QqHQos3WBwYGcktKjI+P556fDXRZ7e3t7Nu3b9ly29vb17QFUmdnZ0W3Tiqn619bWPzal8Lg4OCqlucoxfd+KfnuNx+Px0NnZ+eqQudqKLyJiEhJOC1WrIYFq2HBZbPhtFpLdu2+vr5FK+2Hw2G8Xm+u5S37ddbCf4+MjJSsHrJYvte2lMF1bGyMrq6uVT1nPb/3q7lee3t7yYNslsKbiIhUvfb2doLB4KLNwQ8ePJj7MPX7/blNyBd2d/r9fsLhMD6fD7/fv+iafr+fsbExenp6VlSHgYEBxsbGGBoayoXGvr4+xsbGGBgYWFS3rGxdsi0wS50/MDCAz+fLlZFt4clX5vWy5y/cbD27gXz2v+z9trW14ff76erqyr0+1x9bqtzry8n32l7f1ZyvHtmuy+z1Cr3+4+Pji1rdsl3o2S3EsmVlQ973v//9kn3vr38Nlrrecj8D+Y4VSxMWRESkJvT29jI2NkZnZyft7e20t7fT0dFxQ2vIwu7Ozs7OJVfoz3ZtZcdUFeqa8/l8tLa25s7p6upifHyctrY2uru78Xg8DA4OLqpLNkBMTk7mjuU7PxAIEAwGGRwcxOfzEQqF6O3tXbLMhQKBAEePHmV0dJRgMMjAwAChUGbGb/Z5fX19eL3e3GvR0tKS2/g+37F85Q4ODt5QTvb8ha/twtc+G0Cvr0e269Lr9dLd3Z0LX/le/+y9ZHV3dzMyMpKr++DgIB6PB6/Xy8jICF6vtyTf+6Ve+3zXK/Qz0NHRQSAQKHk3usKbbAiJ6DSJWGTJx+3OJuwubd8jsp5i6RQpMw1ANJkknk6X9PoHDx7k6aefzn3oQ6aLbGxsLLep+2qs5gN1YmICj8eTa3EZHBwEyIWdcDh8Q9Dw+XyMj48v2mA+3/ler5dwOEw4HGZ8fDy36flSZS509OjRXLei1+tldHSUvr6+RV2N2Za1heMDr7fwWL5y85WzktesUD1W8j3LN7Ggr6+PkZER9u/fz8DAQK5FbDXj4pb73q/ktc8q9DOQ3a+21NRtWqXi81NEI+doSEZoSEaIRs5xdfoM8fmpSletYsy5edKXp/L+d+nNcd59aYh3Xv5TTjz7e5x49vd45+U/5d1X/ox3X/kzrpx5pdLVF9mw6u123A4n8XSKVNoklTaZScaJp1O4HU7q7faSlJPtOl34AXnw4EEGBgZyXaZLybbuLLSaD9aOjg4g05qTLcvn8zE5OUlvb++iLtusQ4cO0dPTw8DAQMHzPR4PfX19nDx5kiNHjuTCTb4yr9fa2rqoZS8cDtPR0bGoq25ycnJVG6nnKzdfOQv/nW9g/nL1WGuw6e7uzoWqAwcOLDsObS3f+0Kv/cLrLfczEAqF1mXyisJbFYrPT/HG8T/ine9/noemX+Ch6Rd45/uf5yfjA7xx/I82bYBLv32a5LMvkPy748S/9jfEv/Y3JP/uOMlnX8A9EeW25k9y+4N/SEOzl4ZmL7c/+Ifc8dC/546H/j2tux+qdPVFNqxmp4svPfAwX9z/MHd5WrjL08IX9z/MMx/7OF964GGana6SlbXwQzL79fUtLtluyGPHjgGZlhqfz5dr6ck+nm0tGR8f5+jRoze08iw8r7e3l9bW1kXjyvbt25frGs0GymAwmHve2NgYBw4cYGhoiKGhoSXPBzhx4kSum2/hvV1f5vWyrXrZsWXBYDDXrZcdU9bR0UFnZ2euXguXsMh3LF+5+cop9NoeO3Zs2Xos9/pDpoUs35ixbNd5tst3YXAqxfd+qdf++usV+p5CJrCuR3gzTLPIBXg2gUgkgtvtZnp6mqamppJeOxadY+h/fAaAQ7/1Fzhd9VydPsNPxgcwDRs/m878MNzRejOkE5ipOPd2DbLFvbvocrKuxq7y2ef+AoCvPfUZtji3rOlezESSxF/+dwDs/+ZfYdh/2SufSsb4yXjmr897uwax2la/VY45N485H4VkisR3Mn912T/ZCbbMjDajzkXaaSm6HJHNLhqNcvr0afbs2YPLtXzwym6PFU+n+OqpkwB87r59OCyZ96a2x1peR0fHotag7HiyzS4QCHDy5Mm849ZqQU9PT94u5qXeYyvNGxrzVmFmZI6PXGxlS8KGGXgb8yN35B6z2JykjMy3yGpzQcpCMrX0/oEbnVFfh1Ffh5lIYjgy3TBGq2dRSCQZq1DtRDav7PZYAHW2zPtx+I1Tuce1PVZhAwMDHD9+fFHrkM/nWzRWbrNqb29ftERMLRkbG8uNXyw1hbcKSr37Hnz3JT52fkfmwPcniE+8Q/oTpV2dWkRkPT140y18pHnrko83OhxlrE3t6evr49ixY7mWt4VdnwKHDx/OdV3Ximw37GrGGq6GwlsBw8PDDA8Pk0qlSn5tc3qG5PdegfkYU64YGNDa6obpOZI/mMC8KY1R8lJFRErP7XCqW7QIXq+3poJJuS213Ec183g8q5r9ulqasFBAf38/b775JidOnCj5tdPvvg9zV8HTSC6lGQY0N8HVeYjGSSdjWM0kVjNJKhkllVKXoIiUj4ZEi6yPYt9banmrEHNmDhMygW0BwzCw4sBOHfF0HIeZCWyp+AwWw4Ld5cbmaCh/hUVk07Db7RiGwaVLl9i2bRuGoX4AkVIxTZNLly5hGAb2NS6jo/BWIUZjPQY3pm/TNHGk67jntn7mb9/G0RczU5S/8Eg3LocLm6MBR11zBWq8NtlZaKlUnEvpTLfK2blZrNbMxAvNQhOpPlarlV27dnH27Fnee++9SldHZMMxDINdu3ZhXeP+vwpvFWK541Z49ccwNQMmXEtyEI5A4xZcez+K6bQwa8tMFXY17VzzEh7rbSY+zWwiAokUCWtmDTr73FmwW3nxg4v884UQBhbeiN0NwN6fnMJ6bQkBzUITqU4NDQ3cfvvtJBKJSldFZMOx2+1rDm6g8FYxhrsR25MPk/juD2iOXGt5ujINTQ3YnngYo6kBYlcrW8kVev3iK7x07rukUyl+5jkFwG1vnsJitRJPW3lkx2Pc2/IAX7z0LgD999xLnaMO0Cw0kWpmtVqL+oARkfWh8FZB1jtuJeF5kh+O/jFbEjYefeA3cey9MxPcasj92x/i9ua9xGPzHDmXWSD3d+/6LA5nJqA12JuwmnacRmafw531DVXbiigiIlLtFN4qzGiq56fbrwDwa+13YSzY+aBWNDrcNDrcxKxzOMkMvtyxZecNuziIiIhI8RTeNrn4/BTR2cs0JCMARCPnoAYnRoiIiGwWCm9VaioW5fLcLDEzsxTfublZ6hIp6u32km3yHJ+f4o3jf0RsfoqHIpnWv3e+/6PckiR7H/+yApyIiEiVUXirQlOxKJ9/7WWmYvOcNTNjw/4k8BoWw4Lb4eRLDzy86gCXbw/VJLMkotMYFgdxIzNpwupohHSCRHSaZHxW4U1ERKTKKLxVWCh6mSuWCEkjxYvnnmPfzke4mnQxHY/hsFiwZpbypdFmJ2Fm1k2bSyRWFd6W20PVYnOSMjI/ClabC1IWkql4Se9TRERESkPhrYJ+dOmHfOutr3P+2tpoz57+a77/i+d47EOfAcBpseb2L3PZbFjSJvH06vZZ1R6qIiIiG4vCW4WEopc4+o6P2cQMDtOGgcFNdbcQil/i74PfImU+ARS/vlJuD9XmRrh47WB2D9XQFETjoA0Ocsy5ecz56JKPG3UujPq6MtZIRERkMYW3Cjl18VUisRDbXDcTiVwAwGJY2Fq3g/cjU8yn5miyFZ+qCu2hahpAKk06GcNqJgFIJaOQ3rwrqqffPk3q9bfANEmfOQ+AZfcOMAwS5jzmPTux7L0t73PtzibsLnc5qysiIpuQwluFTMdDgIHFsCw6nvnaIGWmiKVTpK8djyaTJMzrr7K8Qnuo2tIO7M4m4uk4DjMGQCo+k5ttanPU1mLBpWC5aw/GrTdDMkXiO34AbL/1KNisXP75cS5+8B3Mlw0il94CoGnb3RjXvoc7bnuSHbc/Vamqi4jIJqHwViFuRwtgkjbTi46nzTRWI06j3UY8nSZ1bUTaTDKRm21ab7evuJxCe6g6GlrZ2/ll5ox5jr44BsAXHunGtYnXeTPq6zDq6zATSQxH5nU2Wj0YdhvbGrrwtH2MdCrOO/80BMDtD/4hFmtmiy+7s6li9RYRkc1D4a1C7tv+IP6fP8uV2AVMTAwM0maa0PwlttY1MXDvx0ml7HzxxW8D8IX2p6hz1K16nbfl9lC1bt9FKnaVWVsmeLiadmrrqiXYXW7sLjepZAyrPTPura5pF9YSdG+LiIislGX5U2Q9tLi28ek7e6m3NRI3ksSMBBfnP6DB3sTBO3vxuneys74Bp5HGaaTZWd/ArobGNS3Qa73jVvj0k/xw53l+sv0yPNqB43d/O3NcREREaopa3iroo9s+xnbHDr7i7yNppPjtPb/Dvp2P0OLaVvKyNsIeqiIiIqLwVnHNzq20pjNdlo/sfGrRZu4iIiIi11O3qYiIiEgNUXgTERERqSEKbyIiIiI1RGPeZN3F56eIzl6mIRkBIBo5B5t4LTkREZFiKLzJuorPT/HG8T8iNj/FQ5HMbNd3vv+j3C4Oex//sgLcBpaITpOIRZZ8XFuKiYisnsKblIwZmeMjF1vZkrBhBt7G/MgdJJklEZ3GsDiIG5nFbK2ORkgnSESnScZnN2V4M+fmMeejSz5u1Lkw6uuqvozlyrn08+Nc/OBFTIu2FBMRKRWFt01uKhbl8twsMTPzYXpubpa6RGrVOzmk3n0PvvsSHzu/I3Pg+xPEJ94h/Yk2ACw2Jykj8+NmtbkgZSGZipf0XmpJ+u3TpF5/C0yT9JnzAFh27wDDIGHOY96zE8ve2/I+d6WtVeUoY7ly3GaUpns+CXd/qKgtxQoFxEQ8QtKSwKjLv9OFWvdEZKNReNvEpmJRPv/ay0zF5jlrZrbE+pPAa7k9VL/0wMMrCnDm9AzJ770C8zGmXDEwoLXVDdNzJH8wgXlT+toOrZJluWsPxq03QzJF4jt+AGy/9SjYrFz++XEufvAdzJeLa60qRxnLlWMj08KXdlqK2lKsUEC8lP4pl5reh6Z6te6JyKag8LZJhKKXuWKJkDRSvHjuOfbtfISrSRfT8RgOiwUrJgCNNjsJE6bjMeYSiRWFt/S778PcVWhuhIvXDhoGNDdBaAqicdD2n4sY9XUY9XWYiSSGw5451urBsNvY1tCFp+1jpFPxolqrylHGcuXkJGMrvl4+hQLitvg+mi0JTIdR9L2IiNQChbdN4EeXfsi33vo6561TADx7+q/5/i+e47EPfQYAp8WaWzPGZbNhSZvE06kVX9+cmctEP2Nx+5phGJgGkEqTTsawmkkAUskopBNF3tXGZXe5sbvcpJKxolqrKl1GKRUKiE6acUJJ7kXdsyJSCxTeNrhQ9BJH3/Exm5jBYdowMLip7hZC8Uv8ffBbpMwnAGtRZRiN9RiAaZqLjpumiS3twO5sIp6O4zAzrS+p+ExutqnN0VBU2SKlpO5ZEakFCm8b3KmLrxKJhdjmuplI5AIAFsPC1rodvB+ZYj41R1ORrS2WO26FV38MUzNgwrUkB+EIjoZW9nZ+mTljnqMvjgHwhUe6cWmdN6lC6p4VkVqg8LbBTcdDgIHFWLyZRuZrg5SZIpZOkb52PJpMkjCvv0phhrsR25MPk/juD2iOXAuCV6ahqQHbEw9j3b6LVOwqs7bMh5uraSdbnFuKui+R9VCO7ll1zYpIsRTeNji3owUwSZvpRcfTZhqrEafRbiOeTpO6Nh90JpnIzTatt9tXXI71jltJeJ7kh6N/zJaEjUcf+E0ce+/EaFK3qMhC6poVkWIpvG1w921/EP/Pn+VK7AImJgYGaTNNaP4SW+uaGLj346RSdr744rcB+EL7U9Q56la9zhuA0VTPT7dndlH4tfa7MFz1Jb2Xmfg0s4kIJFIkrk2+sM+dBbuVmXgCExcui5NL6Uyrxdm5WazWzFpyjQ4Hbkd1DsaXzUVdsyJSLIW3Da7FtY1P39nL3771dS4aZwG4OP8BHlcrB+/sxeveydXYVZxGpmVuZ31D1XZpvn7xFV46913SqRQ/85wC4LY3T2GxWjl7tZV58y48jlbeiN0NwN6fnMJqyUzGeGL3rTy5e0+lqi6SU66Zs4Vo2zKR2qbwtgl8dNvH2O7YwVf8fSSNFL+953fYt/MRWlzbKl21Vbl/+0Pc3ryXeGyeI+cGAPjduz6Lw1mXa3mzmDa+eOldAPrvuZc6R+YDsNHhqFi9RSpB25aJbFybKrwNDQ3h9XoJhUL09vZWujpl1ezcSms60+XyyM6ncJa4S7McGh1uGh1uYtY5nGRaLHZs2YnTVc/N126nVloRRdZbObYtE5HK2DThrauri9HRUTweDx0dHZsuvInI5lKObctEpDI2RXgLBAJ4PJ7cvycmJipbIRGRdVaObcsK0bg6kfVTNeEtGAzi9/sZHR1lfHz8hseHhoZyASwcDnPo0KEVX/vkyZMEg0GCwSAAfX19jIyMlKTeIiKblcbViVRGVYS3QCDAyZMnCYfDhEKhGx7PBrdsV6ff719VAAuHw7S0tNDe3g5kwlwgEMh9LRtDfH6K6OxlGpKZv/ajkXOgnRxE1o3G1YlURlWEt/b2dtrb2xkbG8v7+DPPPMPp06dzX3d2dtLV1ZULb0NDQ1y5ciXvcwcHB/F6vXi93tyxlpYWgsGgwluNMiNzfORiK1sSNszA25gfuYOEI8kbx/+I2PwUD0UyPwvvfP9HuT1U9z7+ZQU4kRKrhnF16p6VzagqwlshwWCQcDic6zJdyO/309nZuWwXamdn56JWumAwSGdn55Lnx2IxYrFfjgWJRJb+xSDllXr3PfjuS3zs/I7Mge9PEJ94h8Qn2khEpzEsDuJG5sPB6miEdIJEdJpkfFbhTaTEyjWuTt2zIovVRHjLx+PxEA6HV3QNj8dDX18fPp+PcDjM4OBg3jCY9cwzz/Cf/tN/WkNtZT2Z0zMkv/cKzMeYcsXAgNZWN0zPkfzBBOZNaSxOJykj82NttbkgZSGZile45iJSjEp3z6p1T6pN1Ye3pbS0tOQdH7eU7u7uFZ97+PBh/t2/+3e5ryORCLt3715V/aT00u++D3NXobkRLl47aBjQ3AShKYjGQSsdiGw45eieVeue1JKaDW+rCW6r5XQ6cTqVAqqNOTOHCZnAtoBhGJgGkEpXoloiss7K0T1b6dY9kdWo+vC2cKLBQuFweMnHZGMyGusxANM0Fx03TRPDBKwW0skYVjMJQCoZhXSi/BUVkZpTDZMvRFaqJsKbx+MhGAzeENYKTTqQjcdyx63w6o9hagZMuJbkIBzBWu/G3rSVeCKCw8z8BZ6Kz+Rmm9ocDRWtu4hUt0ovagwaWycrV1Xhbamu0MOHD+P3+3PrvI2NjWl7q03IcDdie/JhEt/9Ac2Ra3/xXpmGpga2PPEw9+7+FLOzlzn6YmbJmS880o1L67yJSJUoNK4O4PL5H3DhzD9immmNrZOCqiK8BYNBRkZG8Pv9BAIBBgYGaGtrywW0Q4cOMTQ0hM/nA2ByclI7JGxS1jtuJeF5kh+O/jFbEjYefeA3cey9E6OpASvgsjiZtWXGn7iadmpjehGpGoXG1QE037sb90P/nnQqrrF1UlBVhDev18vg4GDBc1azHVapDA8PMzw8TCqVKnvZsjSjqZ6fbs8sxPtr7XdhuOorXCMRkeUVGlcHmXF1Rn0dqWRMY+ukoKoIb9Wqv7+f/v5+IpEIbrfGGazVVCzK5blZYmam6f/c3Cx1iRT1djvNTleFayciUh4rGldXAoW6ZxPxCElLAqMufyDUuLraoPAmJROKXuaKJULSSPHiuefYt/MRDKORz7/2MlOxec6amS7MPwm8hsWw4HY4+dIDDyvAiYiUUKHu2Uvpn3Kp6X1oqte4uhqm8CYl8aNLP+Rbb32d89YpAJ49/dd8/xfP8diHPsN0PIbDYsGaWaWNRpudhAnT8RhziYTCm4hICRXqnt0W30ezJYHpMLQjRQ1TeJOihaKXOPqOj9nEDA7ThoHBTXW3EIpf4u+D3yJlPkG91Ynl2vkumw1L2iSe1lhCEZFSK9Q966QZJxQ9rk47UlSWwpsU7dTFV4nEQmxz3UwkcgEAi2Fha90O3o9MMZ+ao0kDbkVENgztSFFZCm9StOl4CDCwGJZFxzNfG6RMtbCJiGwk1bAjxWbunlV4K0BLhayM29ECmKTNxXuLZr42sRpWYukU2UejySQJ8/qriIhIrSjXjhTqns1P4a0ALRWyMvdtfxD/z5/lSuwCJiYGBmkzTWj+Es2uVmymh5lEihSZhShnkoncbNN6u73CtRcRkWql7tn8FN6kaC2ubXz6zl7+9q2vc9E4C8DF+Q/wuFo5eOdn2N30K1yei/DFF78NwBfan6LOUVfV67yZkVnMcASSKVITP8V6txfD3VjpaomIbCrV0D1bjRTepCQ+uu1jbHfs4Cv+PpJGit/e8zvs2/kILa5tADhJ4zQyHac76xuqetuq1Lvvkfzuy5iXw5mv//E1Uid+iu3Jh0ntbiI+HyKVmAdgPnIWi9Wh/VNFRNZBObpna3FRY4U3KZlm51Za05lm6kd2PoWzBretMqdnSH7vFZiPgt2W2XOw1QPhGa5+b5x3d79GIjnDfOQcAG+88B8xMLC73Ox9/MsKcCIiNaYWFzVWeBNZIP3u+zB3FVrcMJdpXTMMA7O5iVTofRKRy1gaGjGMzFvH5mggnUqQiE6TjM8qvImI1JhKL2q8FgpvIguYM3OYgMUwWDgh1jAMTANIpbHYHBiWzEbSVlsdBhaSqXglqisiIkUqx6LGpWZZ/hSRzcNorMcATHPxWiamaWKYgFVvGRERqSx9EoksYLnjVqjfAlMRuBbgTNPMfF1fBy5HhWsoIiKbncJbAcPDw9xzzz3s37+/0lWRMjHcjdiefBjqXJBIQjwBV8KwxYXt4x0YFgvpZBwzncJMp0gl50mlil+IUkREZKU05q0ALdK7OVnvuBWj1U3iL/4Okimsj+7Hek8bhj2B/YybeDSMaSYBSMZnc7NNbY6GCtdcREQ2A4U3kTyMpgYMT2YWkbXjIxh2Gw5g7+NfJj4fys06uvNXD2mdNxERKSuFN5FVcNQ1Y7VvqapZRyIisrlozJuIiIhIDVF4ExEREakh6jYVkZIwI7OY4QgkU6Qmfor1bi+Gu5H4/JT2gxURKSGFN5EKKkfgKUcZqXffI/ndlzEvhzNf/+NrpE78lPSv7eWt975OPBpe1/1gFRBFZDNReBOpkHIEnnKUYU7PkPzeKzAfBbsNDANaPRCeIfaP/0T8piksNmdJ9oPNF0QTjiRvHP+jdQ+IIiLVQmPeRCrghsDjsGcCz3w0E3iuTmGxODAMG4Zhw+ZowLA6coGnWsoASL/7PsxdheamTHAjsxcszU1wdR6i8dx+sIbFitVWh9W6+hm6qXffI/E3/xPzchgzPEPqH18j/t/+B/F33yURnS7JvYiI1AKFtwK0w4Ksl3IEnnKFKnNmDjN77QUMw8A0gFR61de8oYwCQTT5gwnMdLok95Ir71oLn3l5itTETzGnZ4BM9+x85CypxDypxDzzkbNcnT5DfH6q6HsUEVkpdZsWoB0WZL1kA4/FMDAXHC9p4ClDGQBGYz0G1/aAXVi+aWKYgLX4vxFzQbTFDXOZcW2GYWA2N0FoCqJxcBVdDFD58XsiIstRy5tIBZQj8JSjDADLHbdC/RaYisC1skzTzHxdXwcuR9H7wZajdQ/K19UsIlIMhTeRCihH4ClHGQCGuxHbkw9DnQsSSYgn4EoYtrhwPvqrOLY0k07HMc0kppkkGZ/FTMVXtR/sSoJoKe6lXF3NoK5ZEVk7dZuKVEA28CS/+0+ZMAWZwNNYj/PRfTje+wnxaBjTTAKQjM/muudWHHjKUEaW9Y5bMVrdJP7i7yCZwvrofqz3tGE0NbC3rfj9YC133Aqv/viXQdQwMkEuPIO13o29aSuJ5EzR91KurmZ1zYpIMRTeRCpkvQNPucrIMpoaMDxNmXI7PoJhz/x6KcV+sIWC6JYnHube3Z8qyb2Uo6u5nEuriMjGpPAmUkHrGXjKWUY5FAqiVijJvRRq4bu+qxkglZwnnUqsqoyVTL6weBoxLNbMfdvqMLCQTMVXfT8isjFpzJtsGFOxKOfmZomZFmKmhXNzs5ydnWEqFq101aREskHU2NqcCaJNq+veXfb6ZRi/V67JF7nyNLZOZMNRy5vUnFD0MlcsEZJGihfPPce+nY9gGI18/rWXmYrNc9bcAsCfBF7DYlhwO5x86YGHaXYuv5bETHya2UQEEikS1syHmH3uLNgzrSAN9ia2WEq0JoVUpfXuai7XLGDQ2DqRjUrhTWrKjy79kG+99XXOXwtWz57+a77/i+d47EOfYToew2GxYL021LzRZidhwnQ8xlwisaLw9vrFV3jp3HdJp1L8zHMKgNvePIXFmglvH9/56zy847H1uTmpGuvZ1VyOrlnQ2DqRjUzhTWpGKHqJo+/4mE3M4DBtGBjcVHcLofgl/j74LVLmE9RbnbmxAC6bDUvaJH7tQ3Al7t/+ELc37yUem+fIuQEAfveuz+JwZj6sG+xNpb4t2WTKNQu4GsbWxeeniM+HSCUy5c9HzhY1KUZEMhTepGacuvgqkViIba6biUQuAGAxLGyt28H7kSnmU3M0FTngvtHhptHhJmadw4kdgB1bduJ01TMdjzEdjxNKzXIpnSnn7NwsVmv82nMduB3VO+Bfqkc5ZgGXa9kT+OW4OpIpUhM/xXq3l4QjyRvH/0hdsyLrQOGtgOHhYYaHh0mlVt5yI+tnOh4CDCzG4jFBma8NUub6fp9evfABz595n1Q6xRuxuwHY+5NTWK+1XDyx+1ae3L1nXesgG8d6zwIu19i6pcbVJT7RRiI6nduRAtQ1K1IqCm8FaG/T6uJ2tAAmaXNxi0HmaxOrYSWWTpF9NJpMkjCvv8raPXjTLXykeSvz8Xm+eOldAPrvuZc6R+ZDttHhKF1hIkUqx9i6QuPqkj+YwLwpjdXhWPdlT9Q9K5uNwpvUjPu2P4j/589yJXYBExMDg7SZJjR/iWZXKzbTw0wiRYrMEgwzyURutmm93V50+W6HE7fDydWYFaeRiYg76xvY4txS9LVFSq0cY+tWMq6OEk7OVvesSIbCm9SMFtc2Pn1nL3/71te5aJwF4OL8B3hcrRy88zPsbvoVLs9F+OKL3wbgC+1PUeeoo95uX9FMU5GNZr3H1pVzXJ26Z0V+SeFNaspHt32M7Y4dfMXfR9JI8dt7fod9Ox+hxbUNACdptYqJLLCu25atYFzdei97Uuru2Xyte4a7UV2zUlUU3qTmNDu30prOfBg9svMpnK76CtdIZHMqNK7OWu/G3rSVRHKmLMuelKJ7VosaS61QeKtCieg0iViEaDyKeW0GZTRyDhyZ3052ZxN2lyZQiEhlFRpXt+WJh7l396dqZtkTLWostUThrQpdOfMK53/2PRKmgWHcBsDkiT/HbmR+be247Ul23P5UJasoIgIUHldnhbIte1Js92w1LGoMmjkrK6PwVoVadz9E0/a9xFNpGt54E4Db9/4mjmvrMtmdWuVfRKrHUuPqSqUc3bOVXtQ4O65OM2dlJRTeqpDd5cbucmNNpbDaTgNQ596F89r+miIim0k5umcrvaix7cmHSd5k0cxZWRGFNxERqXrr3T1b8UWNv/cy5ic7MnWxrf/CxlLbSvOnhKyaOTdP+vIUZmga0iakTczQNOnLU5nj18ZciIhIRrZ71tjanOmebVr5jNVlr32tdY86FySSEE9kWve2uHA++qs4tjSTTscxzSSmmSQZn8VMxde2qHFzUya4kemWpbkJZq9inj5bsvuBX3bPmpenSE38FHN6BsiMq5uPnCWVmCeVmGc+cpar02eIz0+VtHxZP2p5q5D026dJvf4WSZLgzryJk//wEhZsRAyTuY+0kbpnD/PJzBiOc3MzOK79JaYN0EVESq+SixqnDTBnS/dHu5Y92dgU3irEctcejFtvJp2OY7zzIgC2Rx7FZnFw4uI5xq9cwHhjmjpb5ls0/Map3HO1AbqIyPqo5KLGRkMdzLKu3bPlWvZEs2bX15rD2wsvvJD792OPPUYkEuGZZ54hEAjQ1dXF5z73uZJUsJKGh4cZHh4mlUqV/Nqz9jizzJJIxYlZMq1rF12z2K0O2m7egvfmu6m3N+Z9rjZAFxGpPQXH1TVuwX7HndjD7rLsOVuqZU+032xlrDm8Pf/882zdupXu7m4AOjo68Hq9fOMb3yAYDPLVr3615gNcf38//f39RCIR3O7SLor7+sVXeOncdwFw2TJ/yf3VW1/LPf7xnb/OJ3ZpLTcRkY2i0KxZ2xMPY92+i72P186es9pvtnLWHN7a2tp4+umnATh+/DjBYJDx8XE+/OEPs2fPHoLBYMkquRHdv/0hbm/eu+TjDXat5SYistEUGlcH5dtztljl3G9WbrTm8Nba2pr79/j4OF6vlw9/+MO5Y8a1mTSSX6PDTaNDW1yJiGw2lVzUuFTLnpRrv9msQgsbb8axdWv+iQmFQrl/j42N0dXVtejxcDi85kqJiIjI2hTqnnU+ug/Hez8pelxdOXek0MzZG605vDU3N3PgwAHC4TChUIjBwUEg04U6NDRET09PySopIiIiK7fey56UY79ZqI6Zs9VozeHtU5/6FO3t7QQCAUZHR2lqauL1118nHA7T29tbyjqKiIjIKq3nsifl2G8WyjtzdinV2DW75vD2ne98h09+8pPs2fPL9cbuv/9+7r///pJUTERERKpTOfabhfJ2z9bSsidrDm8DAwN0dXXR2Jh/LTKpfonoNIlYhGg8imlmmrajkXPgyIwytTubsLs0qUJERG603vvNQnlmzkLtLXuy5vB25coVvvzlL9Pa2kpnZyf33XdfCasl5XDlzCuc/9n3SJgGhnEbAJMn/hy7kXmT7LjtSXbcrrXmREQkv40wc7YWlz1Z86s8OjrK448/DsDrr7/On/7pn+YmMTQ1aY2yWtC6+yGatu8lnkrT8MabANy+9zdxXPtLxu7U91FERCqnHDNny73sSSmsObxlgxssHut2+PBhgsEgfX19PPbYY8XXUNaN3eXG7nJjTaWw2k4DUOfehdNqrXDNREREMtZ75mw5x9WVyprDWyQSWdTC9s1vfpORkREmJibo7OxkcnKSiYkJmpub+YM/+IOSVFZWz5ybx5yPYsbnIZ35sTRD06QdmeZeo84FLu2VKiIi1Ws9Z86Wa9mTUlpzeOvp6WFgYIBvfOMbfPvb38btdtPb28uxY8cWzUAF+Pa3v01bW5vGxVVA+u3TpF5/iyRJcGd2vUj+w0tYrn3rrfffDffdWckqioiIVEy5lj0ppTWHt/Hxcfx+P5/61Kd4/vnnF3WjXu9Tn/oU3/zmNxXeKsBy1x6MW28mnY5jvPMiALZHHsVmybS2GXVV1pEvIiJSRuVa9qSU1hze2tvbOX78OG534aUkXn/9dXw+Hx6PZ61FSRGM+jqM+josqRiGww6ApdWDxbqgWTmVqlDtREREKq8cy56U0prDW19f37LBDcDj8eB2uzl8+PBaixIRERFZV+u97EkprblmbW1tvPDCCwA89thjRCIRnnnmGQKBAF1dXXzuc58DYM+ePXzlK18pTW2lpKbjMWbiceLpFPPJTF/+ubkZHNfWsml0OHA7KvvXhYiIiCy25vD2/PPPs3XrVrq7uwHo6OjA6/XyjW98g2AwyFe/+tVcgJPq9OqFD3j+zPsA1NkyPwrDb5zKPf7E7lt5cveefE8VERGRCimq5e3pp58G4Pjx4wSDQcbHx/nwhz/Mnj17CAaDJatkpQwPDzM8PEyqhseEzcSnmU1ESKTiRJOZxQfPz53FbnWwp8Gk9+47qLfn3+Ks0aElRKQ42dbdVCrOpXSmFffs3CxWa2apGrXuiois3prDW2tra+7f4+PjeL1ePvzhD+eOGYZRVMWqQX9/P/39/UQikRWN76tGr198hZfOfRcAly0z2PKv3vpa7vGP7/x1PrFLW2DJ2mX/QCCRImGdAsA+dxbsVl784CL/fCGEgYU3YncDsPcnp7Be65pX666IyOqtObyFQqHcv8fGxujq6lr0eDgcXnOlpHTu3/4QtzfvXfLxBru2wJLiZP9ASKdS/MxzCoDb3jyFxWolnrbyyI7HuLflAb546V0A+u+5lzpH5g8Jte6KiKzemsNbdh/TcDhMKBRicHAQyHShDg0N0dPTU7JKyto1Otw0Omqz1VBqQ/YPhHhsniPnBgD43bs+i8OZCWgN9iasph2nkdliZmd9A1ucWypWXxGRWrfm8PapT32K9vZ2AoEAo6OjNDU18frrrxMOh+nt7d0Q3aYisrzsHwgx6xxOMmsJ7tiyE6erPnfO1djVSlVPRGTDKWoRkz179izaCmvhBvVWq7WmB/qLSPUoNK5uJp7AxIXL4tSkCBHZFNZtBbrrN3gVEVmrQuPqzl5tZd68C4+jVZMiRGRTWLfwpm5TESmVQuPqsi1vFtO2rpMitOyJiFSL6t37QUTkmkLj6m6+NrTuauxq0ZMitOyJiNQChTdZV4noNIlYhGg8imlmxkBGI+fA4QLA7mzC7tJsWKkOWvZERGqBxrzJurpy5hXO/+x7JEwDw7gNgMkTf47dyPx87LjtSXbcrkWCpTpo2RMRqQXrFt7S6fR6XVpqSOvuh2javpd4Kk3DG28CcPve38RhtQCZljeRaqFlT0SkFqxbePvmN7/JH/zBH6zX5aVG2F1u7C431lQKq+00AHXuXTit1grXTKQytOyJiBRrxeHtvffeo6WlhaamTEvJCy+8sOS54XCYkZERhbdNwpybx5yPYsbnIZ3pDjVD06QdmQ8co84FrtoaDxSKXuaKJULSSPHiuefYt/MRWlzbKl0t2QC07ImIFGvF4a29vZ22tjZOnDgBQHd3N+FwGI/Hc8O54XBYS4VsIum3T5N6/S2SJMGd+b4n/+ElLNd+vKz33w333VnJKq7Kjy79kG+99XXOX2sVefb0X/P9XzzHp+/s5aPbPlbh2kmtq4ZlT0Sktq04vI2OjtLS0pL72uv1cvLkySXPP3DgQHE1k5phuWsPxq03k07HMd55EQDbI49is2Q+aIw6VyWrtyqh6CWOvuNjNjGDw7RhYHBT3S2E4pf41js+djV6cRn1y19IZAnlWvZERDauFYe3xx9/fNHXR44cKXj+4cOH11YjqTlGfR1GfR2WVAzDkfkwsrR6sFgXjM2pka3STl18lUgsxDbXzUQiFwCwGBa21u3gwtxZ/uncK9zd/L8QMzMTLs7NzVKXSFFvt9PsrJ2QKiIitWvNExampqYKPj4xMZHb51SkVkzHQ4CBxbAsOm4xLCTSTv5mMoLN8hpnzUxLyJ8EXsNiWHA7nHzpgYerKsAVGhgPmWUvtliqp74iIrIyaw5vg4ODPPbYY0s+rgkLUovcjhbAJG0uXuombaZJmTbiKRtbbBasZCZmNNrsJMzM1klziURVhbdCA+MBPr7z13l4x9LvYdm4tNWXSG1bc3gbHx/nv/yX/8Lv//7vLzoeiUTo7u4mEAgUXTmRcrtv+4P4f/4sV2IXMDExMEibaULzl2h03MTVZD1Oi5Vsu5zLZsOSNomnq69beCUD48/OzerDe4PSVl8iG9eaw1t7ezuhUIivfvWrfO5znwPg29/+Nr29vfT09BAMBktWSZFyaXFt49N39vK3b32di8ZZAC7Of4DH1cqvfejT/OW/RCpcw5UrNDD+x6HTPH/mXVLplD68Nyht9SWyca05vGVnmk5PT3P48GGCwSB+v59jx47dMLlBpJZ8dNvH2O7YwVf8fSSNFL+953fYt/MRriZdwEuVrl5JPHjTLXykeSvz8Xl9eG9Q2upLZONac3iLRCI0NTUxMTHByMgIXq+Xr3zlKwpusiE0O7fSms4sSP3Izqdwuuq5OjsDQCydIjsiLppMkqjBbXzdDiduh5OrMas+vDcobfUlsnFZlj8lv46ODg4ePEh3dzdHjhzh5MmT7Nu3j8OHDxOJRPjOd75TynqKVFy93Y7b4SSeTpPCIIXBTDJBPJ3C7XBSb7dXuooiIrIJrLnlbXJyEq/Xy+nTp3G73QDcf//93H///TzxxBMcP36cVI2s7SWyEs1OF1964GEuz0X44ovfBuAL7U9R56hb9TpvWsZDRETWqqgJC9/73vfyPvb8889z2223rblSsnFklySIp1PMJ5MAnJubwXFtYHytzWpsdrpwki66q1HLeIiIyFqtObz19fUVfLy7u3utl64aw8PDDA8PqwVxGdlWpEQqTjQ5D8D5ubPYrY7ckgQ2i506W+bHbfiNU7nnbtZZjSsZTC5Sy7SWnMj6WXN4e/rppws+/pWvfGWtl64a/f399Pf3E4lEcl3DcqNsKxKAy5YJH3/11tcAcksSPLDjwbzP3ayzGlcymDyVjFWqeiIrorXkRCpjzeFNJCvbirSUBnsTjY7GMtaotqnFQmqF1pITqQyFNylathVJSuPVCx/w/Jn3tYCuVD2tJSdSGQpvIlVGC+hKrSjXWnKFumezW725LM6iWqrLUYZIqSi8iVQZLaArslih7tmzV1uZN+/C42gtqqW6HGWIlIrCm2wIieg0iViEaDyKaWZmB0cj58CRWSvN7mzC7lLXrkgtKtQ9m20Vs5i2olqqy1GGSKkovEnNMOfmMeejmPF5SGf2pDJD06QdcS79/DgXP3iRhMWGYWTWGJw88efYjcx5O257kh23P1WxuovI2hXqnr35Wg/t1djVolqqy1GGSKkovEnNSL99mtTrb5EkCW4DgOQ/vIQFG24zStM9nyR5t5eGN94E4Pa9v4nDmtkBzu7UumkiIrIxKLxJzbDctQfj1ptJp+MY77wIgO2RR7FZHNgAo85F3OXAajsNQJ17F85rOxaIiFQ7LRMkK6XwJjXDqK/DqK/DkophODLdGpZWDxbrgl9m2g1DRKrUcnsa//DiDC/94qKWCZJlKbyJiIiUwXJ7Gnfc9AT/9qOf0DJBsiyFNxERkTJYyaLGjY5GLRMky1J4ExERKYOVLGosshIKbyIiIpuEJkVsDApvIiIiG0ihiREvfnCRf74QwsCiSRE1TOFNRERkAyk0MSKetvLIjse4t+WBdZsUoda99afwJiIisoGsZGKE1bQXNSlCrXuVpfAmIiKygaxkYsTV2NWiyqh0695mp/AmIiIiq1KO1j1ZmsKbiIiIrEo5WvdkaQpvIiIiUnM288QIhTcRERGpOa9e+IDnz7y/KfeCVXgTERGRqlRoVuueBpPeu+/AYto23cQIhTcRERGpSoVmtQJ8fOevs2/bI5tuYoTCm8gC5tw85nwUMz4PaTNzLDRN2pEZQ2HUufSuEREpk5XMasWsZA0rQx9DIguk3z5N6vW3SJIEtwFA8h9ewnLtrWK9/27Y++EK1rD2TMWiXJ6bJWZaADg3N0tdIkW93U6z01Xh2olINav0rNZqnRSh8CaygOWuPRi33kw6Hcd450UAbI88is3iIBGPELUkiEXOYZopAKKRc+DIBBC7swm7y12xuldaKHqZK5YISSPFi+eeY9/ORzCMRj7/2stMxeY5a2a6Mv4k8BoWw4Lb4eRLDzysACciFVWLu0UovIksYNTXYdTXYUnFMByZv/IsrR4sVidT//Iq53/2PRKmgWHcBsDkiT/HbmTa7Hfc9iQ7bn+qYnWvpB9d+iHfeuvrnL/2i+/Z03/N93/xHI996DNMx2M4LBas1/o2Gm12EmbmL9q5RELhTUQqqhZ3i1B4E1mh1t0P0bR9L/FUmoY33gTg9r2/icOa6Q60O5sqWb2KCUUvcfQdH7OJGRymDQODm+puIRS/xN8Hv0XKfIJ6qxPLtfNdNhuWtEk8napovUVEoDZ3i1B4E1khu8uN3eXGmkphtZ0GoM69C+e1WU+b1amLrxKJhdjmuplI5AIAFsPC1rodvB+ZYj41R5NtYy6UKSK1r9Lj6tbCsvwpIiJLm46HAAOLsfjXSeZrg5RZuha27Li6C9YpXjz3HKHoJSAzKeLctUkRMdPCublZzs7OMBWLlqxsEZFqoZY32RCyM4Li6RTzySQA5+ZmcFwbVLqRt0mpNLejBTBJm+lFxzNfm1gNK7F0iuyj0WSSxBqm9i81ru439vw+fxuc16QIEdk0FN6kZmRnBCVScaLJeQDOz53FbnXkZgTZLHbqbJkf6+E3TuWeu5G3Sam0+7Y/iP/nz3IldgETEwODtJkmNH+JZlcrNtPDTCJFiszSKzPJRC5Y1dvtKyqj0Li60X/5/wgln8BpsZVsUkS+mbMtrm1a9kREqoLCm9SM7IwgAJctM5D0r976GkBuRtADOx7M+9xa2iYlEZ0mEYsQjUdrYkmSFtc2Pn1nL3/71te5aJwF4OL8B3hcrRy88zPsbvoVLs9F+OKL3wbgC+1PUeeoW1XgWdG4urqWkkyKUAufiFQ7hTepGdkZQUtpsDfR6GgsY43WrtBODpd+fpyLH7xIwmIrakmSQmUk4hGSlgQxq1mSgPjRbR9ju2MHX/H3kTRS/Pae32HfzkdoxEEieonWVBQHCQBaU9O4UjFIQcJcWTnlGldX7hY+EZG1UHiTmpGdEbQRFNrJwW1GabrnkyTv9ha1JEmhMi6lf8qlpvdJNjUVvWZdNiR64nZak5nw/Im6h3DM2jj/8/GSBNFC4+rMax2yqVSM7D45qWSUtGmSTiVJxmagYWWhvpwtfCIia7VpwltPTw9HjhzB4/FUuioiBXdysJHZQzXuchS1JEmhMrbF99FsSZBw2Ites64cQbTQuLo604UlNkckNkeazKSUqamfk8RCEoOpXwT4cOstKyqnnDNnRUTWalOEt2AwyNjYGH6/H4BwOMzg4CCHDh2qcM1ksyq0k0NOqrigUKgMJ804gVgJ1qwrRxBtTjVwYMe/5ujP/ysXjcxs4guzZ/A4Wuja+UlGL1gIp1KY85mlQdJ1HqxAi93Ozt37V1zOSmbOloomRYjIWm2a8DY1NZVrdfP5fPT29la2UiIbRDmCaPrt09zzeph+y6N81X2JpJHiNy79Cu3x22ieTHLvR28jctetfPXUSQA+d98+HBbrqgNPoRa+ensrs6aD+cQ86Wvds3OxOZImpNPpVXXPalKEiBSjasJbMBjE7/czOjrK+Pj4DY8PDQ3lwlc4HF5Vq1lnZ2fu3z6fjwMHDhRdXxEpn2zr3tZ0nK3vTADwa3f+HzgsmVnErXUuGl2O3DIxO+sb19SKWKiF70H77XwnfJ4Z7KSudc+GIucxgAYjSezi67CC7llNihCRYlVFeAsEApw8eZJwOEwoFLrh8Wxwy7aW+f1++vr6GBkZWVU5wWCQcDiscW8iNaYcrXtQuIWvIWWj/a4dRLy7+Nq7PwPgs3fcht1iod5mZVvj1hWVUWhSxHuRK8wlI9Q7m7BcC292koBJdJWTL0Rk46qK8Nbe3k57eztjY2N5H3/mmWc4ffp07uvOzk66urpy4W1oaIgrV67kfe7g4GDu3yMjI3R1dZWw5iKykSzXwrelzsU2l4P6988D0Lbj9lW38BWaFJFOxohFw8zHZoDMWoZXw+8RNy3EsK5q8oWIbFxVEd4KKdRa5vf76ezsXHEXarbFbjmxWIxYLJb7OhKJrLi+IlK7ytHC56YBM5UiHf/l7xgSCVLJJBbDgdPhZssWD7a5zC4i9U3bsafTpBNJmm9uL6psEdkYqn5j+mAwmPe4x+MhHA6v+notLS3LnvPMM8/gdrtz/+3evXvV5YhUi1D0EpfnL3B+7iwvnv2fuc3cpTLuDe2gKQKXr7yPea1rNHnxCpcvnaZhzqDedJI07KQMg5RhkMBOAjsWqwObU12mIlID4W0pLS0tecfHFTIxMbGi8W6HDx9meno699+ZM2fWWEuRyvrRpR/ynwOf5/zcGS7Pn+fZn/03vnry/+LHl35Y6aptWls/0s7B+z5LQ8tNxO0mMXuaS+44DS076N77GVoaPcTTKVJpk1TaZCYZJ55OrWov2IWyS5JcsE7x4rnnCEUvkYhO88GlSYIXJommTaJpk+CFSf7lF+/ywaVJEtHpdbhzESmVqu82Xcpqg9tqOJ1OnE7n8ieKVLFFsxotLgzDYPuWnYSiF/nWOz4aHLvAqGc+mZlVeW5uZk3La8jqGPV13Hfb49x881185cS/J5lO8Ntt/zsdN32cFtc29u6JMhWLFr3sCSy9JMlDde2MnTGYMW1cJtOa98cT/5ybOXv4zlu58+7fKOl9i0jpVH1483q9eY+Hw+ElHxORBbMat9zCTDwM/HJW49mZi3z+tZcwLI18MDcHwBdOvIyBofXEyqTZtZWtdTcB8Miu38BxbVxds9PFFpu96GVProR+ztE3/pzZxPQvlySxbePK/BXG508RdT5Jo91O5GpmYePWhhYSaZN4Oo1z+/0luksRWQ9V323q9XrxeDx5x74tXL9NRBYrNKsxZTqYSSRxWKxYLQZWi0GjzYHDYs2tJya17dQb/8D01DlapjPBDYBLYVrDVmZnrhCNX6XOvgWr1YbVaqPe2UCdY0vJxtYlotNcnT5DNHIO00xhmimikXNcnT7D1ekz6poVKUJVtbwt1RV6+PBh/H5/bp23sbEx7ZAgsoyVbPXktFixXgt3LpsNI5XSJusbRGSrDaL12FxbMeYyv1st9a0YhgXjaph00ljX8q+ceYXzP/seCdPAMG4DYPLEn2M3MpM0dtz2JDtuf2pd6yCyUVVFeAsGg4yMjOD3+wkEAgwMDNDW1pYLaIcOHWJoaAifzwfA5OTkqhfoFdlscls9zV/ANE0M49pWT9GLNDpu4mqyvtJVlHXkbrgJw2ohbbdCtvXVYc/MbzUsWC3r++u/dfdDNG3fSzyVpuGNNwG4fe9v4rBm6mJ3Nq1r+SIbWVWEN6/Xu2gx3XwqsYn88PAww8PDpEqwcrtIubW4tvHpO3v527e/waX5XwBw8eo5PM5Wfu1Dn+Yv/0XrF25kKwnvsXSK1LWW2WgySTydXuaqi5lz85jzUcz4PKQzLWpmaJq0I44VsNVtxdrgwGrLLLJe5961pvF7hSSi0yRiEaLxKKaZ+V0djZwDR2bMpt3ZhN3lLmmZIpVWFeGtWvX399Pf308kEsHt1ptfas9Ht32Mm7bsumFW49WkC3ip6A9vqV6Fwvv/uudf87fBecLxKKlroWsmGc9NWFnpkiTpt0+Tev0tkiTBnemGTf7DS1iufbRY778b7rtzHe7ul9Q9K5uRwptIBWUX0E2mE7x49n/mlosopXyzGo1YFLfDWfSHt1S3pcJ7i2sb92wtfkmS7HZi6XQc450XAbA98ii2a9uJha0G4bmZopejKdTC11x/D433307CYVf3rGwaCm8iFfKjSz/kW29/g/NzmUWgn/3Zf+Mfz/xPPn1nLx/d9rF1LbvZ6eJLDzxcsvXEpHqt55Ik2e3EwnNnuZIKkUwneGn+ZTpu+jiG0cgXXnuZcDxa9HI0hVr4DMB1/93Y7tuzbt2z6pqVaqPwJlIByy2gu6vRS719+a3cilGq9cRkc1vqj5DHPvQZpuOx3HI0AI02B/F0OrccTala+Iy69f1jQ12zUm0U3kQqoNACuhfmznLq4qs8vPN/rWwlRZZR6I+Qvw9+i5T5BA2WuqKXo8m28FlSMQxHpkvf0urBYl2wE06RE8uyXbNXZs9yxZgmaaT4/rvfoWPrg+qalaqj8CZSAYUW0AWDX1wNca4EY4VE1lOhP0Lej0wxn5rDba8rWXlLjRGdimXG7xXzfkm/fZrX3/gHxup/wHlb5l7++8/+ku+/O0b33Me59e4uInfdSpxMeAzZ3LkytpToPanuWVkphTeRCii0gG4ibecfzjh57tzL2rpKqtpyf4SkzNIts7RU9+xv7Pn93MzZYt4v4T0NfCfyE+aSVpyJLRiGwU1bvFyJX+Zvm99mZu5u5k6cXdf3pLpnZaUU3grQOm+yXgqtwbXFfhMzyS2Z3Q+KHCsksp5WsotHKZajKdQ9O/ov/x+h5BO4rI6i3i8/mv0RkXSEbQ23MDM9A4DF6WSbcyfvR6a4Eo/Q7Gpe1/ekFjaWlar6vU0rqb+/nzfffJMTJ05UuiqywWTX4Kq3NxJPR4ml5rl49RwN9iZ+w/tprIYtt3WV1bDgstk0mUCqzn3bH6TJ2ZL7IwQywe3y/HmaXQ3ctMVDPJ0ilTZJpU1mknHi6dSql6PJds9urbsJw8iEp2z37Gw8zHxiruj3y0paEYstw5ybJ315CjM0nVnyJG1mljy5PEX68hS2lIMt7t3UuXdhtdVhtdVR597FFvdutrh3q8tUctTyJlIhyy2gK1LtCi0EfPDOz7C76VdKshxNObpnV9KKWKyVLGps7bin6HIK0bi6jUHhTaSC8q3BdXV2psK1Elm5QgsBAyVZjqYcwaocewGvZMmTUky+KETj6jYGhTeRKqWtq6RWLLUQcKmUY5/WlewFXGwZhRY1zs6a/XwJFjau9I4Uat1bfwpvIlWm3m7X1lUiC5Rjn1ZYuhXRMBp59v2XS1JGoZ1VWuruKcnCxpXekUKte+tP4U2kymjrKpEbrfc+rVlLtSKW4j253M4q//ruLwDkJkbA2hY2LseOFJVu3dvsFN5EqpC2rhK50Xru07ps2SUoY7mdVd66cgoovmW9HDtSVLp1b7NTeCtA67yJiEipLDdrdiYRBratez1KMSmi0vvNwuYeW6fwVkB/fz/9/f1EIhHc7o35AyAiIuWx3KzZRrsHKN1kpXzbiRlGY0kmRZSjdW85m3lsncKbiIhIGRSaNet2ttBx0z5evPD2uk6MeOxDnynJpIjllGrJE42ty0/hTUREpAwKL2rci9e9ky890LquEyP+PvgtUuYTNFjqipoUsbCs9Wrdg8qPravWrlmFNxERkTJZblHj9Z4Y8X5kivnUHG57XdH3Uo7WvUqPravWrlmFNxERkTJa70WNy7GdWLla98oxtq4Wu2YV3kRERDaQlWwnVuykiHK17pVDpbtm10LhTUREZAMpNDGi2dWKzfQwm0wVNSmiHK175VLprtm1UHgTERHZQApPjPgMu5t+pehJEeVo3VuJUsxqrYZlT1ZL4U1ERGSDWW5iRLGTIsrRurfQes9qrTUKbwVohwUREalV6zkxohyte1mVXrOuGim8FaAdFkRERPJb79Y9KO+adbVE4U1ERETWZL2XPdlIs1pLSeFNREREqlI1zGot1VZfpaTwJrLATHya2USERCpONDkPwPm5s9itmSnjDfYmHNaGSlZRRGTTKOes1lqaFKHwJrLA6xdf4aVz3wXAZcs0xf/VW1/LPf7xnb/Ox25+oiJ1ExHZbMo1q7XWJkUovIkscP/2h7i9ee+SjzfYK7MViojIZlSOWa21OClC4U1kgUaHm0ZH/pnF0/EY0/E48fTMDWMfMs914HaUdrCuiMhmt96zWmtxUoTCm8gKvXrhA54/8z5A7hfF8Bunco8/sftWnty9pxJVExHZ0NZzVms1TIpYLYU3kRV68KZb+Ejz1iUfb3Q4ylgbEREphWrZ6ms1FN5EVsjtcKpbVERkgyn3Vl+loPAmIiIim1Y5t/oqFYW3ArS3qYiIyMZXjq2+Ssmy/CmbV39/P2+++SYnTpyodFVERERkHWUnReyo38Uju34jF9yqkcKbiIiISA1ReBMRERGpIQpvIiIiIjVE4U1ERESkhii8iYiIiNQQhTcRERGRGqLwJiIiIlJDFN5EREREaojCm4iIiEgNUXgTERERqSEKbyIiIiI1ROFNREREpIYovBUwPDzMPffcw/79+ytdFRERERFA4a2g/v5+3nzzTU6cOFHpqoiIiIgACm8iIiIiNUXhTURERKSGKLyJiIiI1BCFNxEREZEaovAmIiIiUkMU3kRERERqiMKbiIiISA2xVboCIlLbZuLTzCYiJFJxosl5AM7PncVudQDQYG/CYW2oZBVFRDYUhTcRKcrrF1/hpXPfBcBlqwPgr976GgDxtJVf2fYY923/VeaTSQDOzc3gsFgBaHQ4cDucFai1iEjtUngTkaLcv/0hbm/em/exFz+4yIvnQ7x88RR1tsyvm+E3TuUef2L3rTy5e085qikismEovIlIURodbhod7ryPPXXrdn715niB5zrWq1oiIhuWwpuIrBu3w1mSblGNqxMR+SWFNxGpehpXJyLySwpvIlL1yjWuTi18IlILFN5EpOqVa1ydWvhEpBYovIlITSvVuDrQzFkRqQ0KbyIi12jmrIjUAoW3AoaHhxkeHiaVSlW6KiJSYeWYOTsTT2Diwm7doq5ZEVmSwlsB/f399Pf3E4lEcLvz/zUuUq0UEqpToXF1Z6+2Mm/eRatru7pmRWRJCm8iG5RCQnUqNK4uG6rr7Y15H1fXrIiAwptIRZSjVUwhoToVGld3c32ZKyMiNUnhTaQCytEqppAgIrIxKbyJVIBaxWS9acFhkY1L4U2kAtQqJutNCw6LbFwKbyIiG5AWHBbZuBTeREQ2IC04LLJxKbyJiGwypdxSTETKz1LpCoiIiIjIyqnlTURESm46HmMmHieeTmlShEiJKbyJiMiaFFqO5MUPLvLPF0LYLHZNihApMYU3ERFZk+WWI3lkx2M8sOPBvM/VpAiRtVN4ExGRNSm0HAlkFgJudORfbLpU1D0rm5HCm4iIrEmh5UhKqRzds+XYb1ikVBTeRESkqpWje7Yc+w2LlIrCm4iIVLVydM9qv2GpJQpvIiJS1crRPav9hqWWKLyJiIhUAU2+kJVSeBMRESmDQpMiAH54cYaXfnERQGPrpCCFNxERkTIoNCkCoOOmJ/i3H/3Eks/X2DrJUngTEREpA62LJ6Wi8CYiIlIG5VoXr5BXL3zA82feB9Q1W8sU3kRERDaQQmPr9jSY9N59x7oue6LWvfWn8CYiIrKBLDe27uM7f51P7Hpq3cpX6976U3grYHh4mOHhYVKpVKWrIiIisiIrGVtXrEq37m12Cm8F9Pf309/fTyQSwe2u7DgFERGRlSjH2LpKt+5tdgpvIiIisirlaN1bzmYeW6fwJiIiIquimbOVpfAmIiIiVUlj6/JTeBMREZGqVOmxddXaNavwJiIiIlWp0mPrqrVrVuFNREREqlI5xtbVYteswpuIiIhsWpXuml0LhTcRERHZtCrdNbsWCm8iIiKyaVXDsierZal0BURERERk5RTeRERERGqIwpuIiIhIDVF4ExEREakhCm8iIiIiNUThTURERKSGKLyJiIiI1BCFNxEREZEaovAmIiIiUkMU3kRERERqiMKbiIiISA1ReBMRERGpIQpvIiIiIjVE4U1ERESkhtgqXYFaYJomAJFIpMI1ERERkY0qmzOyuWMpCm8rMDMzA8Du3bsrXBMRERHZ6GZmZnC73Us+bpjLxTshnU7zwQcf0NjYyAMPPMCJEycKnh+JRNi9ezdnzpyhqampTLWsLvv371/2dSq3ctap1GWV4nprvcZqn7ea81dyrt5Pej+tR1nFXrOY5+s9VVnV+H6CTL1ee+01ZmZmuOWWW7BYlh7Zppa3FbBYLOzatQsAq9W64h/2pqamTfnGgNW9TuVSzjqVuqxSXG+t11jt81Zzvt5PK6P3U+nLKvaaxTxf76nKqsb3E2Tq5Xa7C7a4ZWnCwir19/dXugo1oRpfp3LWqdRlleJ6a73Gap+3mvOr8eekGlXj61TL76dSXLOY5+s9VVnV+hqtpl7qNl0HkUgEt9vN9PR0VaZ7kVqi95NIaek9VfvU8rYOnE4nf/zHf4zT6ax0VURqnt5PIqWl91TtU8ubiIiISA1Ry5uIiIhIDdFs0zIaGxsDIBQK4fV66ezsrHCNRGpXOBzG5/MBcOjQoQrXRqS2jY2NEQqFmJiYoKenR59PVU7hrUyCwSDj4+OMjIwA0NXVpTeHSBFOnjxZ6SqIbAiBQACA3t5ewuEwe/bsYWpqqsK1kkLUbVomfr8fj8eT+9rj8eD3+ytXIZEa19nZueg9JSJrEwqFGB8fBzKfTS0tLblAJ9VJLW+rFAwG8fv9jI6O5n7YFxoaGsp9oITD4Vx3zuTkJK2trbnzWlpaCIfD5aiySNVa6/tJRG601vdTZ2fnop6gUChEe3t7Weosa6OWt1UIBAL4/X7C4TChUOiGx7NvjN7eXnp7e2lvb6evr2/J6+W7hshmUer3k8hmVqr3U19fH0eOHClHlaUIWipkDcbGxnjmmWeYmJhYdLy5uZnTp08v6soxDAPTNPH5fExOTjI4OAhAT08PfX19Gvcmm95a3k9ZPp9PLXIiCxTzfspOquvu7i5LXWXt1PJWIsFgkHA4nHcMjt/vp7Ozk2AwuOh8BTeR/JZ7P4nIyq3k/ZQdl93d3U0gEFj0eSXVR2PeSmSpH3SPx0M4HMbr9XLw4MHcdOzDhw+XuYYitWO59xNkWglGR0cB8Hq9ai0QWcJy76dgMEhPT0/ueDgcRp1y1U3hbZ21tLTkxh/ow0WkONe/n/SeElm77PvJ6/VqaZAao27TdaZJCSKlo/eTSOno/VS7FN5KxOv15j2e7TIVkZXT+0mkdPR+2ngU3krE6/Xi8Xjyji3QxASR1dH7SaR09H7aeBTe1mCppubDhw8vmgk3NjZGb29vuaolUpP0fhIpHb2fNget87YKwWCQkZER/H4/gUCAQ4cO0dbWtugNsHAF64XruonIYno/iZSO3k+bi8KbiIiISA1Rt6mIiIhIDVF4ExEREakhCm8iIiIiNUThTURERKSGKLyJiIiI1BCFNxEREZEaovAmIiIiUkMU3kRESmRgYICuri76+voqXZV15/P56Orqoqurq9JVEdl0tEiviEiJdHV1MT4+XulqlNVmvGeRSlPLm4iURXNzM21tbfT09NDX10dPT0/uWF9f36JjAwMDAAQCATo6Omhubl60L2MxwuEw4XC4JNeqdX6/n+bm5rwblotI9bJVugIisvGFw2G8Xi8TExOLjhuGwYEDBxgZGckdCwQCPPPMMwC0t7czMTGBYRglq8vJkydpaWmhvb29ZNesVS0tLXi9XlpaWipdFRFZBbW8ici6C4VCHD58eEXntre34/V6Fx3LbqZdCqOjoyW7Vq3LhuNSvr4isv4U3kRk3QWDwRsCWSGtra3rUg+/34/P51uXa4uIlIu6TUVk3e3bt29VrTvd3d15j2eD1+TkJACDg4M3nOP3+wkEAng8HiYnJzl48CDt7e34/f5cq9szzzyTC5MLr7Ew2E1MTNDX11d092qha/r9fvr6+ggGg0xOTjI2NsaJEyfo6uqit7cXyHQjj4yM0NHRQTgcxuPx0NvbSyAQ4OmnnyYYDHL8+PHcuLXs5IGRkRH8fj/BYJBwOMyJEyc4cuRI7vuw8Pmjo6N0dnYuec0TJ04s+XqLSAWYIiIVApi9vb3LnufxeMze3l5zampq0bHR0dFF542Ojprt7e03PHdycnJRmRMTEzeUMTIyYh46dCj39eTkpOnxeBaVuZzOzs5VX3NqasoEzMHBQdM0TfPQoUO512R8fNz0er2Lrnno0CFzZGRk0f0cOnTohtfm0KFDi+6zu7s772sNmOPj4zccy3fN61/vfPcsIutP3aYiUhM8Hs+i1rt9+/blWoSynn766RvG1h04cGDFLUZjY2O5f2db5oqd5brcNbP3lP3/4OBgbgJHX19fbuZtlt/vXzRb9vrnQ+a18fv9i1oN9+/fz8mTJ2+oX74W0aWuef3rLSKVofAmIjVh//79i76+PnQEAgHC4fAN3ZxtbW15Q8v1ent7c92x4XCYQCAAZCZbrNVqrnn9mMBgMEgwGGTfvn2Ljk9MTHDo0KFFx/K9Ntc/b7WTEpZ7vUWkcjTmTUQ2hGxA8/v9i5a+8Hq9q2p5e+aZZ9i3bx99fX0lWUJjpde8/nh2vNlaQ5PClsjGpfAmIhtCtuWqs7NzxTNbs61bnZ2dDA0NMTIywvj4+KpmxhZSzDWz5692pq6IbHzqNhWRDaGzsxOPx5Prmlzo+nFr2W7LhWPHBgYGGBkZWRSUFp63lrFvxVzT6/Xi9XpXdD8isrkovIlI1cu3nVW+ba6OHDlywwD/7FIZWe3t7bkuyZMnTy4aG7bwvGyLVzgcJhgMrrkLtZhrjoyM8Mwzz9xwjaWuv/DY9ceX2hZsqXNXcp6IVIa6TUWkrLLrrWVDyLFjxwiFQni9Xg4fPrxorNbCrbIGBgYIBoP09vYyMDCA3+/PnZudndnd3Y3X66Wvry+3LprX6120blw24GUfy15jfHyckZGRXMDyeDyMjo7mwuD1kwRWYrlrtre309XVBWRmyu7bt2/RVmGdnZ0cP36cgYEB2tractfIrsm20tdmYGCAsbExgsFgbgZrOBzOPf+ZZ54hFAqxb9++Vb3eIlIZhmmaZqUrISKyEXR1deUWyd0sNuM9i1Sauk1FREREaojCm4iIiEgNUXgTERERqSEKbyIiJZKdgNDX11fpqqy7oaGh3GQLESkvTVgQERERqSFqeRMRERGpIQpvIiIiIjVE4U1ERESkhii8iYiIiNQQhTcRERGRGqLwJiIiIlJDFN5EREREaojCm4iIiEgN+f8Bp4ISZ+wEpA8AAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.figure()\n", - "\n", - "#offset of the points\n", - "offset = 0.08\n", - "\n", - "for i, label in enumerate(labels):\n", - " xi_sys_low, xi_sys_med, xi_sys_up = np.quantile(\n", - " xi_sys_samples[i], [0.16, 0.5, 0.84], axis=0\n", - " )\n", - "\n", - " xi_sys_eta_low, xi_sys_eta_med, xi_sys_eta_up = np.quantile(\n", - " xi_sys_samples_eta[i], [0.16, 0.5, 0.84], axis=0\n", - " )\n", - "\n", - " theta_bins = rho_stats_handler.rho_stats['theta']\n", - "\n", - " jittered_theta = theta_bins * (1 + offset)\n", - "\n", - " plt.errorbar(\n", - " theta_bins,\n", - " xi_sys_med,\n", - " yerr=[xi_sys_low, xi_sys_up],\n", - " label=f\"{label} (no eta)\",\n", - " fmt='o',\n", - " capsize=3,\n", - " markersize=5,\n", - " alpha=0.7\n", - " )\n", - "\n", - " plt.errorbar(\n", - " jittered_theta,\n", - " xi_sys_eta_med,\n", - " yerr=[xi_sys_eta_low, xi_sys_eta_up],\n", - " label=f\"{label} (with eta)\",\n", - " fmt='s',\n", - " capsize=3,\n", - " markersize=5,\n", - " alpha=0.7\n", - " )\n", - "\n", - "plt.xlabel(\"Theta [arcmin]\")\n", - "plt.ylabel(\"xi_sys\")\n", - "\n", - "plt.xscale('log')\n", - "plt.yscale('log')\n", - "\n", - "plt.legend()\n", - "\n", - "plt.savefig(\"./plots/xi_sys_prediction_vs_eta.png\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "131802b8", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "sp_validation_3.11", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.0" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2026_01_05_get_bestfit_glass_mock.py b/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2026_01_05_get_bestfit_glass_mock.py deleted file mode 100644 index 198de3de..00000000 --- a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2026_01_05_get_bestfit_glass_mock.py +++ /dev/null @@ -1,256 +0,0 @@ -# %% -import os -import configparser -import subprocess - -from IPython import get_ipython - -ipython = get_ipython() - -if ipython is not None: - ipython.run_line_magic("load_ext", "autoreload") - ipython.run_line_magic("autoreload", "2") - -import numpy as np -from astropy.io import fits -import scipy.stats as stats - -import matplotlib.pyplot as plt -import seaborn as sns -from tqdm import tqdm - -from getdist import plots, MCSamples - -plt.style.use( - './matplotlib_config/paper.mplstyle' -) - -sns.set_palette("husl") - -if ipython is not None: - ipython.run_line_magic("matplotlib", "inline") - -g = plots.get_subplot_plotter(width_inch=30) -g.settings.axes_fontsize=30 -g.settings.axes_labelsize=30 -g.settings.alpha_filled_add = 0.7 -g.settings.legend_fontsize = 40 - -# %% -root_dir = "/n09data/guerrini/glass_mock_chains/" -chain_version = "v2" # choose v0 or v1 -assert chain_version in ["v0", "v1", "v2"], "Invalid chain version" - -#Path to the ini config files -path_ini_files = f'/home/guerrini/sp_validation/cosmo_inference/cosmosis_config/glass_mocks_{chain_version}/' - -# Create the list of mocks -max_sim = 12 -roots = [f"glass_mock_{chain_version}_{str(i).zfill(5)}" for i in range(1, max_sim + 1)] -lower_boud_xi = 12.0 -upper_bound_xi = 83.0 - -run_best_fit_type = "average" # should be in ["map", "average"] -assert run_best_fit_type in ["map", "average"], "Invalid best fit type" - -# %% -# Retrieve the chains -for root in roots: - with open(root_dir + '{}/{}/samples_{}.txt'.format(root, root, root)) as file: - params = file.readline()[1:].split('\t')[:-4] - file.close() - - with open(root_dir + '{}/{}/getdist_{}.paramnames'.format(root, root, root), "w") as file: - for i in range(len(params)): - if len(params[i].split('--')) > 1: - file.write(params[i].split('--')[1] + '\n') - else: - file.write(params[i].split('--')[0] + '\n') - file.close() - -# Read chain -chains=[] - -for root in roots: - - samples = np.loadtxt(root_dir + '{}/{}/samples_{}.txt'.format(root,root,root)) - print(len(samples)) - if 'nautilus' in root: - samples = np.column_stack((np.exp(samples[:,-3]),samples[:,-1]-samples[:,-2],samples[:,0:-3])) - else: - samples = np.column_stack((samples[:,-1],samples[:,-3],samples[:,0:-4])) - np.savetxt(root_dir + '{}/{}/getdist_{}.txt'.format(root,root,root), samples) - - chain = g.samples_for_root(root_dir + '{}/{}/getdist_{}'.format(root,root,root), - cache=False, - settings={'ignore_rows':0, - 'smooth_scale_2D':0.3, - 'smooth_scale_1D':0.3}) - - chains.append(chain) - -# %% -name_list = ['OMEGA_M','ombh2','h0','n_s','SIGMA_8','s_8_input', 'logt_agn','a','m1','bias_1', 'alpha', 'beta'] -label_list = ['\Omega_m', '\omega_b h^2', 'h_0', 'n_s', '\sigma_8', 'S_8', 'log T_{AGN}', 'A_{IA}', 'm_1', '\Delta z_1', '\\alpha_{PSF}', '\\beta_{PSF}'] - -for chain in chains: - param_names = chain.getParamNames() - for name, label in zip(name_list, label_list): - param_names.parWithName(name).label = label - -# %% -#Extract the best fit parameters -best_fit = {} - -for root, chain in zip(roots, chains): - print(root) - likestats = chain.getLikeStats() - bestfit_idx = np.argmax(chain.loglikes) - maxlike = chain.loglikes[bestfit_idx] - print(f"Maximum Likelihood: {maxlike:.5g}") - best_fit[root] = { - 'likelihood': maxlike - } - margestats = chain.getMargeStats() - s8_stats = margestats.parWithName('S_8') - sigma8_stats = margestats.parWithName('SIGMA_8') - omegam_stats = margestats.parWithName('OMEGA_M') - a_ia_stats = margestats.parWithName('a') - - best_fit[root].update({ - 'S_8_mean': s8_stats.mean, - 'S_8_lower': s8_stats.mean - s8_stats.limits[0].lower, - 'S_8_upper': s8_stats.limits[0].upper - s8_stats.mean, - 'sigma_8_mean': sigma8_stats.mean, - 'sigma_8_lower': sigma8_stats.mean - sigma8_stats.limits[0].lower, - 'sigma_8_upper': sigma8_stats.limits[0].upper - sigma8_stats.mean, - 'omega_m_mean': omegam_stats.mean, - 'omega_m_lower': omegam_stats.mean - omegam_stats.limits[0].lower, - 'omega_m_upper': omegam_stats.limits[0].upper - omegam_stats.mean, - 'A_IA_mean': a_ia_stats.mean, - 'A_IA_lower': a_ia_stats.mean - a_ia_stats.limits[0].lower, - 'A_IA_upper': a_ia_stats.limits[0].upper - a_ia_stats.mean - }) - try: - t_agn_stats = margestats.parWithName('logt_agn') - best_fit[root].update({ - 'logt_agn_mean': t_agn_stats.mean, - 'logt_agn_lower': t_agn_stats.mean - t_agn_stats.limits[0].lower, - 'logt_agn_upper': t_agn_stats.limits[0].upper - t_agn_stats.mean - }) - except: - pass - for i, par in enumerate(likestats.names): - if run_best_fit_type == "average": - best_fit[root].update({par.name: np.average(chain.samples[:, i], weights=chain.weights)}) - elif run_best_fit_type == "map": - best_fit[root].update({par.name: chain.samples[:, i][bestfit_idx]}) - else: - raise ValueError("Invalid run_best_fit_type") - - - -# %% -# Run CosmoSis in test mode to get the data vectors - -if not os.path.exists(path_ini_files+'/values_empty.ini'): - content = """[cosmological_parameters] - -tau = 0.0544 -w = -1.0 -massive_nu = 1 -massless_nu = 2.046 -omega_k = 0.0 -wa = 0.0 - -[halo_model_parameters] - -[intrinsic_alignment_parameters] - -[shear_calibration_parameters] - -[nofz_shifts] - -[psf_leakage_parameters] -""" - - with open(path_ini_files+'/values_empty.ini', 'w') as f: - f.write(content) - f.close() - - print('File created successfully') - -section_map = { - 'omch2': 'cosmological_parameters', - 'ombh2': 'cosmological_parameters', - 'h0': 'cosmological_parameters', - 'n_s': 'cosmological_parameters', - 's_8_input': 'cosmological_parameters', - 'logt_agn': 'halo_model_parameters', - 'a': 'intrinsic_alignment_parameters', - 'm1': 'shear_calibration_parameters', - 'bias_1': 'nofz_shifts', - 'alpha': 'psf_leakage_parameters', - 'beta': 'psf_leakage_parameters', -} - -env = os.environ.copy() -env["LD_LIBRARY_PATH"] = "/home/guerrini/.conda/envs/sp_validation_3.11/lib/python3.11/site-packages/cosmosis/datablock:" + env.get("LD_LIBRARY_PATH", "") - -os.chdir('/home/guerrini/sp_validation/cosmo_inference/') - -for idx, root in enumerate(roots): - print(root) - config = configparser.ConfigParser() - config.optionxform = str # Preserve case sensitivity of option names - config.read(path_ini_files+'/values_empty.ini') - for param, value in best_fit[root].items(): - section = section_map.get(param) - if section is None: - continue - if section not in config: - config.add_section(section) - config[section][param] = str(value) - - with open(path_ini_files+'/values_empty.ini', 'w') as configfile: - config.write(configfile) - - #Modify the ini file to run in test mode at the best fit - config = configparser.ConfigParser() - config.optionxform = str # Preserve case sensitivity of option names - config_file_path = path_ini_files+f'/cosmosis_pipeline_glass_mocks_{chain_version}_glass_mock_{str(idx+1).zfill(5)}.ini' - config.read(config_file_path) - sampler = config['runtime']['sampler'] - config['runtime']['sampler'] = 'test' - values = config['pipeline']['values'] - config['pipeline']['values'] = path_ini_files + '/values_empty.ini' - if run_best_fit_type == "map": - config['test']['save_dir'] = f"%(SCRATCH)s/best_fit/{root}_map" - elif run_best_fit_type == "average": - config['test']['save_dir'] = f"%(SCRATCH)s/best_fit/{root}" - else: - raise ValueError("Invalid run_best_fit_type") - - - with open(config_file_path, 'w') as configfile: - config.write(configfile) - - #Run cosmosis - result = subprocess.run( - ['cosmosis', config_file_path], - env=env, - capture_output=True, - text=True - ) - print(f"STDOUT:\n{result.stdout}") - print(f"STDERR:\n{result.stderr}") - - #Modify the ini file to the previous one - config['pipeline']['values'] = values - config['runtime']['sampler'] = sampler - if run_best_fit_type == "map": - config['test']['save_dir'] = f"%(SCRATCH)s/best_fit/{root}" - - with open(config_file_path, 'w') as configfile: - config.write(configfile) -# %% diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2026_01_05_get_p_value_glass_mock.py b/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2026_01_05_get_p_value_glass_mock.py deleted file mode 100644 index fde947c9..00000000 --- a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/2026_01_05_get_p_value_glass_mock.py +++ /dev/null @@ -1,277 +0,0 @@ -# %% -import os - -#Trick to use latex in the plots -os.environ["LD_LIBRARY_PATH"] = "" -os.environ["CONDA_PREFIX"] = "/home/guerrini/.conda/envs/phd_manuscript" - -from IPython import get_ipython - -ipython = get_ipython() - -if ipython is not None: - ipython.run_line_magic("load_ext", "autoreload") - ipython.run_line_magic("autoreload", "2") - -import numpy as np -from astropy.io import fits -import scipy.stats as stats -from scipy.interpolate import interp1d - -import matplotlib.pyplot as plt -from matplotlib import scale as mscale -import seaborn as sns -from tqdm import tqdm - -from sp_validation.utils_cosmo_val import SquareRootScale - -mscale.register_scale(SquareRootScale) - -from getdist import plots, MCSamples - -plt.style.use( - './matplotlib_config/paper.mplstyle' -) - -sns.set_palette("husl") - -if ipython is not None: - ipython.run_line_magic("matplotlib", "inline") - -# %% -root_glass_chains = "/n09data/guerrini/glass_mock_chains/" - -# Version of the glass mock chain run -chain_version = "v2" -assert chain_version in ["v0", "v1", "v2"] - -# Path to the glass mock data vectors -root_glass_dv = f"/home/guerrini/sp_validation/cosmo_inference/data/glass_mocks/{chain_version}/" - -# Create the list of mocks -max_sim = 12 -roots_glass_mock = [f"glass_mock_{chain_version}_{str(i).zfill(5)}" for i in range(1, max_sim + 1)] - -lower_bound_xi_ee = 12.0 -upper_bound_xi_ee = 83.0 - -# %% -def get_chi2_glass_mock(root, root_glass_chains, root_glass_dv, lower_bound_xi_plus, upper_bound_xi_plus, lower_bound_xi_minus, upper_bound_xi_minus): - #Read the theory prediction at best fit - theta = np.loadtxt(f"{root_glass_chains}/{root}/best_fit/{root}/shear_xi_plus/theta.txt") - theta_arcmin = theta * 180 * 60 /np.pi - shear_xi_plus = np.loadtxt(f"{root_glass_chains}/{root}/best_fit/{root}/shear_xi_plus/bin_1_1.txt") - shear_xi_minus = np.loadtxt(f"{root_glass_chains}/{root}/best_fit/{root}/shear_xi_minus/bin_1_1.txt") - xi_sys_plus = np.loadtxt(f"{root_glass_chains}/{root}/best_fit/{root}/xi_sys/shear_xi_plus.txt") - xi_sys_minus = np.loadtxt(f"{root_glass_chains}/{root}/best_fit/{root}/xi_sys/shear_xi_minus.txt") - - #Read the data - idx = root.replace(f"glass_mock_{chain_version}_", "") - chain_version_data = "v0" if chain_version in ["v0", "v1"] else "v2" - data = fits.open(f"{root_glass_dv}/glass_mock_{idx}/cosmosis_glass_mock_{chain_version_data}_{idx}.fits") - - theta_data = data["XI_PLUS"].data["ANG"] - xi_plus_data = data["XI_PLUS"].data["VALUE"] - xi_minus_data = data["XI_MINUS"].data["VALUE"] - - # Load the covariance - cov = data["COVMAT"].data - cov_xi = cov[0:2*len(xi_plus_data), 0:2*len(xi_plus_data)] - - # Interpolate the model - interp_xi_plus = interp1d(theta_arcmin, shear_xi_plus, kind='cubic', fill_value='extrapolate') - interp_xi_minus = interp1d(theta_arcmin, shear_xi_minus, kind='cubic', fill_value='extrapolate') - - xi_plus_model = interp_xi_plus(theta_data) + xi_sys_plus - xi_minus_model = interp_xi_minus(theta_data) + xi_sys_minus - - xi_data = np.concatenate((xi_plus_data, xi_minus_data)) - xi_model = np.concatenate((xi_plus_model, xi_minus_model)) - - # Apply scale cuts - mask_xi_plus = (theta_data > lower_bound_xi_plus) & (theta_data < upper_bound_xi_plus) - mask_xi_minus = (theta_data > lower_bound_xi_minus) & (theta_data < upper_bound_xi_minus) - mask = np.concatenate((mask_xi_plus, mask_xi_minus)) - - xi_data = xi_data[mask] - xi_model = xi_model[mask] - cov_xi = cov_xi[mask][:, mask] - - xi_chi2 = np.dot((xi_model - xi_data), np.dot(np.linalg.inv(cov_xi), (xi_model - xi_data))) - - return xi_chi2 - -def get_chi2_map_glass_mock(root, root_glass_chains): - path_sim = f"{root_glass_chains}/{root}/{root}/samples_{root}.txt" - samples = np.loadtxt(path_sim) - xi_chi2_map = samples[-1, -3] - - return -2*xi_chi2_map - -# %% -metrics = {} - -for i, root in enumerate(roots_glass_mock): - metrics[root] = {} - metrics[root]["chi2"] = get_chi2_glass_mock(root, root_glass_chains, root_glass_dv, lower_bound_xi, upper_bound_xi, lower_bound_xi, upper_bound_xi) - metrics[root]["chi2_map"] = get_chi2_map_glass_mock(root, root_glass_chains) - -# %% -chi2_glass_mocks = np.array([metrics[root]["chi2"] for root in roots_glass_mock]) -chi2_glass_mocks_map = np.array([metrics[root]["chi2_map"] for root in roots_glass_mock]) - -sns.histplot( - chi2_glass_mocks, - bins=25, - kde=False, - stat='density' -) - -sns.histplot( - chi2_glass_mocks_map, - bins=25, - kde=False, - stat='density' -) - -k = 8 -x = np.linspace(8, 70) -chi2 = stats.chi2.pdf(x, k) - -plt.plot(x, chi2, c='k') - -plt.xlabel(r"$\chi^2$") - -plt.show() -# %% -def plot_glass_mock_fit_root(root, root_glass_chains, root_glass_dv): - #Read the theory prediction at best fit - ell = np.loadtxt(f"{root_glass_chains}/{root}/best_fit/{root}_cell/shear_cl/ell.txt") - shear_cl = np.loadtxt(f"{root_glass_chains}/{root}/best_fit/{root}_cell/shear_cl/bin_1_1.txt") - - ell_map = np.loadtxt(f"{root_glass_chains}/{root}/best_fit/{root}_cell_map/shear_cl/ell.txt") - shear_cl_map = np.loadtxt(f"{root_glass_chains}/{root}/best_fit/{root}_cell_map/shear_cl/bin_1_1.txt") - - #Read the data - idx = root.replace(f"glass_mock_{chain_version}_", "") - chain_version_data = "v0" if chain_version in ["v0", "v1"] else "v2" - data = fits.open(f"{root_glass_dv}/glass_mock_{idx}/cosmosis_glass_mock_{chain_version_data}_{idx}.fits") - - ell_data = data["CELL_EE"].data["ANG"] - cell_data = data["CELL_EE"].data["VALUE"] - - fig = plt.figure() - - plt.errorbar( - ell_data, - ell_data*cell_data, - yerr=ell_data*np.sqrt(data["COVMAT"].data.diagonal()[80:]), - fmt='o', - label='Data', - alpha=0.5 - ) - - plt.plot( - ell, - ell*shear_cl, - label='Best-fit model', - c='r' - ) - - plt.plot( - ell_map, - ell_map*shear_cl_map, - label='Best-fit model (map)', - c='orange' - ) - - plt.axvline(300) - plt.axvline(1600) - - plt.xlim(0, 2048) - plt.ylim(bottom=0.5e-7) - plt.xlabel(r"$\ell$") - plt.ylabel(r"$C_\ell^{EE}$") - plt.xscale('squareroot') - plt.legend() - - return fig - -# %% -fig = plot_glass_mock_fit_root(roots_glass_mock[10], root_glass_chains, root_glass_dv) - -plt.legend() - -plt.show() -# %% -idx_sim = 1 -idx_sim = str(idx_sim).zfill(5) - -path_first_run = "/n09data/guerrini/glass_mock_v1.4.6/results/" -path_second_run = "/n09data/guerrini/glass_mock_v1.4.6_rerun/results/" -first_run = np.load( - f"{path_first_run}/cl_glass_mock_{idx_sim}_4096.npy" -) -second_run = np.load( - f"{path_second_run}/cl_glass_mock_{idx_sim}_4096.npy" -) - -chain_version_data = "v0" if chain_version in ["v0", "v1"] else "v2" -data = fits.open(f"{root_glass_dv}/glass_mock_{idx_sim}/cosmosis_glass_mock_{chain_version_data}_{idx_sim}.fits") - -plt.figure() - -plt.errorbar( - first_run[0], - first_run[0] * first_run[1], - yerr=first_run[0] * np.sqrt(data["COVMAT"].data.diagonal()[80:]), - fmt='o', - label='First run', - alpha=0.5 -) - -plt.errorbar( - second_run[0], - second_run[0] * second_run[1], - yerr=second_run[0] * np.sqrt(data["COVMAT"].data.diagonal()[80:]), - fmt='o', - label='Second run', - alpha=0.5 -) - -plt.xscale('squareroot') -plt.legend() - -plt.show() - -# %% -first_run_cls = [] -second_run_cls = [] -for i in range(1, 351): - idx_sim = str(i).zfill(5) - - path_first_run = "/n09data/guerrini/glass_mock_v1.4.6/results/" - path_second_run = "/n09data/guerrini/glass_mock_v1.4.6_rerun/results/" - first_run = np.load( - f"{path_first_run}/cl_glass_mock_{idx_sim}_4096.npy" - ) - second_run = np.load( - f"{path_second_run}/cl_glass_mock_{idx_sim}_4096.npy" - ) - - first_run_cls.append(first_run[1]) - second_run_cls.append(second_run[1]) -# %% -cov_first_run = np.cov(np.array(first_run_cls).T) -cov_second_run = np.cov(np.array(second_run_cls).T) - -# %% -plt.figure() - -plt.plot(np.sqrt(cov_first_run.diagonal())) -plt.plot(np.sqrt(cov_second_run.diagonal())) - -plt.yscale('log') -plt.show() - -# %% diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/S8_sigma8_Om_contour.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/S8_sigma8_Om_contour.ipynb deleted file mode 100644 index 455e37c9..00000000 --- a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/S8_sigma8_Om_contour.ipynb +++ /dev/null @@ -1,266 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "510c4e0b", - "metadata": {}, - "source": [ - "## $S_8 - \\Omega_m$ and $\\sigma_8-\\Omega_m$ Contour Plot\n", - "\n", - "This notebook creates a 2D marginalised contour plot of the $S_8$ and $\\Omega_m$ parameters, comparing this work with fiducial results from DES Y3, HSC and KiDS-Legacy (no chains yet so maybe just KiDS-1000?). Also the same for a plot of $\\sigma_8-\\Omega_m$.\n", - "\n", - "This notebook also reds the chains and derives the posterior values of $S_8$, subsequently writing them intoa file to be read in and plotted as a whisker plot in S8_whisker.ipynb." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "5e65319a-63f3-47d7-90cd-7b7db06174e9", - "metadata": {}, - "outputs": [], - "source": [ - "from getdist import plots, loadMCSamples\n", - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "import uncertainties\n", - "import os\n", - "\n", - "plt.rcParams.update({\"text.usetex\": True})\n", - "\n", - "g = plots.get_subplot_plotter(width_inch=12)\n", - "g.settings.axes_fontsize=30\n", - "g.settings.axes_labelsize=40\n", - "g.settings.alpha_filled_add = 0.7\n", - "g.settings.legend_fontsize = 20\n", - "\n", - "%matplotlib inline\n", - "\n", - "#SPECIFY DATA DIRECTORY AND DESIRED CHAINS TO ANALYSE\n", - "root_dir='/n23data1/n06data/lgoh/scratch/UNIONS/chains/ext_data'\n", - "roots = [\n", - " 'DES_Y3',\n", - " 'HSC_Y3',\n", - " 'DES+KiDS',\n", - " 'KiDS-1000',\n", - " 'Planck18'\n", - " ]\n", - "\n", - "root_label = [\n", - " r'DES Y3 ($\\xi_\\pm$)',\n", - " r'HSC Y3 ($\\xi_\\pm$)',\n", - " r'DES+KiDS ($\\xi_\\pm$)',\n", - " r'KiDS-1000 ($\\xi_\\pm$)',\n", - " r'Planck18 TT+TE+EE+lowE'\n", - " ]\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "ba84564b", - "metadata": {}, - "outputs": [], - "source": [ - "# Create the .paramnames file needed by getdist (take the parameter names from the first line of the output file)\n", - "for root in roots:\n", - " if os.path.isfile(f\"{root_dir}/{root}/getdist_{root}.paramnames\")==False:\n", - " \n", - " with open(f\"{root_dir}/{root}/{root}.txt\", \"r\") as file:\n", - " params = file.readline()[1:].split('\\t')[:-4]\n", - " file.close()\n", - " \n", - " with open(f\"{root_dir}/{root}/getdist_{root}.paramnames\", \"w\") as file:\n", - " for i in range(len(params)):\n", - " if len(params[i].split('--')) > 1:\n", - " file.write(params[i].split('--')[1] + '\\n')\n", - " else:\n", - " file.write(params[i].split('--')[0] + '\\n')\n", - " file.close()\n", - " print(params)" - ] - }, - { - "cell_type": "markdown", - "id": "70549903-a160-4a3e-a202-bd5a9d6b45eb", - "metadata": {}, - "source": [ - "## Retrieve the chains" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "4795888c-ce6f-4fe2-bbd4-fe17b5e57f02", - "metadata": {}, - "outputs": [], - "source": [ - "#READ CHAIN\n", - "\n", - "chains=[]\n", - "\n", - "for root in roots:\n", - " if os.path.isfile(f\"{root_dir}/{root}/getdist_{root}.paramnames\")==False:\n", - " samples = np.loadtxt(f\"{root_dir}/{root}/{root}.txt\")\n", - " samples = np.column_stack((samples[:,-1],samples[:,-3],samples[:,0:-4]))\n", - " np.savetxt(f\"{root_dir}/{root}/getdist_{root}.txt\", samples)\n", - " \n", - " chain = g.samples_for_root(f\"{root_dir}/{root}/getdist_{root}\",\n", - " cache=False,\n", - " settings={'ignore_rows':0,\n", - " # 'smooth_scale_2D':0.7,\n", - " # 'smooth_scale_1D':0.7\n", - " })\n", - " p = chain.getParams()\n", - " chain.addDerived(p.omega_m, name='OMEGA_M', label=r'$\\Omega_m$')\n", - " chain.addDerived(p.SIGMA_8, name='sigma_8', label=r'$\\sigma_8$')\n", - " if hasattr(p,'S_8')==False:\n", - " chain.addDerived(p.SIGMA_8*(np.sqrt(p.omega_m/0.3)), name='S_8', label=r'S_8')\n", - "\n", - " chains.append(chain)" - ] - }, - { - "cell_type": "markdown", - "id": "09ff24ef-6e8c-4ddd-96de-eeaf63b6982d", - "metadata": {}, - "source": [ - "## Plot the chain" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9080b714-810e-4a9d-b59d-54299752e35f", - "metadata": {}, - "outputs": [], - "source": [ - "%matplotlib inline\n", - "g.plot_2d(chains,\n", - " ['OMEGA_M','S_8'],\n", - " # contour_colors=['#0072B2', '#009E73', '#D55E00', '#CC79A7'],\n", - " filled=True)\n", - "g.add_legend(root_label, legend_loc='upper left')\n", - "# g.export('contour_plot_s8_om_fid.pdf')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6d627a76", - "metadata": {}, - "outputs": [], - "source": [ - "%matplotlib inline\n", - "g.plot_2d(chains,\n", - " ['OMEGA_M','sigma_8'],\n", - " # contour_colors=['#0072B2', '#009E73', '#D55E00', '#CC79A7'],\n", - " filled=True)\n", - "g.add_legend(root_label, legend_loc='upper left')\n", - "# g.export('contour_plot_sigma8_om_fid.pdf')" - ] - }, - { - "cell_type": "markdown", - "id": "d386da94-c165-488f-8604-ec2109935e07", - "metadata": { - "jp-MarkdownHeadingCollapsed": true, - "tags": [] - }, - "source": [ - "### Output bestfit and sigma values of parameters" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1ab5f45e-9f92-422a-89ef-1453b0b1c153", - "metadata": {}, - "outputs": [], - "source": [ - "#########BESTFIT AND SIGMA VALS##########\n", - "params = ['OMEGA_M','S_8']\n", - "latex_params = [r'$\\Omega_{m}$',r'$S_8$']\n", - "\n", - "chains = chains[::-1]\n", - "for chain in chains:\n", - "\n", - " margestats = chain.getMargeStats()\n", - " likestats = chain.getLikeStats()\n", - " p=chain.getParams()\n", - "\n", - " for no in range(len(latex_params)):\n", - " if hasattr(p,params[no]):\n", - " param_stats = margestats.parWithName(params[no])\n", - " a = np.array([param_stats.mean,param_stats.mean-param_stats.limits[0].lower, param_stats.limits[0].upper-param_stats.mean])\n", - " if '%.2g' %a[1] == '%.2g' %a[2]:\n", - " latex_params[no] += '&$%.3g\\pm%.2g$'%(a[0],a[1])\n", - " else:\n", - " latex_params[no] += '&$%.3g_{-%.2g}^{+%.2g}$'%(a[0],a[1],a[2])\n", - " else:\n", - " latex_params[no] += '&$-$'\n", - "\n", - " \n", - "for param in latex_params:\n", - " param += r'\\\\'\n", - " print(param) \n" - ] - }, - { - "cell_type": "markdown", - "id": "bbf09de1", - "metadata": {}, - "source": [ - "### Save values of $S_8$" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6cab7bbb-8ce2-4e8c-8a2d-721442d14a6f", - "metadata": {}, - "outputs": [], - "source": [ - "s8_values = np.array([\"# Expt\", \"Mean\", \"S8_low\", \"S8_high\"])\n", - "for i, chain in enumerate(chains):\n", - "\n", - " margestats = chain.getMargeStats()\n", - " likestats = chain.getLikeStats()\n", - "\n", - " param_stats = margestats.parWithName('S_8')\n", - " \n", - " s8_values = np.vstack((s8_values,[root_label[i], param_stats.mean, param_stats.mean-param_stats.limits[0].lower, param_stats.limits[0].upper-param_stats.mean]))\n", - "print(s8_values)\n", - "np.savetxt(f\"{root_dir}/S8_means.txt\", s8_values, fmt=['%s','%s','%s','%s'], delimiter=',')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "47e60452", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "sp-validation", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/S8_whisker.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/S8_whisker.ipynb deleted file mode 100644 index fada9ea7..00000000 --- a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/S8_whisker.ipynb +++ /dev/null @@ -1,113 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## $S_8$ Whisker Plot\n", - "\n", - "This notebook creates a whisker plot of $S_8$ values for different test cases and external datasets." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib\n", - "from astropy.io import fits\n", - "import matplotlib.pyplot as plt\n", - "import uncertainties\n", - "import yaml\n", - "import os\n", - "import numpy as np\n", - "\n", - "plt.rcParams.update({\"text.usetex\": True})\n", - "plt.rcParams.update({'font.size': 25})\n", - "plt.rc('mathtext', fontset='stix')\n", - "plt.rc('font', family='serif')\n", - "\n", - "chains_dir = f\"/n23data1/n06data/lgoh/scratch/UNIONS/chains\"\n", - "num_test_cases = 1\n" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [], - "source": [ - "# Read in text file with s8 values for the different test cases and external experiments \n", - "# (have had to run getdist to analyse the chains first)\n", - "\n", - "s8s = np.loadtxt(f\"{chains_dir}/S8_means.txt\",dtype={'names': ('Expt', 's8_mean', 's8_low', 's8_high'), 'formats': ('U40', 'U20', 'U20', 'U20')}, skiprows=1, delimiter=',')\n", - "expt = s8s['Exp']\n", - "s8s_mean = s8s['s8_mean'].astype(np.float64)\n", - "s8s_low = s8s['s8_low'].astype(np.float64)\n", - "s8s_high = s8s['s8_high'].astype(np.float64)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\n", - "fig, axs = plt.subplots(1, 1, sharey=True, figsize=[7,1.5*len(expt)])\n", - "axs.yaxis.set_visible(False)\n", - "\n", - "y = np.arange(0,len(expt))\n", - "\n", - "for i in y:\n", - " if i > len(expt)-num_test_cases-1:\n", - " axs.errorbar(s8s_mean[i], i+1, xerr=np.vstack((s8s_low[i],s8s_high[i])), fmt='o', c = 'darkblue',lw = 2, capsize=5,capthick=2)\n", - " else:\n", - " axs.errorbar(s8s_mean[i], i+1, xerr=np.vstack((s8s_low[i],s8s_high[i])), fmt='o', c = 'darkgreen',lw = 2, capsize=5,capthick=2)\n", - " \n", - " if i == 0: # Plot the band for \"Planck\"\n", - " axs.axvspan(s8s_mean[i]-s8s_low[i], s8s_mean[i]+s8s_high[i], alpha=0.2, color='cyan')\n", - " if i == len(expt)-1: # Plot the band for \"this work\"\n", - " axs.axvspan(s8s_mean[i]-s8s_low[i], s8s_mean[i]+s8s_high[i], alpha=0.2, color='lightpink')\n", - " if i == len(expt)-num_test_cases-1: # Make a distinction between this work (and all its test cases) with external datasets\n", - " axs.axhline(i+1.5, ls='dashed',c='k')\n", - " \n", - " \n", - " axs.set_xlabel(r'$S_8=\\sigma_8\\sqrt{\\Omega_{\\rm m}/0.3}$') \n", - " axs.text(0.62, i+1, rf\"{expt[i]}\")\n", - "\n", - "plt.ylim([0,i+2])\n", - "# plt.savefig('plots/s8_whisker.pdf',bbox_inches=\"tight\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "sp-validation", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/config/config.yaml b/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/config/config.yaml deleted file mode 100644 index 26020b81..00000000 --- a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/config/config.yaml +++ /dev/null @@ -1,19 +0,0 @@ -version: SP_v1.4.6.3_leak_corr -# chain: SP_v1.4.6.3_leak_corr_?_12_83 # TODO: update when v1.4.6.3 chains available - -# Data paths -xi_data: /n17data/cdaley/unions/pure_eb/code/sp_validation/notebooks/cosmo_val/output/SP_v1.4.6.3_leak_corr_xi_minsep=1.0_maxsep=250.0_nbins=20_npatch=1.txt -# bestfit_dir: TODO — waiting for v1.4.6.3 inference chains from Lisa -bestfit_dir: /n09data/guerrini/output_chains/SP_v1.4.6_leak_corr_C_10_80/best_fit/SP_v1.4.6_leak_corr_C_10_80 -pure_eb_data: /n17data/cdaley/unions/pure_eb/results/paper_plots/intermediate/SP_v1.4.6.3_leak_corr_A_pure_eb_semianalytic.npz - -# Scale cuts (arcmin) — fiducial: [12, 83] for both xi+ and xi- -scale_min: 12 -scale_max: 83 - -# Plot style -plot_style: /n17data/cdaley/unions/pure_eb/code/sp_validation/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/config/paper.mplstyle - -# Legacy config for old rules (if needed) -ini_dirs: - - /home/guerrini/sp_validation/cosmo_inference/cosmosis_config/ diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/config/paper.mplstyle b/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/config/paper.mplstyle deleted file mode 100644 index 07a5e0b5..00000000 --- a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/config/paper.mplstyle +++ /dev/null @@ -1,14 +0,0 @@ -figure.titlesize : 10 -figure.titleweight : bold -figure.autolayout : True -axes.titlesize : 10 -legend.fontsize : 8 -lines.linewidth : 1.5 -lines.markersize : 4 -axes.labelsize : 10 -xtick.labelsize : 9 -ytick.labelsize : 9 -text.usetex : True -axes.formatter.use_mathtext : True -font.family : serif -font.size : 10 \ No newline at end of file diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/corr_func.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/corr_func.ipynb deleted file mode 100644 index 8174aced..00000000 --- a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/corr_func.ipynb +++ /dev/null @@ -1,331 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Correlation Function Plots\n", - "\n", - "This notebook creates all the plots of the 2 point correlation functions (2PCFs) appearing in the paper: the fiducial $\\xi_\\pm$, the $\\xi_{E/B}$ as well as the $\\xi_{sys}$ correlation functions." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib\n", - "from astropy.io import fits\n", - "import matplotlib.pyplot as plt\n", - "import uncertainties\n", - "import yaml\n", - "import os\n", - "import numpy as np\n", - "\n", - "plt.rcParams.update({'font.size': 25,'figure.figsize':[12,7]})\n", - "plt.rcParams.update({\"text.usetex\": True})\n", - "plt.rc('mathtext', fontset='stix')\n", - "plt.rc('font', family='serif')\n", - "\n", - "# Define path to data files (NOTE: YOU MUST HAVE RAN THE cosmo_val.py PIPELINE!)\n", - "cosmoval_data_dir = \"/n23data1/n06data/lgoh/scratch/UNIONS/sp_validation/notebooks/cosmo_val/output\"\n", - "ver = \"SP_v1.4.5\"\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plot the 2PCFs $\\xi_\\pm$" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Read in the text file of the 2PCFs\n", - "\n", - "xipm_fname = f\"{cosmoval_data_dir}/xi_pm_{ver}.txt\"\n", - "print(f\"Reading xi_plus's from {xipm_fname}\")\n", - "\n", - "xipm = np.loadtxt(xipm_fname)\n", - "theta = xipm[:,1]\n", - "xip = xipm[:,3]\n", - "xim = xipm[:,4]\n", - "varxip = xipm[:,7]\n", - "varxim = xipm[:,8]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#Plot the xi_plus\n", - "ax1 = plt.subplot(111)\n", - "ax1.tick_params(axis='both', which='both', direction='in', length=6, width=1,\n", - " top=True, bottom=True, left=True, right=True)\n", - "ax1.yaxis.minorticks_on()\n", - "\n", - "# ax1.errorbar(theta, xip*1e4, yerr=varxip*1e4, \n", - "# fmt='o', markersize=6, capsize=2, capthick=1.5, ls = 'solid', lw=1.8,\n", - "# label=r'$\\xi_+$', \n", - "# color='royalblue')\n", - "ax1.plot(theta, xip*1e4, marker='o', markersize=4, ls = 'solid', lw=1.8, color=\"royalblue\")\n", - "ax1.fill_between(theta, (xip-varxip)*1e4, (xip+varxip)*1e4, color=\"powderblue\", alpha=0.7)\n", - "ax1.text(0.85 , 0.88, '1-1', transform=ax1.transAxes,\n", - " bbox=dict(facecolor='white', edgecolor='black', boxstyle='round', pad=0.5))\n", - "ax1.axvspan(0,10,color='gray', alpha=0.3)\n", - "ax1.axvspan(150,200,color='gray', alpha=0.3)\n", - "ax1.set_xscale('log')\n", - "ax1.set_xlabel(r'$\\theta$ [arcmin]')\n", - "ax1.set_ylabel(r'$\\xi_+\\times 10^4$')\n", - "# plt.savefig('plots/xi_plus_%s.pdf' %ver,bbox_inches='tight')\n", - "plt.show()\n", - "\n", - "# Plot the xi_minus\n", - "ax2 = plt.subplot(111)\n", - "ax2.tick_params(axis='both', which='both', direction='in', length=6, width=1,\n", - " top=True, bottom=True, left=True, right=True)\n", - "ax2.yaxis.minorticks_on()\n", - "\n", - "# ax2.errorbar(theta, xim*1e4, yerr=varxim*1e4, \n", - "# fmt='o', markersize=6, capsize=2, capthick=1.5, ls = 'solid', lw=1.8,\n", - "# label=r'$\\xi_-$',\n", - "# color='orangered')\n", - "ax2.plot(theta, xim*1e4, marker='o', markersize=4, ls = 'solid', lw=1.8, color=\"orangered\")\n", - "ax2.fill_between(theta, (xim-varxim)*1e4, (xim+varxim)*1e4, color=\"pink\", alpha=0.7)\n", - "ax2.text(0.85, 0.88, '1-1', transform=ax2.transAxes,\n", - " bbox=dict(facecolor='white', edgecolor='black', boxstyle='round', pad=0.5))\n", - "ax2.axvspan(0,10,color='gray', alpha=0.3)\n", - "ax2.axvspan(150,200,color='gray', alpha=0.3)\n", - "ax2.set_xscale('log')\n", - "ax2.set_xlabel(r'$\\theta$ [arcmin]')\n", - "ax2.set_ylabel(r'$\\xi_-\\times 10^4$')\n", - "# plt.savefig('plots/xi_minus_%s.pdf' %ver,bbox_inches='tight')\n", - "plt.show()\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plot the E/B modes $\\xi_{E/B}$" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Read in the text file of the 2PCFs\n", - "\n", - "xieb_fname = f\"{cosmoval_data_dir}/xi_eb_{ver}.txt\"\n", - "print(f\"Reading xi_e/b's from {xieb_fname}\")\n", - "\n", - "xieb = np.loadtxt(xieb_fname)\n", - "theta = xieb[:,0]\n", - "xie_p = xieb[:,1]\n", - "xie_m = xieb[:,2]\n", - "xib_p = xieb[:,3]\n", - "xib_m = xieb[:,4]\n", - "xiamb_p = xieb[:,5]\n", - "xiamb_m = xieb[:,6]\n", - "\n", - "xieb_cov_fname = f\"{cosmoval_data_dir}/xi_eb_{ver}_cov.txt\"\n", - "print(f\"Reading xi_e/b covmat from {xieb_cov_fname}\")\n", - "\n", - "xieb_cov = np.loadtxt(xieb_cov_fname)\n", - "ndata = len(theta)\n", - "varxi_e_p = np.diag(xieb_cov[:ndata,:ndata])\n", - "varxi_e_m = np.diag(xieb_cov[ndata:2*ndata,ndata:2*ndata])\n", - "varxi_b_p = np.diag(xieb_cov[2*ndata:3*ndata,2*ndata:3*ndata])\n", - "varxi_b_m = np.diag(xieb_cov[3*ndata:4*ndata,3*ndata:4*ndata])\n", - "varxi_amb_p = np.diag(xieb_cov[4*ndata:5*ndata,4*ndata:5*ndata])\n", - "varxi_amb_m = np.diag(xieb_cov[5*ndata:6*ndata,5*ndata:6*ndata])\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#Plot the xi_plus\n", - "ax1 = plt.subplot(111)\n", - "ax1.tick_params(axis='both', which='both', direction='in', length=6, width=1,\n", - " top=True, bottom=True, left=True, right=True)\n", - "ax1.yaxis.minorticks_on()\n", - "\n", - "ax1.errorbar(theta, xie_p*1e4, yerr=np.sqrt(varxi_e_p)*1e4, \n", - " fmt='o', markersize=6, capsize=3, capthick=1.5, ls = 'solid', lw=1.8,\n", - " label=r'$\\xi_E$', \n", - " color='royalblue')\n", - "ax1.errorbar(theta, xib_p*1e4, yerr=np.sqrt(varxi_b_p)*1e4, \n", - " fmt='o', markersize=6, capsize=3, capthick=1.5, ls = 'dashed', lw=1.8,\n", - " label=r'$\\xi_B$', \n", - " color='chocolate')\n", - "ax1.errorbar(theta, xiamb_p*1e4, yerr=np.sqrt(varxi_amb_p)*1e4, \n", - " fmt='o', markersize=6, capsize=3, capthick=1.5, ls = 'dotted', lw=1.8,\n", - " label=r'$\\xi_{\\rm{amb}}$', \n", - " color='mediumvioletred')\n", - "ax1.text(0.9, 0.15, '1-1', transform=ax1.transAxes,\n", - " bbox=dict(facecolor='white', edgecolor='black', boxstyle='round', pad=0.5))\n", - "ax1.axvspan(0,10,color='grey', alpha=0.3)\n", - "ax1.axvspan(150,200,color='grey', alpha=0.3)\n", - "ax1.axhline(0,color='black',lw=1,ls='dashed')\n", - "ax1.set_xscale('log')\n", - "ax1.set_xlabel(r'$\\theta$ [arcmin]')\n", - "ax1.legend()\n", - "ax1.set_ylabel(r'$\\xi_+\\times 10^4$')\n", - "# plt.savefig('plots/xi_eb_plus_%s.pdf' %ver,bbox_inches='tight')\n", - "plt.show()\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#Plot the xi_minus\n", - "ax1 = plt.subplot(111)\n", - "ax1.tick_params(axis='both', which='both', direction='in', length=6, width=1,\n", - " top=True, bottom=True, left=True, right=True)\n", - "ax1.yaxis.minorticks_on()\n", - "\n", - "ax1.errorbar(theta, xie_m*1e4, yerr=np.sqrt(varxi_e_m)*1e4, \n", - " fmt='o', markersize=6, capsize=3, capthick=1.5, ls = 'solid', lw=1.8,\n", - " label=r'$\\xi_E$', \n", - " color='royalblue')\n", - "ax1.errorbar(theta, xib_m*1e4, yerr=np.sqrt(varxi_b_m)*1e4, \n", - " fmt='o', markersize=6, capsize=3, capthick=1.5, ls = 'dashed', lw=1.8,\n", - " label=r'$\\xi_B$', \n", - " color='chocolate')\n", - "ax1.errorbar(theta, xiamb_m*1e4, yerr=np.sqrt(varxi_amb_m)*1e4, \n", - " fmt='o', markersize=6, capsize=3, capthick=1.5, ls = 'dotted', lw=1.8,\n", - " label=r'$\\xi_{\\rm{amb}}$', \n", - " color='mediumvioletred')\n", - "ax1.text(0.9, 0.15, '1-1', transform=ax1.transAxes,\n", - " bbox=dict(facecolor='white', edgecolor='black', boxstyle='round', pad=0.5))\n", - "ax1.axvspan(0,10,color='grey', alpha=0.3)\n", - "ax1.axvspan(150,200,color='grey', alpha=0.3)\n", - "ax1.axhline(0,color='black',lw=1,ls='dashed')\n", - "ax1.set_xscale('log')\n", - "ax1.set_xlabel(r'$\\theta$ [arcmin]')\n", - "ax1.legend()\n", - "ax1.set_ylabel(r'$\\xi_-\\times 10^4$')\n", - "# plt.savefig('plots/xi_eb_minus_%s.pdf' %ver,bbox_inches='tight')\n", - "plt.show()\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plot the $\\xi_{sys}$" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Read in the text file of the 2PCFs\n", - "\n", - "xisys_fname = f\"{cosmoval_data_dir}/leakage_{ver}/xi_sys.txt\"\n", - "print(f\"Reading xi_sys's from {xisys_fname}\")\n", - "\n", - "xisys = np.loadtxt(xisys_fname)\n", - "theta = xisys[:,0]\n", - "xip_sys = xisys[:,1]\n", - "xim_sys = xisys[:,2]\n", - "varxip_sys = xisys[:,3]\n", - "varxim_sys = xisys[:,4]\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\n", - "# Plot the xi_+sys\n", - "ax1 = plt.subplot(111)\n", - "ax1.tick_params(axis='both', which='both', direction='in', length=6, width=1,\n", - " top=True, bottom=True, left=True, right=True)\n", - "ax1.yaxis.minorticks_on()\n", - "\n", - "ax1.errorbar(theta, xip_sys/xip, yerr=varxip_sys/xip, \n", - " fmt='o', markersize=4, capsize=2, capthick=1.5, ls = 'solid', lw=1.8,\n", - " label=r'$\\xi_{+,\\rm{sys}}$', \n", - " color='saddlebrown')\n", - "ax1.fill_between(theta, -varxip/xip,varxip/xip, color='palegreen', alpha=0.5)\n", - "ax1.axhline(0,ls='dashed',lw=1, color='grey')\n", - "ax1.text(0.07, 0.88, r'$\\xi_+$, 1-1', transform=ax1.transAxes,\n", - " bbox=dict(facecolor='white', edgecolor='black', boxstyle='round', pad=0.5))\n", - "ax1.set_xscale('log')\n", - "ax1.set_xlabel(r'$\\theta$ [arcmin]')\n", - "ax1.set_ylabel(r'$\\xi_{\\rm{sys}}/\\xi$')\n", - "# plt.savefig('plots/xip_sys_%s.pdf' %ver,bbox_inches='tight')\n", - "plt.show()\n", - "\n", - "# Plot the xi_- sys\n", - "ax2 = plt.subplot(111)\n", - "ax2.tick_params(axis='both', which='both', direction='in', length=6, width=1,\n", - " top=True, bottom=True, left=True, right=True)\n", - "ax2.yaxis.minorticks_on()\n", - "\n", - "ax2.errorbar(theta, xim_sys/xim, yerr=abs(varxim_sys/xim), \n", - " fmt='o', markersize=4, capsize=2, capthick=1.5, ls = 'solid', lw=1.8,\n", - " label=r'$\\xi_{-,\\rm{sys}}$', \n", - " color='teal')\n", - "ax2.fill_between(theta, -varxim/xim,varxim/xim, color='palegreen', alpha=0.5)\n", - "ax2.axhline(0,ls='dashed',lw=1, color='grey')\n", - "ax2.text(0.07, 0.88, r'$\\xi_-$, 1-1', transform=ax2.transAxes,\n", - " bbox=dict(facecolor='white', edgecolor='black', boxstyle='round', pad=0.5))\n", - "ax2.set_xscale('log')\n", - "ax2.set_xlabel(r'$\\theta$ [arcmin]')\n", - "ax2.set_ylabel(r'$\\xi_{\\rm{sys}}/\\xi$')\n", - "# plt.savefig('plots/xim_sys_%s.pdf' %ver,bbox_inches='tight')\n", - "plt.show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "sp-validation", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/matplotlib_config/paper.mplstyle b/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/matplotlib_config/paper.mplstyle deleted file mode 100644 index 11f59460..00000000 --- a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/matplotlib_config/paper.mplstyle +++ /dev/null @@ -1,13 +0,0 @@ -figure.titlesize : 14 -figure.titleweight : bold -figure.autolayout : True -axes.titlesize : 14 -legend.fontsize : 8 -lines.linewidth : 1.5 -lines.markersize : 4 -axes.labelsize : 14 -xtick.labelsize : 12 -ytick.labelsize : 12 -text.usetex : True -font.family : serif -font.size : 12 \ No newline at end of file diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/supporting_plots.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/supporting_plots.ipynb deleted file mode 100644 index 1de034f0..00000000 --- a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/supporting_plots.ipynb +++ /dev/null @@ -1,155 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## SUPPORTING PLOTS\n", - "\n", - "This notebook plots all other supporting plots in the paper: the covariance matrix, and the redshift distributions." - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib\n", - "from astropy.io import fits\n", - "import matplotlib.pyplot as plt\n", - "import uncertainties\n", - "import yaml\n", - "import os\n", - "import numpy as np\n", - "\n", - "plt.rcParams.update({'font.size': 25,'figure.figsize':[12,7]})\n", - "plt.rcParams.update({\"text.usetex\": True})\n", - "plt.rc('mathtext', fontset='stix')\n", - "plt.rc('font', family='serif')\n", - "\n", - "# Define path to data files (NOTE: YOU MUST HAVE RAN THE INFERENCE PIPELINE!)\n", - "data_dir = \"/n17data/mkilbing/astro/data/\"\n", - "ver = \"SP_v1.4.5_A\"\n", - "nz_file = data_dir + \"CFIS/v1.0/nz/blind_nz_cfis_shapepipe_2022v1.fits\"\n", - "covmat_file = f\"/n23data1/n06data/lgoh/scratch/UNIONS/cosmo_inference/data/{ver}/covs/cov_{ver}.txt\"\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plot the redshift distribution $n(z)$" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "nz_hdu = fits.open(nz_file)\n", - "nz = nz_hdu[1].data\n", - "blind = 'A'\n", - "\n", - "z = nz_hdu[1].data['Z_%s'%blind]\n", - "bins=np.linspace(0,3,50)\n", - "\n", - "ax1 = plt.subplot(111)\n", - "ax1.tick_params(axis='both', which='both', direction='in', length=6, width=1,\n", - " top=True, bottom=True, left=True, right=True)\n", - "\n", - "y,edges = np.histogram(z, bins,density=True,weights=nz['som_w'])\n", - "centers = 0.5*(edges[1:]+ edges[:-1])\n", - "ax1.plot(centers,y,'-',lw = 2.5, alpha=0.7)\n", - "\n", - "ax1.set_xlabel(r'$z$')\n", - "ax1.set_ylabel(r'$n(z)$')\n", - "ax1.set_ylim([0,1.5])\n", - "# plt.savefig('plots/nz.pdf',bbox_inches='tight')\n", - "plt.show()\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plot the covariance matrix" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "cov = np.loadtxt(covmat_file)\n", - "ndata = len(cov[0])\n", - "cmap = 'seismic'" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "pp_norm = np.zeros((ndata,ndata))\n", - "for i in range(ndata):\n", - " for j in range(ndata):\n", - " pp_norm[i][j] = cov[i][j]/ np.sqrt(cov[i][i]*cov[j][j])\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.add_subplot(1, 1, 1) \n", - "extent = (0, ndata, ndata, 0)\n", - "im3 = ax.imshow(pp_norm, cmap=cmap, vmin=-1, vmax=1, extent=extent)\n", - "\n", - "plt.axvline(x=int(ndata/2),color='black',linewidth=1.0)\n", - "plt.axhline(y=int(ndata/2),color='black',linewidth=1.0)\n", - "\n", - "fig.colorbar(im3, orientation='vertical')\n", - "ticks = np.arange(0,ndata+10,10)\n", - "tick_labels = np.array([0,10,0,10,20])\n", - "ax.set_xticks(ticks,labels= tick_labels)\n", - "ax.set_yticks(ticks,labels= tick_labels)\n", - "\n", - "\n", - "ax.text(int(ndata/4), ndata+5, r'$\\xi_+(\\theta)$')\n", - "ax.text(3*int(ndata/4), ndata+5, r'$\\xi_-(\\theta)$')\n", - "ax.text(-9, int(ndata/4), r'$\\xi_+(\\theta)$')\n", - "ax.text(-9, 3*int(ndata/4), r'$\\xi_-(\\theta)$')\n", - "\n", - "# plt.savefig(\"plots/covmat.pdf\", bbox_inches='tight')\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "sp-validation", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/Snakefile b/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/Snakefile deleted file mode 100644 index 4ca68601..00000000 --- a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/Snakefile +++ /dev/null @@ -1,45 +0,0 @@ -import os -from pathlib import Path - -configfile: "config/config.yaml" - - -rule plot_xi_bestfit: - """Plot ξ± data with best-fit theory from fiducial chain.""" - input: - xi_data=config["xi_data"], - pure_eb_data=config["pure_eb_data"], - output: - f"/n17data/cdaley/unions/pure_eb/results/paper_plots/{config['version']}_xi_with_bestfit.pdf", - params: - bestfit_dir=config["bestfit_dir"], - script: - "scripts/plot_xi_bestfit.py" - - -# --- Legacy rules (commented out, require old config keys) --- -# def find_cosmosis_inputs(): -# chain = config["chain"] -# for ini_dir in config["ini_dirs"]: -# ini_file = Path(ini_dir) / f"cosmosis_pipeline_{chain}.ini" -# if os.path.exists(ini_file): -# return ini_file -# raise FileNotFoundError( -# f"Cosmosis input file not found for chain {chain} in specified directories." -# ) -# -# rule get_bestfit_model: -# input: -# inference_ini=find_cosmosis_inputs(), -# output: -# bestfit_values_ini=f"results/{config['chain']}/bestfit_values.ini", -# cosmosis_ini=f"results/{config['chain']}/cosmosis.ini", -# xi_shear=f"results/{config['chain']}/bestfit_xi_shear.txt", -# xi_sys=f"results/{config['chain']}/bestfit_xi_sys.txt", -# params: -# bestfit_dir=f"results/{config['chain']}", -# script: -# "scripts/get_bestfit_model.py" -# -# rule paper_plots: -# ... # References min_sep, max_sep, nbins, etc. from old config diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/scripts/contour_plots.py b/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/scripts/contour_plots.py deleted file mode 100644 index 7706d392..00000000 --- a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/scripts/contour_plots.py +++ /dev/null @@ -1,183 +0,0 @@ -""" -Get the best-fit (really weighted posterior mean) parameters from the MCMC -chain and run cosmosis to get the best-fit theory curve for plotting elsewhere. -""" - -# %% -import configparser -import os -import subprocess as sp -import sys - -import getdist as gd -import numpy as np -from astropy.io import fits -from scipy.interpolate import interp1d - -if hasattr(sys, "ps1"): - from snakemake_helpers import get_pipe - - snakemake = get_pipe( - "contour_plots", - "/n17data/cdaley/unions/sp_validation/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots", - ) -else: - from snakemake.script import snakemake - -params = snakemake.params - -# %% change a few values in the inference config and save it to a new file -inference_config = configparser.ConfigParser() -inference_config.optionxform = str -inference_config.read(snakemake.input.inference_ini) - -inference_config["runtime"]["sampler"] = "test" -inference_config["pipeline"]["values"] = snakemake.output.bestfit_values_ini - -prior_path = inference_config["pipeline"]["priors"] -if prior_path.startswith("cosmosis_config"): # sacha - base_dir = snakemake.input.inference_ini.split("cosmosis_config")[0] - inference_config["pipeline"]["priors"] = base_dir + prior_path - inference_config["DEFAULT"]["FITS_FILE"] = ( - base_dir + inference_config["DEFAULT"]["FITS_FILE"] - ) -if "cosmosis_config/priors_" in prior_path and "lgoh" in prior_path: # lisa - inference_config["pipeline"]["priors"] = prior_path.replace( - "priors_", "priors/priors_" - ) - -inference_config["test"]["save_dir"] = snakemake.params["bestfit_dir"] - -with open(snakemake.output.cosmosis_ini, "w", encoding="utf-8") as f: - inference_config.write(f) - - -# %% -# % Get best-fit (really posterior mean) parameters from MCMC chain -chain = gd.mcsamples.loadMCSamples( - inference_config["output"]["filename"] - .split(".txt")[0] - .replace("samples_", "getdist_") -) -likestats = chain.getLikeStats() -bestfit_idx = np.argmax(chain.loglikes) -maxlike = chain.loglikes[bestfit_idx] -print(f"Maximum Likelihood: {maxlike:.5g}") -best_fit = { - par.name: np.average(chain.samples[:, i], weights=chain.weights) - for i, par in enumerate(likestats.names) -} -# %% create cosmosis bestfit values ini file - -section_map = { - "omch2": "cosmological_parameters", - "ombh2": "cosmological_parameters", - "h0": "cosmological_parameters", - "n_s": "cosmological_parameters", - "s_8_input": "cosmological_parameters", - "logt_agn": "halo_model_parameters", - "a": "intrinsic_alignment_parameters", - "m1": "shear_calibration_parameters", - "bias_1": "nofz_shifts", - "alpha": "psf_leakage_parameters", - "beta": "psf_leakage_parameters", -} - -content = """ -[cosmological_parameters] - -tau = 0.0544 -w = -1.0 -massive_nu = 1 -massless_nu = 2.046 -omega_k = 0.0 -wa = 0.0 - -[halo_model_parameters] - -[intrinsic_alignment_parameters] - -[shear_calibration_parameters] - -[nofz_shifts] - -[psf_leakage_parameters] -""" - -with open(snakemake.output.bestfit_values_ini, "w", encoding="utf-8") as f: - f.write(content) - f.close() - -best_fit_config = configparser.ConfigParser() -best_fit_config.optionxform = str -best_fit_config.read(snakemake.output.bestfit_values_ini) - -for param, value in best_fit.items(): - section = section_map.get(param) - if section is None: - continue - if section not in best_fit_config: - best_fit_config.add_section(section) - best_fit_config[section][param] = str(value) -with open(snakemake.output.bestfit_values_ini, "w", encoding="utf-8") as f: - best_fit_config.write(f) - - -# %% - -env = os.environ.copy() -env["LD_LIBRARY_PATH"] = ( - "/home/guerrini/.conda/envs/sp_validation/lib/python3.9/site-packages/cosmosis/datablock:" - + env.get("LD_LIBRARY_PATH", "") -) - -# Run cosmosis -result = sp.run( - ["cosmosis", snakemake.output.cosmosis_ini], - env=env, - capture_output=True, - text=True, - check=True, -) -print(f"STDOUT:\n{result.stdout}") -print(f"STDERR:\n{result.stderr}") -# %% -theta_model = ( - np.rad2deg(np.loadtxt(snakemake.params["bestfit_dir"] + "/shear_xi_plus/theta.txt")) - * 60 -) -theta_data = fits.open(inference_config["DEFAULT"]["FITS_FILE"])["XI_PLUS"].data["ANG"] -theta_out = np.geomspace(0.01, 300, 1000) - -xi_plus, xi_minus = [ - interp1d( - theta_model, - np.loadtxt(snakemake.params["bestfit_dir"] + f"/shear_{var}/bin_1_1.txt"), - kind="cubic", - fill_value="extrapolate", - )(theta_out) - for var in ["xi_plus", "xi_minus"] -] -xi_sys_plus, xi_sys_minus = [ - interp1d( - theta_data, - np.loadtxt(snakemake.params["bestfit_dir"] + f"/xi_sys/shear_{var}.txt"), - kind="cubic", - fill_value="extrapolate", - )(theta_out) - for var in ["xi_plus", "xi_minus"] -] -# %% -np.savetxt( - snakemake.output.xi_shear, - np.column_stack([theta_out, xi_plus, xi_minus]), - header="theta xi_plus xi_minus", - fmt="%g", -) -np.savetxt( - snakemake.output.xi_sys, - np.column_stack([theta_out, xi_sys_plus, xi_sys_minus]), - header="theta xi_sys_plus xi_sys_minus", - fmt="%g", -) -# %% diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/scripts/eb_plots.py b/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/scripts/eb_plots.py deleted file mode 100644 index 5d7b7404..00000000 --- a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/scripts/eb_plots.py +++ /dev/null @@ -1,389 +0,0 @@ -""" -Plot Data 2PCF as well as best-fit model, B-modes, and leakage systematics. -""" - -# %% -# if interactive -import os -import sys - -import matplotlib.pyplot as plt -import numpy as np -import seaborn as sns -from IPython import get_ipython -from mpl_toolkits.axes_grid1 import make_axes_locatable -from scipy import stats - -ipython = get_ipython() - -# enable autoreload for interactive sessions -if ipython is not None: - ipython.run_line_magic("load_ext", "autoreload") - ipython.run_line_magic("autoreload", "2") -else: - # Force unbuffered stdout and stderr - sys.stdout = os.fdopen(sys.stdout.fileno(), "w", buffering=1) # line-buffered - sys.stderr = os.fdopen(sys.stderr.fileno(), "w", buffering=1) - -from sp_validation.cosmo_val import CosmologyValidation - -if ipython is not None: - ipython.run_line_magic("matplotlib", "inline") - os.chdir( - "/n17data/cdaley/unions/sp_validation/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/scripts" - ) - from snakemake_helpers import get_pipe - - snakemake = get_pipe("eb_plots", workdir="../") -else: - from snakemake.script import snakemake - -params = snakemake.params -config = snakemake.config -plt.style.use(config["plot_style"]) - -# %% -cwd = os.getcwd() -os.chdir("/n17data/cdaley/unions/sp_validation/notebooks/cosmo_val") - -cv = CosmologyValidation( - versions=[config["version"]], -) -# %% -eb_results = cv.calculate_pure_eb(version=config["version"], **config["pure_eb"]) -# %% -cosebis_results = cv.calculate_cosebis(version=config["version"], **config["cosebis"]) -cosebis_results_fiducial = cosebis_results[tuple(config["fiducial_scale_cut"])] - -# %% -os.chdir(cwd) - -# %% -theta_model, xi_plus_theory, xi_minus_theory = np.loadtxt( - snakemake.input.bestfit_xi_shear, unpack=True -) - -theta_model, xi_plus_sys, xi_minus_sys = np.loadtxt( - snakemake.input.bestfit_xi_sys, unpack=True -) - - -# %% -def populate_eb_results(results, start_p, start_m, stop=None): - results["start_p"] = start_p - results["start_m"] = start_m - stop = stop if stop is not None else results["gg"].nbins - 1 - results["stop"] = stop - - nbins, npatch = results["gg"].nbins, results["gg"].npatch1 - hartlap_factor = (npatch - nbins - 2) / (npatch - 1) - - starts = { - key: start_p if "xip" in key else start_m - for key in ["xip_E", "xim_E", "xip_B", "xim_B", "xip_amb", "xim_amb"] - } - nbins_eff = {key: stop - starts[key] for key in starts} - - # Compute and store covariance blocks and stds in results with explicit names - for i, key in enumerate(["xip_E", "xim_E", "xip_B", "xim_B", "xip_amb", "xim_amb"]): - cov_block = results["cov"][ - nbins * i : nbins * (i + 1), nbins * i : nbins * (i + 1) - ] - std_block = np.sqrt(np.diag(cov_block)) - results[f"cov_{key}"] = cov_block - results[f"std_{key}"] = std_block - - chi2s = { - key: results[key][starts[key] : stop] - @ ( - hartlap_factor - * np.linalg.inv( - results[f"cov_{key}"][starts[key] : stop, starts[key] : stop] - ) - ) - @ results[key][starts[key] : stop] - for key in ["xip_E", "xim_E", "xip_B", "xim_B"] - } - # Store chi2s in results - for key in chi2s: - results[f"{key}_chi2"] = chi2s[key] - - xip_B_pte, xim_B_pte = [ - stats.chi2.sf(chi2s[key], nbins_eff[key]) for key in ["xip_B", "xim_B"] - ] - # Store PTEs in results - results["xip_B_pte"] = xip_B_pte - results["xim_B_pte"] = xim_B_pte - - stop = results["stop"] - for pm in "pm": - results[f"xi{pm}_B_ptes"] = [] - for start in range(stop): - nbins_eff = stop - start - - chi2s = { - key: results[key][start:stop] - @ ( - hartlap_factor - * np.linalg.inv(results[f"cov_{key}"][start:stop, start:stop]) - ) - @ results[key][start:stop] - for key in [f"xi{pm}_E", f"xi{pm}_B"] - } - - results[f"xi{pm}_B_ptes"].append( - stats.chi2.sf(chi2s[f"xi{pm}_B"], nbins_eff) - ) - return results - - -populate_eb_results(eb_results, 10, 15, eb_results["gg"].nbins - 2) - -# %% -# Plot Pure 2PCFs -gg, gg_int = eb_results["gg"], eb_results["gg_int"] -fig, axs = plt.subplots(nrows=1, ncols=2, figsize=(8, 4)) - -axs[0].plot( - theta_model, - theta_model * (xi_plus_theory + xi_plus_sys) / 1e-4, - color="black", - # ms=12, - label=r"Best-fit $\xi_{+}^{\rm th} + \xi_{+}^{\rm sys}$", -) - -axs[0].plot( - theta_model, - theta_model * (xi_plus_theory) / 1e-4, - color="darkmagenta", - ls="--", - # ms=12, - label=r"Best-fit $\xi_{+}^{\rm th}$", -) - -axs[0].plot( - theta_model, - theta_model * xi_plus_sys / 1e-4, - color="dodgerblue", - # ms=12, - label=r"Best-fit $\xi_{+}^{\rm sys}$", -) - -axs[0].errorbar( - gg.meanr, - gg.meanr * gg.xip / 1e-4, - yerr=gg.meanr * np.sqrt(gg.varxip) / 1e-4, - fmt="k.", - # ms=12, - # label=r"$\xi_{+}=\xi_{+}^{E}+\xi_{+}^{B}+\xi_{+}^{\mathrm{amb}}$", - label=r"$\xi_{+}$", -) - -axs[0].errorbar( - gg.meanr, - gg.meanr * eb_results["xip_B"] / 1e-4, - yerr=gg.meanr * eb_results["std_xip_B"] / 1e-4, - color="crimson", - ls="", - marker=".", - # ms=12, - label=rf"$\xi_{{+}}^{{B}}, {{\rm PTE}}={np.round(eb_results['xip_B_pte'],4)}$", -) - - -axs[0].axvspan(0, gg.left_edges[eb_results["start_p"]], color="gray", alpha=0.1) -axs[0].axvspan(gg.right_edges[eb_results["stop"]], 1000, color="gray", alpha=0.1) -axs[0].axhline(0, ls="--", color="k", alpha=0.5) -axs[0].set_xscale("log") -axs[0].set_xticks([0.1, 1, 10, 100], [r"$0.1$", r"$1$", r"$10$", r"$100$"]) -axs[0].set_xlabel(r"$\theta$ (arcmin)") -axs[0].set_ylabel(r"$\theta\xi\times10^{4}$") -axs[0].legend(loc="upper left") -axs[0].set_ylim(-0.45, 1.9) -axs[0].set_xlim(1, 170) -axs[0].set_title(r"$\xi_{+}$") - -axs[1].plot( - theta_model, - theta_model * (xi_minus_theory + xi_minus_sys) / 1e-4, - color="black", - # ms=12, - label=r"Best-fit $\xi_{-}^{\rm th} + \xi_{-}^{\rm sys}$", -) - -axs[1].plot( - theta_model, - theta_model * (xi_minus_theory) / 1e-4, - color="darkmagenta", - ls="--", - # ms=12, - label=r"Best-fit $\xi_{-}^{\rm th}$", -) - -axs[1].plot( - theta_model, - theta_model * xi_minus_sys / 1e-4, - color="dodgerblue", - # ms=12, - label=r"Best-fit $\xi_{-}^{\rm sys}$", -) - -axs[1].errorbar( - gg.meanr, - gg.meanr * gg.xim / 1e-4, - yerr=gg.meanr * np.sqrt(gg.varxim) / 1e-4, - fmt="k.", - # ms=12, - # label=r"$\xi_{-}=\xi_{-}^{E}-\xi_{-}^{B}+\xi_{-}^{\mathrm{amb}}$", - label=r"$\xi_{-}$", -) - -axs[1].errorbar( - gg.meanr, - gg.meanr * eb_results["xim_B"] / 1e-4, - yerr=gg.meanr * eb_results["std_xim_B"] / 1e-4, - color="crimson", - ls="", - marker=".", - # ms=12, - # label=r"$\xi_{-}^{B}$", - label=rf"$\xi_{{-}}^{{B}}, {{\rm PTE}}={np.round(eb_results['xim_B_pte'],4)}$", -) - -axs[1].axvspan(0, gg.left_edges[eb_results["start_m"]], color="gray", alpha=0.1) -axs[1].axvspan(gg.right_edges[eb_results["stop"]], 1000, color="gray", alpha=0.1) -axs[1].axhline(0, ls="--", color="k", alpha=0.5) -axs[1].set_xscale("log") -axs[1].set_xlabel(r"$\theta$ (arcmin)") -axs[1].legend(loc="upper left") -axs[1].set_ylim(-0.45, 1.9) -axs[1].set_title(r"$\xi_{-}$") -axs[1].set_xticks([0.1, 1, 10, 100], [r"$0.1$", r"$1$", r"$10$", r"$100$"]) -axs[1].set_xlim(1, 170) - -plt.savefig(snakemake.output["xis"], bbox_inches="tight", dpi=300) - - -# %% -# Plot 2PCF covariance -def correlation_from_covariance(covariance): - v = np.sqrt(np.diag(covariance)) - outer_v = np.outer(v, v) - correlation = covariance / outer_v - correlation[covariance == 0] = 0 - return correlation - - -fig, ax = plt.subplots(figsize=(4, 4)) -im = ax.matshow(correlation_from_covariance(eb_results["cov"]), cmap="vlag") - -for ticks in (plt.xticks, plt.yticks): - ticks( - range(10, 111, 20), - [ - r"$\xi_+^{E}$", - r"$\xi_-^{E}$", - r"$\xi_+^{B}$", - r"$\xi_-^{B}$", - r"$\xi_+^{\rm amb}$", - r"$\xi_-^{\rm amb}$", - ], - ) - ticks(range(0, 121, 20), minor=True) -ax.tick_params(axis="both", which="major", length=0) - -im.set_clim(-1, 1) -divider = make_axes_locatable(ax) -cax = divider.append_axes("right", size="5%", pad=0.1) # Adjust size/pad as needed -plt.colorbar(im, cax=cax) -# ax.set_title("Pure E/B Sampled Correlation Matrix") -plt.savefig(snakemake.output["xis_corr"], dpi=300, bbox_inches="tight") - -# %% -# Plot COSEBIS -plt.figure(figsize=(4, 4)) -plt.errorbar( - cosebis_results_fiducial["modes"], - cosebis_results_fiducial["E"] * 1e11, - yerr=np.sqrt(np.diag(cosebis_results_fiducial["cov_E"])) * 1e11, - label=rf"COSEBIs E-modes; $\sqrt{{\chi_0^2}}$ = {cosebis_results_fiducial['E_snr']:.2f}", -) -plt.errorbar( - cosebis_results_fiducial["modes"], - cosebis_results_fiducial["B"] * 1e11, - yerr=np.sqrt(np.diag(cosebis_results_fiducial["cov_B"])) * 1e11, - c="crimson", - label=rf"COSEBIs B-modes; PTE $B_0$ = {cosebis_results_fiducial['B0_pte']:.2f}, $B_{{\rm all}}$ = {cosebis_results_fiducial['B_pte']:.2f}", -) - -plt.axhline(0, ls="--", color="k") -plt.legend() -plt.xlabel(r"$n$ (mode)") -plt.ylabel(r"$E_n,B_n \times 10^{11}$") -plt.savefig(snakemake.output["cosebis"], dpi=300, bbox_inches="tight") - -# %% -# Plot COSEBIS covariance - -fig, ax = plt.subplots(figsize=(4, 4)) -im = ax.imshow(cosebis_results_fiducial["cov_EB"], cmap="coolwarm") - -nmodes = len(cosebis_results_fiducial["E"]) -for ticks in (plt.xticks, plt.yticks): - ticks( - np.arange(nmodes / 2, nmodes * 2, nmodes), - [r"$E_n$", r"$B_n$"], - ) - ticks([nmodes], minor=True) - -clim = np.max(np.abs(cosebis_results_fiducial["cov_EB"])) -im.set_clim(-clim, clim) -divider = make_axes_locatable(ax) -cax = divider.append_axes("right", size="5%", pad=0.1) -plt.colorbar(im, cax=cax) -plt.savefig(snakemake.output["cosebis_cov"], dpi=300, bbox_inches="tight") - -# %% -plt.figure(figsize=(4, 4)) -plt.plot( - gg.meanr[0 : eb_results["stop"]], - eb_results["xip_B_ptes"], - label=r"$\xi_{B+}$", - marker="$+$", - c="dodgerblue", - ms=8, - ls="", -) -plt.plot( - gg.meanr[0 : eb_results["stop"]], - eb_results["xim_B_ptes"], - c="crimson", - label=r"$\xi_{B-}$", - marker="$-$", - ms=8, - ls="", -) - -B_ptes = [cosebis_results[scale_cut]["B_pte"] for scale_cut in cosebis_results] - -plt.plot( - [scale_cut[0] for scale_cut in cosebis_results], - B_ptes, - c="k", - label=r"$B_{n}$", - marker=".", - ms=8, - ls="", -) - -plt.axhspan(0, 0.05, ls="--", color="k", alpha=0.5) -plt.axhspan(0.95, 1, ls="--", color="k", alpha=0.5) - -plt.xscale("log") -# plt.yscale("log") -plt.ylim(0, 1) -plt.xlabel(r"$\theta$ (arcmin)") -plt.ylabel(r"PTE") -plt.legend() -# plt.title("B-mode PTEs as a function of lower scale cut") -plt.savefig(snakemake.output["ptes"], dpi=300, bbox_inches="tight") diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/scripts/get_bestfit_model.py b/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/scripts/get_bestfit_model.py deleted file mode 100644 index 0f269207..00000000 --- a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/scripts/get_bestfit_model.py +++ /dev/null @@ -1,175 +0,0 @@ -""" -Get the best-fit (really weighted posterior mean) parameters from the MCMC -chain and run cosmosis to get the best-fit theory curve for plotting elsewhere. -""" - -# %% -import configparser -import os -import subprocess as sp -import sys - -import getdist as gd -import numpy as np -from astropy.io import fits -from scipy.interpolate import interp1d - -if hasattr(sys, "ps1"): - from snakemake_helpers import get_pipe - - snakemake = get_pipe( - "results/SP_v1.4.5_A_sc_10_60/bestfit_theory.txt", - "/n17data/cdaley/unions/sp_validation/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots", - ) -else: - from snakemake.script import snakemake - -params = snakemake.params - -# %% change a few values in the inference config and save it to a new file -inference_config = configparser.ConfigParser() -inference_config.optionxform = str -inference_config.read(snakemake.input.inference_ini) - -inference_config["runtime"]["sampler"] = "test" -inference_config["pipeline"]["values"] = snakemake.output.bestfit_values_ini - -prior_path = inference_config["pipeline"]["priors"] -if prior_path.startswith("cosmosis_config"): # sacha - base_dir = snakemake.input.inference_ini.split("cosmosis_config")[0] - inference_config["pipeline"]["priors"] = base_dir + prior_path - inference_config["DEFAULT"]["FITS_FILE"] = base_dir + inference_config["DEFAULT"]["FITS_FILE"] -if "cosmosis_config/priors_" in prior_path and "lgoh" in prior_path: # lisa - inference_config["pipeline"]["priors"] = prior_path.replace( - "priors_", "priors/priors_") - -inference_config["test"]["save_dir"] = snakemake.params["bestfit_dir"] - -with open(snakemake.output.cosmosis_ini, "w", encoding="utf-8") as f: - inference_config.write(f) - - -# %% -# % Get best-fit (really posterior mean) parameters from MCMC chain -chain = gd.mcsamples.loadMCSamples( - inference_config["output"]["filename"].split(".txt")[0] - .replace("samples_", "getdist_") -) -likestats = chain.getLikeStats() -bestfit_idx = np.argmax(chain.loglikes) -maxlike = chain.loglikes[bestfit_idx] -print(f"Maximum Likelihood: {maxlike:.5g}") -best_fit = { - par.name: np.average(chain.samples[:, i], weights=chain.weights) - for i, par in enumerate(likestats.names) -} -# %% create cosmosis bestfit values ini file - -section_map = { - "omch2": "cosmological_parameters", - "ombh2": "cosmological_parameters", - "h0": "cosmological_parameters", - "n_s": "cosmological_parameters", - "s_8_input": "cosmological_parameters", - "logt_agn": "halo_model_parameters", - "a": "intrinsic_alignment_parameters", - "m1": "shear_calibration_parameters", - "bias_1": "nofz_shifts", - "alpha": "psf_leakage_parameters", - "beta": "psf_leakage_parameters", -} - -content = """ -[cosmological_parameters] - -tau = 0.0544 -w = -1.0 -massive_nu = 1 -massless_nu = 2.046 -omega_k = 0.0 -wa = 0.0 - -[halo_model_parameters] - -[intrinsic_alignment_parameters] - -[shear_calibration_parameters] - -[nofz_shifts] - -[psf_leakage_parameters] -""" - -with open(snakemake.output.bestfit_values_ini, "w", encoding="utf-8") as f: - f.write(content) - f.close() - -best_fit_config = configparser.ConfigParser() -best_fit_config.optionxform = str -best_fit_config.read(snakemake.output.bestfit_values_ini) - -for param, value in best_fit.items(): - section = section_map.get(param) - if section is None: - continue - if section not in best_fit_config: - best_fit_config.add_section(section) - best_fit_config[section][param] = str(value) -with open(snakemake.output.bestfit_values_ini, "w", encoding="utf-8") as f: - best_fit_config.write(f) - - -# %% - -env = os.environ.copy() -env["LD_LIBRARY_PATH"] = ( - "/home/guerrini/.conda/envs/sp_validation/lib/python3.9/site-packages/cosmosis/datablock:" - + env.get("LD_LIBRARY_PATH", "") -) - -# Run cosmosis -result = sp.run( - ["cosmosis", snakemake.output.cosmosis_ini], env=env, capture_output=True, text=True, check=True -) -print(f"STDOUT:\n{result.stdout}") -print(f"STDERR:\n{result.stderr}") -# %% -theta_model = ( - np.rad2deg(np.loadtxt(snakemake.params["bestfit_dir"] + "/shear_xi_plus/theta.txt")) - * 60 -) -theta_data = fits.open(inference_config["DEFAULT"]["FITS_FILE"])["XI_PLUS"].data["ANG"] -theta_out = np.geomspace(0.01, 300, 1000) - -xi_plus, xi_minus = [ - interp1d( - theta_model, - np.loadtxt(snakemake.params["bestfit_dir"] + f"/shear_{var}/bin_1_1.txt"), - kind="cubic", - fill_value="extrapolate", - )(theta_out) - for var in ["xi_plus", "xi_minus"] -] -xi_sys_plus, xi_sys_minus = [ - interp1d( - theta_data, - np.loadtxt(snakemake.params["bestfit_dir"] + f"/xi_sys/shear_{var}.txt"), - kind="cubic", - fill_value="extrapolate", - )(theta_out) - for var in ["xi_plus", "xi_minus"] -] -# %% -np.savetxt( - snakemake.output.xi_shear, - np.column_stack([theta_out, xi_plus, xi_minus]), - header="theta xi_plus xi_minus", - fmt="%g", -) -np.savetxt( - snakemake.output.xi_sys, - np.column_stack([theta_out, xi_sys_plus, xi_sys_minus]), - header="theta xi_sys_plus xi_sys_minus", - fmt="%g", -) -# %% diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/scripts/plot_xi_bestfit.py b/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/scripts/plot_xi_bestfit.py deleted file mode 100644 index 48b7ae60..00000000 --- a/cosmo_inference/notebooks/2D_cosmic_shear_paper_plots/workflow/scripts/plot_xi_bestfit.py +++ /dev/null @@ -1,185 +0,0 @@ -""" -Plot ξ± data with best-fit theory curve from fiducial cosmology inference. - -Style matches the original paper_plots.py figure: -- Black line: Best-fit ξ_th + ξ_sys -- Blue line: Best-fit ξ_sys alone -- Black points: Data ξ± -- Red points: B-mode ξ_B -- Gray shaded region: excluded by fiducial scale cuts -""" - -import matplotlib.pyplot as plt -import numpy as np -from scipy.interpolate import interp1d - -from snakemake.script import snakemake - -# Load plot style -plt.style.use(snakemake.config["plot_style"]) - -# Fiducial scale cuts from Paper IV (main.tex Sect. 5.5) -# Based on B-modes, PSF leakage, and nonlinear modelling -# [12, 83] for both xi+/xi- with v1.4.6.3 fiducial -scale_cut_xip = [12, 83] # arcmin -scale_cut_xim = [12, 83] # arcmin - -# --- Load data ξ± --- -data = np.loadtxt(snakemake.input.xi_data, comments="#") -theta_data = data[:, 1] # meanr in arcmin -xip_data = data[:, 3] -xim_data = data[:, 4] -sigma_xip = data[:, 7] -sigma_xim = data[:, 8] - -# --- Load B-mode data --- -eb_data = np.load(snakemake.input.pure_eb_data) -theta_eb = eb_data["theta"] -xip_B = eb_data["xip_B"] -xim_B = eb_data["xim_B"] -cov_pure_eb = eb_data["cov_pure_eb"] - -# Extract B-mode uncertainties from covariance (blocks 2 and 3) -nbins = len(theta_eb) -sigma_xip_B = np.sqrt(np.diag(cov_pure_eb[2*nbins:3*nbins, 2*nbins:3*nbins])) -sigma_xim_B = np.sqrt(np.diag(cov_pure_eb[3*nbins:4*nbins, 3*nbins:4*nbins])) - -# TreeCorr bin edges: log-spaced from min_sep to max_sep -# These are the actual bin boundaries, not derived from meanr -min_sep, max_sep = 1.0, 250.0 -bin_edges = np.geomspace(min_sep, max_sep, nbins + 1) - -# Nominal bin centers (geometric mean of edges) for matching scale cuts -bin_centers_nominal = np.sqrt(bin_edges[:-1] * bin_edges[1:]) - -# Compute actual bin edge boundaries for scale cuts -def get_bin_edge_cuts(centers, edges, scale_cut): - """Get bin edges that bound the included bins based on nominal centers.""" - mask = (centers >= scale_cut[0]) & (centers <= scale_cut[1]) - idx_first = np.where(mask)[0][0] - idx_last = np.where(mask)[0][-1] - return edges[idx_first], edges[idx_last + 1] - -edge_cut_xip = get_bin_edge_cuts(bin_centers_nominal, bin_edges, scale_cut_xip) -edge_cut_xim = get_bin_edge_cuts(bin_centers_nominal, bin_edges, scale_cut_xim) - -# --- Load best-fit theory --- -bestfit_dir = snakemake.params.bestfit_dir - -# Theory theta in radians, convert to arcmin -theta_theory_rad = np.loadtxt(f"{bestfit_dir}/shear_xi_plus/theta.txt", comments="#") -theta_theory = np.rad2deg(theta_theory_rad) * 60 # radians -> arcmin - -xip_theory = np.loadtxt(f"{bestfit_dir}/shear_xi_plus/bin_1_1.txt", comments="#") -xim_theory = np.loadtxt(f"{bestfit_dir}/shear_xi_minus/bin_1_1.txt", comments="#") - -# Load xi_sys (PSF leakage contribution) -theta_sys_rad = np.loadtxt(f"{bestfit_dir}/xi_sys/theta.txt", comments="#") -theta_sys = np.rad2deg(theta_sys_rad) * 60 -xip_sys = np.loadtxt(f"{bestfit_dir}/xi_sys/shear_xi_plus.txt", comments="#") -xim_sys = np.loadtxt(f"{bestfit_dir}/xi_sys/shear_xi_minus.txt", comments="#") - -# Interpolate to common fine grid -theta_fine = np.geomspace(0.5, 300, 500) -xip_th_interp = interp1d(theta_theory, xip_theory, kind="cubic", fill_value="extrapolate")(theta_fine) -xim_th_interp = interp1d(theta_theory, xim_theory, kind="cubic", fill_value="extrapolate")(theta_fine) -xip_sys_interp = interp1d(theta_sys, xip_sys, kind="cubic", fill_value="extrapolate")(theta_fine) -xim_sys_interp = interp1d(theta_sys, xim_sys, kind="cubic", fill_value="extrapolate")(theta_fine) - -# --- Plotting parameters --- -scale_factor = 1e-4 -xlim = [1, 250] -ylim = [-0.15, 1.25] - -# Smaller markers -ms_data = 3 -ms_bmode = 3 -capsize = 1.5 -elinewidth = 0.8 - -# --- Create figure --- -fig, axes = plt.subplots(1, 2, figsize=(10, 4.5), sharey=True) - -plot_configs = [ - (axes[0], xip_data, sigma_xip, xip_B, sigma_xip_B, xip_th_interp, xip_sys_interp, - edge_cut_xip, r"$\xi_+$", "+"), - (axes[1], xim_data, sigma_xim, xim_B, sigma_xim_B, xim_th_interp, xim_sys_interp, - edge_cut_xim, r"$\xi_-$", "-"), -] - -for idx, (ax, xi_data_arr, sigma_xi, xi_B, sigma_B, xi_th, xi_sys, edge_cut, label, pm) in enumerate(plot_configs): - - show_legend = (idx == 1) # Only right panel - - # Gray out excluded regions (outside fiducial scale cuts, using bin edges) - ax.axvspan(xlim[0], edge_cut[0], color="0.90", zorder=0, alpha=0.7) - ax.axvspan(edge_cut[1], xlim[1], color="0.90", zorder=0, alpha=0.7) - - # Best-fit theory + systematics (black line) - ax.plot( - theta_fine, - theta_fine * (xi_th + xi_sys) / scale_factor, - "-", - color="k", - lw=1.5, - label=r"Best-fit $\xi^{\mathrm{th}}_\pm + \xi^{\mathrm{sys}}_\pm$" if show_legend else None, - zorder=2, - ) - - # Best-fit systematics alone (blue line) - ax.plot( - theta_fine, - theta_fine * xi_sys / scale_factor, - "-", - color="C0", - lw=1.2, - label=r"Best-fit $\xi^{\mathrm{sys}}_\pm$" if show_legend else None, - zorder=2, - ) - - # Data ξ± (black points) - plot at meanr - ax.errorbar( - theta_data, - theta_data * xi_data_arr / scale_factor, - yerr=theta_data * sigma_xi / scale_factor, - fmt="o", - color="k", - markersize=ms_data, - capsize=capsize, - elinewidth=elinewidth, - label=r"$\xi_\pm$" if show_legend else None, - zorder=3, - ) - - # B-mode (red points) - slight x-offset for visibility - theta_eb_offset = theta_eb * 1.03 # 3% offset to right - ax.errorbar( - theta_eb_offset, - theta_eb_offset * xi_B / scale_factor, - yerr=theta_eb_offset * sigma_B / scale_factor, - fmt="o", - color="C3", - markersize=ms_bmode, - capsize=capsize, - elinewidth=elinewidth, - alpha=0.85, - label=r"$\xi^B_\pm$" if show_legend else None, - zorder=3, - ) - - # Zero line - ax.axhline(0, color="gray", linestyle="--", alpha=0.8, linewidth=0.8, zorder=1) - - ax.set_xscale("log") - ax.set_xlim(xlim) - ax.set_ylim(ylim) - ax.set_xlabel(r"$\theta$ (arcmin)") - ax.set_title(label) - if show_legend: - ax.legend(loc="upper left") - -axes[0].set_ylabel(r"$\theta\xi \times 10^4$") - -fig.tight_layout() -fig.savefig(snakemake.output[0], dpi=150, bbox_inches="tight") -print(f"Saved: {snakemake.output[0]}") From c174ce158633a0a8287aaaa6b526829eff28b9fd Mon Sep 17 00:00:00 2001 From: LisaGoh Date: Fri, 27 Mar 2026 18:07:04 +0100 Subject: [PATCH 2/3] updated plotting notebooks --- .../S8_om_sigma8_whisker.ipynb | 14 +- .../contours.ipynb | 126 +++++++++++------- .../get_chi2.ipynb | 5 +- 3 files changed, 94 insertions(+), 51 deletions(-) diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/S8_om_sigma8_whisker.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/S8_om_sigma8_whisker.ipynb index 3791816e..f80ece0d 100644 --- a/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/S8_om_sigma8_whisker.ipynb +++ b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/S8_om_sigma8_whisker.ipynb @@ -64,6 +64,7 @@ "f'SP_v1.4.6.3_{blind}_fiducial_config',\n", "f'SP_v1.4.6.3_leak_corr_{blind}',\n", "'Planck18',\n", + "'DES Y6',\n", "'KiDS-Legacy_bandpowers',\n", "'KiDS-Legacy_cosebis',\n", "'KiDS-Legacy_xipm',\n", @@ -83,7 +84,7 @@ "f'SP_v1.4.6.3_{blind}_no_baryons_config',\n", "f'SP_v1.4.6.3_{blind}_nautilus_config',\n", "f'SP_v1.4.6.3_{blind}_planck_config',\n", - "f'SP_v1.4.6.3_{blind}_planck_desi_sne1a_config',\n", + "f'SP_v1.4.6.3_{blind}_planck_desi_config',\n", "\n", "]\n", "\n", @@ -93,6 +94,7 @@ " r\"UNIONS-3500 $C_\\ell$ (Guerrini et al. 2026)\",\n", " \n", " r\"$\\textit{Planck}$ 2018\",\n", + " r'DES Y6 $\\xi_{\\pm}$, NLA',\n", " r\"KiDS-Legacy Bandpowers ($C_{\\rm E}$)\",\n", " r\"KiDS-Legacy COSEBIs ($E_n$)\",\n", " r\"KiDS-Legacy $\\xi_{\\pm}(\\theta)$\",\n", @@ -113,7 +115,7 @@ " r\"$\\texttt{HMCode}$ no baryons\",\n", " r\"Nautilus sampler\",\n", " r\"UNIONS-3500 + $\\textit{Planck}$\",\n", - " r\"UNIONS-3500 + Ext\"\n", + " r\"UNIONS-3500 + $\\textit{Planck}$ + DESI BAO\",\n", " ]\n", "\n", "categories = [\n", @@ -474,6 +476,14 @@ "plt.savefig(\"../Plots/S8_whisker_plot.pdf\", bbox_inches='tight')\n", "plt.show()" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "841b6d6b", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/contours.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/contours.ipynb index 4b77b6d0..a2db686c 100644 --- a/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/contours.ipynb +++ b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/contours.ipynb @@ -12,7 +12,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "5e65319a-63f3-47d7-90cd-7b7db06174e9", "metadata": {}, "outputs": [], @@ -32,10 +32,10 @@ "\n", "sns.set_palette(\"husl\")\n", "g = plots.get_subplot_plotter(width_inch=30)\n", - "g.settings.axes_fontsize=45\n", - "g.settings.axes_labelsize=55\n", + "g.settings.axes_fontsize=70\n", + "g.settings.axes_labelsize=80\n", "g.settings.alpha_filled_add = 0.7\n", - "g.settings.legend_fontsize = 50\n", + "g.settings.legend_fontsize =70\n", "\n", "\n", "#SPECIFY DATA DIRECTORY AND DESIRED CHAINS TO ANALYSE\n", @@ -68,7 +68,7 @@ "roots_ext = {\n", "'SP_v1.4.6.3_B_fiducial_config': r\"UNIONS-3500 $\\xi_\\pm$\",\n", "'SP_v1.4.6.3_B_planck_config': r\"UNIONS-3500 $\\xi_\\pm$ + CMB\",\n", - "'SP_v1.4.6.3_B_planck_desi_sne1a_config': r\"UNIONS-3500 $\\xi_\\pm$ + CMB + BAO + SNe1a\",\n", + "'SP_v1.4.6.3_B_planck_desi_config': r\"UNIONS-3500 $\\xi_\\pm$ + CMB + BAO\",\n", "'Planck18': r\"$\\textit{Planck}$ 2018\",\n", "}\n", "\n", @@ -86,8 +86,8 @@ "}\n", "\n", "roots_scale = {\n", - "'SP_v1.4.6.3_B_fiducial_config': r\"Fiducial scale cuts\",\n", - "'SP_v1.4.6.3_B_small_scales_config': r\"$\\xi_+$ small scales, $\\theta=[5,83]$\"\n", + "'SP_v1.4.6.3_B_fiducial_config': r\"$\\xi_+$: $\\theta=[12,83]$\",\n", + "'SP_v1.4.6.3_B_small_scales_config': r\"$\\xi_+$: $\\theta=[5,83]$\"\n", "}\n", "\n", "roots_nonlin = {\n", @@ -95,7 +95,7 @@ "'SP_v1.4.6.3_B_no_baryons_config': r\"\\texttt{HMCode2020} no baryons\",\n", "'SP_v1.4.6.3_B_halofit_config': r\"\\texttt{Halofit}\",\n", "}\n", - "roots = roots_scale\n", + "roots = roots_ext\n", " " ] }, @@ -109,7 +109,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "4795888c-ce6f-4fe2-bbd4-fe17b5e57f02", "metadata": {}, "outputs": [], @@ -196,13 +196,13 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "51f60f61", "metadata": {}, "outputs": [], "source": [ "name_list = ['OMEGA_M','ombh2','h0','n_s','SIGMA_8','S_8','logt_agn','a','m1','bias_1', 'alpha', 'beta', 'omch2']\n", - "label_list = [r'\\Omega_{\\rm m}', r'\\omega_{\\rm b}', r'h_0', r'n_{\\rm s}', r'\\sigma_8', r'S_8', r'\\log T_{\\rm AGN}', r'A_{\\rm IA}', r'm_1', r'\\Delta z', r'\\alpha_{\\rm PSF}', r'\\beta_{\\rm PSF}', r'\\omega_{\\rm c}']\n", + "label_list = [r'\\Omega_{\\rm m}', r'\\omega_{\\rm b}', r'h', r'n_{\\rm s}', r'\\sigma_8', r'S_8', r'\\log T_{\\rm AGN}', r'A_{\\rm IA}', r'm_1', r'\\Delta z', r'\\alpha_{\\rm PSF}', r'\\beta_{\\rm PSF}', r'\\omega_{\\rm c}']\n", "\n", "for chain in chains:\n", " param_names = chain.getParamNames()\n", @@ -346,11 +346,13 @@ " line_args=line_args,\n", " contour_args=[{'alpha':1},{'alpha':0.6},{'alpha':0.8},{'alpha':0.8}],\n", " contour_colors=colours,\n", + " legend_loc='upper right',\n", " label_order=[1,0,2,3],\n", - " \n", " filled=[False, True, True, True])\n", + "\n", "g.subplots[3,2].scatter(0.005,0.81, color='k', marker='X', s=400, label='Fiducial config best-fit')\n", "g.subplots[3,2].scatter(0.022,0.798, color='k', marker='P', s=400, label='Fiducial config best-fit')\n", + "\n", "g.export('../Plots/SP_v1.4.6.3_B_fiducial_config_contour_plot_psf.pdf')" ] }, @@ -410,7 +412,6 @@ "source": [ "colours = [\n", " \"orange\", \n", - " \"dodgerblue\", \n", " \"royalblue\",\n", " \"crimson\",\n", " \"forestgreen\",\n", @@ -424,19 +425,72 @@ " 'solid',\n", "]\n", "\n", - "line_args = [dict(color=col, ls=ls, lw=2) for col, ls in zip(colours, linestyle)]\n", + "line_args = [dict(color=col, ls=ls) for col, ls in zip(colours, linestyle)]\n", "\n", - "g.triangle_plot(chains,\n", - " ['SIGMA_8','S_8','omch2','ombh2','h0'], #\n", - " legend_labels=legend_labels,\n", - " line_args=line_args,\n", - " contour_args=[{'alpha':0.7},{'alpha':1.0},{'alpha':1.0}],\n", - " contour_colors=colours,\n", - " filled=[True, True, True, False])\n", + "g = plots.get_subplot_plotter(width_inch=10)\n", + "g.settings.axes_fontsize=25\n", + "g.settings.axes_labelsize=25\n", + "g.settings.legend_fontsize = 22\n", + "\n", + "g.plot_2d(chains,\n", + " ['S_8','OMEGA_M', 'SIGMA_8'], #\n", + " line_args=line_args,\n", + " # contour_colors=colours,\n", + " # legend_labels=legend_labels,\n", + " alphas=[0.7, 1.0, 1.0, 1.0],\n", + " filled=[True, True, True, False])\n", + "g.add_y_bands(0.2975, 0.0086, alpha2=0, color='k', label=\"BAO\")\n", + "g.add_legend(legend_labels, legend_loc='upper right')\n", "\n", "g.export('../Plots/SP_v1.4.6.3_B_fiducial_config_contour_plot_ext.pdf')" ] }, + { + "cell_type": "markdown", + "id": "ff19d475", + "metadata": {}, + "source": [ + "### Small scales" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "195ca137", + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "\n", + "colours = [\n", + " \"orange\", \n", + " \"dodgerblue\", \n", + "]\n", + "\n", + "linestyle = [\n", + " 'solid',\n", + " 'solid',\n", + "]\n", + "\n", + "line_args = [dict(color=col, ls=ls) for col, ls in zip(colours, linestyle)]\n", + "\n", + "g = plots.get_subplot_plotter(width_inch=9)\n", + "g.settings.axes_fontsize=25\n", + "g.settings.axes_labelsize=25\n", + "g.settings.alpha_filled_add = 0.7\n", + "g.settings.legend_fontsize = 30\n", + "\n", + "g.plot_2d(chains,\n", + " ['S_8','OMEGA_M'], #\n", + " line_args=line_args,\n", + " contour_args=[{'alpha':0.7},{'alpha':1.0}],\n", + " contour_colors=colours,\n", + " filled=[True, True])\n", + "g.add_legend(legend_labels, legend_loc='upper right')\n", + "\n", + "g.export('../Plots/SP_v1.4.6.3_B_fiducial_config_contour_plot_scales.pdf')" + ] + }, { "cell_type": "markdown", "id": "92cadb11", @@ -492,7 +546,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "5fe497bd", "metadata": {}, "outputs": [], @@ -512,21 +566,10 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "7277e2ed", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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ERERERHxOQo8RERERERERMTnKPAQEREREREREZ+jwENEREREREREfI4CDxERERERERHxOQo8RERERERERMTnKPAQEREREREREZ+jwENEREREREREfI4CDxERERERERHxOQo8RERERERERMTnKPAQEREREREREZ+jwENEREREREREfI6f2QWIiIiIiIiInMnhw4c5cuRIo/HY2Fji4uJMqEg6OwUeIiIiIiIi0uktXryYhQsXNhqfNWsWDz30kAkVSWenwENEREREREQ6vTvvvJNx48YxZcoUAJYvX05QUBCxsbHmFiadlgIPERERERER6fTi4uIIDw/3Hg8dOpSQkBATK5LOTk1LRURERERERMTnKPAQEREREREREZ+jwENEREREREREfI4CDxERERERERHxOQo8RERERERERMTn+GTgkZubS0pKSps+Z15eHikpKSQkJBAVFUVSUhKpqak4nc42fR0REREREREROXc+E3i4XC5yc3OZPn06KSkpbRpELFiwgIyMDLKyssjPz6e4uJj09HRyc3NJSEggNTW1zV5LRERERERERM5dlw88XC6Xd8ZFTk4Oc+bMadPnz87OBiAjIwO73e4dT05OJj8/n+TkZDIzMxV6iIiIiIiIiHQifmYXcK7sdjvFxcXt9vwZGRnk5OQ0ez4hIcEbeiQmJrZbLSIiIiIiIiLSMl1+hkd7ys7OZvr06c1e43A4SE5OBjzhh4iIiIiIiIiYT4FHM9auXUtqamqLQg+AdevWdURZIiIiIiIiInIGCjya4XK5gBN9PE7n5N4eIiIiIiIiImK+Lt/Doz2lpaUBnHGL2/odYUaNGtXuNYmIiIiIiIjImSnwaIbD4WhRX468vDwAkpKS2rskEREREREREWkBBR7nKC8vD6fTid1uZ+bMmWe8vqqqiqqqKu9xaWlpe5YnIiIiIiIi0i2ph8c5ql/2smjRohZdP3/+fCIjI723fv36tWd5IiIiIiIiIt2SAo9zkJ2dTW5uLrNnz2batGktesycOXMoKSnx3vbu3dvOVYqIiIiIiIh0P1rS0koul4sZM2Ywbdo00tPTW/y4wMBAAgMD27EyEREREREREdEMj1a65pprSE5OJisry+xSREREREREROQUCjxaYfr06TgcDoUdIiIiIiIiIp2UAo+zlJqaCqCwQ0RERERERKQTU+BxFhYsWEBRUdFpww6Xy9WxBYmIiIiIiIhIkxR4tFB2djZr165tdmZH/Ra1IiIiIiIiImIuBR6A0+ls9nxeXh5LlixpNuzQ7A4RERERERGRzqPbBx4pKSkkJCSQkpLS5Hmn00lGRsYZe3YsXbqUpKSk9ihRRERERERERM6Sn9kFtLXc3FzAE1Q4nU4cDkeLrq//9WQul8sbYixdurTJx588syMnJ6c1JYuIiIiIiIhIG/OJwCMhIQGAoqKiBgFEQkICdrud6OhoEhMTm5ylMXv2bDIzM5k5c2ajc2lpaWe1VGXUqFFnXbuIiIiIiIiItD2fCDzy8/Nb/dj09HTS09ObPJeRkUFGRkarn1tEREREREREzNHte3iIiIiIiIiIiO9R4CEiIiIiIiIiPkeBh4iIiIiIiIj4HAUeIiIiIiIiIuJzFHiIiIiIiIiIiM9R4CEiIiIiIiIiPkeBh4iIiIiIiIj4HAUeIiIiIiIiIuJzFHiIiIiIiIiIiM9R4CEiIiIiIiIiPkeBh4iIiIiIiIj4HAUeIiIiIiIiIuJzFHiIiIiIiIiIiM9R4CEiIiIiIiIiPkeBh4iIiIiIiIj4HAUeIiIiIiIiIuJz/MwuQERERERERMSXHT58mCNHjjQaj42NJS4uzoSKugcFHiIiIiIiIiLtaPHixSxcuLDR+KxZs3jooYdMqKh7UOAhIiIiIiIi0o7uvPNOxo0bx5QpUwBYvnw5QUFBxMbGmluYj1PgISIiIiIiItKO4uLiCA8P9x4PHTqUkJAQEyvqHtS0VERERERERER8jgIPEREREREREfE5CjxERERERERExOco8BARERERERERn6PAQ0RERERERER8jnZpEREREREREZEmHT58mCNHjjQaj42NJS4uzoSKWk6Bh4iIiIiIiIg0afHixSxcuLDR+KxZs3jooYdMqKjlFHiIiIiIiIiISJPuvPNOxo0bx5QpUwBYvnw5QUFBxMbGmltYCyjwEBEREREREZEmxcXFER4e7j0eOnQoISEhJlbUcgo8RERERES6mIMHD3Lw4MFG4/Hx8cTHx5tQkYhI56NdWkREREREupiMjAySkpIa3TIyMswuTUSk09AMDxERERGRLiY1NZWUlBTGjh0LwOrVqwkODtbsDhGRkyjwEBERERHpYuLj44mIiPAejxw5ktDQUBMrEhHpfLSkRURERERERER8jgIPEREREREREfE5CjxERERERERExOco8BARERERERERn6PAQ0RERERERER8jgIPEREREREREfE5CjxERERERERExOco8BARERERERERn6PAQ0RERERERER8jgIPEREREREREfE5fmYXICIiIp3D4cOHOXLkSKPx2NhY4uLiTKhIREREpPUUeIiIiAgAixcvZuHChY3GZ82axUMPPWRCRSIiIiKtp8BDREREALjzzjsZN24cU6ZMAWD58uUEBQURGxtrbmEiIiIiraDAQ0RERACIi4sjPDzcezx06FBCQkJMrEhERESk9dS0VERERERERER8jgIPEREREREREfE5CjxERERERERExOco8BARERERERERn6PAQ0RERERERER8jgIPEREREREREfE5CjxERERERERExOco8BARERERERERn6PAQ0RERERERER8jp/ZBYiIiIiISPdy8OBBDh482Gg8Pj6e+Ph4EyoSEV+kGR4iIiIiItKhMjIySEpKanTLyMgwuzQR8SGa4SEiIiIiIh0qNTWVlJQUxo4dC8Dq1asJDg7W7A4RaVMKPEREREREpEPFx8cTERHhPR45ciShoaEmViQivkhLWkRERERERETE52iGh4iIiIiISAup4apI16EZHiIiIiIiIi2khqsiXYdmeIiIiIiIiLSQGq6KdB0KPERERERERFpIDVdFug4FHiIiIiIiIt3A4cOHOXLkSKPx2NhY4uLiTKhIpH0p8BAREREREekGFi9ezMKFCxuNz5o1i4ceesiEikTalwIPERERERGRbuDOO+9k3LhxTJkyBYDly5cTFBREbGysuYWJtBMFHiIiIiIiIt1AXFwc4eHh3uOhQ4cSEhJiYkUi7Uvb0oqIiIiIiIiIz1HgISIiIiIiIiI+R4GHiIiIiIiIiPgcBR4iIiIiIiIi4nMUeIiIiIiIiIiIz1HgISIiIiIiIiI+R4GHiIiIiIiIiPgcBR4iIiIiIiIi4nP8zC5ARERERESku6ipgwPHYN8xKCiHwnIorPDcXBU2CkrjKa/1o7zOSmWthRq3hWq3hZo6qDMsAFgsBhbAaoFAm0GA1SDQ5rkfFuAm3N9NeIBBRICb6KA6egS5iQmqo0ewm8A6K1isYLjN/YMQ6QAKPERERERERNpQQTl8VQR7S2BfqSfcqL9/qAzcxukeaQVCW/AKFu+98tqzrS6W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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "colours = [\n", " \"orange\",\n", @@ -599,18 +642,7 @@ "execution_count": null, "id": "a8c70d3a", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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TxMREZHOSIFHB1U/7IiNjWXu3LmkpKSwdOnSdgs9Gus6X1/dCJC6gERERORKhYaGsmDBAgoLC0lPT3dapauuN0Z7SEpKatKUltaWmZlJZmZmg9XaREREpOkUeHRA9cOOus71YF+idtWqVe0WesTGxhIaGnrRrvP11TV0u/fee9u8JhER6Xri4+NZtWoVhYWFjhEfl3ttai11gUN7L5m7ZMkSFixYoP5YIiIiV0CBRwdzqbCjzsyZM9s19Fi4cCFms7nRPh5paWnMnDlTb8pERKRNhYaGOkYftmdfi7pV09pLZmYmGRkZLhlZIiIi4k4UeHQgcXFxjYYddeqHHm39BmzBggWYTKZLhiupqakALF++vE3rEBGRrsVisZCQkOA0ssJisZCRkdFok9K2MHPmTEwmE0uXLm2Xx5s1a5ZeV0VERFqBAo8OIiEhAbPZfNmwo05d6JGamtrs0KPuzaPZbHY0HG1Meno6GRkZDZrEZWZmkpSURHp6ukZ3iIhIqwoNDWXVqlWkp6eTkJBAQkICs2bNYtWqVS7pa7Fq1SpSUlKa9Lp5JZYuXcrMmTOdepaIiIhIyxhsNpvN1UV0ZVarlZMnT/Kzn/2M559/vtnBwfr169mxYwdPPvlko8eNGTMGgMLCQoqKipz2hYSEEBYWxpgxY/jrX/960fMtFgvLli3j8OHD9O/f33GNJ598kgEDBjSrZhERkfaSnZ0N0CqvVdnZ2Tz55JO89dZbbRL0r1+/njfffPOSr8UiIiICNpuNs2fP0rNnT4zGxsdwKPBwsePHj9OnTx9XlyEiIiIiIiLSaRw7dozevXs3eoxnO9UilxAUFATAl19+SWBgoIurERERaRs1NTVYrVb69u2Ll5eXq8sREemQqqurOXr0KEajEU9PfVQTuZiSkhImTpzo+CzdGP0tcjGDwQDY5yo35X+YiIhIZ1RTU0NVVRXBwcEKPERELqG6upqgoCC8vb0VeIhcQt3fjbrP0o1R01IRERERERERcTsKPERERERERETE7SjwEBERERERERG3o8BDRERERERERNyOAg8RERERERERcTsKPERERERERETE7SjwEBERERERERG3o8BDRERERERERNyOAg8RERERERERcTsKPERERERERETE7SjwEBERERERERG3o8BDRERERERERNyOAg8RERERERERcTsKPERERERERETE7SjwEBERERERERG3o8BDRERERERERNyOAg8RERERERERcTsKPERERERERETE7SjwEBERERERERG3o8BDRERERERERNyOAg8RERERERERcTueri5ARERERERE5HJyc3PJy8trsD0yMpKoqCgXVCQdnQIPERERERER6fBWrFjBsmXLGmyfN28e8+fPd0FF0tEp8BAREREREZEOb/bs2UyaNInp06cDsGbNGnx9fYmMjHRtYdJhKfAQERERERGRDi8qKoqgoCDH/REjRuDv7+/CiqSjU9NSEREREREREXE7CjxERERERERExO0o8BARERERERERt6PAQ0RERERERETcjgIPEREREREREXE7CjxERERERERExO24ZeCRkZFBQkJCq14zMzOThIQEYmJiCAsLIy4ujsTERMxmc6s+joiIiIiIiIhcObcJPCwWCxkZGcyaNYuEhIRWDSKWLl1KSkoKq1atIisri8LCQpKTk8nIyCAmJobExMRWeywRERERERERuXKdPvCwWCyOERfp6eksXLiwVa+flpYGQEpKCqGhoY7t8fHxZGVlER8fT2pqqkIPERERERERkQ7E09UFXKnQ0FAKCwvb7PopKSmkp6c3uj8mJsYResTGxrZZLSIiIiIiIiLSNJ1+hEdbSktLY9asWY0eYzKZiI+PB+zhh4iIiIiIiIi4ngKPRmzevJnExMQmhR4AW7ZsaY+yREREREREROQyFHg0wmKxAOf7eFxK/d4eIiIiIiIiIuJ6nb6HR1tKSkoCuOwSt3UrwowfP77NaxIRERERERGRy1Pg0QiTydSkvhyZmZkAxMXFtXVJIiIiIiIiItIECjyuUGZmJmazmdDQUObOnXvZ4ysrK6msrHTcLy4ubsvyRERERERERLok9fC4QnXTXpYvX96k45csWUJISIjj1qdPn7YsT0RERERERKRLUuBxBdLS0sjIyGDBggXMnDmzSecsXLiQoqIix+3YsWNtXKWIiIiIiIhI16MpLS1ksViYM2cOM2fOJDk5ucnn+fj44OPj04aViYiIiIiIiIhGeLTQ5MmTiY+PZ9WqVa4uRUREREREREQuoMCjBWbNmoXJZFLYISIiIiIiItJBKfBopsTERACFHSIiIiIiIiIdmAKPZli6dCkFBQWXDDssFkv7FiQiIiIiIiIiF6XAo4nS0tLYvHlzoyM76paoFRERERERERHXUuABmM3mRvdnZmby7rvvNhp2aHSHiIiIiIiISMfR5QOPhIQEYmJiSEhIuOh+s9lMSkrKZXt2rFy5kri4uLYoUURERERERESaydPVBbS2jIwMwB5UmM1mTCZTk46v+1mfxWJxhBgrV6686Pn1R3akp6e3pGQRERERERERaWVuEXjExMQAUFBQ4BRAxMTEEBoaSnh4OLGxsRcdpbFgwQJSU1OZO3dug31JSUnNmqoyfvz4ZtcuIiIiIiIiIq3PYLPZbK4uoisrLi4mJCSEffv2ERQU5OpyRERE2kRNTQ1VVVX069cPLy8vV5cjItIhVVdXc+TIEby9vfH0dIvvpltdWVkZgwYNAuDgwYP4+/u7uCJpb2fPnmXo0KEUFRURHBzc6LFdvoeHiIiIiIiIiLgfBR4iIiIiIiIi4nYUeIiIiIiIiIiI21HgISIiIiIiIiJuR4GHiIiIiIiIiLgdBR4iIiIiIiIi4nYUeIiIiIiIiIiI21HgISIiIiIiIiJuR4GHiIiIiIiIiLgdBR4iIiIiIiIi4nYUeIiIiIiIiIiI21HgISIiIiIiIiJuR4GHiIiIiIiIiLgdBR4iIiIiIiIi4nYUeIiIiIiIiIiI21HgISIiIiIiIiJux9PVBYiIiIiIiIi4s9zcXPLy8hpsj4yMJCoqygUVdQ0KPERERERERETa0IoVK1i2bFmD7fPmzWP+/PkuqKhrUOAhIiIiIiIi0oZmz57NpEmTmD59OgBr1qzB19eXyMhI1xbm5hR4iIiIiIiIiLShqKgogoKCHPdHjBiBv7+/CyvqGtS0VERERERERETcjgIPEREREREREXE7CjxERERERERExO0o8BARERERERERt6PAQ0RERERERETcjlZpEREREREREZGLys3NJS8vr8H2yMhIoqKiXFBR0ynwEBEREREREZGLWrFiBcuWLWuwfd68ecyfP98FFTWdAg8RERERERERuajZs2czadIkpk+fDsCaNWvw9fUlMjLStYU1gQIPEREREREREbmoqKgogoKCHPdHjBiBv7+/CytqOgUeIiIiIiKdTE5ODjk5OQ22R0dHEx0d7YKKREQ6Hq3SIiIiIiLSyaSkpBAXF9fglpKS4urSREQ6DI3wEBERERHpZBITE0lISOD6668HYOPGjfj5+Wl0h4hIPQo8REREREQ6mejoaIKDgx33x44dS0BAgAsrEhHpeDSlRURERERERETcjgIPEREREREREXE7CjxERERERERExO0o8BARERERERERt6PAQ0RERERERETcjgIPEREREREREXE7CjxERERERERExO0o8BARERERERERt6PAQ0RERERERETcjgIPEREREREREXE7nq4uQERERDqG3Nxc8vLyGmyPjIwkKirKBRWJiIiItJwCDxEREQFgxYoVLFu2rMH2efPmMX/+fBdUJCIiItJyCjxEREQEgNmzZzNp0iSmT58OwJo1a/D19SUyMtK1hYmIiIi0gAIPERERASAqKoqgoCDH/REjRuDv7+/CikRERERaTk1LRURERERERMTtKPAQEREREREREbejwENERERERERE3I4CDxERERERERFxOwo8RERERERERMTtKPAQEREREREREbejwENERERERERE3I4CDxERERERERFxOwo8RERERERERMTteLq6ABERERER6VpycnLIyclpsD06Opro6GgXVCQi7kgjPEREREREpF2lpKQQFxfX4JaSkuLq0kTEjWiEh4iIiIiItKvExEQSEhK4/vrrAdi4cSN+fn4a3SEirUqBh4iIiIiItKvo6GiCg4Md98eOHUtAQIALKxIRd6QpLSIiIiIiIiLidhR4iIiIiIiIiIjb0ZQWERERERGRJtIKMyKdh0Z4iIiIiIiINJFWmBHpPDTCQ0REREREpIm0woxI56HAQ0REREREpIm0woxI56HAQ0REREREpAvIzc0lLy+vwfbIyEiioqJcUJFI21LgISIiIiIi0gWsWLGCZcuWNdg+b9485s+f74KKRNqWAg8REREREZEuYPbs2UyaNInp06cDsGbNGnx9fYmMjHRtYSJtRIGHiIiIiIhIFxAVFUVQUJDj/ogRI/D393dhRSJtS8vSioiIiIiIiIjbUeAhIiIiIiIiIm5HgYeIiIiIiIiIuB0FHiIiIiIiIiLidhR4iIiIiIiIiIjbUeAhIiIiIiIiIm5HgYeIiIiIiIiIuB0FHiIiIiIiIiLidhR4iIiIiIiIiIjbUeAhIiIiIiIiIm5HgYeIiIiIiIiIuB0FHiIiIiIiIiLidhR4iIiIiIiIiIjbUeAhIiIiIiIiIm5HgYeIiIiIiIiIuB0FHiIiIiIiIiLidhR4iIiIiIiIiIjbUeAhIiIiIiIiIm5HgYeI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oh6DkHOvidWcelJdXY2CgoLzcnoOERHRcDHwICIiohHX9YNye3s7az+MY5s2bUJZWdmAgysiIqLRxC0tRERENOLy8/NhsViGfJIKjQ3bt2/vcWUIERHRWMQVHkRERHRebNmyBRs3buTqgHGKq3SIiGi84QoPIiIiOi/WrFkDoO9inDR2bdiwAevWrWPYQURE4wZXeBAREdF5U1FRgdLSUq7yGGeqq6tx7bXXRoqeEhERjQdc4UFERETnzfLly/H/2bvzuKjvO3/gr+G+GVDBW2cQxeYS0IRkc7QciRrbpihJSbPb7qKy0XZ/rRKo0G5iW7WwmO52qymIu9vdNDYBp0mTGlOONM2hiTKTy3jyHW/FA77c1zDf3x+T71eGORjOgeH1fDx46HzPz8wwwPf1/XzeH61Wi6KiInc3hQYhIyMDe/bscXcziIiIBoU9PIiIiGhMiaKIxMREVFZWKlPO0vhVVFSEmzdvorCw0N1NISIiGhT28CAiIqIxpVarUVlZiezsbIii6O7mkBNVVVU4cuQIww4iIpqQGHgQERHRmNNqtSgpKcGOHTvc3RRyQBAElJeXo7y83N1NISIiGhIOaSEiIiIiIiIij8MeHkRERERERETkcRh4EBEREREREZHHYeBBRERERERERB6HgQcREREREREReRwGHkRERERERETkcRh4EBEREREREZHHYeBBRERERERERB6HgQcREREREREReRwGHkRERERERETkcRh4EBEREREREZHHYeBBRERERERERB6HgQcREREREREReRwGHkRERERERETkcRh4EBEREREREZHHYeBBRERERERERB6HgQcREREREREReRwGHkRERERERETkcRh4EBEREbmotLR01M8hCAIqKipG/TxERESejoEHERERkQsyMjKwdOnSUT+PVqvFkSNHxiRcISIi8mQMPIiIiGjc0uv14+LCPyMjA9nZ2UhISBjyMfR6PTIyMpCWloaYmBinz6uwsBCVlZXs6UFERDQMPu5uABEREZEjgiC4uwkoKioCAKSmpg75GFVVVSgpKcGePXugVqshCAJiYmIQGRmJNWvW2N1nz5490Gg0SEhIgFarHfK5iYiIJiuVJEmSuxtBREREZE9VVRXy8vKwdOlSNDQ0AAAiIyORl5c3JiGAIAhITEyE0WiEWq0e8jGys7NRWVlptTwjIwN6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+IxRW8iB0NBQAMDhw4cREhLi5tYQERGNLZPJBLPZjLlz58LX19fdzSEimjB6enpw/vx5eHl5wceHl3U0ebS2tiIpKUm5lnaGnww3U6lUACwV6F15w4iIiDyJyWRCd3c3wsLCGHgQEQ1CT08PQkND4efnx8CDJhX5+12+lnaGs7QQERERERERkcdh4EFEREREREREHoeBBxERERERERF5HAYeRERERERERORxGHgQERERERERkcdh4EFEREREREREHoeBBxERERERERF5HAYeRERERERERORxGHgQERERERERkcdh4EFEREREREREHoeBBxERERERERF5HAYeRERERERERORxGHgQERERERERkcdh4EFEREREREREHoeBBxERERERERF5HAYeRERERERERORxGHgQERERERERkcdh4EFEREREREREHoeBBxERERERERF5HAYeRERERERERORxGHgQERERERERkcfxcXcDiIiIiIiIiMhz1NfX49q1azbLo6KiEB0dPWbtYOBBRERERERERCPmxRdfxPPPP2+zfNOmTdi8efOYtYOBBxERERERERGNmKeeegoPPvggHnvsMQDAq6++ioCAAERFRY1pOxh4EBEREREREdGIiY6ORmhoqPL4tttuQ1BQ0Ji3g0VLiYiIiIiIiMjjMPAgIiIiIiIiIo/DwIOIiIiIiIiIPA4DDyIiIiIiIiLyOAw8iIiIiIiIiMjjMPAgIiIiIiIiIo/DwIOIiIiIiIiIPA4DDyIiIiIiIiLyOAw8iIiIiIiIiMjjMPAgIiIiIiIiIo/DwIOIiIiIiIiIPA4DDyIiIiIiIiLyOAw8iIiIiIiIiMjjMPAgIiIiIiIiIo/DwIOIiIiIiIiIPA4DDyIiIiIiIiLyOAw8iIiIiIiIiMjjMPAgIiIiIiIiIo/DwIOIiIiIiIiIPA4DDyIiIiIiIiLyOAw8iIiIiIiIiMjjMPAgIiIiIiIiIo/DwIOIiIiIiIiIPA4DDyIiIiIiIiLyOD7ubgB5JkmSYDabIUmSu5tCRETjmMlkQm9vLzo7O9Hb2+vu5kxoXl5e8PX1hUqlcndTiIiIxgUGHjSiJElCZ2cnOjs7YTab+UcXERE5JUkSJEnChQsX+DtjBHh7eyM0NBTh4eEICgpyd3OIiIjcioEHjai2tjZ0d3cjNDQUoaGh8PHhtxgRETkn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7Xa2IiIiIiIiIsNBgcc40TEnBevpBNrbew87LCYT05OTmZWSwpKsrKiwA0IFREVERERERETGCwUe40TzbdOYVt3JnKoGZqWkMCslhdln/551dqaG7ZyZGiIiIiIiIiLjmQKPceSu3Fzuys0d7WGIiIiIiIiIjDr9yl9ERERERERExh3N8JBBq62t5ejRo5HHe/bsweFwkJWVRXZ29iiOTERERERERCSaZnjIoD3xxBOsWLEi8njFihW8853v5Iknnhi9QYmIiIiIiIj0QjM8ZNDuv/9+brvtth7Hs7KyRmE0IiIiIiIiIn1T4CGDlp2draUrIiIiIiIiEhO0pEVERERERERExh0FHiIiIiIiIiIy7ijwEBEREREREZFxR4GHiIiIiIiIiIw746poqcfjYf369bjdblwuFx6PB4Di4mJcLteY719EREREREREhsa4CTzcbjeFhYVs2LCBDRs2RI5XVVWRn59PWVkZBQUFY7Z/ERERERERERk642ZJS2FhIUVFRaxcuTLqeF5eHmVlZRQWFuJ2u8ds/yIiIiIiIiIydMZF4LFx40bcbjdr1qzptb2goACXy0VxcfGY7F9EREREREREhta4CDxKSkrIy8vD6XT2eU5BQQHl5eWRuhtjqX+RwaitrWXPnj2Rx3v27GHXrl3U1taO4qhERERERETGppgPPNxud6SIaH9yc3MB2LJly5jqX2SwnnjiCVasWBF5vGLFCt75znfyxBNPjN6gRERERERExqiYL1paWVkJMGAgEW7fvn37mOpfZLDuv/9+brvtth7Hs7KyRmE0IiIiIiIiY1vMBx7V1dVA9wyLvoSXo1xoYdHh7l9ksLKzs8nOzh7tYYiIiIiIiMSEmF/SMtiaGenp6QA0NDSMqf5FREREREREZOjF/AyP4Qowhqv/zs5OOjs7I4+bm5svqH8RERERERERGdiEmeERNtoByfr160lNTY38mT59+gX1LyIiIiIiIiIDi/nAI9Y8/PDDNDU1Rf4cO3ZstIckIiIiIiIiMu7E/JKWCxWutTFa/cfFxREXFzesYxARERERERGZ6GJ+hkd4d5RYPV9EREREREREhl7MBx7hGRUD1dq42N1Thrt/ERERERERERl6MR945OfnA1BdXd3veW63G4ClS5eOqf5FREREREREZOjFfOARDhgGmmERnqERDjDGSv8iIiIiIiIiMvRiPvDIy8vD6XRSVVXV73lbt24F4N577x1T/YuIiIiIiIjI0Iv5wANCW7263e5+62yUl5ezcuXKPouKhpekDFf/IiIiIiIiIjJyxkXgsW7dOlwuF8XFxb22l5aWArB58+Ze2wsLC8nNzaWwsHBY+hcRERERERGRkTUuAg+AiooKKisrKS8vjzpeVVVFcXExFRUVfc6+qKysjPp7qPsXERERERERkZFlHe0BDBWXy8X27dtZv349Tz75JC6XK7IEZfv27bhcrj6fu27dOkpLS1mzZs2w9C8iIiIiIiIiI8tkGIYx2oOYyJqbm0lNTWXv3r0kJyeP9nBERERGVFdXFz6fj5kzZ2Kz2UZ7OCIiMcPv93PkyBHsdjtW67j5PbbIgFpaWliwYAFNTU2kpKT0e+64WdIiIiIiIiIiIhKmwENERERERERExh0FHiIiIiIiIiIy7ijwEBEREREREZFxR4GHiIiIiIiIiIw7CjxEREREREREZNzR/kWjLLwrsMfjoaura5RHIyIiMrK6uroIBoM0NzdrW1oRkQvg9/tpaWnBbDZrW1qZUFpbW4Hu99L90f+MUdbS0gLAddddN8ojEREREREREYkNLS0tpKam9nuOyRhMLCLDJhgMcvLkSZKTkzGZTBfdT3NzM9OnT+fYsWOkpKQM4QhlrNDXuHfj5fMylu9jtMc2Utcf7usMdf9D1d9of31l+Olr3Lvx8nkZy/cx2mMbyesP57XG6uvHcIxNxpax+vU1DIOWlhamTJmC2dx/lQ7N8BhlZrOZadOmDVl/KSkpY+ofoww9fY17N14+L2P5PkZ7bCN1/eG+zlD3P1T9jfbXV4afvsa9Gy+fl7F8H6M9tpG8/nBea6y+fgx1XzL2jMWv70AzO8JUtFQkRsTFxfHII48QFxc32kMZU8bL52Us38doj22krj/c1xnq/kf76yKxQ/9WejdePi9j+T5Ge2wjef3hvJZeP2S0jId/K1rSMk40NzeTmppKU1PTmEvfRERk7NLrh4iIXCy9hshYpxke48R4SN9ERGTk6fVDREQull5DZKzTDI8JqLy8nIqKCnJzc6mvrwdgw4YNozwqERGJFcXFxbjdbsrKykZ7KCIiEiNKS0vZvn07brebhoYG3ve+97Fu3brRHpaMcypaOsGUlpZSVlZGRUVF1LH8/Hy2b98+iiMTEZGxrKioiIaGBlwuFxs3bmTlypWjPSQREYkRxcXFFBYWsmbNGgDcbjf5+fk8+eSTeg8iw0ozPCYQj8dDWloa27dvJy8vL6otNzeX4uLiyDchERGRvqSlpVFQUKAZHiIiMqCqqioqKyt7zOaorKyksLCQdevWaba5DBvV8JhAtmzZAtAj7AAoKCigpKRkpIckIiIiIiLj2Pr163udFVhQUIDT6WTjxo2jMCqZKBR4TCBlZWW4XK5e23Jzc6mqqhrhEYmIiIiIyHhWVVVFbm4ubre7R1v4vUlvbSJDQYHHBLJt2zacTmevbeHjlZWVIzcgEREREREZ18IzOdLT00d7KDIBqWjpGFJZWcmGDRuiCor2x+PxsH79etxuNy6XC4/HA4SKAvU2k8Pj8Qz4jSbch4iIxI7hfv0QEZHxa7hfQ0pKSvpcOu92u3E6nXrtkWGjwGOUeTwetm3bRklJCeXl5YP+z+52uyksLGTDhg1RRX6qqqrIz8+nrKyMgoKCQY9DiauISGwZK68fIiISe8bCa0h5eTkej0d1BGVYaUnLKAnvmJKfn09FRQUPP/zwBT2/sLCQoqKiHgWA8vLyKCsro7Cw8KLWwjU0NFzwc0REZOSM1dcPEREZ+8bKa4jH42H16tWsXLlSu0TKsNIMj1HidDppbGy8qOdu3LgRt9vd5zeHgoICXC4XxcXFg94yMBx0aKaHiMjYNtZeP0REJHaMldeQ1atXs3TpUr3WyLDTDI8YVFJSQl5eXp8FSCH0DSc8TSzM6XQOOIOjvz5FRCS2Xezrh4iIyFC9hmzcuBGPxzPomiEil0KBR4xxu92RAkH9yc3NBWDLli2RY0uXLu3zm091dXXkHBERGX8u5fVDREQmtqF6DSkvL2fr1q0KO2TEKPCIMeFtYwf6ZhNu3759e+TYqlWr+lxTF/4GphkeIiLj06W8foiIyMQ2FK8hlZWVVFRU9FjGUl5ertpRMmwUeMSY8EyMcHral3Bwce43j3vvvRfo/oZ1rsrKSoqKioZolCIiMtZcyuuHiIhMbJf6GuJ2u6moqOh1R5aKigptSyvDRkVLY8xg11SHi4+eW7PD6XSyYcMGiouLo1LXjRs34nK5WLdu3ZCOVURExo5Lef3orS/V+BARmTgu5TXE4/FQWFhIXl4eq1at6tGvdomU4aTAI8Zc6DeE8785rVu3DpfLRVFREbm5udTX1wOauiwiMt5d6utHcXExVVVVbNu2DQjNDMzNzY28ppy/RaGIiIwfl/Iacuutt0ZqgPSmoKDgUoYm0i8FHjHmQn+j1ts3p5UrV+oHUxGRCeZSXz82bNgwhKMREZFYcimvIfrFqowm1fAQERERERERkXFHgcc4F15HJyIiciH0+iEiIhdLryEyVijwiDEXum2stpkVERHQ64eIiFw8vYZIrFLgEWPCaelA6+hU7VhERM6l1w8REblYeg2RWKXAI8bk5+cD3Xth9yVcBXnp0qXDPiYRERn79PohIiIXS68hEqsUeMSY8DePgdLTcPoa/uYkIiITm14/RETkYuk1RGKVAo8Yk5eXh9PppKqqqt/ztm7dCsC99947EsMSEZExTq8fIiJysfQaIrFKgUcMevjhh3G73f2uoSsvL2flypUqGCQiIhF6/RARkYul1xCJRQo8YtC6detwuVwUFxf32l5aWgrA5s2bR3JYIiIyxun1Q0RELpZeQyQWKfAYIyorK4FQoZ9wsZ/+VFRUUFlZSXl5edTxqqoqiouLqaioULIqIjIB6PVDREQull5DZLwzGYZhjPYgJqrc3FwgVPzn/KlhTqeT9PR08vLyKCsr6/X5Ho+H9evX43a7cblckT6Ki4txuVzDOXQRERlFev0QEZGLpdcQmUgUeIiIiIiIiIjIuKMlLSIiIiIiIiIy7ijwEBEREREREZFxR4GHiIiIiIiIiIw7CjxEREREREREZNxR4CEiIiIiIiIi444CDxEREREREREZdxR4iIiIiIiIiMi4o8BDRERERERERMYdBR4iIiIiIiIiMu4o8BARERERERGRcUeBh4iIiIiIiIiMOwo8REREZNSUlpaO9hCkD263m/Ly8tEehoiIyEVT4CEiIiKjYtWqVSxdunS0hyF9cLlcbN26VaGUiIjELAUeIiIiAkBlZSWrVq2isLCQ/Px8Nm7cOGzXWrVqFUVFReTl5Q3bNeTSbdiwgYqKCs30EBGRmGQd7QGIiIjI6CsqKqKyspKKigpcLhcej4fZs2cDsG7duiG9VjhIKSgoGNJ+J5LCwkIaGhp4/vnncTqdw3qtzZs3M3v2bPLy8nC5XMN6LRERkaFkMgzDGO1BiIiIyOhZtWoV5eXlVFdXR72hLSoqorS0lKH8UcHtdpOfn8+hQ4eG/Y36eFVZWUlhYSEQmoEx1IFUb0pLSykpKWH79u3Dfi0REZGhoiUtIiIiE1hxcTHl5eWUlJT0+O19fn4+wJAuZygqKmLDhg0KOy5BQUFBZLbFypUrR+Saa9asAYb234KIiMhw0wwPERGRCaqqqor8/Hzy8vJ6/c19eXk5q1atYuXKlZSVlV3y9cI1QhobGy+5Lxl55eXlrF69Wl8/ERGJGZrhISIiMkGtWrUKCC2L6I/H4xmS623YsCEyU0BiT3g2iWZ5iIhIrFDgISIiMgFt3LgRt9uNy+Xqs3hoQ0MDEKq7cak8Hg+VlZUUFRVdcl8yetasWUNJScloD0NERGRQFHiIiIhMQOvXrwdCNTz6MlQzOyBU9NLpdGqXjxhXWFhIZWXlkP7bEBERGS4KPERERCaY0tLSyBvW/paYbN26FWBICow++eST2oZ2HAh/Dbds2TLKIxERERmYdbQHICIiIiMrXLNjoACisrISYEhmZVRVVV3wchaPx0NxcTFOpxOPx0NDQwPp6en97vJSVFSE2+3G7XbT0NBAWVkZBQUFVFZWUlFRgcfjYdu2bWzevJm8vLxe+wjvWtPQ0BC596uvvrrX7V+Li4upqqqKXC9cp8Tj8URm0YTHU1BQwMMPPxw19tLS0kjB2G3btpGenk5xcXGfX5vS0lLKyspoaGjA7Xbz8MMP9xjXYMdUVVVFQUHBBe+ak5eXR0VFheqxiIjImKfAQ0REZAIJv/mG0PKEvng8nsgskEsNPC4mOKmsrKSkpKTH7jBFRUWkpaVRVlbW65ashYWFuN1u1q9fHxl/eEbLhg0bKC0tpbS0lFWrVlFdXd3r87dt28bzzz8fFYhUVlZSWFhIWVlZVDhQWFhIRkZG1PWqqqooKSmJqnXh8XjIz8+nvLyc7du343Q6WbVqVY9CrkVFRRQWFlJRUdFr6LF06VIgFFr1tazkQseUn58fGdNguFwuqqqqBnWuiIjIqDJERERkwli3bp0BGIBRXV3d53llZWWR88rKyi7pmiUlJQZgNDY2Dvo5BQUFfbbl5eUNOP7wfZaUlBhr1qyJHK+oqDCAXvvPy8sznE5nn+Osrq42Vq5c2Wvbhg0bDMDYsGFD1PXOFf6cbtiwwVi3bl2f1wGMvLy8Pu/NMLo/pxs2bOjznAsZU0lJSb/X663fC/l6ioiIjAbV8BAREZlAwrMtAHJzczGZTL3+CW9ZCwMvfRlIeCbFYGcQhLc97WsWQXhJTn/b6WZkZABQUlISVZi1oKCAxsZGKioqos4PLwNZs2ZNn+Osqqqiqqqq15kV4eeUlJT0uXQnPGMkPMuir+vk5eX1eZ2w9PT0PtsuZkznz6TpT3imTngXHxERkbFKgYeIiMgEEg4RVq5cSWNjY59/wm9qXS7XJRctdbvdF9TH1q1bqaysJD8/v9f28LKOwW6Xe/5SmvPH4vF42LhxIwAPP/xwr314PB5WrVqF2+2OCo1601dtkPA43G53v/VMwmHGUAYKgxnTYIU/f0OxXbGIiMhwUuAhIiIyQZw7Y6KwsBCn09nrH+h+M3uhhUZ74/F4BjUj4fyx9VajA7rfcA8mEAiHI/0J7zhSUFDQZzDjdDrJy8uL/N2X/trO1V89k/AYhmrr18GOabDCX0ttTSsiImOdipaKiIhMENu2bYt83N8ylXO3HO0rdLgQFzpTIbzsZCCDecOdm5s74Dnh5S0DFVUN76bSn8EUZh2KbX4vxFDsstMbLWkREZGxToGHiIjIBHFuQNDfm+BwPYe8vLxhe7M8WB6PJ7KlLESHBYN5wz2YcCE8m2WkgogLme0yFo10YCMiInKxFHiIiIhMEPX19UD/YUc4YID+i4JeiPT09Ate/uDxeCguLqa0tJQ1a9awatWqqFkp4Zobg7n2YIULnUr/wl/LWA9uRERk/FPgISIiMsH0F3iUlpYCodkdl7o7y7kuZPlDVVUVt956KxBaRjLUNSjOF37jHg6EpH9ayiIiIrFCRUtFREQmiPAMhv6WJKxfvx6AzZs3D9l1XS7XBc3wuPXWW/F4PJSVlV1Q2HGxRTQLCwuBvrfBlWjhz/NoL3cSEREZiAIPERGRCSIcHvS1FKG0tBSPx8OaNWuGdFbFYAqHnj+G/maY9BZsVFVVRRVbvRDhwqwDbTcbVl5eflHXGS/CMzwUeIiIyFinwENERGSCCG/R2tuSBLfbTVFRES6Xi5KSkiG9bjg8GcwMiurqaqD/N9Ph3WaGaltUl8sVCT0Gqg1SWVkZKXI6UYV3q1HxUhERGesUeIiIiEwQTqeTgoKCXoOHVatW4XK5BrX16oUKBy2DCQrCs0H6C0d6W+rS0NDQa0gy2HoTmzdvxuVyUVxc3G+QUlJSwrp16wbV53jldruHtL6LiIjIcFHgISIiMoFs2LABt9sdtXxj1apVAFRUVAzLb+2dTicul4utW7cOeO6aNWtYuXIlbreb4uLiqLbwzi3FxcUUFRUB3UVWy8rKot6Eh68V3s52MGMMF0idPXt2j+UtbrebVatW9blzTTgo6i+oCffpdrv7DH88Hk+kj/6W2ITvq7/P6VCN6Xzbtm2L1D0REREZy0yGYRijPQgREREZOZWVlRQXF0dqeRQWFg77rIWioiIqKysjS1YGUl5eHllaE565kZuby5o1ayKhTGlpKSUlJaSnp1NSUoLL5SI3N7fXN+5Op5PNmzdHlq70p7S0lLKyssiskfT0dJxOJw8//HCPQCg/P7/XQMHpdNLY2BjpLxzQnH9OOKjxeDzMnj2719kla9asiXwuCgsLew1Czj1nqMbUm6qqKvLz80dk9xwREZFLpcBDREREhl34jXJjY6NqP8SwjRs3UlJSMujgSkREZDRpSYuIiIgMu7y8PFwu10XvpCJjw5NPPtnrzBAREZGxSDM8REREZESUlpayYcMGzQ6IUZqlIyIisUYzPERERGRErFmzBui/GKeMXevXr2fdunUKO0REJGZohoeIiIiMmPLycoqLizXLI8ZUVVVx6623RoqeioiIxALN8BAREZERs3LlSlwuFxs3bhztocgFWLVqFZs3bx7tYYiIiFwQzfAQERGREeXxeMjPz6eioiKy5ayMXRs3bqS+vp4NGzaM9lBEREQuiGZ4iIiIyIhyOp1UVFRQVFSEx+MZ7eFIPyorK9m6davCDhERiUkKPERERGTEuVwuSkpKWL9+/WgPRfrgdrspKyujrKxstIciIiJyUbSkRURERERERETGHc3wEBEREREREZFxR4GHiIiIiIiIiIw7CjxEREREREREZNxR4CEiIiIiIiIi444CDxEREREREREZdxR4iIiIiIiIiMi4o8BDRERERERERMYdBR4iIiIiIiIiMu78/6TFH9bxM2ULAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "\n", "labels = roots_nonlin.values()\n", diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/get_chi2.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/get_chi2.ipynb index 2763aedc..bde6aafb 100644 --- a/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/get_chi2.ipynb +++ b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/get_chi2.ipynb @@ -55,7 +55,7 @@ "f'SP_v1.4.6.3_{blind}_no_baryons_config',\n", "f'SP_v1.4.6.3_{blind}_nautilus_config',\n", "f'SP_v1.4.6.3_{blind}_planck_config',\n", - "f'SP_v1.4.6.3_{blind}_planck_desi_sne1a_config',\n", + "f'SP_v1.4.6.3_{blind}_planck_desi_config',\n", "]\n", "\n", "catalog_versions = [\n", @@ -101,12 +101,13 @@ " f'blind_{blind}/no_baryons',\n", " f'blind_{blind}/nautilus',\n", " f'blind_{blind}/planck',\n", - " f'blind_{blind}/planck_desi_sne1a',\n", + " f'blind_{blind}/planck_desi',\n", "]\n", "\n", "properties = {}\n", "\n", "for i,root in enumerate(roots):\n", + " print(root)\n", " config = configparser.ConfigParser()\n", " config.optionxform = str # Preserve case sensitivity of option names\n", " config.read(path_ini_files+'config_space_v1.4.6.3_fiducial/pipeline/'+ini_roots[i]+'.ini') \n", From 8bbb19183ad6669e0ddda33813a486f2a16eb237 Mon Sep 17 00:00:00 2001 From: LisaGoh Date: Tue, 31 Mar 2026 12:55:37 +0200 Subject: [PATCH 3/3] added plots --- .../best_fit_xipm.ipynb | 23 +- .../get_chi2.ipynb | 7 +- .../get_chi2_glass_mock.ipynb | 545 ++++++++++++++++++ .../glass_mock_hist.ipynb | 486 ++++++++++++++++ 4 files changed, 1047 insertions(+), 14 deletions(-) create mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/get_chi2_glass_mock.ipynb create mode 100644 cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/glass_mock_hist.ipynb diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/best_fit_xipm.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/best_fit_xipm.ipynb index b8008bcf..a8377921 100644 --- a/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/best_fit_xipm.ipynb +++ b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/best_fit_xipm.ipynb @@ -144,6 +144,7 @@ " fiducial_root_xi_chains,\n", " f\"samples_{fiducial_root_xi_chains}.txt\"\n", ")\n", + "\n", "path_gd_fiducial_xi = os.path.join(\n", " path_output_chains,\n", " fiducial_root_xi_chains,\n", @@ -184,7 +185,7 @@ "]\n", "\n", "labels = [\n", - " r\"UNIONS $\\xi_\\pm(\\vartheta)$\",\n", + " r\"UNIONS $\\xi_\\pm(\\theta)$\",\n", " r\"UNIONS $C_\\ell$\",\n", "]\n", "\n", @@ -212,7 +213,7 @@ " fiducial_root_xi_chains\n", "]\n", "labels = [\n", - " r\"UNIONS $C_\\ell$\",\n", + " r\"Best fit $C_\\ell$\",\n", " r\"Best fit $\\xi_\\pm(\\theta)$\"\n", "]\n", "path_best_fit_xi_theta = os.path.join(\n", @@ -261,10 +262,10 @@ "\n", " mask = (theta > theta_min) & (theta < theta_max)\n", " theta = theta[mask]\n", - " ax.plot(theta, theta*xi_plus[mask], label=r\"Best fit $\\xi_+(\\vartheta)$\", **line_args[idx], lw=2.5)\n", - " ax.plot(theta, theta*xi_sys_plus[mask], label=r\"Best fit $\\xi^{\\rm sys}_{+}(\\vartheta)$\", c='r')\n", - " ax2.plot(theta, theta*xi_minus[mask], label=r\"Best fit $\\xi_-(\\vartheta)$\", **line_args[idx], lw=2.5)\n", - " ax2.plot(theta, theta*xi_sys_minus[mask], label=r\"Best fit $\\xi^{\\rm sys}_{-}(\\vartheta)$\", c='r')\n", + " ax.plot(theta, theta*xi_plus[mask], label=r\"Best fit $\\xi_+(\\theta)$\", **line_args[idx], lw=2.5)\n", + " ax.plot(theta, theta*xi_sys_plus[mask], label=r\"Best fit $\\xi^{\\rm sys}_{+}(\\theta)$\", c='r')\n", + " ax2.plot(theta, theta*xi_minus[mask], label=r\"Best fit $\\xi_-(\\theta)$\", **line_args[idx], lw=2.5)\n", + " ax2.plot(theta, theta*xi_sys_minus[mask], label=r\"Best fit $\\xi^{\\rm sys}_{-}(\\theta)$\", c='r')\n", " \n", " else:\n", " mask = (theta > theta_min) & (theta < theta_max)\n", @@ -326,7 +327,7 @@ "ax2.set_xlabel(r'$\\theta$ (arcmin)', fontsize=26)\n", "ax2.set_xlim([theta.min()-0.1, theta.max()+20])\n", "ax2.set_xscale('log')\n", - "ax2.set_title(r'$\\xi_-(\\vartheta)$', fontsize=26)\n", + "ax2.set_title(r'$\\xi_-(\\theta)$', fontsize=26)\n", "ax2.set_xticks(np.array([1, 10, 100]))\n", "ax2.tick_params(axis=\"x\", which=\"minor\", length=2, width=0.8)\n", "ax2.tick_params(axis='both', which='major', labelsize=24)\n", @@ -335,7 +336,7 @@ "ax2.ticklabel_format(axis='y', style='sci', scilimits=(0,0))\n", "ax2.legend(loc=loc_legend, bbox_to_anchor=bbox_to_anchor_xim, fontsize=20)\n", "\n", - "# plt.savefig(f\"{curr_dir}/../Plots/best_fit_xipm_SP_v1.4.6.3_B.pdf\", bbox_inches='tight')\n", + "plt.savefig(\"/n23data1/n06data/lgoh/scratch/UNIONS/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/best_fit_xipm_SP_v1.4.6.3_B.pdf\", bbox_inches='tight')\n", "\n", "plt.show()\n", "\n" @@ -352,7 +353,7 @@ " fiducial_root_xi_chains\n", "]\n", "labels = [\n", - " r\"Best fit $\\tau_{0,2}(\\vartheta)$\"\n", + " r\"Best fit $\\tau_{0,2}(\\theta)$\"\n", "]\n", "\n", "bbox_to_anchor_xip = (0.285, 0.7)\n", @@ -377,8 +378,8 @@ " \n", " mask = (theta > theta_min) & (theta < theta_max)\n", " theta = theta[mask]\n", - " ax.plot(theta, theta*tau0_plus[mask], label=r\"Best fit $\\tau_{0,+}(\\vartheta)$\", c='orange', lw=2.5)\n", - " ax2.plot(theta, theta*tau2_plus[mask], label=r\"Best fit $\\tau_{2,+}(\\vartheta)$\", c='orange', lw=2.5)\n", + " ax.plot(theta, theta*tau0_plus[mask], label=r\"Best fit $\\tau_{0,+}(\\theta)$\", c='orange', lw=2.5)\n", + " ax2.plot(theta, theta*tau2_plus[mask], label=r\"Best fit $\\tau_{2,+}(\\theta)$\", c='orange', lw=2.5)\n", "\n", "# XI PLUS PLOT SETTINGS\n", "\n", diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/get_chi2.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/get_chi2.ipynb index bde6aafb..b505ea33 100644 --- a/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/get_chi2.ipynb +++ b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/get_chi2.ipynb @@ -112,7 +112,6 @@ " config.optionxform = str # Preserve case sensitivity of option names\n", " config.read(path_ini_files+'config_space_v1.4.6.3_fiducial/pipeline/'+ini_roots[i]+'.ini') \n", " add_xi_sys = config[\"2pt_like\"][\"add_xi_sys\"]\n", - " add_xi_sys = add_xi_sys == 'T'\n", " lower_bound_xi_plus, upper_bound_xi_plus = map(float, config[\"2pt_like\"][\"angle_range_XI_PLUS_1_1\"].split())\n", " lower_bound_xi_minus, upper_bound_xi_minus = map(float, config[\"2pt_like\"][\"angle_range_XI_MINUS_1_1\"].split())\n", "\n", @@ -359,6 +358,7 @@ " blind = match.group(1)\n", "\n", " add_xi_sys = properties[root]['add_xi_sys']\n", + " print(f\"add_xi_sys: {add_xi_sys}\")\n", " lower_bound_xi_plus = properties[root]['lower_bound_xi_plus']\n", " upper_bound_xi_plus = properties[root]['upper_bound_xi_plus']\n", " lower_bound_xi_minus = properties[root]['lower_bound_xi_minus']\n", @@ -369,7 +369,8 @@ " theta_arcmin = theta * 180 * 60 / np.pi\n", " shear_xi_plus = np.loadtxt(output_folder + '{}/best_fit/shear_xi_plus/bin_1_1.txt'.format(root))\n", " shear_xi_minus = np.loadtxt(output_folder + '{}/best_fit/shear_xi_minus/bin_1_1.txt'.format(root))\n", - " if add_xi_sys:\n", + " \n", + " if add_xi_sys == 'T':\n", " xi_sys_plus = np.loadtxt(output_folder + '{}/best_fit/xi_sys/shear_xi_plus.txt'.format(root))\n", " xi_sys_minus = np.loadtxt(output_folder + '{}/best_fit/xi_sys/shear_xi_minus.txt'.format(root))\n", "\n", @@ -436,7 +437,7 @@ " p_value_xi_minus = 1 - stats.chi2.cdf(xi_minus_chi2, n_dof_xi_minus)\n", " p_value_xi = 1 - stats.chi2.cdf(xi_chi2, n_dof_xi_plus + n_dof_xi_minus)\n", " p_value_tau = 1 - stats.chi2.cdf(tau_chi2, n_dof_tau)\n", - " chi2_tot = xi_plus_chi2 + tau_chi2\n", + " chi2_tot = xi_plus_chi2 + xi_minus_chi2 + tau_chi2\n", " n_dof_tot = n_dof_xi_plus + n_dof_xi_minus + n_dof_tau\n", " p_value_tot = 1 - stats.chi2.cdf(chi2_tot, n_dof_tot)\n", "\n", diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/get_chi2_glass_mock.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/get_chi2_glass_mock.ipynb new file mode 100644 index 00000000..1061e48a --- /dev/null +++ b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/get_chi2_glass_mock.ipynb @@ -0,0 +1,545 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import configparser\n", + "import subprocess\n", + "import re\n", + "from getdist import plots, loadMCSamples\n", + "from astropy.io import fits\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from scipy.interpolate import interp1d\n", + "import scipy.stats as stats\n", + "from IPython.display import Markdown, display\n", + "import healpy as hp\n", + "# Make the plot\n", + "import seaborn as sns\n", + "from scipy.stats import chi2\n", + "\n", + "\n", + "import sys\n", + "sys.path.append(\"/home/guerrini/sp_validation/cosmo_inference/scripts\")\n", + "\n", + "import chain_postprocessing\n", + "\n", + "%matplotlib inline\n", + "\n", + "plt.style.use(\n", + " \"/home/guerrini/matplotlib_config/paper.mplstyle\"\n", + ")\n", + "\n", + "plt.rcParams['axes.labelsize'] = 18\n", + "plt.rcParams['xtick.labelsize'] = 18\n", + "plt.rcParams['ytick.labelsize'] = 18\n", + "\n", + "plt.rcParams['text.usetex'] = True\n", + "\n", + "g = plots.get_subplot_plotter(width_inch=30)\n", + "g.settings.axes_fontsize=30\n", + "g.settings.axes_labelsize=30\n", + "g.settings.alpha_filled_add = 0.7\n", + "g.settings.legend_fontsize = 40\n", + "\n", + "# #SPECIFY DATA DIRECTORY AND DESIRED CHAINS TO ANALYSE\n", + "\n", + "root_dir = \"/n09data/guerrini/glass_mock_chains/\"\n", + "\n", + "# Version of the glass mock chain run\n", + "chain_version = \"v6\"\n", + "\n", + "# Path to the glass mock data vectors\n", + "root_glass_dv = f\"/home/guerrini/sp_validation/cosmo_inference/data/glass_mocks/{chain_version}/\"\n", + "\n", + "# Choose the best-fit method\n", + "best_fit_method = \"2Dkde\"\n", + "\n", + "# Create the list of mocks\n", + "max_sim = 350\n", + "failed_simulations = [83]\n", + "roots = [f\"glass_mock_{chain_version}_{str(i).zfill(5)}\" for i in range(1, max_sim + 1)]\n", + "roots = [root for root in roots if int(root.split('_')[-1]) not in failed_simulations]\n", + "\n", + "catalog_versions = [\n", + " f'SP_v1.4.6.3_config/SP_v1.4.6.3_A',\n", + "]\n", + "\n", + "output_folder_chains = '/n23data1/n06data/lgoh/scratch/temp/' \n", + "path_ini_files = '/home/guerrini/sp_validation/cosmo_inference/cosmosis_config/'\n", + "output_fig_path = f\"/n23data1/n06data/lgoh/scratch/UNIONS/cosmo_inference/notebooks/Plots/\"\n", + "\n", + "ini_root =f'blind_A/fiducial'\n", + "\n", + "lower_bound_xi = 12\n", + "upper_bound_xi = 83" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Retrieve the chains" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#READ CHAIN\n", + "\n", + "chains=[]\n", + "best_fit = {}\n", + "\n", + "for i, root in enumerate(roots):\n", + " burnin = 0\n", + " \n", + " if os.path.isfile(f'{root_dir}/{root}/{root}/getdist_{root}.txt')==True:\n", + " \n", + " chain = g.samples_for_root(f'{root_dir}/{root}/{root}/getdist_{root}',\n", + " cache=False,\n", + " settings={'ignore_rows': burnin,\n", + " 'smooth_scale_2D':0.5,\n", + " 'smooth_scale_1D':0.5\n", + " })\n", + " p = chain.getParams()\n", + " \n", + " best_fit[root] = chain_postprocessing.extract_best_fit_params(chain, best_fit_method='2Dkde')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "param_list = ['OMEGA_M','ombh2','h0','n_s','SIGMA_8','s_8_input', 'logt_agn','a','m1','bias_1','alpha','beta', 'omch2', 'm', 'a_planck']\n", + "label_list = ['\\Omega_m', '\\omega_b', 'h_0', 'n_s', '\\sigma_8', 'S_8', 'log T_{AGN}', 'A_{IA}', 'm_1', '\\Delta z_1', '\\\\alpha_{PSF}', '\\\\beta_{PSF}', '\\omega_c', 'M', 'A_{\\rm Planck}']\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Run `Cosmosis` in test mode to get the data vectors" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "if not os.path.exists(path_ini_files+'/values_empty.ini'):\n", + " content = \"\"\"[cosmological_parameters]\n", + "\n", + "tau = 0.0544\n", + "w = -1.0\n", + "mnu = 0.06\n", + "omega_k = 0.0\n", + "wa = 0.0\n", + "\n", + "[halo_model_parameters]\n", + "\n", + "[intrinsic_alignment_parameters]\n", + "\n", + "[shear_calibration_parameters]\n", + "\n", + "[nofz_shifts]\n", + "\n", + "[psf_leakage_parameters]\n", + "\"\"\"\n", + "\n", + " with open(path_ini_files+'/values_empty.ini', 'w') as f:\n", + " f.write(content)\n", + " f.close()\n", + "\n", + " print('File created successfully')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "section_map = {\n", + " 'omch2': 'cosmological_parameters',\n", + " 'ombh2': 'cosmological_parameters',\n", + " 'h0': 'cosmological_parameters',\n", + " 'n_s': 'cosmological_parameters',\n", + " 's_8_input': 'cosmological_parameters',\n", + " 'logt_agn': 'halo_model_parameters',\n", + " 'a': 'intrinsic_alignment_parameters',\n", + " 'm1': 'shear_calibration_parameters',\n", + " 'bias_1': 'nofz_shifts',\n", + " 'alpha': 'psf_leakage_parameters',\n", + " 'beta': 'psf_leakage_parameters',\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env = os.environ.copy()\n", + "env[\"LD_LIBRARY_PATH\"] = \"/home/guerrini/.conda/envs/sp_validation/lib/python3.9/site-packages/cosmosis/datablock:\" + env.get(\"LD_LIBRARY_PATH\", \"\")\n", + "for i,root in enumerate(roots):\n", + " print(root)\n", + " config = configparser.ConfigParser()\n", + " config.optionxform = str # Preserve case sensitivity of option names\n", + "\n", + " for param, section in section_map.items():\n", + " # Check if this parameter exists for the current root\n", + " if param in best_fit[root]:\n", + " value = best_fit[root][param]\n", + " \n", + " if section not in config:\n", + " config.add_section(section)\n", + "\n", + " config[section][param] = str(value)\n", + "\n", + " with open(path_ini_files+'/values_empty.ini', 'w') as configfile:\n", + " config.write(configfile)\n", + "\n", + " #Modify the ini file to run in test mode at the best fit\n", + " config = configparser.ConfigParser()\n", + " config.optionxform = str # Preserve case sensitivity of option names\n", + " \n", + " ini_file = path_ini_files+f'config_space_v1.4.6.3_fiducial/pipeline/{ini_root}.ini'\n", + " config.read(ini_file)\n", + "\n", + " sampler = config['runtime']['sampler']\n", + " config['runtime']['sampler'] = 'test'\n", + " values = config['pipeline']['values']\n", + " config['pipeline']['values'] = path_ini_files + '/values_empty.ini'\n", + " config['DEFAULT']['FITS_FILE'] = f'{root_glass_dv}/glass_mock_{root[-5:]}/cosmosis_glass_mock_v6_{root[-5:]}.fits'\n", + " config['test']['save_dir'] = output_folder_chains + f'{root}/best_fit_config'\n", + " \n", + " with open(ini_file, 'w') as configfile:\n", + " config.write(configfile)\n", + "\n", + " #Run cosmosis\n", + " result = subprocess.run(\n", + " ['cosmosis', ini_file],\n", + " env=env,\n", + " capture_output=True,\n", + " text=True\n", + " )\n", + " # print(f\"STDOUT:\\n{result.stdout}\")\n", + " # print(f\"STDERR:\\n{result.stderr}\")\n", + "\n", + " #Modify the ini file to the previous one\n", + " config['pipeline']['values'] = values\n", + " config['runtime']['sampler'] = sampler\n", + "\n", + " with open(ini_file, 'w') as configfile:\n", + " config.write(configfile)\n", + " \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "xi_plus_chi2s = np.array([])\n", + "xi_minus_chi2s = np.array([])\n", + "xi_chi2s = np.array([])\n", + "tau_chi2s = np.array([])\n", + "chi2_tots = np.array([])\n", + "\n", + "\n", + "for idx,root in enumerate(roots):\n", + " print(root)\n", + "\n", + " data = fits.open(f'{root_glass_dv}/glass_mock_{root[-5:]}/cosmosis_glass_mock_v6_{root[-5:]}.fits')\n", + " \n", + " tau_0_data = data['TAU_0_PLUS'].data['VALUE']\n", + " tau_2_data = data['TAU_2_PLUS'].data['VALUE']\n", + "\n", + " theta_data = data['XI_PLUS'].data['ANG']\n", + " xi_plus_data = data['XI_PLUS'].data['VALUE']\n", + " xi_minus_data = data['XI_MINUS'].data['VALUE']\n", + " xi_data = np.concatenate((xi_plus_data, xi_minus_data))\n", + "\n", + " tau_data = np.concatenate((tau_0_data, tau_2_data))\n", + "\n", + " #Apply scale cuts\n", + " mask_xi_plus = (theta_data > lower_bound_xi) & (theta_data < upper_bound_xi)\n", + " mask_xi_minus = (theta_data > lower_bound_xi) & (theta_data < upper_bound_xi)\n", + " mask = np.concatenate((mask_xi_plus, mask_xi_minus))\n", + " #Load the covariance\n", + " cov = data['COVMAT'].data\n", + " cov_xi = cov[0:2*len(xi_plus_data), 0:2*len(xi_plus_data)]\n", + " cov_tau = cov[2*len(xi_plus_data):4*len(xi_plus_data), 2*len(xi_plus_data):4*len(xi_plus_data)]\n", + " xi_data = xi_data[mask]\n", + " cov_xi = cov_xi[mask][:, mask]\n", + "\n", + " cov_xi_plus = cov[0:len(xi_plus_data), 0:len(xi_plus_data)]\n", + " cov_xi_plus = cov_xi_plus[mask_xi_plus][:, mask_xi_plus]\n", + " cov_xi_minus = cov[len(xi_plus_data):2*len(xi_minus_data), len(xi_plus_data):2*len(xi_minus_data)]\n", + " cov_xi_minus = cov_xi_minus[mask_xi_minus][:, mask_xi_minus]\n", + "\n", + " #Read the results\n", + " theta = np.loadtxt(output_folder_chains + f'{root}/best_fit_config/shear_xi_plus/theta.txt')\n", + " theta_arcmin = theta * 180 * 60 / np.pi\n", + " shear_xi_plus = np.loadtxt(output_folder_chains + f'{root}/best_fit_config/shear_xi_plus/bin_1_1.txt')\n", + " shear_xi_minus = np.loadtxt(output_folder_chains + f'{root}/best_fit_config/shear_xi_minus/bin_1_1.txt')\n", + "\n", + " xi_sys_plus = np.loadtxt(output_folder_chains + f'{root}/best_fit_config/xi_sys/shear_xi_plus.txt')\n", + " xi_sys_minus = np.loadtxt(output_folder_chains + f'{root}/best_fit_config/xi_sys/shear_xi_minus.txt')\n", + "\n", + " theta_tau = np.loadtxt(output_folder_chains + f'{root}/best_fit_config/tau_0_plus/theta.txt')\n", + " theta_tau_arcmin = theta_tau * 180 * 60 / np.pi\n", + " tau_0_model = np.loadtxt(output_folder_chains + f'{root}/best_fit_config/tau_0_plus/bin_1_1.txt')\n", + " tau_2_model = np.loadtxt(output_folder_chains + f'{root}/best_fit_config/tau_2_plus/bin_1_1.txt')\n", + "\n", + " #interpolate the model\n", + " interp_xi_plus = interp1d(theta_arcmin, shear_xi_plus, kind='cubic', fill_value='extrapolate')\n", + " interp_xi_minus = interp1d(theta_arcmin, shear_xi_minus, kind='cubic', fill_value='extrapolate')\n", + "\n", + " xi_plus_model = interp_xi_plus(theta_data)\n", + " xi_plus_model += xi_sys_plus\n", + " xi_minus_model = interp_xi_minus(theta_data)\n", + " xi_minus_model += xi_sys_minus\n", + " \n", + " xi_model = np.concatenate((xi_plus_model, xi_minus_model))\n", + " tau_model = np.concatenate((tau_0_model, tau_2_model))\n", + " xi_model = xi_model[mask]\n", + "\n", + "\n", + " xi_plus_chi2 = np.dot((xi_plus_model[mask_xi_plus] - xi_plus_data[mask_xi_plus]), np.dot(np.linalg.inv(cov_xi_plus), (xi_plus_model[mask_xi_plus] - xi_plus_data[mask_xi_plus])))\n", + " xi_minus_chi2 = np.dot((xi_minus_model[mask_xi_minus] - xi_minus_data[mask_xi_minus]), np.dot(np.linalg.inv(cov_xi_minus), (xi_minus_model[mask_xi_minus] - xi_minus_data[mask_xi_minus])))\n", + " xi_chi2 = np.dot((xi_model - xi_data), np.dot(np.linalg.inv(cov_xi), (xi_model - xi_data)))\n", + " tau_chi2 = np.dot((tau_model - tau_data), np.dot(np.linalg.inv(cov_tau), (tau_model - tau_data)))\n", + " chi2_tot = xi_plus_chi2 + xi_minus_chi2 + tau_chi2\n", + "\n", + " xi_plus_chi2s = np.append(xi_plus_chi2s, xi_plus_chi2)\n", + " xi_minus_chi2s = np.append(xi_minus_chi2s, xi_minus_chi2)\n", + " xi_chi2s = np.append(xi_chi2s, xi_chi2)\n", + " tau_chi2s = np.append(tau_chi2s, tau_chi2)\n", + " chi2_tots = np.append(chi2_tots, chi2_tot)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "chi2_fiducial = -2*-37.924821474732546\n", + "dof, loc, scale = chi2.fit(chi2_tots, floc=0)\n", + "\n", + "print(f\"Best-fit dof: {dof:.2f}\")\n", + "counts, bin_edges = np.histogram(\n", + " chi2_tots,\n", + " bins=25,\n", + " density=True\n", + ")\n", + "\n", + "sns.histplot(\n", + " chi2_tots,\n", + " kde=False,\n", + " bins=bin_edges,\n", + " stat='density',\n", + " label=r\"$\\chi^2$ for \\texttt{GLASS} mocks best-fits\",\n", + " color='blue',\n", + " alpha=0.3\n", + ")\n", + "\n", + "# Compute the p-value\n", + "\n", + "# 1. Get in which bin the chi2 of the fiducial falls\n", + "bin_index = np.digitize(chi2_fiducial, bin_edges)\n", + "\n", + "# 2. Compute the p-value as the integral of the tail of the histogram\n", + "p_value = np.sum(counts[bin_index:]) * np.diff(bin_edges)[0]\n", + "\n", + "print(f\"P-value: {p_value}\")\n", + "\n", + "plt.axvline(chi2_fiducial, color='red', label=r'$\\chi^2$ of the fiducial')\n", + "\n", + "mantissa, exponent = np.frexp(p_value)\n", + "pte_string = rf\"${{\\rm PTE}} = {p_value:.4f}$\"\n", + "\n", + "x_text = 70\n", + "y_text = max(counts) * 0.95\n", + "plt.text(x_text, y_text, pte_string, fontsize=15, bbox=dict(facecolor='wheat', alpha=0.8, edgecolor='black'))\n", + "\n", + "chi2_string = rf\"${{\\rm Eff. dof}}= {dof:.1f}$\"\n", + "y_text = max(counts) * 0.85\n", + "plt.text(\n", + " x_text,\n", + " y_text,\n", + " chi2_string,\n", + " fontsize=15,\n", + " bbox=dict(facecolor='wheat', alpha=0.8, edgecolor='black')\n", + ")\n", + "\n", + "plt.xlabel(r\"$\\chi^2$\")\n", + "plt.ylabel(\"Density\")\n", + "plt.savefig(f\"{output_fig_path}/chi2_glass_mocks_p_value.pdf\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "fig, [ax1, ax2] = plt.subplots(2, 1, figsize=(7, 10))\n", + "chi2_fiducial = 10.21\n", + "dof, loc, scale = chi2.fit(xi_chi2s, floc=0)\n", + "\n", + "print(f\"Best-fit dof: {dof:.2f}\")\n", + "counts, bin_edges = np.histogram(\n", + " xi_chi2s,\n", + " bins=25,\n", + " density=True\n", + ")\n", + "\n", + "sns.histplot(\n", + " xi_chi2s,\n", + " ax=ax1,\n", + " kde=False,\n", + " bins=bin_edges,\n", + " stat='density',\n", + " label=r\"$\\chi^2$ for \\texttt{GLASS} mocks best-fits\",\n", + " color='green',\n", + " alpha=0.3\n", + ")\n", + "\n", + "# Compute the p-value\n", + "\n", + "# 1. Get in which bin the chi2 of the fiducial falls\n", + "bin_index = np.digitize(chi2_fiducial, bin_edges)\n", + "\n", + "# 2. Compute the p-value as the integral of the tail of the histogram\n", + "p_value = np.sum(counts[bin_index:]) * np.diff(bin_edges)[0]\n", + "\n", + "print(f\"P-value: {p_value}\")\n", + "\n", + "ax1.axvline(chi2_fiducial, color='red', label=r'$\\chi^2$ of the fiducial')\n", + "\n", + "mantissa, exponent = np.frexp(p_value)\n", + "pte_string = rf\"${{\\rm PTE}} = {p_value:.2f}$\"\n", + "print(f\"mantissa: {mantissa}, exponent: {exponent}\")\n", + "x_text = 15\n", + "y_text = max(counts) * 0.95\n", + "ax1.text(x_text, y_text, pte_string, fontsize=15, bbox=dict(facecolor='wheat', alpha=0.8, edgecolor='black'))\n", + "\n", + "chi2_string = rf\"${{\\rm Eff. dof}}= {dof:.1f}$\"\n", + "y_text = max(counts) * 0.85\n", + "ax1.text(\n", + " x_text,\n", + " y_text,\n", + " chi2_string,\n", + " fontsize=15,\n", + " bbox=dict(facecolor='wheat', alpha=0.8, edgecolor='black')\n", + ")\n", + "\n", + "ax1.set_xlabel(r\"$\\chi^2 (\\xi_\\pm)$\")\n", + "ax1.set_ylabel(\"Density\")\n", + "\n", + "chi2_fiducial = 65.78\n", + "dof, loc, scale = chi2.fit(tau_chi2s, floc=0)\n", + "\n", + "print(f\"Best-fit dof: {dof:.2f}\")\n", + "counts, bin_edges = np.histogram(\n", + " tau_chi2s,\n", + " bins=25,\n", + " density=True\n", + ")\n", + "\n", + "sns.histplot(\n", + " tau_chi2s,\n", + " ax=ax2,\n", + "\n", + " kde=False,\n", + " bins=bin_edges,\n", + " stat='density',\n", + " label=r\"$\\chi^2$ for \\texttt{GLASS} mocks best-fits\",\n", + " color='pink',\n", + " alpha=0.5\n", + ")\n", + "\n", + "# Compute the p-value\n", + "\n", + "# 1. Get in which bin the chi2 of the fiducial falls\n", + "bin_index = np.digitize(chi2_fiducial, bin_edges)\n", + "\n", + "# 2. Compute the p-value as the integral of the tail of the histogram\n", + "p_value = np.sum(counts[bin_index:]) * np.diff(bin_edges)[0]\n", + "\n", + "print(f\"P-value: {p_value}\")\n", + "\n", + "ax2.axvline(chi2_fiducial, color='red', label=r'$\\chi^2$ of the fiducial')\n", + "\n", + "mantissa, exponent = np.frexp(p_value)\n", + "print(f\"mantissa: {mantissa}, exponent: {exponent}\")\n", + "pte_string = rf\"${{\\rm PTE}} = {p_value:.4f}$\"\n", + "# rf\"${{\\rm PTE}} = {mantissa:.2f} \\times 10^{{{exponent}}}$\" if exponent != 0 else \n", + "x_text = 60\n", + "y_text = max(counts) * 0.95\n", + "ax2.text(x_text, y_text, pte_string, fontsize=15, bbox=dict(facecolor='wheat', alpha=0.8, edgecolor='black'))\n", + "\n", + "chi2_string = rf\"${{\\rm Eff. dof}}= {dof:.1f}$\"\n", + "y_text = max(counts) * 0.85\n", + "ax2.text(\n", + " x_text,\n", + " y_text,\n", + " chi2_string,\n", + " fontsize=15,\n", + " bbox=dict(facecolor='wheat', alpha=0.8, edgecolor='black')\n", + ")\n", + "\n", + "ax2.set_xlabel(r\"$\\chi^2 (\\tau_{0,2})$\")\n", + "ax2.set_ylabel(\"Density\")\n", + "fig.savefig(f\"{output_fig_path}/chi2_glass_mocks_p_value_xi_tau.pdf\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "my_env", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/glass_mock_hist.ipynb b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/glass_mock_hist.ipynb new file mode 100644 index 00000000..23aecd9f --- /dev/null +++ b/cosmo_inference/notebooks/2D_cosmic_shear_configuration_plots/glass_mock_hist.ipynb @@ -0,0 +1,486 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "255d7eca", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "import IPython\n", + "\n", + "ipython = IPython.get_ipython()\n", + "\n", + "if ipython is not None:\n", + " ipython.run_line_magic('load_ext', 'autoreload')\n", + " ipython.run_line_magic('autoreload', '2')\n", + "\n", + "import os\n", + "import copy\n", + "from tqdm import tqdm\n", + "\n", + "import matplotlib.pyplot as plt\n", + "from mpl_toolkits.axes_grid1 import make_axes_locatable\n", + "import numpy as np\n", + "import healpy as hp\n", + "import seaborn as sns\n", + "from astropy.io import fits\n", + "\n", + "from getdist import plots, MCSamples\n", + "\n", + "g = plots.get_subplot_plotter(width_inch=7)\n", + "g.settings.axes_fontsize=15\n", + "g.settings.axes_labelsize=15\n", + "g.settings.alpha_filled_add = 0.7\n", + "g.settings.legend_fontsize = 15\n", + "\n", + "if os.path.exists(\"/home/guerrini/matplotlib_config/paper.mplstyle\"):\n", + " plt.style.use(\n", + " \"/home/guerrini/matplotlib_config/paper.mplstyle\"\n", + " )\n", + "\n", + "# Set default palette - will be updated per plot as needed\n", + "sns.set_palette(\"husl\")\n", + "\n", + "if ipython is not None:\n", + " ipython.run_line_magic('matplotlib', 'inline')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bd3492f5", + "metadata": { + "lines_to_next_cell": 1 + }, + "outputs": [], + "source": [ + "root_dir = '/n09data/guerrini/glass_mock_chains/'\n", + "chain_version = 'v6'\n", + "num_sims = 350\n", + "\n", + "roots = [\n", + " f\"glass_mock_{chain_version}_{i+1:05d}\" for i in range(num_sims)\n", + "]\n", + "\n", + "\n", + "# # %%\n", + "def load_samples_and_write_paramames(root_dir, root, chain_type=\"configuration\"):\n", + " assert chain_type in [\"configuration\", \"harmonic\"], \"chain_type must be 'configuration' or 'harmonic'\"\n", + "\n", + " if chain_type == \"configuration\":\n", + " path_samples = root_dir + '{}/{}/samples_{}.txt'.format('/'+root, root, root)\n", + " path_paramnames = root_dir + '{}/{}/getdist_{}.paramnames'.format('/'+root, root, root)\n", + " else:\n", + " path_samples = root_dir + '{}/{}/samples_{}_cell.txt'.format('/'+root, root, root)\n", + " path_paramnames = root_dir + '{}/{}/getdist_{}_cell.paramnames'.format('/'+root, root, root)\n", + " \n", + " with open(path_samples, 'r') as file:\n", + " params = file.readline()[1:].split('\\t')[:-4]\n", + " file.close()\n", + "\n", + " with open(path_paramnames, 'w') as file:\n", + " for i in range(len(params)):\n", + " if len(params[i].split('--')) > 1:\n", + " file.write(params[i].split('--')[1] + '\\n')\n", + " else:\n", + " file.write(params[i].split('--')[0] + '\\n')\n", + " file.close()\n", + "\n", + "def write_samples_getdist_format(root_dir, root, chain_type=\"configuration\"):\n", + " assert chain_type in [\"configuration\", \"harmonic\"], \"chain_type must be 'configuration' or 'harmonic'\"\n", + "\n", + " if chain_type == \"configuration\":\n", + " path_samples = root_dir + '{}/{}/samples_{}.txt'.format('/'+root, root, root)\n", + " path_gd_samples = root_dir + '{}/{}/getdist_{}.txt'.format('/'+root, root, root)\n", + " path_gd = root_dir + '{}/{}/getdist_{}'.format(root,root,root)\n", + " else:\n", + " path_samples = root_dir + '{}/{}/samples_{}_cell.txt'.format('/'+root, root, root)\n", + " path_gd_samples = root_dir + '{}/{}/getdist_{}_cell.txt'.format('/'+root, root, root)\n", + " path_gd = root_dir + '{}/{}/getdist_{}_cell'.format(root,root,root)\n", + " \n", + " samples = np.loadtxt(\n", + " path_samples,\n", + " )\n", + " if 'nautilus' in root:\n", + " samples = np.column_stack((np.exp(samples[:,-3]),samples[:,-1]-samples[:,-2],samples[:,0:-3]))\n", + " else:\n", + " samples = np.column_stack((samples[:,-1],samples[:,-2],samples[:,0:-4]))\n", + " np.savetxt(path_gd_samples, samples)\n", + "\n", + " chain = g.samples_for_root(\n", + " path_gd,\n", + " cache=False,\n", + " settings={\n", + " 'ignore_rows': 0.,\n", + " 'smooth_scale_2D': 0.5,\n", + " 'smooth_scale_1D': 0.5\n", + " }\n", + " )\n", + "\n", + " return chain\n", + "\n", + "def extract_param_chain(chain, param_names):\n", + " margestats = chain.getMargeStats()\n", + " likestats = chain.getLikeStats()\n", + "\n", + " param_values = {}\n", + " for param_name in param_names:\n", + " if param_name not in chain.getParamNames().list():\n", + " raise ValueError(f\"Parameter {param_name} not found in chain.\")\n", + " \n", + " param_stats = margestats.parWithName(param_name)\n", + " param_values[param_name] = {\n", + " 'mean': param_stats.mean,\n", + " '1sigma_minus': param_stats.mean - param_stats.limits[0].lower,\n", + " '1sigma_plus': param_stats.limits[0].upper - param_stats.mean,\n", + " '2sigma_minus': param_stats.mean - param_stats.limits[1].lower,\n", + " '2sigma_plus': param_stats.limits[1].upper - param_stats.mean,\n", + " }\n", + "\n", + " param_stats = likestats.parWithName(param_name)\n", + " param_names_getdist = chain.getParamNames()\n", + " par = param_names_getdist.parWithName(param_name)\n", + " kde = chain.get1DDensity(par, num_bins=1000)\n", + " kde_map = kde.x[np.argmax(kde.P)]\n", + " param_values[param_name].update({\n", + " 'MAP': kde_map,\n", + " })\n", + " \n", + " par = chain.getParamNames().parWithName(\"S_8\")\n", + " par_om = chain.getParamNames().parWithName(\"OMEGA_M\")\n", + " kde = chain.get2DDensity(par, par_om, fine_bins_2D=1000)\n", + " s8_kde_map = kde.x[np.unravel_index(np.argmax(kde.P), kde.P.shape)[1]]\n", + " om_kde_map = kde.y[np.unravel_index(np.argmax(kde.P), kde.P.shape)[0]]\n", + " param_values[\"S_8\"].update({\n", + " 'MAP_2D': s8_kde_map,\n", + " })\n", + " param_values[\"OMEGA_M\"].update({\n", + " 'MAP_2D': om_kde_map,\n", + " })\n", + "\n", + " return param_values\n", + "\n", + "def concatenate_param_stats(name, param_values, verbose=False):\n", + " output = [name]\n", + " for key in param_values.keys():\n", + " param_stat = param_values[key]\n", + " if verbose:\n", + " print(f\"{name} - {key}: {param_stat['mean']:.4f} +{param_stat['1sigma_plus']:.4f}/-{param_stat['1sigma_minus']:.4f} (1σ), +{param_stat['2sigma_plus']:.4f}/-{param_stat['2sigma_minus']:.4f} (2σ)\")\n", + "\n", + " param_list = [\n", + " param_stat['mean'],\n", + " param_stat['1sigma_minus'],\n", + " param_stat['1sigma_plus'],\n", + " param_stat['2sigma_minus'],\n", + " param_stat['2sigma_plus'],\n", + " param_stat['MAP']\n", + " ]\n", + "\n", + " if key == \"S_8\":\n", + " param_list.append(param_stat['MAP_2D'])\n", + " \n", + " if key == \"OMEGA_M\":\n", + " param_list.append(param_stat['MAP_2D'])\n", + "\n", + " output += param_list\n", + "\n", + " return output\n", + "\n", + "def merge_param_stats(params_configuration, params_harmonic):\n", + " merged_params = {}\n", + " for key in params_configuration.keys():\n", + " if key in params_harmonic:\n", + " merged_params[key] = {\n", + " 'configuration': params_configuration[key],\n", + " 'harmonic': params_harmonic[key]\n", + " }\n", + " return merged_params\n", + "\n", + "def concatenate_merge_params(name, merged_params, verbose=False):\n", + " output = [name]\n", + " for key in merged_params.keys():\n", + " param_config = merged_params[key]['configuration']\n", + " param_harm = merged_params[key]['harmonic']\n", + "\n", + " if verbose:\n", + " print(f\"{name} - {key} (Configuration): {param_config['mean']:.4f} +{param_config['1sigma_plus']:.4f}/-{param_config['1sigma_minus']:.4f} (1σ), +{param_config['2sigma_plus']:.4f}/-{param_config['2sigma_minus']:.4f} (2σ)\")\n", + " print(f\"{name} - {key} (Harmonic): {param_harm['mean']:.4f} +{param_harm['1sigma_plus']:.4f}/-{param_harm['1sigma_minus']:.4f} (1σ), +{param_harm['2sigma_plus']:.4f}/-{param_harm['2sigma_minus']:.4f} (2σ)\")\n", + "\n", + " param_list = [\n", + " param_config['mean'],\n", + " param_config['1sigma_minus'],\n", + " param_config['1sigma_plus'],\n", + " param_config['2sigma_minus'],\n", + " param_config['2sigma_plus'],\n", + " param_config['MAP'],\n", + " param_harm['mean'],\n", + " param_harm['1sigma_minus'],\n", + " param_harm['1sigma_plus'],\n", + " param_harm['2sigma_minus'],\n", + " param_harm['2sigma_plus'],\n", + " param_harm['MAP']\n", + " ]\n", + "\n", + " output += param_list\n", + "\n", + " return output" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c3c3b0c8", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "chain_harmonic = []\n", + "chain_config = []\n", + "\n", + "for i, root in enumerate(tqdm(roots)):\n", + " if os.path.isfile(f'{root_dir}/{root}/{root}/getdist_{root}.txt'):\n", + " # Load samples and write paramnames for harmonic space\n", + " load_samples_and_write_paramames(root_dir, root, chain_type=\"harmonic\")\n", + " write_samples_getdist_format(root_dir, root, chain_type=\"harmonic\")\n", + " chain_harm = g.samples_for_root(\n", + " root_dir + f'/{root}/{root}/getdist_{root}_cell',\n", + " cache=False,\n", + " settings={\n", + " 'ignore_rows': 0.,\n", + " 'smooth_scale_2D': 0.5,\n", + " 'smooth_scale_1D': 0.5\n", + " }\n", + " )\n", + " chain_harmonic.append(chain_harm)\n", + " \n", + " # Load samples and write paramnames for harmonic space\n", + " load_samples_and_write_paramames(root_dir, root, chain_type=\"configuration\")\n", + " write_samples_getdist_format(root_dir, root, chain_type=\"configuration\")\n", + " chain_conf = g.samples_for_root(\n", + " root_dir + f'/{root}/{root}/getdist_{root}',\n", + " cache=False,\n", + " settings={\n", + " 'ignore_rows': 0.,\n", + " 'smooth_scale_2D': 0.5,\n", + " 'smooth_scale_1D': 0.5\n", + " }\n", + " )\n", + " chain_config.append(chain_conf)\n", + "# # %%\n", + "param_names = ['S_8', 'OMEGA_M', 'SIGMA_8', 'a']\n", + "\n", + "output_mocks_harm = np.array([\n", + " \"Name\",\n", + " \"S8_mean\", \"S8_1sigma_minus\", \"S8_1sigma_plus\", \"S8_2sigma_minus\", \"S8_2sigma_plus\", \"S8_MAP\", \"S8_MAP_2D\",\n", + " \"OMEGA_M_mean\", \"OMEGA_M_1sigma_minus\", \"OMEGA_M_1sigma_plus\", \"OMEGA_M_2sigma_minus\", \"OMEGA_M_2sigma_plus\", \"OMEGA_M_MAP\", \"OMEGA_M_MAP_2D\",\n", + " \"SIGMA_8_mean\", \"SIGMA_8_1sigma_minus\", \"SIGMA_8_1sigma_plus\", \"SIGMA_8_2sigma_minus\", \"SIGMA_8_2sigma_plus\", \"SIGMA_8_MAP\",\n", + " \"a_mean\", \"a_1sigma_minus\", \"a_1sigma_plus\", \"a_2sigma_minus\", \"a_2sigma_plus\", \"a_MAP\"\n", + "])\n", + "\n", + "output_mocks_config = np.array([\n", + " \"Name\",\n", + " \"S8_mean\", \"S8_1sigma_minus\", \"S8_1sigma_plus\", \"S8_2sigma_minus\", \"S8_2sigma_plus\", \"S8_MAP\", \"S8_MAP_2D\",\n", + " \"OMEGA_M_mean\", \"OMEGA_M_1sigma_minus\", \"OMEGA_M_1sigma_plus\", \"OMEGA_M_2sigma_minus\", \"OMEGA_M_2sigma_plus\", \"OMEGA_M_MAP\", \"OMEGA_M_MAP_2D\",\n", + " \"SIGMA_8_mean\", \"SIGMA_8_1sigma_minus\", \"SIGMA_8_1sigma_plus\", \"SIGMA_8_2sigma_minus\", \"SIGMA_8_2sigma_plus\", \"SIGMA_8_MAP\",\n", + " \"a_mean\", \"a_1sigma_minus\", \"a_1sigma_plus\", \"a_2sigma_minus\", \"a_2sigma_plus\", \"a_MAP\"\n", + "])\n", + "\n", + "for i, root in enumerate(tqdm(roots[:-1])):\n", + " param_values_harm = extract_param_chain(chain_harmonic[i], param_names)\n", + "\n", + " param_harm = concatenate_param_stats(root, param_values_harm, verbose=False)\n", + " \n", + " output_mocks_harm = np.vstack((output_mocks_harm, param_harm))\n", + "\n", + " param_values_config = extract_param_chain(chain_config[i], param_names)\n", + "\n", + " param_config = concatenate_param_stats(root, param_values_config, verbose=False)\n", + " \n", + " output_mocks_config = np.vstack((output_mocks_config, param_config))\n", + "\n", + "np.savetxt(f\"summary_parameter_constraints_harmonic_space_{chain_version}.txt\", output_mocks_harm, fmt='%s', delimiter=';')\n", + "np.savetxt(f\"summary_parameter_constraints_configuration_space_{chain_version}.txt\", output_mocks_config, fmt='%s', delimiter=';')\n", + "print(f\"Saved summary of parameter constraints for harmonic space in summary_parameter_constraints_harmonic_space_{chain_version}.txt\")\n", + "print(f\"Saved summary of parameter constraints for configuration space in summary_parameter_constraints_configuration_space_{chain_version}.txt\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1fdccd58", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "\n", + "output_df_harm = pd.read_csv(\n", + " f\"summary_parameter_constraints_harmonic_space_{chain_version}.txt\",\n", + " delimiter=';',\n", + " skiprows=1,\n", + " names=output_mocks_harm[0]\n", + ")\n", + "\n", + "output_df_config = pd.read_csv(\n", + " f\"summary_parameter_constraints_configuration_space_{chain_version}.txt\",\n", + " delimiter=';',\n", + " skiprows=1,\n", + " names=output_mocks_config[0]\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c8c31d9e", + "metadata": {}, + "outputs": [], + "source": [ + "# Define the true value of the parameters\n", + "from astropy.cosmology import Planck18 as planck\n", + "\n", + "Omega_m_fid = planck.Om0\n", + "sigma_8_fid = 0.8102\n", + "s8_fid = sigma_8_fid * (Omega_m_fid / 0.3)**0.5\n", + "h = planck.h\n", + "Omega_b_fig = planck.Ob0\n", + "n_s_fid = 0.9665\n", + "print(f\"Fiducial values: Omega_m = {Omega_m_fid}, sigma_8 = {sigma_8_fid}, S_8 = {s8_fid}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e36dbc91", + "metadata": {}, + "outputs": [], + "source": [ + "sns.histplot(\n", + " output_df_harm[\"S8_mean\"]-output_df_config[\"S8_mean\"],\n", + " kde=True,\n", + " bins=30,\n", + " label=\"Mean\"\n", + ")\n", + "# sns.histplot(\n", + "# output_df_harm[\"S8_MAP\"]-output_df_config[\"S8_MAP\"],\n", + "# kde=True,\n", + "# bins=20,\n", + "# label=\"MAP\",\n", + "# )\n", + "sns.histplot(\n", + " output_df_harm[\"S8_MAP_2D\"]-output_df_config[\"S8_MAP_2D\"],\n", + " kde=True,\n", + " bins=30,\n", + " label=\"2D Mode\",\n", + " alpha=0.5\n", + ")\n", + "plt.axvline(0, color=\"black\", linestyle=\"--\")\n", + "plt.legend(fontsize=12)\n", + "\n", + "plt.xlabel(r\"$\\Delta S_8$\")\n", + "plt.savefig(\"/n23data1/n06data/lgoh/scratch/UNIONS/cosmo_inference/notebooks/Plots/S8_comparison_harmonic_vs_configuration.pdf\", bbox_inches='tight')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d945adc3", + "metadata": {}, + "outputs": [], + "source": [ + "output_df_config[\"S8_MAP_2D\"].shape\n", + "output_df_harm[\"S8_MAP_2D\"].shape" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "41062616", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "# Create JointGrid\n", + "g = sns.JointGrid(x=output_df_config['OMEGA_M_MAP_2D'], y=output_df_config['S8_MAP_2D'], height=7, ratio=5, space=0)\n", + "\n", + "# Main 2D histogram\n", + "sns.histplot(\n", + " x=output_df_config['OMEGA_M_MAP_2D'],\n", + " y=output_df_config['S8_MAP_2D'],\n", + " bins=25,\n", + " cmap=\"Greens\",\n", + " cbar=False,\n", + " ax=g.ax_joint\n", + ")\n", + "\n", + "# Marginal histograms\n", + "sns.histplot(x=output_df_config['OMEGA_M_MAP_2D'], bins=25, color=\"#2ca25f\", ax=g.ax_marg_x)\n", + "sns.histplot(y=output_df_config['S8_MAP_2D'], bins=25, color=\"#2ca25f\", ax=g.ax_marg_y)\n", + "\n", + "# Add dashed reference lines\n", + "g.ax_joint.axvline(Omega_m_fid, color='k', linestyle='--')\n", + "g.ax_joint.axhline(s8_fid, color='k', linestyle='--')\n", + "\n", + "# Labels\n", + "g.set_axis_labels(\n", + " r'$\\Omega_m$ estimated from mocks (Configuration space)',\n", + " r'$S_8$ estimated from mocks (Configuration space)'\n", + ")\n", + "\n", + "# Optional styling tweaks\n", + "g.ax_joint.tick_params(labelsize=12)\n", + "plt.savefig(\"/n23data1/n06data/lgoh/scratch/UNIONS/cosmo_inference/notebooks/Plots/S8_vs_OmegaM_configuration_space_mocks.pdf\", bbox_inches='tight')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2cc18e1f", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9f530e3c", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "-all", + "main_language": "python", + "notebook_metadata_filter": "-all" + }, + "kernelspec": { + "display_name": "my_env", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}