### Get baselines and errors epsilon = 0.7 * 0.7 #focal plane integration + optical efficiency) clf() subplot(2,1,1) xlim(-300,300) ylim(-300,300) xlabel('$u$') ylabel('$v$') subplot(2,1,2) ylim(0,1) ylabel('$N_{eq}(\ell)/N_h$') xlabel('$\ell$') #### initial ellav, deltacl, noisevar, samplevar, neq_nh, nsig, baselines = qubic_sensitivity.give_qubic_errors(inst, ellbins, lll, spectra[3], nu=150e9, epsilon=epsilon,net_polar=NET150, plot_baselines=True, symplot='ro') bs, ellbs, bs_unique, ellbs_unique, nbs_unique = baselines lmax = 1200 dl = 40 ellmin = np.arange(lmax/dl)*dl ellmax = np.arange(lmax/dl)*dl+dl ellav = 0.5 * (ellmin + ellmax) ntot = np.zeros(len(ellav)) for i in np.arange(len(ellmin)): msk = (ellbs_unique > ellmin[i]) & (ellbs_unique <= ellmax[i]) ntot[i] = np.sqrt( np.sum( nbs_unique[msk]**2 )) nh = len(inst.horn)
######################################### No constraint on window size ########### Do the loop with semi-analytical mini = 0. nn = 4 maxi = nn*inst.horn.spacing nb = 20*nn+1 shifts0 = np.linspace(mini,maxi,nb) valnbsig=np.zeros(nb) epsilon = 0.7 * 0.7 #focal plane integration + optical efficiency) ellbins = np.array([50.,150.]) for i in xrange(nb): print(i) ### Semi-analytical errors ellav, deltacl2, noisevar2, samplevar2, neq_nh2, nsig2, bs2= qubic_sensitivity.give_qubic_errors(shift_inst(shifts0[i]), ellbins, lll, spectra[3], nu=150e9, epsilon=epsilon,net_polar=NET150) valnbsig[i] = nsig2 ############ Loop with synthesized beam no bw nbshift = 20 shifts = linspace(0,0.05,nbshift) cl=[] for i in xrange(nbshift): print(i) inst_shift = shift_inst(shifts[i]) sb_shift = inst_shift.get_synthbeam_healpix_from_position(scene, 0, 0) cl.append(hp.anafast(sb_shift)) mm = np.zeros(nbshift) ss = np.zeros(nbshift)
### Get baselines and errors epsilon = 0.7 * 0.7 #focal plane integration + optical efficiency) clf() subplot(2,1,1) xlim(-300,300) ylim(-300,300) xlabel('$u$') ylabel('$v$') subplot(2,1,2) ylim(0,1) ylabel('$N_{eq}(\ell)/N_h$') xlabel('$\ell$') #### initial ellav, deltacl, noisevar, samplevar, neq_nh, nsig, bs= qubic_sensitivity.give_qubic_errors(inst, ellbins, lll, spectra[3], nu=150e9, epsilon=epsilon,net_polar=NET150, plot_baselines=True, symplot='ro') #### shifted ellav, deltacl2, noisevar2, samplevar2, neq_nh2, nsig2, bs2= qubic_sensitivity.give_qubic_errors(shift_inst(0.01), ellbins, lll, spectra[3], nu=150e9, epsilon=epsilon,net_polar=NET150, plot_baselines=True, symplot='bo') mini = 0. nn = 4 maxi = nn*inst.horn.spacing nb = 20*nn+1 theshift = np.linspace(mini,maxi,nb) valnbsig = np.zeros(nb) for i in xrange(nb): print(i) ellav, deltacl2, noisevar2, samplevar2, neq_nh2, nsig2= qubic_sensitivity.give_qubic_errors(shift_inst(theshift[i]), ellbins, lll, spectra[3], nu=150e9, epsilon=epsilon,net_polar=NET150)
### Get baselines and errors epsilon = 0.7 * 0.7 #focal plane integration + optical efficiency) clf() subplot(2,1,1) xlim(-300,300) ylim(-300,300) xlabel('$u$') ylabel('$v$') subplot(2,1,2) ylim(0,1) ylabel('$N_{eq}(\ell)/N_h$') xlabel('$\ell$') #### 150 GHz ellav, deltacl150, noisevar150, samplevar150, neq_nh150, nsig150, bs150= qubic_sensitivity.give_qubic_errors(inst, ellbins, lll, spectra[3], nu=150e9, epsilon=epsilon,net_polar=NET150, plot_baselines=True, symplot='ro') #### 220 GHz ellav, deltacl220, noisevar220, samplevar220, neq_nh220, nsig220, bs220= qubic_sensitivity.give_qubic_errors(inst, ellbins, lll, spectra[3], nu=220e9, epsilon=epsilon,net_polar=NET220, plot_baselines=True, symplot='bo') #### 150*220 samplevar150x220 = np.sqrt(samplevar150*samplevar220) noisevar150x220 = np.sqrt(noisevar150*noisevar220) deltacl150x220 = samplevar150x220 + noisevar150x220 #### S/N spec = np.interp(ellav, lll, spectra[3]*(lll*(lll+1))/(2*np.pi)) nbsig150 = np.sqrt(np.sum(spec**2/(deltacl150*(ellav*(ellav+1))/(2*np.pi))**2)) nbsig220 = np.sqrt(np.sum(spec**2/(deltacl220*(ellav*(ellav+1))/(2*np.pi))**2))