#OUTPUT FILES
figout = PdfPages('ninv'+dd+uu+'_poly'+str(npt)+'_'+gom+ss+'.pdf')
fout = open("nalpha"+dd+uu+"_poly"+str(npt)+"_"+gom+ss+".txt","w")
fouts = open("nstd"+dd+uu+"_poly"+str(npt)+"_"+gom+ss+".txt","w")
#==============================================================================

ksp = makeksp(0.15e-4,200.0,1000.0)
psp = readcamb("dr9_full.ztf", ns, 8.0, sigma8_lin, omega_b, omega_c, ksp)
print 'sigmaR =', sigmaR(ksp, psp, 8.0)
psp_c = psp*bias**2.
nk = np.size(ksp)

#spline no wiggle transfer function onto same k-grid as P(k), then apodize
tspnw = spllog(ksp, tnw, knw)
pc = apodize(tspnw, psp_c, ksp, ns, signl_ap)

kcovdex = np.squeeze(np.where(ksp < 1000.0/max(r)))
ksp_c = ksp[kcovdex]
pc = pc[kcovdex]

if(gom == 'gc'):
  npc = np.size(kcovdex)
  stream = calc_stream(ksp_c,npc,beta,par3,'exp')
  pvol = [par0,par1,par2]
  inttot = volint(pvol,pc,npc,stream,nbar,mesh)
  cov = cov00(ksp_c, inttot, kr, r) + par4
  print "Fitting using the Gaussian Covariance matrix..."
  covinv = np.linalg.inv(cov[sub1:sub2,sub1:sub2])
if(gom == 'mc'):
  cov = mcov00("red_norec.txt","red_norec_avg.xi") 
ksp = makeksp(0.15e-4,200.0,1000.0)
psp = readcamb("dr9_full.ztf", ns, 8.0, sigma8_lin, omega_b, omega_c, ksp)
print 'sigmaR =', sigmaR(ksp, psp, 8.0)

k, tt = np.loadtxt(infile[0],unpack=True)
dex = np.squeeze(np.where(k > 0.))
k = k[dex]
psp = spllog(k, psp, ksp)
nk = np.size(k)

#spline no wiggle transfer function onto same k-grid as P(k), then apodize
tspnw = spllog(k, tnw, knw)
#DIVIDE data by pspnw (BAO-less P(k)), pk_mod should already be correctly
#normalized
pspnw, pk_mod = apodize(tspnw, psp, k, ns, snl)

#UNCOMMENT if want model with RSD
#rsd = calc_stream(k, nk, beta, 3.0, 'exp')
#pk_mod = pk_mod*rsd
#np.savetxt("pk_mod_rsd.txt",zip(k,pk_mod))

cov = mcov00("red_norec.txt","red_norec_avg.pk",pspnw)
print "Fitting using the mock Covariance matrix..."
covinv = np.linalg.inv(cov[sub1:sub2,sub1:sub2])

perr = np.zeros(nk)
for i in range(0,nk):
  perr[i] = math.sqrt(cov[i,i])

xib0 = np.zeros((npt+1,nk))