import numpy as np
import glob
import pylab as P

fo=open('Luminosity_Vband.out','w')
for i in xrange(16000):
 if glob.glob('halo%05i.out'%i) ==  []:continue
 f=open('halo%05i.out'%i,'r')
 L=[]
 WL=[]
 for line in f:
    L.append(float(line.split()[1]))
    WL.append(float(line.split()[0]))
 f.close()
 sumL=0.0;sumLV=0.0
 jj=0
 for j,Li in enumerate(L):
    if np.logical_and(WL[j]<5510.0+880.0/2,WL[j]>5510.0-880.0/2):
       jj=jj+1
       sumLV=sumLV+Li
    if np.logical_and(j>0,j<len(L)-1):
       sumL=sumL+0.5*(WL[j+1]-WL[j-1])*Li
    elif j==0:
       sumL=sumL+(WL[j+1]-WL[j])*Li
    elif j==len(L)-1:
       sumL=sumL+(WL[j]-WL[j-1])*Li
 sumLV=sumLV/jj
 Lf=(5510/1.0e8)**2/3.0e10*sumLV*1.0e8*3.846e33
 MV = -5.0/2.0*np.log10(Lf/(4.0*3.14*(10.0*3.086e18)**2)/3631.0e-23)
 sumLV=sumLV*880.0
 #print sumL,4.74-2.5*np.log10(sumL)
 fo.write(str(i)+" "+str(sumL)+" "+str(sumLV)+" "+str(4.74-2.5*np.log10(sumL))+" "+str(MV)+" "+str(10**((MV-4.0384)/-2.5))+"\n")

fo.close()
  
#f=open('Luminosity.out','r')
#L=[]
#for line in f:
#    L.append(float(line.split()[2]))

#f.close()
#L=np.array(L)
#xmin = -20
#xmax = -5
#bin = 15
#n, bins, patches = P.hist(L, bin,range=(xmin,xmax), normed=0, histtype='step',log=1) 
#P.setp(patches, 'facecolor', 'g', 'alpha', 0.75)
#P.savefig('LF.png')
#f=open('LF.txt','w')
#conv=1.0/(xmax-xmin)*bin/(6*6*6.125)
#for M,ni in zip(bins,n):
#    f.write(str(M)+" "+str(ni*conv)+"\n") 

#f.close()
   
