In [1]:
import re
import numpy as np

In [98]:
f = open("Mr18-wp-newhalos.o8801566" , "r")

In [18]:
ls /export/bbq2/mj/chains/output/*


/export/bbq2/mj/chains/output/hod-Mr20.o8379373
/export/bbq2/mj/chains/output/hod-Mr21.o8358317
/export/bbq2/mj/chains/output/Mr18.5-wphod-newhalos.o8802223
/export/bbq2/mj/chains/output/Mr18.5-wp-newhalo.o8802103
/export/bbq2/mj/chains/output/Mr18-wphod-newhalo.o8802082
/export/bbq2/mj/chains/output/Mr18-wp-newhalos.o8801566
/export/bbq2/mj/chains/output/Mr19.5-f.o8537589
/export/bbq2/mj/chains/output/Mr19.5-hod.o8669104
/export/bbq2/mj/chains/output/Mr19-f.o8500704
/export/bbq2/mj/chains/output/Mr19-hod.o8620009
/export/bbq2/mj/chains/output/Mr20.5-hod.o8813112
/export/bbq2/mj/chains/output/Mr20.5-wp.o8813111
/export/bbq2/mj/chains/output/Mr20-f.o8500637
/export/bbq2/mj/chains/output/Mr21-f.o8500727

In [23]:
def lmax(filename):
    f = open(filename , "r")
    res = []
    for l in f.readlines():
        res.append(l)
    nll = []    
    for l in res:
        if len(re.findall("-\d+\.\d+" , l))>0:
            if np.float(re.findall("-\d+\.\d+" , l)[0]) < 0:
                if np.float(re.findall("-\d+\.\d+" , l)[0])<-1.:
                    #if np.float(re.findall("-\d+\.\d+" , l)[0]) -3.55501332702 < -0.1:
                    nll.append(-2.*np.float(re.findall("-\d+\.\d+" , l)[0]))
    return np.min(np.array(nll))

In [24]:
def ic(filename , model = "dec"):
    
    chimin = lmax(filename)
    if model == "dec":
        npar  = 7
    if model == "hod":
        npar = 5
    ndata = 13
    
    score_bic = chimin + npar * np.log(ndata)
    score_aic = chimin + 2.*npar + (2.*npar)*(npar + 1.)/(ndata - npar -1)
    
    return score_bic , score_aic

In [16]:
l = lmax("/export/bbq2/mj/chains/output/Mr18.5-wp-newhalo.o8802103")

In [19]:
print l


5.93745698134

In [20]:
l = lmax("/export/bbq2/mj/chains/output/Mr18.5-wphod-newhalos.o8802223")

In [21]:
print l


6.3637704706

In [26]:
ic("/export/bbq2/mj/chains/output/Mr18.5-wphod-newhalos.o8802223" , "hod")


Out[26]:
(19.188517257907684, 24.935199042028572)

In [ ]:
ic()