import numpy as np
import sys
from yt.mods import *
from yt.analysis_modules.halo_finding.api import *
import glob
import re
import commands

dlist = glob.glob('RD00??')
dlist.sort()
#output = int(re.sub(r'\D',"",fn))
for folder in dlist:
  n = int(re.sub(r'\D',"",folder))
  #if n > 5 :continue
  if glob.glob(folder+'/PopIII_haloes.txt') !=[]: continue
  f=open(folder+'/PopIII_haloes_%04i_type5.txt'%n,'r')
  f1=open(folder+'/PopIII_haloes_%04i_type1.txt'%n,'r')
  f2=open(folder+'/Overlaped_haloes_list.txt','r')
  overlaped=[]
  line=f2.readline()
  while line !='':
   overlaped.append(int(line))
   line=f2.readline()
  fo = open(folder+'/PopIII_haloes.txt','w')
  line = f.readline()
  line1 = f1.readline()
  j=0
  while line !='':
   mass = line.split()[1]
   line = f.readline()
   line1 = f1.readline()
   pn = line.split()[0] 
   pn1 = line1.split()[0]
   m0 = [];m1 = []  # m0 for renmants m1 for living stars
   for i in xrange(int(pn)):
     line=f.readline()
     starmass = float(line.split()[1])
     if starmass > 1e20: 
         starmass=starmass/1e20
         if starmass > 5:
            m1.append(starmass)
     elif starmass > 5:
        m0.append(starmass)
   for i in xrange(int(pn1)):
     line1=f1.readline()
     starmass = float(line1.split()[1])
     if starmass > 5:
       m0.append(starmass)
   if len(m0) == 0: 
      pm = 0; pms =0
   else:
      pm=np.array(m0).mean()
      pms=np.array(m0).std()
   if len(m1) == 0:
      pm1 = 0; pms1 =0
   else:
      pm1=np.array(m1).mean()
      pms1=np.array(m1).std()
   if j not in overlaped:
      fo.write(str(mass)+" "+str(len(m0))+" "+str(pm)+" "+str(pms)+" "+str(len(m1))+" "+str(pm1)+" "+str(pms1)+"\n")
   f.readline();f.readline();f1.readline();f1.readline()
   line = f.readline()
   line1 = f1.readline()
   j=j+1
  f.close()
  f1.close()
  fo.close()

