Пример #1
0
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
Пример #2
0
    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