ab_file_example = ab_path+sed_models[0][:-3]+filter_x1+'.AB' z_ab = U.get_data(ab_file_example,0) nz = len(z_ab) # Creating matrix where to save the data. ab_filter_x1 = N.zeros((nz,n_models),float) ab_filter_x2 = N.zeros((nz,n_models),float) ab_filter_y1 = N.zeros((nz,n_models),float) ab_filter_y2 = N.zeros((nz,n_models),float) for ii in range(n_models): # Reading AB files for each template and filter. ab_filter_x1_model = ab_path+sed_models[ii][:-3]+filter_x1+'.AB' z_x1_model, mag_x1_model = U.get_data(ab_filter_x1_model,(0,1)) ab_filter_x1[:,ii] = B.flux2mag(mag_x1_model) ab_filter_x2_model = ab_path+sed_models[ii][:-3]+filter_x2+'.AB' z_x2_model, mag_x2_model = U.get_data(ab_filter_x2_model,(0,1)) ab_filter_x2[:,ii] = B.flux2mag(mag_x2_model) ab_filter_y1_model = ab_path+sed_models[ii][:-3]+filter_y1+'.AB' z_y1_model, mag_y1_model = U.get_data(ab_filter_y1_model,(0,1)) ab_filter_y1[:,ii] = B.flux2mag(mag_y1_model) ab_filter_y2_model = ab_path+sed_models[ii][:-3]+filter_y2+'.AB' z_y2_model, mag_y2_model = U.get_data(ab_filter_y2_model,(0,1)) ab_filter_y2[:,ii] = B.flux2mag(mag_y2_model) for zz in range(res_z): pos_z = N.argmin(abs(z_range[zz]-z_ab))
ug_t1 = [1.6,1.7,1.7,1.7,1.7,1.7,1.7,1.8,1.80,1.9] gz_t2 = [1.4,1.5,1.5,1.5,1.6,1.6,1.7,1.8,1.9,1.9] ug_t2 = [1.8,1.8,1.9,1.9,2.0,2.0,2.0,2.0,2.0,2.1] """ # New values gz_t1 = [1.17, 1.24, 1.28, 1.28, 1.30, 1.35, 1.50, 1.52, 1.56, 1.65, 1.70] ug_t1 = [1.85, 1.85, 1.85, 1.85, 1.85, 1.85, 1.85, 1.85, 1.85, 1.85, 1.85] gz_t2 = [1.25, 1.25, 1.25, 1.45, 1.50, 1.60, 1.70, 1.70, 1.75, 1.80, 2.00] ug_t2 = [2.25, 2.25, 2.25, 2.25, 2.25, 2.25, 2.25, 2.25, 2.25, 2.25, 2.25] for ii in range(n_models): # Reading AB files for each template and filter. ab_filter_x1_model = ab_path + sed_models[ii][:-3] + filter_x1 + '.AB' z_x1_model, mag_x1_model = U.get_data(ab_filter_x1_model, (0, 1)) ab_filter_x1 = B.flux2mag(mag_x1_model) ab_filter_x2_model = ab_path + sed_models[ii][:-3] + filter_x2 + '.AB' z_x2_model, mag_x2_model = U.get_data(ab_filter_x2_model, (0, 1)) ab_filter_x2 = B.flux2mag(mag_x2_model) ab_filter_y1_model = ab_path + sed_models[ii][:-3] + filter_y1 + '.AB' z_y1_model, mag_y1_model = U.get_data(ab_filter_y1_model, (0, 1)) ab_filter_y1 = B.flux2mag(mag_y1_model) ab_filter_y2_model = ab_path + sed_models[ii][:-3] + filter_y2 + '.AB' z_y2_model, mag_y2_model = U.get_data(ab_filter_y2_model, (0, 1)) ab_filter_y2 = B.flux2mag(mag_y2_model) for zz in range(nz): pos_z = N.argmin(abs(z_x1_model - z_bins[zz]))
nf = len(filters) ft, fob, efob = P.getinfo4_mosaic_uncert_obsvsmod(columns, fluxcomp) mo = U.get_data(fluxcomp, 1) g = N.greater_equal(mo, 14) * N.less_equal(mo, 20) base = N.arange(14., 21., 1.) basem_histo = N.arange(-1, 1, 0.01) scatts = N.zeros(nf) means = N.zeros(nf) for ii in range(nf): nameout = fluxcomp[:-15] + '%s.magzpdist.png' % (filters[ii][:-4]) nameout2 = fluxcomp[:-15] + 'magzpdist.txt' plt.figure(112, figsize=(8, 10.), dpi=80, facecolor='w', edgecolor='k') plt.clf() mt = B.flux2mag(ft[ii]) mob = B.flux2mag(fob[ii]) emob = N.where( abs(fob[ii][:]) > 0, B.e_frac2mag(efob[ii][:]) / fob[ii][:], -99) uno = plt.axes([0.15, .675, 0.75, 0.265]) dm = mt[g] - mob[g] mmo = mo[g] emmob = emob[g] mtt = mt[g] mobb = mob[g] g2 = N.less(abs(dm), 0.3) dm2, mo2, emo2, mt2, mob2 = U.multicompress(g2, (dm, mmo, emmob, mtt, mobb)) a1, a2, a3 = plt.hist(dm[g2], basem_histo, facecolor='grey', alpha=0.2) plt.xlim(-0.49, 0.49)
# filtro2 = 'zSDSS' sed_ab_filter_1 = root + '%s.SPLUS_%s.AB.txt' % (sed, filtro1) sed_ab_filter_2 = root + '%s.SPLUS_%s.AB.txt' % (sed, filtro2) z_AB_1, f_AB_1 = U.get_data(sed_ab_filter_1, (0, 1)) z_AB_2, f_AB_2 = U.get_data(sed_ab_filter_2, (0, 1)) good_z_range = N.less_equal(z_AB_1, zmax) good_z_range *= N.greater(f_AB_1, 0) * N.greater(f_AB_2, 0) f_AB_redu_1 = f_AB_1[good_z_range] z_AB_redu_1 = z_AB_1[good_z_range] f_AB_redu_2 = f_AB_2[good_z_range] z_AB_redu_2 = z_AB_2[good_z_range] mag_AB_redu_1 = B.flux2mag(abs(f_AB_redu_1)) mag_AB_redu_2 = B.flux2mag(abs(f_AB_redu_2)) outfilename = root + 'tracks_sed%s_0.0z%.1f_%s%s.txt' % (sed, zmax, filtro1, filtro2) U.put_data(outfilename, (z_AB_redu_2, mag_AB_redu_1 - mag_AB_redu_2), 'z %s-%s' % (filtro1, filtro2)) """ z,gr_ell = U.get_data('/Users/albertomolino/doctorado/articulos/SPLUS/StarGalaxy/AB/tracks_sedEll3_A_0_0.0z0.5_gSDSSrSDSS.txt',(0,1));z,rz_ell = U.get_data('/Users/albertomolino/doctorado/articulos/SPLUS/StarGalaxy/AB/tracks_sedEll3_A_0_0.0z0.5_rSDSSzSDSS.txt',(0,1));z,gr_Sa = U.get_data('/Users/albertomolino/doctorado/articulos/SPLUS/StarGalaxy/AB/tracks_sedSa_A_1_0.0z0.5_gSDSSrSDSS.txt',(0,1)); z,rz_Sa = U.get_data('/Users/albertomolino/doctorado/articulos/SPLUS/StarGalaxy/AB/tracks_sedEll3_A_0_0.0z0.5_rSDSSzSDSS.txt',(0,1)); plt.plot(gr_Sa[::10],rz_Sa[::10],'-bo');plt.plot(gr_ell[::10],rz_ell[::10],'-ro') z,gr_ell = U.get_data('/Users/albertomolino/doctorado/articulos/SPLUS/StarGalaxy/AB/tracks_sedEll3_A_0_0.0z2.0_gSDSSrSDSS.txt',(0,1));z,rz_ell = U.get_data('/Users/albertomolino/doctorado/articulos/SPLUS/StarGalaxy/AB/tracks_sedEll3_A_0_0.0z2.0_rSDSSzSDSS.txt',(0,1));z,gr_Sa = U.get_data('/Users/albertomolino/doctorado/articulos/SPLUS/StarGalaxy/AB/tracks_sedSa_A_1_0.0z2.0_gSDSSrSDSS.txt',(0,1)); z,rz_Sa = U.get_data('/Users/albertomolino/doctorado/articulos/SPLUS/StarGalaxy/AB/tracks_sedSa_A_1_0.0z2.0_rSDSSzSDSS.txt',(0,1)); plt.plot(gr_Sa[::10],rz_Sa[::10],'-bo');plt.plot(gr_ell[::10],rz_ell[::10],'-ro') plt.xlabel('$g-r$',size=25,labelpad=1) plt.ylabel('$r-z$',size=25,labelpad=1) plt.grid()
#emob = B.e_frac2mag(efob1[ii][:])/float(fob1[ii][:]) plt.figure(1, figsize=(24, 12), dpi=80, facecolor='w', edgecolor='k') plt.clf() bin_labels = [0, 6] base_x = N.linspace(-3.0, 3.0, 300) for ss in range(12): plt.subplot(2, 6, ss + 1) if ss == 0: g_1 = U.greater_equal(mag1, mmin) * U.less_equal(mag1, mmax + 3) else: g_1 = U.greater_equal(mag1, mmin) * U.less_equal(mag1, mmax) dm2_1 = B.flux2mag(fob1[ss][g_1]) - B.flux2mag(ft1[ss][g_1]) emob = B.e_frac2mag(efob1[ss][g_1]) / fob1[ss][g_1] sense_values_1 = N.less(abs(dm2_1), 5.) sense_values_1 *= N.less(abs(emob), 1.) dm2_1, emob2 = U.multicompress(sense_values_1, (dm2_1, emob)) #dm2_1 = N.compress(sense_values_1,dm2_1) valor = base_x * 0. for ii in range(len(emob2)): temporal = A.gaussian(base_x, emob2[ss], 0.00, 1) valor += temporal * temporal valor = N.sqrt(valor) if ss in [0, 1, 2, 3, 4]: basem = basem_low #basem2 = basem2_low
def SEDSEx_noise_comparison222(columns,fluxcomp,m_min,m_max,delta_m): """ fluxcomp = 'master.flux_comparison' columns = 'master.columns' SEDSEx_noise_comparison(columns,fluxcomp,14,21,0.3) """ basem = N.arange(m_min,m_max+delta_m,delta_m) ft,fob,efobs = A.get_fluxes(columns,fluxcomp) filters = B.get_filter_list(columns) nf = len(filters) for ss in range(nf): nband = ss mt = B.flux2mag(ft[:][nband]) mo = B.flux2mag(fob[:][nband]) emo = B.e_frac2mag(efobs[:][nband])/(fob[:][nband]) g = N.less(abs(mo),28) mor,mtr,emor = U.multicompress(g,(mo,mt,emo)) dm = mtr-mor g2 = N.less(abs(dm),1.) mor,mtr,emor = U.multicompress(g2,(mor,mtr,emor)) linea_sdm = U.bin_stats(mor,dm,basem,'std_mad') #SED linea_sem = U.bin_stats(mor,emor,basem,'std_mad') #SEx linea_sem = N.where(linea_sem<1.0e-4,0.0,linea_sem) linea_dm = U.bin_stats(mor,dm,basem,'mean_robust') #SED linea_em = U.bin_stats(mor,emor,basem,'mean_robust') #SEx linea2 = linea_dm+linea_sdm #SED linea1 = linea_sem+linea_em #SEx """ plt.figure(1, figsize = (11,9.5),dpi=80, facecolor='w', edgecolor='k') plt.clf() plt.subplot(211) plt.semilogy(basem,abs(linea_sdm),'r-',basem,linea_sem,'k-',lw=12) plt.legend(['SED','SEx'],loc='lower left',fontsize=30) plt.title('dispersions. Filter %s'%(filters[ss]),size=30) plt.grid() plt.xlim(m_min-delta_m,m_max+delta_m) plt.ylim(0.0001,1.) plt.xticks(fontsize=22) plt.yticks(fontsize=22) # plt.xlabel('magnitude',size=22) plt.ylabel('$\delta m$',size=22) plt.subplot(212) plt.semilogy(basem,abs(linea_dm),'r-',basem,linea_em,'k-',lw=12) #plt.legend(['SED','SEx'],loc='lower left',fontsize=30) plt.title('mean',size=30) plt.grid() plt.xlim(m_min-delta_m,m_max+delta_m) plt.ylim(0.001,1.) plt.xticks(fontsize=22) plt.yticks(fontsize=22) plt.xlabel('magnitude',size=22) plt.ylabel('$\delta m$',size=22) plt.savefig(final_root+'SEDdm1_Filter_%s.png'%(filters[ss])) """ plt.figure(1, figsize = (11,9.5),dpi=80, facecolor='w', edgecolor='k') plt.clf() plt.semilogy(basem,abs(linea_sdm),'r-',basem,linea_sem,'k-',lw=12) plt.semilogy(basem,abs(linea_dm),'r--',basem,linea_em,'k--',lw=12) plt.title('Filter %s'%(filters[ss]),size=30) plt.xlim(m_min-delta_m,m_max+delta_m) plt.ylim(0.0001,1.) plt.xticks(fontsize=22) plt.yticks(fontsize=22) plt.ylabel('$\delta m$',size=22) plt.legend(['$\sigma_{SED}$','$\sigma_{SEx}$','$\mu_{SED}$','$\mu_{SEx}$'],loc='lower left',fontsize=30) plt.grid() plt.xlabel('magnitude',size=22) plt.savefig(final_root+'SEDdm1_Filter_%s.png'%(filters[ss])) plt.figure(2, figsize = (11,9.5),dpi=80, facecolor='w', edgecolor='k') plt.clf() plt.semilogy(basem,abs(linea2),'r-',basem,linea1,'k-',lw=12) plt.legend(['SED','SEx'],loc='lower left',fontsize=30) plt.title('mean+disp. Filter %s'%(filters[ss]),size=30) plt.grid() plt.xlim(m_min-delta_m,m_max+delta_m) plt.ylim(0.01,1.) plt.xticks(fontsize=22) plt.yticks(fontsize=22) plt.xlabel('magnitude',size=22) plt.ylabel('$\delta m$',size=22) plt.savefig(final_root+'SEDdm2_Filter_%s.png'%(filters[ss]))