def radial_mock(self, method="EEP", N=None, bins=100, new_lumfunc=False, min_acceptable=1, eps=0.01, max_iter=10, selbins=100): """ Creates a random catalogue of particles based on a defined selection function. Only radial co-ords. Ouput: radii :: length N vector (default length of survey) of radii """ z_min = self.survey_data['redshift'].min() z_max = self.survey_data['redshift'].max() if N is None: N = self.N if method is None: radii = sf.create_radial_selection_simple(z_min, z_max, N) else: M, phi = self.lum_func(Np=bins, method=method, new=new_lumfunc, min_acceptable=min_acceptable, eps=eps, max_iter=max_iter) s_of_z = sf.selection_of_z(selbins, phi, M, self.survey_data["mag_r"], self.survey_data["absmag"], self.survey_data["redshift"]) radii = sf.create_mock(s_of_z, z_min, z_max, N) #Plot it plt.clf() plt.hist(radii, bins=100, normed=True, label="Mock") plt.hist(self.survey_data['redshift'], bins=100, normed=True, label="Data") plt.legend() plt.savefig(self._dirs['SelectionFunction'] + 'N(z)_' + method + '_L' + str(bins) + "_S" + str(selbins) + '.' + self.plottype) return radii