def DataSummary(Mrcut=18, observables=['ssfr']): ''' Summary statistics of the data. In our case that is the SSFR distribution of the SDSS group catalog. ''' obvs = [] if 'ssfr' in observables: # Group Catalog object groupcat = GroupCat(Mrcut=Mrcut, position='central') # SSFR distribution of group catalog bins, dist = groupcat.Ssfr() obvs.append([np.array(bins), np.array(dist)]) if 'fqz03' in observables: qfrac = Fq() M_bin = np.array([9.7, 10.1, 10.5, 10.9, 11.3]) M_mid = 0.5 * (M_bin[:-1] + M_bin[1:]) fq_model = qfrac.model(M_mid, 0.3412, lit='wetzel') obvs.append([M_mid, fq_model]) if 'fqz_multi' in observables: qfrac = Fq() M_bin = np.array([9.7, 10.1, 10.5, 10.9, 11.3]) M_mid = 0.5 * (M_bin[:-1] + M_bin[1:]) fq_out = [M_mid] for zz in [0.0502, 0.1581, 0.3412, 1.0833]: fq_model = qfrac.model(M_mid, zz, lit='wetzel') fq_out += [fq_model] obvs.append(fq_out) if len(observables) == 1: obvs = obvs[0] return obvs
def GroupCat(self, Mrcut=18, position='central', **kwargs): ''' Plot sSFR distribution for Group Catalog data ''' groupcat = GroupCat(Mrcut=Mrcut, position=position) ssfr_bin_mid, ssfr_hist = groupcat.Ssfr() # loop through each panel for i_mass, panel_mass in enumerate(self.panel_mass_bins): if Mrcut == 18: z_med = 0.03 elif Mrcut == 19: z_med = 0.05 elif Mrcut == 20: z_med = 0.08 ssfr_label= ''.join([ r'SDSS $\mathtt{M_r =', str(Mrcut), '}$']) if 'lw' in kwargs.keys(): lwid = kwargs['lw'] else: lwid = 4 if 'ls' in kwargs.keys(): lsty = kwargs['ls'] else: lsty = '--' if 'color' in kwargs.keys(): col = kwargs['color'] else: col = 'k' self.subs[i_mass].plot( ssfr_bin_mid[i_mass], ssfr_hist[i_mass], color = col, lw = lwid, ls = lsty, label = ssfr_label) return None