Skip to content

Instantly share code, notes, and snippets.

@jbwhit
Created July 18, 2014 04:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jbwhit/effabf41318c61f69dcd to your computer and use it in GitHub Desktop.
Save jbwhit/effabf41318c61f69dcd to your computer and use it in GitHub Desktop.
Example of reproducible scientific research.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "",
"signature": "sha256:aba91820b7f8113f7c1f2200f1ae13a278e8b66d08cb22a14c80e3f9569a65de"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# The Kinematics of the Local Group in a Cosmological Context"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This notebook containts all data analysis for the ApJ Letter *The Kinematics of the Local Group in a Cosmological Context*\n",
"by Jaime E. Forero-Romero, Yehuda Hoffman, Sebastian Bustamante, Stefan Gottloeber and Gustavo Yepes.\n",
"\n",
"Follow through the notebook to generate the figures and numbers used in the paper . You can also generate results that were mentioned but not explicitly reported. For instance, the results for pairs obtained for a Friend-of-Friends halo finder. \n",
"\n",
"ar$\\chi$iv: 1303.2690v1\n",
"\n",
"See paper here: [The kinematics of the Local Group in a cosmological context - ArXiv link](http://arxiv.org/abs/1303.2690)\n",
"\n",
"And github repo here: [Kinematics github](https://github.com/forero/LG_Kinematics). \n",
"\n",
"The following has been modified to highlight the possibilities of analysis for the Harley Wood Winter School talk on 2014-07-19 by Jonathan Whitmore."
]
},
{
"cell_type": "code",
"collapsed": true,
"input": [
"%pylab inline\n",
"%load_ext autoreload\n",
"%autoreload 2\n",
"from make2DHistogram import *\n",
"from generateInfo import *"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Populating the interactive namespace from numpy and matplotlib\n"
]
}
],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Global paths and constants\n",
"data_path = \"../LG_Kinematics/data/\"\n",
"\n",
"G_GRAV = 4.54E-48 #units of Mpc^3 Msun^-1 s^-2\n",
"KM_TO_MPC = 3.2E-20\n",
"# HUBBLE = 0.70 # Original March 13, 2013\n",
"# Planck 2013 http://arxiv.org/abs/1303.5076 20 Mar 2013\n",
"# H0=67.3+/-1.2 km/s/Mpc\n",
"HUBBLE = 0.673\n",
"E_UNITS = 1.0E-36\n",
"L_UNITS = 1.0"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here one can select between two halo finders: \"BDM\" or \"FOF\".\n",
"\n",
"The boolean narrow_data is True if we want to produced plots with a narrower selection for distances and total mass closer to the observations. narrow_data = False corresponds to the *full* sample and narrow_data = True corresponds to the *reduced* sample.\n"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"halo_finder=\"BDM\" \n",
"narrow_data = False"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## MonteCarlo for the observed values\n",
"\n",
"Here we generate one million points from the observational constraints for the LG (separation, velocities, distances)"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# The reference is van der Marel et al. ApJ,753:8\n",
"V_M31 = array([66.1,-76.3,45.1]) #km/s\n",
"V_M31_sigma = array([26.7, 19.0, 26.5])\n",
"\n",
"R_M31 = array([-378.9,612.7,-283.1]) # kpc\n",
"R_M31_sigma = abs(R_M31/20.0) #This is an approximated value, not the actual observational uncertainty\n",
"\n",
"print R_M31_sigma, sqrt(sum(R_M31*R_M31))\n",
"\n",
"R_M31 = R_M31 / 1000.0 # in Mpc\n",
"R_M31_sigma = R_M31_sigma /1000.0\n",
"\n",
"M31_Mass = 1.6E12\n",
"M31_Mass_sigma = 0.5E12\n",
"MW_Mass = 1.6E12\n",
"MW_Mass_sigma = 0.5E12\n",
"\n",
"Mass_Total = 3.14E12 # in units of Msun\n",
"Mass_Total_sigma = 0.58E12"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"[ 18.945 30.635 14.155] 774.023326522\n"
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#generate the velocities, positions and masses\n",
"n_points = 1000000\n",
"V_M31_MonteCarlo = zeros((n_points,3))\n",
"R_M31_MonteCarlo = zeros((n_points,3))\n",
"\n",
"M31_Mass_MonteCarlo = (random.normal(M31_Mass,M31_Mass_sigma, n_points))\n",
"MW_Mass_MonteCarlo = (random.normal(MW_Mass,MW_Mass_sigma, n_points))\n",
"\n",
"negative_M31 = where(M31_Mass_MonteCarlo < 0.0)\n",
"negative_MW = where(MW_Mass_MonteCarlo < 0.0)\n",
"\n",
"Total_Mass_MonteCarlo = M31_Mass_MonteCarlo + MW_Mass_MonteCarlo\n",
"Reduced_Mass_MonteCarlo = (M31_Mass_MonteCarlo * MW_Mass_MonteCarlo)/Total_Mass_MonteCarlo\n",
"\n",
"for i in range(3):\n",
" V_M31_MonteCarlo[:,i] = random.normal(V_M31[i],V_M31_sigma[i],n_points)\n",
" R_M31_MonteCarlo[:,i] = random.normal(R_M31[i],R_M31_sigma[i],n_points)\n",
"\n",
"#don't use the items with negative values of the mass\n",
"positive = where((M31_Mass_MonteCarlo > 0.0) & (MW_Mass_MonteCarlo > 0.0))[0]\n",
"\n",
"V_M31_MonteCarlo = V_M31_MonteCarlo[positive,:]\n",
"R_M31_MonteCarlo = R_M31_MonteCarlo[positive,:]\n",
"M31_Mass_MonteCarlo = M31_Mass_MonteCarlo[positive]\n",
"MW_Mass_MonteCarlo = MW_Mass_MonteCarlo[positive]\n",
"\n",
"Total_Mass_MonteCarlo = M31_Mass_MonteCarlo + MW_Mass_MonteCarlo\n",
"Reduced_Mass_MonteCarlo = (M31_Mass_MonteCarlo * MW_Mass_MonteCarlo)/Total_Mass_MonteCarlo\n",
" "
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Compute the angular momentum, energy and lambda\n",
"\n",
"# array of angular momentum (vector) and the norm\n",
"J = cross(R_M31_MonteCarlo, V_M31_MonteCarlo) \n",
"J_norm = sqrt(J[:,0]**2 + J[:,1]**2 + J[:,2]**2) \n",
"\n",
"# Mechanical energy\n",
"R_M31_MonteCarlo_norm = sqrt(R_M31_MonteCarlo[:,0]**2 + R_M31_MonteCarlo[:,1]**2 + R_M31_MonteCarlo[:,2]**2)\n",
"E_kin = 0.5*(V_M31_MonteCarlo[:,0]**2 + V_M31_MonteCarlo[:,1]**2 + V_M31_MonteCarlo[:,2]**2)\n",
"E_kin = E_kin * KM_TO_MPC * KM_TO_MPC\n",
"E_pot = -G_GRAV * Total_Mass_MonteCarlo / R_M31_MonteCarlo_norm\n",
"\n",
"E_kin = E_kin/E_UNITS\n",
"E_pot = E_pot/E_UNITS\n",
"E = E_kin + E_pot \n",
"\n",
"# Lambda\n",
"lambda_obs = (Reduced_Mass_MonteCarlo**1.5) * (J_norm * L_UNITS * KM_TO_MPC)* sqrt(abs(E * E_UNITS)) / (G_GRAV * (Total_Mass_MonteCarlo)**(5.0/2.0))\n"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Total mass histogram\n",
"n, bins, patches = hist(Total_Mass_MonteCarlo, 20, normed=0, color = 'silver')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\nJEmS1F7+PyM4Gk6AYHMrAAAAAElFTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0x108929bd0>"
]
}
],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# M31 mass histogram\n",
"n, bins, patches = hist(M31_Mass_MonteCarlo, 20, normed=0, color = 'silver')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x108e18510>"
]
}
],
"prompt_number": 8
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#surface density plots in the E-J space. This defines the 1-sigma surface\n",
"H, xedges,yedges = histogram2d(J_norm,E, bins=(30,38))\n",
"X,Y=meshgrid(yedges[0:-1],xedges[0:-1])\n",
"th=4000 # 4000, corresponds to 1-sigma, 200 to 3-sigma\n",
"print 'This is the fraction of points included inside the contour:',sum(H[where(H>th)])/sum(H) \n",
"levels=array([th])\n",
"C=contour(X,Y,H, levels, colors='k', linewidths=2)\n",
"ax = axes()\n",
"ax.set_xlabel(\"Energy\")\n",
"ax.set_ylabel(\"Angular Momentum\")"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"This is the fraction of points included inside the contour: 0.718192396819\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 9,
"text": [
"<matplotlib.text.Text at 0x10893a7d0>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x1084ecf10>"
]
}
],
"prompt_number": 9
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# N-body data\n",
"The next four cells put into a single file the data from the pairs (their IDs) and the halo catalogs. This is done for Bolshoi and the three constrained simulation"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Generate the pair data for Bolshoi\n",
"FOF_file=data_path+\"Bolshoi_catalog_\"+halo_finder+\".dat\"\n",
"ID_file=data_path+\"IsoPairs_Bolshoi_\"+halo_finder+\"_ID.dat\"\n",
"output_file=data_path+\"pair_physical_vweb_Bolshoi\"+halo_finder+\".dat\"\n",
"generate_info(FOF_file, ID_file, output_file=output_file, hubble=HUBBLE)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"1924\n",
"selected in total"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
" 1823\n"
]
}
],
"prompt_number": 10
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Generate the pair data for CLUES 1\n",
"FOF_file=data_path+\"IC2710_halos_catalog.dat\"\n",
"ID_file=data_path+\"index_LG_IC2710\"\n",
"output_file=data_path+\"pair_physical_vweb_IC2710.dat\"\n",
"generate_info(FOF_file, ID_file, output_file=output_file, hubble=0.73)\n",
"# generate_info(FOF_file, ID_file, output_file=output_file, hubble=HUBBLE)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"1\n",
"selected in total 1\n"
]
}
],
"prompt_number": 11
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Generate the pair data for CLUES 2\n",
"FOF_file=data_path+\"IC16953_halos_catalog.dat\"\n",
"ID_file=data_path+\"index_LG_IC16953\"\n",
"output_file=data_path+\"pair_physical_vweb_IC16953.dat\"\n",
"generate_info(FOF_file, ID_file, output_file=output_file, hubble=0.73)\n",
"# generate_info(FOF_file, ID_file, output_file=output_file, hubble=HUBBLE)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"1\n",
"selected in total 1\n"
]
}
],
"prompt_number": 12
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Generate the pair data for CLUES 3\n",
"FOF_file=data_path+\"IC10909_halos_catalog.dat\"\n",
"ID_file=data_path+\"index_LG_IC10909\"\n",
"output_file=data_path+\"pair_physical_vweb_IC10909.dat\"\n",
"generate_info(FOF_file, ID_file, output_file=output_file, hubble=0.73)\n",
"# generate_info(FOF_file, ID_file, output_file=output_file, hubble=HUBBLE)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"1\n",
"selected in total 1\n"
]
}
],
"prompt_number": 13
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"After saving all the data into a single file, that file is reloaded to keep in memory the data we care about (radial velocities, tangential velocities, separations, total_mass, angular momentum, energy, lambda). This is for Bolshoi."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#load the data from Bolshoi and make selections on distances and mass\n",
"bolshoi_file=data_path+\"pair_physical_vweb_Bolshoi\"+halo_finder+\".dat\"\n",
"physical_prop=np.loadtxt(bolshoi_file) \n",
"\n",
"#define the main quantities we will use later to prepare the plots\n",
"radial_vel = physical_prop[:,0]\n",
"tangential_vel = physical_prop[:,1]\n",
"distance = physical_prop[:,8]\n",
"total_mass = physical_prop[:,9]/ 1E12\n",
"\n",
"energy = physical_prop[:,5] + physical_prop[:,6] \n",
"angular_momentum = physical_prop[:,7] \n",
"\n",
"mu = physical_prop[:,10]\n",
"\n",
"lambda_orbit = mu**1.5 * (angular_momentum * L_UNITS * KM_TO_MPC)* sqrt(abs(energy * E_UNITS)) / (G_GRAV * (total_mass *1E12 )**(5.0/2.0))\n",
"\n",
"if(narrow_data):\n",
" index_good_mass = where((total_mass>1.0) & (total_mass<4.0) & (distance>0.70) & (distance<0.80))\n",
" index_good_mass = index_good_mass[0]\n",
" physical_prop = physical_prop[index_good_mass,:]\n",
"\n",
" radial_vel = physical_prop[:,0]\n",
" tangential_vel = physical_prop[:,1]\n",
" distance = physical_prop[:,8]\n",
" total_mass = physical_prop[:,9]/1E12\n",
"\n",
" energy = physical_prop[:,5] + physical_prop[:,6] \n",
" angular_momentum = physical_prop[:,7] \n",
"\n",
" mu = physical_prop[:,10]\n",
"\n",
" lambda_orbit = mu**1.5 * (angular_momentum * L_UNITS * KM_TO_MPC)* sqrt(abs(energy * E_UNITS)) / (G_GRAV * (total_mass *1E12 )**(5.0/2.0))\n"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 14
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Figure with the separation distribution\n",
"fig = figure(1, figsize=(9.5,6.5))\n",
"ax = axes()\n",
"ax.set_xlabel(\"$\\mathrm{Pair\\ Separation\\ [Mpc]}$\",fontsize=25)\n",
"ax.set_ylabel(\"$\\mathrm{N_{pairs}}$\",fontsize=25)\n",
"ticklabels_x = ax.get_xticklabels()\n",
"ticklabels_y = ax.get_yticklabels()\n",
"\n",
"for label_x in ticklabels_x:\n",
" label_x.set_fontsize(18)\n",
" label_x.set_family('serif')\n",
"for label_y in ticklabels_y:\n",
" label_y.set_fontsize(18)\n",
" label_y.set_family('serif')\n",
"n, bins, patches = ax.hist(distance, 20, normed=0, color = 'silver')\n",
"ax.set_xlim([0.4,1.0])\n",
"filename='separation_'+halo_finder\n",
"# if(narrow_data):\n",
"# filename=filename+'_narrow'\n",
"# savefig(filename + '.eps',format = 'eps', transparent=True)\n",
"# savefig(filename + '.pdf',format = 'pdf', transparent=True)\n",
"# savefig(filename + '.png',format = 'png', transparent=True)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n9v9F9AAAAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x108e196d0>"
]
}
],
"prompt_number": 15
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Figure with the total mass distribution\n",
"print amin(total_mass), amax(total_mass)\n",
"\n",
"fig = figure(1, figsize=(9.5,6.5))\n",
"ax = axes()\n",
"ax.set_xlabel(\"$\\mathrm{Total\\ Mass\\ [10^{12}\\ M_{\\odot}]}$\",fontsize=25)\n",
"ax.set_ylabel(\"$\\mathrm{N_{pairs}}$\",fontsize=25)\n",
"ticklabels_x = ax.get_xticklabels()\n",
"ticklabels_y = ax.get_yticklabels()\n",
"\n",
"for label_x in ticklabels_x:\n",
" label_x.set_fontsize(18)\n",
" label_x.set_family('serif')\n",
"for label_y in ticklabels_y:\n",
" label_y.set_fontsize(18)\n",
" label_y.set_family('serif')\n",
"\n",
"ax.set_xlim([1.0,12.0])\n",
"n, bins, patches = ax.hist(total_mass, 20, normed=0, color = 'silver')\n",
"\n",
"filename='total_mass_'+halo_finder\n",
"if(narrow_data):\n",
" filename=filename+'_narrow'\n",
"savefig(filename + '.eps',format = 'eps', transparent=True)\n",
"savefig(filename + '.pdf',format = 'pdf', transparent=True)\n",
"savefig(filename + '.png',format = 'png', transparent=True)\n"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"1.50099554235 13.844576523\n"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n/ziFa6MghQAAAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x108e3a3d0>"
]
}
],
"prompt_number": 16
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#observational data\n",
"mean_point = [-110.0, 0.0]\n",
"sigma_point = [4.4, 34.3]\n",
"delta_radial = 4.5\n",
"delta_tangential = 17.5\n",
"\n",
"#load the data from the CLUES pairs\n",
"n_clues = 3\n",
"clues1=data_path+\"pair_physical_vweb_IC10909.dat\"\n",
"clues2=data_path+\"pair_physical_vweb_IC16953.dat\"\n",
"clues3=data_path+\"pair_physical_vweb_IC2710.dat\"\n",
"clues=chararray([n_clues], itemsize=1024)\n",
"clues[0]=clues1;clues[1]=clues2; clues[2]=clues3\n",
"clues_data = np.zeros([n_clues,4])\n",
"if(narrow_data):\n",
" n_clues = 1\n",
"for i in range(n_clues):\n",
" tmp_dat = np.loadtxt(clues[i])\n",
" clues_data[i,0] = tmp_dat[0]# radial \n",
" clues_data[i,1] = tmp_dat[1]# tangential\n",
" clues_data[i,2] = tmp_dat[8]# separation\n",
" clues_data[i,3] = tmp_dat[9]/1E12 #total mass\n",
" \n",
"filename='test_rt_'+halo_finder\n",
"\n",
"if(narrow_data):\n",
" filename=filename+'_narrow'\n",
"\n",
"n=MakeSimple2DPlot(radial_vel,tangential_vel,filename=filename, \n",
" clues=clues_data,clues_label='$\\mathrm{Constrained\\ Sim.}$',\n",
" contours=0,xlims=[-240.0,0.0], ylims=[0.0,240.0],\n",
" nbins=13,nxbins=13,nybins=13,bw=1, \n",
" xlabel='$\\mathrm{Radial\\ Velocity\\ [km\\ s^{-1}]}$', \n",
" ylabel='$\\mathrm{Tangential\\ Velocity\\ [km\\ s^{-1}]}$', \n",
" mean_obs=mean_point, sigma_obs=sigma_point)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAApwAAAJgCAYAAAAnG7PHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl4VOX9v/E7hBBAlEWRxQWoC6IIbgUUURQVN6xKVbS1\nahGXX8WtWLV1/2q1arVudUWxpSLuWLWKS1UEQaTKpoALoCCbyg4hLPn9cSbjJJmQATJzZs7cr+vK\nNTPnPDPzmSTEt895FpAkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkScoKBWEXoNpx4IEHln344Ydh\nlyFJUtp17NiRKVOmmGFyiD+s6CibP39+2DVU0KRJk7BLqGLQoEEMHDgw7DIqaNy4cdglJFVSUlIr\nr3P33Xdz2WWX1cprZePvVG19n2rT3XffzdVXXx12GXnj1ltvrdXv94IFC2rttWpLixYtwi6hgtjf\nAjNMDqkTdgGSJEmKNgOnJEmS0srAqbzSpUuXsEvIO926dQu7hLxz8MEHh11CXvH7LdXM8Q/R4RjO\nFMyePTvsEqqI+hjO2pSNv1PZ+H2qX79+2CVoCziGs2aO4cw99nBKkiQprQyckiRJSisDpyRJktLK\nwClJkqS0qht2AZKUjdq1a8fixYvDLkPKK02bNmXmzJlhl6E0MHBKUhKLFy+mrKws7DKkvFJQ4MTz\nqPKSuiRJktLKwClJkqS0MnBKkiQprQyckiRJSisDpyRJktLKwClJkqS0MnBKkiQprQyckhSimTNn\n8s477zBy5EgmTZqU1Wt/lpaWct9993HaaafRrVs3+vbty7nnnsvo0aMBePTRRxk6dGjIVabf+PHj\n2WGHHbj77rsz+r4nnXQS++23H23atEmp/cKFC/nd735Hv3796NWrFyeccAKfffYZ7733Hn/+85/j\n7cL6PMovLvwuSRm2fv16XnzxRR588EGmTJlChw4dqFu3LjNnzqS4uJj/9//+H2eddRZbb7112KXG\nTZ48mTPPPJPGjRvz2GOPsdtuuwHBZ7nzzjt59dVXuffee/n73/8eap0LFixg2rRpHHrooWl7j3nz\n5jF//nzmzp2btvdIZvjw4Vx66aU8/PDDNbadP38+xx57LLfffjtHHHEEAOPGjeMvf/kLb7/9Nued\nd168bVifR/nFHk5JyqAVK1bQp08fbr/9dgYMGMC3337Lu+++y1tvvcWXX37Jgw8+yLvvvsv+++/P\nl19+GXa5AEybNo0uXbqw11578c4778TDJkBhYSFXXnklRUVFrFq1KsQqA6+88grvvvtuWt/jhBNO\nYN68edx5551pfZ/K6tWrR5cuXVLqBb/vvvvYbbfd4mEToGvXrjz++OM0a9asQtuwPo/yi4FTkjJk\n7dq1nHzyybRo0YLRo0fTr18/6tWrFz9fUFDAoYceynPPPcdll11Gr169+O6770KsGDZs2MA555xD\nnTp1uOuuuygsLEza7o9//CPbbbddhqur6q233srI9ojbb7992t9jS7z11lsUFRVVOV5YWMjAgQOr\nhNZs/zzKfQZOScqQRx55hA0bNvDoo48mDQOJLrzwQs4880wGDRqUoeqSGz58OOPGjeM3v/kNLVq0\nqLZdcXExp556amhjUJcvX84jjzzCs88+m9YaSktLmT59Oh988AETJ05M2/tsqU6dOjFixIikveQ9\nevSI//7lyudR7nMMpyRlQFlZGX//+9954IEHqFs3tT+9gwYNol27dixYsGCjYS+dxowZA8Dee+9d\nY9ujjz6a+vXrxx9/9tln3H333TRr1oxtttmGkpIS+vfvT9u2bQF48cUXufbaa1mwYAGXXHIJPXv2\n5Omnn2bFihXUqVOHSy+9lE6dOsVf79133+Xf//43zZo1Y9myZZSWlrJu3Truu+8+HnroId5//302\nbNjAU089xccffwzATTfdxL777ssLL7zAddddx7x587jttttYsWIF48ePp6SkhOeffz7eK3rvvfey\ncOFC1qxZw5w5czj99NM54YQT4jXMmDGDCy+8kNGjR3PWWWfxxBNPxF871c8BQQ/k0KFDadSoEd9/\n/z0777wzN910U4Xv3xdffMEDDzzAsmXL2HnnnSkoKKBp06Yp/dzOOOMMBg8eTKdOnbjooos46qij\nOOigg2jYsCF77LEHf/zjH6v9PBv72SxdupSlS5dyyy230KFDB2644QZWrlzJhAkT6NSpE3/7299S\n/v1Wfkn/dQdlStn8+fPDrqGCJk2ahF1CFbNnzw67hCoaN24cdglJlZSUhF1CFZn8nWrSpEmt9pR9\n8MEHnHfeeUydOnWTLvkOGDCAXXbZhauuuqrWatkUBx10EGPHjuXll1/m+OOPT/l5b775JhdffDEj\nR45kp512AoKxoKeddhr/+c9/aN26NQA//PADO+ywAyeddBJdunTh4osvprCwkN/+9rcsWrSIf//7\n3wAsWrSInj17MmnSpPhl/TvvvJOpU6fGQxJAnTp1uOGGG7juuuuq1FT+Xr179+bSSy9l9uzZ9O/f\nn6+++oq2bdsyYsQILrjgAiZNmkTz5s2ZP38+nTt35q9//Su//vWvK7zW7rvvzsEHH8zjjz++SZ8D\ngrB58cUX88Ybb8S/NyeddBJbbbVVfJb/l19+Sc+ePXnggQf4xS9+AQTjf4844gjGjx/P+vXra/wZ\nPPzww1x11VUsXboUCC6nH3fccdxyyy3stddeG/08NX2mqVOn0qdPH0488UQ6duxIaWkpTZs25dpr\nr92i39WCggKWLFlSY7vY3wIzTA7xkrokZcCUKVPo0aPHJo8v7NGjB1OnTk1TVemxcuVKBgwYwFln\nnRUPVAB77LEH3bp145RTTokf23bbbWnZsiWvvPIKF154YTxM7rPPPrz55pusXLkSCGZYL1u2rMLE\npDPOOGOTZvKXv9fChQs57LDDOPvss5kzZ068x3XlypW0atUqPq62ZcuW9OzZk0cffbTKa+2www5J\nX7umz7Fq1Sr69u1Lv379KnxvBg4cyFNPPcXixYsB6Nu3Lx07doyHTYBGjRrRr1+/lP9H6Pzzz+ez\nzz7jhhtuoFevXjRs2JCXX36ZQw45hGnTpm3089T0mcaPH09paSkdO3YEgglNHTp0YNy4cSnVpvxj\nv7ckZUBJSUmFy6Wpql+/PqtXr05DRak54IADGDt2LN9++22NbdeuXcu6det47733+Oabb5Jehu/Q\noQOPPfYY33//fYVJRkceeWSF788222xDaWkpP/zwA1tttRXdu3entLSUnXbaiRNOOIEuXbrQr18/\n7r333k36PAUFBey7777xx61atYrfP+OMMzjjjDMYO3YsI0eOZNWqVcyYMSPeQ5iKmj7Hhx9+yPLl\ny/nqq6+48cYb4+1Wr15Nz549WbJkCStXrmTy5MmcfPLJm/TZkmnVqlW8t3fNmjXccccdXHfddVx/\n/fUMHz58sz8TBKE4UaNGjTbpe6X8YuCUpAxo1qxZfDzkppg/f36VZWwy6aCDDuL+++9n8uTJNbZ9\n7rnn2G677Zg+fTpA0oBdr149ysrKGDduHMcddxwQhMCahks0bdqUcePGcdttt/Haa68xdOhQ/vCH\nP/Dss8/GXydV1Y2HnTZtGgMHDqSoqIgHHniAdu3aMX/+fN57772UXjeVzzFlyhQgGO96+umnJ20z\nYsQIAHbccceU3jeZfv368fTTT1c4VlxczDXXXMP//ve/lJeO2thnSnU8qQReUpekjDj66KN58803\nUxqflmjo0KEVLqtm2mmnncaBBx7Ik08+yYIFCzbadsyYMXTp0oXOnTsDwbjLysoDV+UxhDX5+OOP\nWbt2LQ899BDffPMNX331Fccccwz9+/ff6PMuvfTSKseqG9YwaNAgvv/+e1577TXatWtXpf0XX3yx\nSTUnc8ABBwAwduzYKufKL5WXTzDaknHUkyZNYsOGDUnPHXrooVm1qYDyg4FTkjJg++2359hjj2XI\nkCEpP2f8+PEsWrSIo48+On2F1aCgoIDHH3+csrIyBg0aVO1klcmTJ9OgQQMaN25M9+7d2Xrrrfnk\nk0+qtPv000/Zfffd4+MmUzVlyhRuv/32+ON27doxZMgQli1bxvLly+PHt9tuu/g4z+XLl7Nu3bqU\nXn/WrFn85z//qTC+FOCrr76K30/cDnJzde3alW233TbpWMe77rqLRYsW0a5dO3bfffekbdauXZvS\n+6xevZq77ror6bmpU6dy+OGHb1rhm+nbb7/NygmIyjwDpyRlyO9//3tuvfXWlCYBLV26lHPPPZcr\nr7yy2sXWM6V9+/aMGzeOKVOmcPjhhzNjxowK519++WVuu+02br75ZiC4dDtixAiefPJJZs6cGW83\nadIk5s2bx4svvhg/tm7dOlatWlUhNALxx8uWLYsf+9e//sXXX38df/zpp5/SqVOnCr11p512GhMm\nTABg9OjRdOvWrcp7lU/MSdSqVSuaNGkSX06p/Plbb711fFxicXFx/NzSpUsr1Jzq56hbty6vvvoq\nM2bMYOTIkRW+N1tvvTXNmzcH4IUXXuDtt9/mgw8+iLf5+uuveeCBBwCq/AwqKysr4x//+Ae33357\nhZD61ltvMWrUqArjR5N9nk35TInHE9tOmDCBtm3bctJJJ220VuUHlxSIDpdFSoHLIqUuG3slcnlZ\npHLDhg3j8ssv56mnnuKwww5L2ubrr7/ml7/8JQcffDD33HNPRnbOSUX5Je3333+fuXPn0rJlS4qK\niujduze//e1vq7T/+OOPefTRR1m/fj3NmjWjqKiIc845h1133RUIxir+6U9/4vPPPwege/fuPPPM\nM/Elg1asWEHr1q3p378/u+22G3PmzKGwsJBFixaxbNkyysrKuPbaayvMsJ4zZw633XYb8+bNY/vt\n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\nDz/8kLlz5wJQXFzMfvvtxyGHHELbtm1dLUCqJfZwSlIGrVmzhsWLFwNQUFBAixYt4ufq1KlDy5Yt\n44/nz5+f8fryxdSpU7nmmmtYv349Q4cOZfXq1axdu5avvvqKPn368M9//pP7778/PvRB0pYxcEpS\nBiVOBtp2223jE4XKJQZQJw6lx6RJk5g4cSJjx47l2WefpUePHhQVFVFQUEDLli35wx/+wMyZMzn0\n0EO55557WL16ddglSznPwClJGfT999/H7zdv3rzK+cRjiW1VOxYuXMjHH3/Me++9x5577lltu8LC\nQu655x6OOOIIhg8fnsEKpWgycEpSBv3www/x+9ttt12V802aNIlPIlq1apW9a7VsypQpXH755ey6\n6641ti0oKOCOO+5g8uTJLFmyJAPVSdFl4JSkDCkrK+PHH3+MP952222rtKlTpw7NmjWLP05sry1T\nUlLCjBkzGDBgQMrPady4MaeccgoffPBBGiuTos/AKUkZsnr1atasWQNA3bp1adSoUdJ2iTPTyycY\nacvNnz+fvfbai+23336TnnfKKae4Lqq0hQyckpQhiZdlmzZtWu2SO02aNInfX7p0adrryhelpaWb\ntcxUkyZNHNogbSHX4ZSUldatW8ecOXOYM2cOTZo0oW3bttSvX7/G55WVlVFSUkJhYSH16tXLQKWp\nSwyPjRs3rrZdYuB07GDtKSoqqjCGNlXLli1L6XdPUvUMnJKyyqJFi3j++edZuXIlu+66Kz/72c9Y\ntGgRY8aMYfny5Rx11FH8/Oc/r/K8qVOnMnToUFatWkVZWRm/+tWv6Nq1awifoHrLli2L399Y4Nxm\nm20qPKesrMwFyGtBixYteOONN/jxxx8rjJOtyYgRI9h5553TWJkUfV5Sl5Q1Jk2axD333EPjxo25\n7LLL+MUvfsHee+/NYYcdxnnnnUefPn0YNmwYw4cPr7IN4V577cV1111Hp06dQqq+ZomBc+utt662\nXf369ePrc65bt87LubWkYcOG7LLLLjz++OMpP2flypUMHTqUHj16pLEyKfoMnJKywtixYxk6dCid\nO3fm9NNPp06dqn+eOnXqxIUXXsjo0aN54IEHqpxv0KABHTp0yES5m2X58uXx+4m9mJUVFBRUOJ/4\nPG2Zjh07cvvtt1fYz35jrr/+etq3b590RYGwrV69mnnz5jFnzhyHXijreUldUuhWrlzJa6+9RoMG\n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\nHj160KtXL7p3786iRYt46623+PTTT+nfv398rGUyBQUFHHfccfTv359Ro0Zx8803s2zZMurVq8cB\nB4iHF1AAACAASURBVBxA//792X777ePti4qK/n97dx4nR10mfvwzIYEkTAjhUhPAEQkoNyyIwk8S\nESK4EcIN64oIoq4Q8BaVXRAVRJRLRFCWQwVEXUAgQUUNlwgCBoUYXK6wgXApMRJIIGTy++OpZmpq\nqqe7Z7r6mPm8X6959cy3qrqffLvS9fT3KnbeeWdmzpzJBRdcwHnnnceIESMYM2YMxx13XJ8xmu99\n73t59tlna+qqHGjCmd7XhFMHH3wwnZ2d7L333my77bYce+yx7LjjjowaNYqFCxdy8cUXc+WVVzJ9\n+nROOumklrxjkoavjmYHoLpZ9fTTTzc7hl5acdJQK8bUau9bSbPr6qGHHmL+/PksXLiQCRMmsMkm\nmzBu3LiWu4hWM3P86quv5stf/jIA++67L6ecckpVz/2HP/yBo48+GoAddtiBSy65pKrjnDRUnXaZ\nNJS1fPlybrzxRq666ioWLFjAihUrWHfdddl777057LDD+rTe10OrTRqaMmUKmMO0ldb65JakxOTJ\nk5k8eXKvsmrGr7WiJUuWvPb7+PHjqz7OLnXlGT16NPvttx/77bdfs0ORquYYTkkq2EATzrXWWuu1\n30vrcUpSOzLhlKSClRaph95JZCUmnJKGChNOSSpYOlkcN25c1ceNGTPmtTGry5cv5+WXX657bJLU\nCCacklSwpUuXvvZ7LQlnR0dHr/3TzyNJ7cSEU5IKlk4UOzs7azp2zTXXzH0eSWonJpySVLB0ophO\nIKuRTlBffPHFusUkSY1kwilJBSvd7QgGl3A6cUhSuzLhlKSCpVsma0040/fCXrZsWd1ikqRGMuGU\npAKtWrWqVwvn2LFjazo+vb8Jp6R2ZcIpSQVasWIFK1euBGDkyJGMGjWqpuPTCWc6cZWkdmLCKUkF\nSrdKprvHq2WXuqShwIRTkgq0fPny134fPXp0zcenj3Hhd0ntamSzA5CkoWywLZxrrLFG7nNJreC5\n557jscceY/ny5YwbN44tttii1zkrlZhwSlKB0q2SA7kQp5PUdGup1Ez33nsv1113HXPnzmX77bdn\n7NixPPvsszzyyCNMmzaNGTNmMHHixGaHqRZil7okFWiwCWf6GLvU1Wzd3d2cd955nHvuuRxyyCE8\n8cQTzJkzh1mzZnH33Xdzzz33sNFGG3HMMcdwxx13NDtctRBbOCWpQINNOFdfffXXfn/llVfqEpM0\nUBdccAELFy5k7ty5rL322n22b7LJJpxxxhkceOCBTJ8+ndGjR7PDDjs0IVK1Gls4JalA6SSx1iWR\nwIRTrWP+/PncfvvtzJ49OzfZTNt555254oor+MY3vvHasmAa3kw4JalAK1aseO33dPJYrfQxdqmr\nma6//npmzpzJhAkTqtp/zz33ZNKkSdx5550FR6Z2YMIpSQUabMKZbhVNP5fUSEuXLuW2227jqKOO\nqum4Y489ltmzZxcUldqJCackFWiwXerpY1599dW6xCTV6qmnnmLDDTdkvfXWq+m4XXbZhccff7yg\nqNROTDglqUDpJHHkyNrnaaaPMeFUs6xYsWJALfSjR4927LEAE05JKlR6wsRgE0671NUs48eP55ln\nnmHVqlU1Hffkk08yfvz4gqJSOzHhbG17AbOBRcA9wMn4nkltJd0qudpqq9V8fPoYZ/uqWSZOnEhn\nZydz5syp6bjLLruMXXbZpaCo1E5MXlrXAcDPgRuAjYEPAUcDV+L7JrUNE04NBR0dHUyfPp1zzjmn\n6mNeeOEFrrzySqZPn15gZGoXJi6taXXgu0Tr5vnAq8D9wPHAQcD7mheapFp0d3e/9vuIEbV/5KaP\nqbU7U6qnadOmcc899/CDH/yg4r4rV67k8MMPZ7fddmP99ddvQHRqdSacrekAYD3g+kz5L4AVwMca\nHpGkAUknibZwqp2NHTuW0047jc985jOcddZZZScDPffcc+y///4sWrSI4447rsFRqlWZcLamPZPH\nuzLlS4G/AO9ubDhDxy233NLsEIad3/3ud80OoanSLZwdHR01H58+ptoWzuFe5402b968ZofQMF1d\nXZx77rlcfvnlbLzxxpx44onccsst3H333cyaNYvDDjuMTTfdlNVXX51TTz11QDPbNTR5L/XWNCl5\nfD5n2/PAasAGwLMNi2iIuPXWW5kyZUqzwxhW7rjjDnbddddmh9E06SRxIF3qA0k4h3udN9q8efPY\ncsstmx1Gw0ycOJEzzzyTBQsWcP3113PjjTeyfPlyOjs72Wmnnbj88stZa621mh2mWowJZ2uaCKwC\n/pGzbTHQkexjwim1uHSSOJAWziVLlrz2+0MPPVSXmKR66OrqYubMmc0OQ23CLnVJamGLFy9udgiS\n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\nYsb8dsTM7OuqfJ3B+ALwKDGGspZ1M+tpJPBOYvhE1sM0fniDpBqZcEqDM4qe8W2bk9/tOJeecZDp\nmdgnEC1ZFyV/n0xPa2IXMQv94uQ5NyGSkj8B9xEzofcjJiOVWsMmAecT3cMQ3a6703viTGmtxmx3\ncK0xlLwx8zhQNxGJeQcx8aaarvxbiXGnuxH1UGolHEP8e75P75nV5WK9gRgzegTwAXrGR65O/Nvv\nJVp1S5Nc/khMqtqQWNi8KylfH/gKMZHl76nnL1fnJM/9INFCtwE93ffP5exbUhoTfDX1nyxUqpv0\nmM3lwGVEcn0d8SUp75i8FuL+zo+BnDunA++m571+M7Es1Nk1PIckSW1jMyLxep6eJVtWAn8jEsJs\nl+oOwO+JLtzTieVm0svwHEx07S4gWr0uJS7E6xJ3P7mfmMSTtg3wteS43wL/k5SdSCxndH9SvkUS\nz33J65difYDeC3nXEsPmROL1UvJc3cnzHVimvqpxavJckyvtmLEt0fo2h0iIvkbvheo3qzLW7ZMY\nbiYS4CuI2eBjybd18rp3Ab+hZxZ5Sbk63zHzPG9KYr6PmM1daQH3EcT42nJDAKqRXU5rCnE+v5LE\n+TKxYPv2REJdKl9JJKBXEfU6l556XUm0zB5NnFfp5yvV+aE5r1Xadkg/8U4kJk1tSiTafybq63b6\nrv3ZDK7DKUlqKesQd7M5CO/VnLU+/d9XXWESg+9KN0GqL+tTkiS1tV3p3cp6MoNfiN8Eqb6sT0mS\n1LY+QCQz307+3pC45edgmSDVl/UpSZLa1g7EGMl9iDVcf075Wfm1MEGqL+tTkiS1tc8Sa3/eQu9J\nSYNhglRf1qckSVLGY8Ss/jnE0lKq3Qx66vDRJsciSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIk\nSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIk\nSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIk\nSZIkSZIkSQXoqPWACRMmrFq8eHERsUiSJKm9LQbWyRbWnHACq1atWsWqVatKf6Q31FQ2kGPqXWYM\nxmAMxmAMxmAMxmAMg48hpU9+OSJbIEmSJNWTCackSZIKZcIpSZKkQplwSpIkqVAmnJIkSSqUCack\n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\nkiRJkiQV6f8DfSUp41xmwukAAAAASUVORK5CYII=\n",
"text": [
"<matplotlib.figure.Figure at 0x108e25250>"
]
}
],
"prompt_number": 17
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"\n",
"\n",
"#find the highest density peak\n",
"H2d, r_edges, t_edges = histogram2d(radial_vel, tangential_vel, bins=(12,12), range=[[-240.0,0.0],[0.0,240.0]])\n",
"max_radial_id = argmax(H2d, axis=0)\n",
"max_tangential_id = argmax(H2d, axis=1)\n",
"max_r_id = argmax(H2d[arange(12), max_tangential_id])\n",
"max_t_id = argmax(H2d[max_radial_id, arange(12)])\n",
"\n",
"theory_point = array([r_edges[max_r_id]+10.0, t_edges[max_t_id]+10.0])\n",
"print 'total number of pairs', size(radial_vel)\n",
"print 'location of the highest density peak in Bolshoi', theory_point\n",
"\n",
"#selection of the number of galaxies around the observational constraints\n",
"index_obs = where((radial_vel>(mean_point[0]-sigma_point[0])) & (radial_vel<(mean_point[0]+sigma_point[0])) \n",
" & (tangential_vel<sigma_point[1]))\n",
"print 'number of points in observations', size(index_obs)\n",
"\n",
"#selection of the number of galaxies around the Bolshoi point\n",
"index_max = where((radial_vel>(theory_point[0]-sigma_point[0])) & (radial_vel<(theory_point[0]+sigma_point[0])) \n",
" & (tangential_vel<(theory_point[1]+sigma_point[1]/2.0)) & (tangential_vel>(theory_point[1]-sigma_point[1]/2.0)))\n",
"print 'number of points around the highest density peak', size(index_max)\n",
"\n",
"\n",
"#find the number of points with radial velocities consistent with observations\n",
"tang_to_radial = abs(tangential_vel / radial_vel)\n",
"index = where(tang_to_radial<0.32)\n",
"print 'number of points with the right radial to tang', size(index), '. In percentage:', 1.0*size(index)/radial_vel.size\n"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"total number of pairs 1823\n",
"location of the highest density peak in Bolshoi [-70. 50.]\n",
"number of points in observations 5\n",
"number of points around the highest density peak 21\n",
"number of points with the right radial to tang 236 . In percentage: 0.129456939111\n"
]
}
],
"prompt_number": 18
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Figure in the E-J plane\n",
"n_clues=3\n",
"clues1=data_path+\"pair_physical_vweb_IC10909.dat\"\n",
"clues2=data_path+\"pair_physical_vweb_IC16953.dat\"\n",
"clues3=data_path+\"pair_physical_vweb_IC2710.dat\"\n",
"clues=chararray([n_clues], itemsize=1024)\n",
"clues[0]=clues1;clues[1]=clues2; clues[2]=clues3\n",
"clues_data = np.zeros([n_clues,2])\n",
"if(narrow_data):\n",
" n_clues = 1\n",
"for i in range(n_clues):\n",
" tmp_dat = np.loadtxt(clues[i])\n",
" clues_data[i,0] = tmp_dat[5] + tmp_dat[6] # energy\n",
" clues_data[i,1] = tmp_dat[7] #angular momentum\n",
"\n",
"filename='test_EJ_'+halo_finder\n",
"if(narrow_data):\n",
" filename=filename+'_narrow'\n",
"MakeSimple2DPlot(energy,angular_momentum,filename=filename, \n",
" clues=clues_data, clues_label='$\\mathrm{Constrained\\ Sim.}$', xlims=[-25.0,0.0], ylims=[0.0,150.0],\n",
" nbins=13,nxbins=13,nybins=13,bw=1, \n",
" xlabel='$\\mathrm{e_{tot} [10^{-36}} \\mathrm{Mpc^2\\ s^{-2}]}$', \n",
" ylabel='$\\mathrm{l_{orb} [Mpc\\ } \\mathrm{km\\ s^{-1}]}$', \n",
" contours=0, X_field=X, Y_field=Y, Z_field=H, levels=levels)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"HOLA\n",
"\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 19,
"text": [
"0"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n3333HSNHjtyu9xZJ586dy0ePN2/ezJ133smNN97ITTfdxAsvvLDD7wmC8FxR8+bNt+vPSorEYFr3\nOgL/AH5PsJBJUgPUpk2b8vma22PVqlVVtveJpsGDB/PAAw/w3XffVdv35Zdfpl27dsyZMweIPPWi\nUaNGlJSUMH36dI4++mggCIutW7fe5munpaUxffp0br/9dt555x2efvpprr76al566aXy16mprc3X\n/fHHH7nkkktISUlh7Nix9OjRg1WrVvHRRx/V6HVr8j6+//57IJiPe8opp0Ts8/rrwTKCXXbZpUbf\nN5LRo0fz/PPPb9HWuHFjrr/+er766qsab6m1rfdU0/mu0vbwVH7duw94Cfg0wrFI5/RWlrZH+k2Q\nVqFPFWPGjCm/1fU+fpK2z5FHHskHH3zAunWRToZs3dNPP73F6dxoO/nkkznwwAN58sknWb169Tb7\nTp06lf3335/+/fsDwbzQysqCWeU5jtX58ssvKSgo4OGHH2bp0qUsWLCAo446inPPPXebz7v88sur\ntG1tOsVVV13FTz/9xDvvvEOPHj2q9J83b9521RzJfvvtB8C0adOqHCs7RV+2UCovL2+Hv8/MmTMp\nLi6OeOyQQw6JqYs31MS0adO49957y2+KXwbTuncUwUr7jAq3V0qPXVX6uGLQLLv0RqQhkjYEK/Mj\nnsavGEyHDRu285VLqjUdOnTgd7/7HePHj6/xc7744gvWrFnDkUceWXeFVSMhIYHHH3+ckpISrrrq\nqq0uuvnuu+9o0qQJrVq14qCDDqJFixZ8/fXXVfp988039OnTp3xeZ019//333HHHHeWPe/Towfjx\n48nOzmbDhg3l7e3atSufh7phwwYKC2t2omrx4sW8++67W8x/BbZYiFPxMp476oADDqBt27YR52Le\nfffdrFmzhh49etCnT5+IfQoKCmr0fXJzc7n77rsjHps1axbDhw/fvsJ30LJly3YqYJcZNGgQl112\nWflN8ctgWvdaEixW6lzhVjZx6M7SxxWXP79fej+o0us0J1iRP6nOKpVUp6688kpuu+22Gi1mWr9+\nPeeddx7XXHPNVje1j5a+ffsyffp0vv/+e4YPH87cuXO3OP7GG29w++23c8sttwDBKePXX3+dJ598\nkkWLFpX3mzlzJhkZGbz66qvlbYWFheTk5GwRLoHyx9nZ2eVtzzzzDAsXLix//M0339CvX78tRv9O\n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\nKj4NeJTIzHXbARP3Fkz/Us95ei6mrn7s/7CI0XRRIiIiIdQLM+r5Y8z0Q9MoOxfoLzmbFL5q3YZ5\nbb/bOuaXwP9RtnW0qmM9Kvpw/xNmYItnyiDPzYWZ9N3fnJwzMC3BL2AGCX0E7AQyKniOaNAE0/rn\n/frOAHN89psPXOr1ewYm0TxG2fo5iOkreo7Xvg9zdkL6WzH1sgrTTeBBzPRgFemJOUeygA8xq1Bd\nG9QrrL7WwLuYxHwuZnWqz4DVmAFhdlNiKiIiEmGZ+P8AfhIzYtojHpPwePdbrehYb6H+cG+CWUDg\nAUyrcLgngY8FDxMdKyU5jRJTkRih6aJEnK0rpkW0u1dZMeZS8guUX6koko4DC2x8fhERiTIa/CTi\nbIMw/f18B5/kYJLV5hGPSEREpAJKTEWcayBnl7j0vUyeZt03xL+BYYlIqtLRuu9haxQiIjZRYiri\nHJ6VoeKs+ysxg2DgbMLj0QszzdSeSo6VyBmKmZXgR5gvEw9av19uZ1AiIiIi1VUPszRmd8zl+4et\n8seB173264KZ1ufaAI719g1mVoCPgRGhC1skLEZw9nzdbXMsIhKguKp3EZEYMhoz/dIh4Pec7Vt6\nN2ZloBLMcpH/wIzMD+RYERERERERERERERERERERERERERERERERERERERERERERERERERERERER\nERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER\nERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER\nERERERERERERERERERERERERERERERERERERERERERERERERERERERGxS1ywByQnJ7tzc3PDEYuI\niIiIxLZcoFl1Dw46MQXcbrcbt9vt+cV7Q1Bl1Tkm1GWKQTEoBsWgGBSDYlAMiqHmMXipTn4JQJ3q\nHigiIiIiEkpKTEVEREQkKigxFREREZGooMRURERERKKCElMRERERiQpKTEVEREQkKigxFREREZGo\noMRURERERKKCElMRERERiQpKTEVEREQkKigxFREREZGooMRURERERKKCElMRERERiQpKTEVEREQk\nKigxFREREZGooMRURERERKKCElMRERERiQpKTEVEREQkKigxFREREZGooMRURERERKKCElMRERER\n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\n",
"text": [
"<matplotlib.figure.Figure at 0x1087d5cd0>"
]
}
],
"prompt_number": 19
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Figure in the E-J plane\n",
"# Previous plot with 12 bins rather than 13!\n",
"n_clues=3\n",
"jw_bin_number = 12\n",
"clues1=data_path+\"pair_physical_vweb_IC10909.dat\"\n",
"clues2=data_path+\"pair_physical_vweb_IC16953.dat\"\n",
"clues3=data_path+\"pair_physical_vweb_IC2710.dat\"\n",
"clues=chararray([n_clues], itemsize=1024)\n",
"clues[0]=clues1;clues[1]=clues2; clues[2]=clues3\n",
"clues_data = np.zeros([n_clues,2])\n",
"if(narrow_data):\n",
" n_clues = 1\n",
"for i in range(n_clues):\n",
" tmp_dat = np.loadtxt(clues[i])\n",
" clues_data[i,0] = tmp_dat[5] + tmp_dat[6] # energy\n",
" clues_data[i,1] = tmp_dat[7] #angular momentum\n",
"\n",
"filename='test_EJ_'+halo_finder\n",
"if(narrow_data):\n",
" filename=filename+'_narrow'\n",
"MakeSimple2DPlot(energy,angular_momentum,filename=filename, \n",
" clues=clues_data, clues_label='$\\mathrm{Constrained\\ Sim.}$', xlims=[-25.0,0.0], ylims=[0.0,150.0],\n",
" nbins=jw_bin_number,nxbins=jw_bin_number,nybins=jw_bin_number,bw=1, \n",
" xlabel='$\\mathrm{e_{tot} [10^{-36}} \\mathrm{Mpc^2\\ s^{-2}]}$', \n",
" ylabel='$\\mathrm{l_{orb} [Mpc\\ } \\mathrm{km\\ s^{-1}]}$', \n",
" contours=0, X_field=X, Y_field=Y, Z_field=H, levels=levels)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"HOLA\n",
"\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 20,
"text": [
"0"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nYQSjpyV9ChxKMApaWkFNXt2aCKI+dVkZ9erVi7qEctWkRS5l2bFjR6X6NWnSpFpHyj744AOuuuoq\n5s6du0enfK+88kp+8IMfcOutt1ZbLXuiT58+TJ06lddee43TTjut0s979913ueGGGxg/fjz77rsv\nEMwFveCCC3jrrbdo164dAN9++y3t27fnrLPOolevXtxwww2kpaVx2WWXsXbtWl5/Pfi399q1axkw\nYACzZs0qPq1/3333MXfu3OKQBJCamspdd93FHXfcsVtNRe81cOBAbrrpJhYvXszll1/ON998Q6dO\nnRg7dizXXHMNs2bNIisri1WrVnH44Ydz//3385Of/GSX1zrwwAM55phjGDFixB59DgjC5g033MA7\n77xT/Ls566yzaNSoUfEq//nz5zNgwAAeffRRzjjjDCCY/3viiScyffp08vLyKvwO/v73v3Prrbey\nadMmIDid/qMf/Yg//vGPHHrooeV+noo+09y5czn99NM588wz6dq1Kzk5OTRr1oxhw4ZV6c9qSkpK\npRYvtW/fHswwCcVT6vHzJPAg8GUF/doX3q+PcWw9kAY42UZKMHPmzOHYY4/d4/mFxx57LHPnlv63\nZ822detWrrzySi655JLiQAVw8MEH07t3b84777zithYtWtCmTRvGjRvHtddeWxwmjzjiCN599122\nbt0KBCuss7Ozd1mYdNFFF+3RP3KK3mvNmjUcd9xx/OxnP2PZsmXFI65bt26lbdu2xfNq27Rpw4AB\nA3jqqad2e63CwLPHn+O7777jnHPOYciQIbv8bq6//nqef/55NmzYAMA555xD165di8MmQOPGjRky\nZEil/yF09dVX88UXX3DXXXdxwgkn0LBhQ1577TX69evHl1/u+r+i0p+nos80ffp0cnJy6Nq1KxAs\naOrSpQvTpk2rVG2qfRz3jo/LgdbAPRV1BNoRLCbaGOPYBoJ/0bUD1lRbdZJCt3379l1Ol1ZW/fr1\n2bZtWwgVVU6PHj2YOnUqS5curbBvbm4uO3fuZPLkySxZsiTmafguXbrw9NNPs27dul0WGZ100km7\n/H6aNGlCTk4O3377LY0aNaJv377k5OSw7777MnjwYHr16sWQIUN4+OGH9+jzpKSk0L179+LHbdu2\nLf75oosu4qKLLmLq1KmMHz+e7777jq+//rp4hLAyKvocH3/8MZs3b+abb77hd7/7XXG/bdu2MWDA\n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\n6hKUZAyc8XMHsBB4LupCpKpYv349H3zwAe+//37x6fKUlBR+8IMfkJaWRlZWFo0bN3Y+piKTkpJC\njx496NGjB3PmzOGll15ixowZjB49mtdee42TTjqJc889l3btPFkkxYuBMz66AdcRrDqvSNEwZayl\nls1K9ZHiIj8/n9mzZzN58mRmzZpVvPAnKyuLfv360adPH5o2bcorr7wScaXSrrp27UrXrl2ZP38+\nL7/8Mh988AFvvfUW77zzDv369eP888+nc+fOUZcpJT0DZ3ycWnhfev/M5kAKsLLw8V+AV0ocK62o\nLWbgfOyxx4p/7tmzJz179tybWqVi27Zt47333uM///kPGzYEMzrS0tI48sgj6devHwcffLCbsCsh\n7L///tx2220sW7aMl19+mffee49JkyYxadIkevfuzY033uiWSjXYRx99xMcffxx1GaoCz3lFaxJw\nLFD64sDzCDZ/71Cq/U/ALUBv4JNSxwpmzZoVQonVZ8eOHVGXUK6aPgcW4jfvKycnh//85z+8+eab\nbNmyBYBWrVrRv39/+vTpQ5MmTWI+LxFGOGv6aFZNn9sHNX8O5/nnn19hnzVr1jBq1CjefvttcnJy\n6N69O3/4wx/i9g+omr547qCDDoq6hHK1b98ezDAJxRHOmunvwAPAEcBnhW2pwI+AT9k9bErVYufO\nnbz//vuMGzeOjRuDdWv7778/gwcPpkuXLo5mKmm0atWKa6+9lnPPPZfrr7+eTz/9lFGjRnHeeedF\nXZqUlAyc0Yv1L7QngbOAkcCZfH9pyw4EVxuSqlV+fj4ff/wxr732WvEIW4cOHTj77LPp2rWrC4CU\ntLKysvjVr37FnXfeybPPPku3bt1q/OielIgMnNGYC+wHpBNcQWhb4f0PCOZzfgecQnAKfRyQSXAZ\nzBOAmRHUqySVn5/PzJkzGTt2LCtXBlOJ27Zty5lnnsmRRx7piKZqhV69enHGGWcwduxYhg8fziOP\nPELDhg2jLktKKgbOaBxaiT7bgJvCLkS1U0FBAbNmzeLf//43S5YsAYJ9SM844wx69+5t0FStc9ll\nlzF79mwWLFjA448/ztChQ6MuSUoqBk6plvnyyy8ZM2YM8+fPB6Bp06acfvrpHHPMMdSp418Jqp3S\n09O55ZZbuOGGG5gwYQJHHXUUAwYMiLosKWn4fxeplliwYAGjR49m3rx5QLDS+NRTT+W4444jPT09\n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\nfmmtCn79KUKFFpUqgqgBRBDKokJEREFWIewh+++Pz0wyTCbJTDIzdzLzfj4e85jMuffOfObkzp3P\nnFTpjcEAACAASURBVHvOuZSVlTFgwABSUlKcDkek3lHC6ayuQF/gCSDfVeZOJg/7WD/Pax0JorKy\nsrBPd7J161ZOnjzJlClT/Fr/rLPO4sYbb+TVV19l6tSp1a67bds2XnnlFRYuXEijRo1ISEggLy+P\n/v37c9111zFo0CANehDxw8mTJ1m2bBkAl19+ucPRiNRP+rZxTiPgdWA5MN3RSASAzZs3s2vXLlJT\nU+nbt29YXnPx4sVMmTIloMTvpz/9KfPnz6egoMDn8tLSUh5//HGuu+462rRpw4YNG9i7dy+7du3i\nwIEDXHvttfzxj38kOzubgwcPBuutiEStpUuXcurUKc455xwyMzOdDkekXlLC6Zw/YHNz/sirfLfr\nvrmPbVK81pEgWrBgAQAjRowgISE8jf9bt25l7NixAW3TpUsXWrRowY4dOyotKysr4+GHH2bDhg18\n/vnnPProo3To0KF8eePGjbnppptYt24dw4cP5/rrr+fo0aN1fRsiUaukpIS3334bUOumSF3olLoz\npgJXYPNs5nkt+851n+pjO3eZz4TziSeeKP97wIABXHrppXWLMobs3buXVatW0ahRo7BeWSg/P58m\nTZoEvF2TJk04ceJEpfKlS5eycuVKVq9eTfPmvn6zmLi4OB577DEOHz7Mo48+etq+IyIVVqxYwcGD\nB2ndujV9+vRxOpyY9dFHH/HRRx85HYbUgRLO8Ps5cBeQBXztKksFmmAj1b8FtuJ76qNLXPfv+nri\n+++/P5hxxhR3a+HZZ59NaqqvXD80GjduTF5eHu3btw9ou8OHD5OcnFyp/OWXX2batGnVJptucXFx\nPPLII3Tp0oWpU6dqIISIl+LiYubNmwfA+PHj1efZQQMHDmTgwIHljx9//HEHo5Ha0KcnvG4CpgEj\nsaTSbRyn9+OcBbTD5tx0awCMBdYDn4Q0yhi0e7c1Grdu3Tqsr9u7d++A59bctGkTx48fp1OnTqeV\nf/3113zxxRcBTZmUlpbGuHHjeP311wOKQSQWLF++nH379tG6dWtN9C5SR0o4w+ca4G/ASuAqLMF0\n3yZ4rftX4CPgJSATu9TlTGyOzp+FPtTY404427QJ7wQAo0ePZtasWRQVFfm9zXPPPcc111xDYmLi\n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\n6QjwTwdfX0REwkSDhkSi2yCsP533oI19WBLaMuwRiYhIzFHCKRK9BlJxqUTv09XprvvG+DYwJBFJ\nTTq57s92NAoRkSBTwikSPdxXIopz3Q/DBo9ARSLjdh42ndKOaraV8BmFjdL/MfYj4V7X4yFOBiUi\nIiLiLRG7xGJP7DT6dFf5Y8ArHut1w6avGe3Htp6+xkbJvw9MCF7YIiExgYr9dbvDsYjEvLiaVxGR\neuRqbJqhA8BDVPTd/Cl2JZoS7LKDz2Ej1f3ZVkRERERERERERERERERERERERERERERERERERERE\nRERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE\nRERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE\nREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREIlFcoBuk\npKSU5eXlhSIWEREREanf8oBU78KAE06grKysjLKyMvcDzwUBldVmm2CXKQbFoBgUg2JQDIpBMSiG\nusfgoVJ+2cC7QEREREQkmJRwioiIiEhIKeEUERERkZBSwikiIiIiIaWEU0RERERCSgmniIiIiISU\nEk4RERERCSklnCIiIiISUko4RURERCSklHCKiIiISEgp4RQRERGRkFLCKSIiIiIhpYRTREREREJK\nCaeIiIiIhJQSThEREREJKSWcIiIiIhJSSjhFREREJKSUcIqIiIhISCnhFBEREZGQUsIpIiIiIiGl\nhFNEREREQkoJp4iIiIiElBJOEREREQkpJZwiIiIiElJKOEVEREQkpJRwioiIiEhIKeEUERERkZBS\nwllLK1eudDqEiPHpp586HULE2LRpk9MhRITc3FynQ4gYO3bscDqEiLFnzx6nQ4gIhw4dcjqEiHH8\n+HGnQ4gYRUVFTocQUko4a2nVqlVOhxAxlHBW2Lx5s9MhRAQlnBW++eYbp0OIGHv37nU6hIighLPC\niRMnnA4hYijhFBERERGpAyWcIiIiIhJScbXYpizoUYiIiIhINMgDUp0OQkRERERERERERERERERE\nJMqMAt4GdgNrgelowFFb4AhQ6nQgDknA9ou/AF8Bq4CpQA8ngwqDnwCHgRerWH4J8BLwOdaPZRvw\n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\nRERERERERERERERERERERERERERERERERERERERERERERERERERERERi0/8HTDI/QJBwqqkAAAAA\nSUVORK5CYII=\n",
"text": [
"<matplotlib.figure.Figure at 0x1087d0710>"
]
}
],
"prompt_number": 20
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"index = where((angular_momentum<40.0) & (energy>-20.0) & (energy<-5.0))\n",
"print 'approx. number of points inside contour', size(index), 'in percentage', 1.0 * size(index)/energy.size"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"approx. number of points inside contour 276 in percentage 0.151398793198\n"
]
}
],
"prompt_number": 21
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Figure with the spin parameter distribution\n",
"fig = figure(1, figsize=(9.5,6.5))\n",
"ax = axes()\n",
"ax.set_xlabel(\"$\\log_{10}\\mathrm{\\lambda}$\",fontsize=25)\n",
"ax.set_ylabel(\"$\\mathrm{Normalized\\ Histogram}$\",fontsize=25)\n",
"ticklabels_x = ax.get_xticklabels()\n",
"ticklabels_y = ax.get_yticklabels()\n",
"\n",
"for label_x in ticklabels_x:\n",
" label_x.set_fontsize(18)\n",
" label_x.set_family('serif')\n",
"for label_y in ticklabels_y:\n",
" label_y.set_fontsize(18)\n",
" label_y.set_family('serif')\n",
"\n",
"n_clues=3\n",
"clues1=data_path+\"pair_physical_vweb_IC10909.dat\"\n",
"clues2=data_path+\"pair_physical_vweb_IC16953.dat\"\n",
"clues3=data_path+\"pair_physical_vweb_IC2710.dat\"\n",
"clues=chararray([n_clues], itemsize=1024)\n",
"clues[0]=clues1;clues[1]=clues2; clues[2]=clues3\n",
"clues_data = np.zeros([n_clues,4])\n",
"\n",
"if(narrow_data):\n",
" n_clues = 1\n",
"for i in range(n_clues):\n",
" tmp_dat = np.loadtxt(clues[i])\n",
" clues_data[i,0] = tmp_dat[5] + tmp_dat[6] # energy\n",
" clues_data[i,1] = tmp_dat[7] #angular momentum\n",
" clues_data[i,2] = tmp_dat[9] # total mass\n",
" clues_data[i,3] = tmp_dat[10] # reduced_mass\n",
" \n",
" e_CLUES = clues_data[i,0]\n",
" l_CLUES = clues_data[i,1]\n",
" total_mass_CLUES = clues_data[i,2]\n",
" mu_CLUES = clues_data[i,3]\n",
"\n",
" lambda_CLUES = mu_CLUES**1.5 * (l_CLUES * L_UNITS * KM_TO_MPC) * \\\n",
" sqrt(abs(e_CLUES * E_UNITS)) / (G_GRAV * (total_mass_CLUES )**(5.0/2.0))\n",
" lambda_CLUES = log10(lambda_CLUES)\n",
" y_value=1.9\n",
"\n",
" ax.axvline(x=lambda_CLUES,ymin=0.8,ymax=0.95,c=\"black\",linewidth=2)\n",
" if(i==0):\n",
" ax.scatter(lambda_CLUES, y_value, color='white', edgecolors='black', s=200, label='$\\mathrm{Constrained\\ Sim.}$') \n",
" else:\n",
" ax.scatter(lambda_CLUES, y_value, color='white', edgecolors='black', s=200) \n",
" \n",
" \n",
"\n",
"hist_A, bin_edges_A = histogram(log10(lambda_obs), bins=arange(-3.0,0.5,0.1), density=True)\n",
"hist_B, bin_edges_B = histogram(log10(lambda_orbit), bins=arange(-3.0,0.5,0.1), density=True)\n",
"\n",
"plot(bin_edges_A[:-1],hist_A,color='black',ms=1,linewidth=3.0, label=\"$\\mathrm{Obs.}$\")\n",
"plot(bin_edges_B[:-1],hist_B,'r--',color='black',ms=2,linewidth=3.0, label=\"$\\mathrm{Bolshoi}$\")\n",
"\n",
"ax.legend(loc=0, scatterpoints=1, prop={'size':20})\n",
"\n",
"ax.set_xlim([-3.0,0.5])\n",
"ax.set_ylim([0.0,2.2])\n",
"filename='test_lambda_'+halo_finder\n",
"if(narrow_data):\n",
" filename=filename+'_narrow'\n",
"savefig(filename + '.eps',format = 'eps', transparent=True)\n",
"savefig(filename + '.pdf',format = 'pdf', transparent=True)\n",
"savefig(filename + '.png',format = 'png', transparent=True)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\nn4ULF2aYXwewZ88e6/V///vffLU5O+3bt6dSpUrZzvWaPHkyJ06cIDQ0lEaNGmVbJjEx0al64uPj\nmTx5crac4+O5AAAgAElEQVTXtm3bRrdu3fLX8AI6ePCgrcDTU+wGbDGp39MmPfyC2ZtWOl2ZskDO\na/5FxCedO3eOFStWWMe9evWy9bywsDDr9fr16/3iB2RR9PLLL/P88887lS9v+/btvPjii1b6BW9q\n3LgxkZGRbN26lW7durFr164M1+fOncvEiRP5v//7P8AcepszZw5ffPEF+/bts8pt3ryZI0eO8NNP\nP1nnkpKSuHjxYoagC7CO4+LirHOzZs1i79691nFUVBQtWrTI0Ft09913s2HDBsD85aVDhw5Z6kqb\n2J9e9erVCQ4OttKBpN1frlw5a15WiRIlrGtnz57N0GZn30exYsWYP38+u3btYvHixRk+m3Llylnb\nzv34448sXbqUlSv/zZ+/d+9epk6dCpDlzyAzwzD48ssveeONNzIEeb/99ht//PFHhvlz2b2f/Lyn\n9OfTl92wYQN169alf//+uba1MJgARGAm0E1LLR2Zeq4PUB/4H/CHF9pml61lvyL+7scff7RScVx7\n7bUueWbDhg2tZ65cudIlzyzK3PVzavr06Ua1atWMhQsXGikpKVmuJycnG7/88otRtWpVY+bMmW5p\nQ0ElJCQYU6ZMMe644w6jY8eORv/+/Y277rrL+Oyzz7Itv27dOuPhhx82hgwZYrzwwgvGSy+9ZOze\nvdu6/vPPPxvNmjUzAgICjICAAOP66683jhw5Ytx5551G+fLljYCAAKNmzZrGmDFjjJkzZxoTJ040\nJk2aZIwYMcJ49NFHjUceecSIiYnJUOfBgweNxx9/3LjtttuMRx99NNu6AgMDjVatWhk//fRThnvX\nr19v3HDDDUafPn2M1157zfj888+N+Ph448YbbzS6du1q/PHHH8by5cuNVq1aWWkyOnfubMyaNcup\n95F+y6z169cbTzzxhDF06FBjwoQJxvTp042EhIQM7YmKijKefvpp47nnnjNefPFF4/XXXzfeeust\nIyQkxGjSpInx8ccf5/hn1b9/fyMxMdH48ssvjZtvvtno0aOHccsttxiPPPKIlcbEMIwM7ycwMNDo\n0qWLceHCBeOnn35y6j298sorxsqVK61nBAQEGG3atDHWrl1rREdHG/Xq1TNefvnlnP9SZeLsvztc\n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\nIujRowcvvvii3TWg9DB79mz8/Px46qmn7K4XJYQrXbx4kebNm3PixAkAoqOj2bFjBxUrVnRzzYzp\nlVde4b333su1LzY2lnfffZfOnTu7qVZClDwJ2EqOTwZsmqaxY8cO5s+fz7Jly0hJSclzTkBAAA89\n9BD9+vWjS5cuunR5XLt2jfT0dCpVquTyawtRVAcOHKBVq1aWZS1at27Nhg0bCAoKcnPNjCczM5NZ\ns2bx9ttvk5ycbNnfq1cvFi9e7MaaCVGyJGArOT4VsJ08eZKFCxeyYMECjhw5YvecZs2a0a9fP558\n8kldWxe+/fZbBg8eTGxsLP/73/+kFU0Ywpo1a4iPj7csGPvMM88wa9YseT7zcf36daZOncqUKVPI\nzMzk8OHD1KxZ093VEqLESMBWcrw2YMvOzubQoUPs2LGD7du3s3379nxzDVarVo1+/frRr18/6tat\nq2u9Ll++zD/+8Y9ciarnzZsn+T+FYUyaNIlRo0ZZtqdPn87w4cPdWCPjO3/+PFu3bqV79+52j6em\npuZa300IbyEBW8nxmoDt7NmzbN++3RKg7dq1i+vXr+d7flhYGE888QT9+/enTZs2+c6+vHnzJuvW\nrePGjRv07t3bqTquWbOG5557jqSkJMu+ChUqMGvWLLp16+bUtYVwFU3T6N+/PwsXLgTA39+fdevW\n0aFDBzfXzDMdPHiQVq1aMWzYMIYNG0blypXdXSUhXEYCtpLjkQFbamoqv/76a64A7fTp04W+z9/f\nn44dO9KvXz/i4+MJCQmxe56mafz8888sXLiQZcuWcfnyZZ577jk++eSTPOeuXbuWDz/8kBo1alhe\n1atXJyYmhttvvz3XuWPHjuXtt9+2bPfs2ZMZM2bIwG5hOBkZGbRr186SGzciIoLt27dTp04dN9fM\n88THx/P1118DKhvKE088wdChQ7nnnntKtKt57dq1BAUFUaNGDapVq5bv558QReHqgM1TdAK+Ac4C\nu4C3KFparYrAbOAP4E9gMVDYYIoSXWCvqK5fv67t3r1bW7ZsmTZ+/Hitf//+WlxcnObv759nEVt7\nr8qVK2vx8fHav//9b23Dhg3alStXCi1zxYoV2p133pnnWhMmTLB7/vjx4+2WPWLEiDzn3rx5U4uN\njdUqVaqkrVq1yun7I4Sezp49q1WtWtXyTMfExGiXLl1yd7U8yrVr17RGjRrZ/YyYO3euy8vLzMzM\n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\n",
"text": [
"<matplotlib.figure.Figure at 0x10e90d8d0>"
]
}
],
"prompt_number": 22
},
{
"cell_type": "code",
"collapsed": true,
"input": [
"mean_lambda_obs = mean(log10(lambda_obs))\n",
"variance_obs = var(log10(lambda_obs))\n",
"mean_lambda_sim = mean(log10(lambda_orbit))\n",
"variance_sim = var(log10(lambda_orbit))\n",
"\n",
"print 'mean lambda, observations', mean_lambda_obs, variance_obs\n",
"print 'mean lambda, bolshoi', mean_lambda_sim, variance_sim\n",
"print 'lambda CLUES', lambda_CLUES\n",
"\n",
"# calculate the number of points in the simulation that are consistent with mean value and sigma\n",
"index_sim = where((log10(lambda_orbit)<(mean_lambda_obs+variance_obs)) & (log10(lambda_orbit) > (mean_lambda_obs-variance_obs)))\n",
"print 'there are ', size(index_sim), 'pairs consistent with the observations'\n",
"\n",
"# mean lambda, observations -1.72013855372 0.0797602386996\n",
"# mean lambda, bolshoi -1.470309254 0.137777720569\n",
"# lambda CLUES -1.72803661534\n",
"# there are 257 pairs consistent with the observations"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"mean lambda, observations -1.72061467416 0.0799156324454\n",
"mean lambda, bolshoi -1.47345497862 0.138217470615\n",
"lambda CLUES -1.72803661534\n",
"there are 247 pairs consistent with the observations\n"
]
}
],
"prompt_number": 23
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 23
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 23
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment