# Fisher = otherFisher+calcFisher(paramList,ellrange,fidCls,dCls,fnTT,fnEE,fnKK,fsky,verbose=True) # # Get prior sigmas and add to Fisher # priorList = Config.get("fisher","priorList").split(',') # for prior,param in zip(priorList,paramList): # try: # priorSigma = float(prior) # except ValueError: # continue # ind = paramList.index(param) # Fisher[ind,ind] += 1./priorSigma**2. # # get index of mnu and print marginalized constraint # indMnu = paramList.index('mnu') # mnu = np.sqrt(np.linalg.inv(Fisher)[indMnu,indMnu])*1000. # printC("Sum of neutrino masses 1-sigma: "+ str(mnu) + " meV",color="green",bold=True) # mnus.append(mnu) # CLKK S/N ============================================ # Calculate Clkk S/N Clkk = fidCls[:, 4] frange = np.array(range(len(Clkk))) snrange = np.arange(kellmin, kellmax) LF = LensForecast() LF.loadKK(frange, Clkk, ls, Nls) sn, errs = LF.sn(snrange, fsky, "kk") printC("Lensing autopower S/N: " + str(sn), color="green", bold=True) sns.append(sn)
lc2.addNz("s",zedges,dndzs,bias=None,magbias=None,numzIntegral=300) lc2.addStepNz("g",0.4,0.7,bias=2,magbias=None,numzIntegral=300) lc2.generateCls(ellrange,autoOnly=False,zmin=0.) clkk2 = lc2.getCl("cmb","cmb") clss2 = lc2.getCl("s","s") clsk2 = lc2.getCl("cmb","s") clsg2 = lc2.getCl("s","g") clgk2 = lc2.getCl("cmb","g") clgg2 = lc2.getCl("g","g") from orphics.theory.gaussianCov import LensForecast LF = LensForecast() LF.loadSS(ellrange,clsg,30.,shapeNoise=0.3) pl.add(ellrange,LF.Nls['ss'](ellrange),ls="--") lcdm = ellrange cond = np.logical_and(lcdm>100,lcdm<5000) csscdm = clss[cond] cssfdm = clss2[cond] nlss = interp1d(ellrange,LF.Nls['ss'](ellrange))(lcdm[cond]) ells = lcdm[cond] fsky = 0.4 print(("S/N: ",np.sqrt(np.sum((np.sqrt(fsky*(2.*ells+1.)/2.)*(csscdm-cssfdm)/(csscdm+nlss))**2.)))) lcdm,ckkcdm = np.loadtxt(cdmfile,unpack=True) lfdm,ckkfdm = np.loadtxt(fdmfile,unpack=True)
# myNls.updateNoise(beamY,noiseTY,noisePY,tellminY,tellmaxY, \ # pellminY,pellmaxY,beamY=beamX,noiseTY=noiseTX, \ # noisePY=noisePX,tellminY=tellminX,tellmaxY=tellmaxX, \ # pellminY=pellminX,pellmaxY=pellmaxX,lkneesX=lkneeY,alphasX=alphaY, \ # lkneesY=lkneeX,alphasY=alphaX) ls, Nls = myNls.getNl(polComb=polComb, halo=halo) nlfunc = interp1d(ls, Nls, bounds_error=False, fill_value=np.inf) nlnow = nlfunc(kellrange) Nlmvinv += (1. / nlnow) pl.add(ls, 4. * Nls / 2. / np.pi, label=polComb, ls="--") LF = LensForecast() LF.loadKK(kfrange, Clkk, ls, Nls) #kellrange,nlnow) sn, errs = LF.sn(kellrange, fsky, "kk") print((polComb, sn)) pl.add(kfrange, 4. * Clkk / 2. / np.pi) Nlmv = 1. / Nlmvinv pl.add(kellrange, 4. * Nlmv / 2. / np.pi, label="mv", color='black') pl.legendOn(loc='lower right', labsize=12) pl._ax.set_xlim(kellrange.min(), kellrange.max()) pl.done("output/projnl.png") print((ls.shape)) print((Nlmv.shape)) np.savetxt(expX + expY + "_nlmv.txt",
ellrange = np.arange(100, maximum_ell, 40) M500 = 10**14.7 #5.e14 c500 = 1.18 # zlens = 0.5 delta = 500 lc.addNz("gal", z_edges, nz, bias=None, magbias=None, numzIntegral=300) # hack lc.generateCls(ellrange, autoOnly=True, zmin=0.) Clss = lc.getCl("gal", "gal") Clkk = lc.getCl("cmb", "cmb") ls, Nlkk = np.loadtxt("../SZ_filter/data/LA_all_Nl.txt", unpack=True, delimiter=",") LF = LensForecast() LF.loadKK(ellrange, Clkk, ls, Nlkk) sns = [] snsCMB = [] winsGal = [] winsCMB = [] stdsGal = [] stdsCMB = [] import cPickle as pickle mexpgrid, zgrid, errgrid = pickle.load(open("../SZ_filter/data/owl2.pkl", 'rb')) sngrid = 1. / errgrid