Example #1
0
def myloglike_BaKa2016_EOSFit(cube, ndim, nparams):

    t0 = cube[0]
    m1 = cube[1]
    c1 = cube[2]
    m2 = cube[3]
    c2 = cube[4]
    zp = cube[5]

    mb1 = lightcurve_utils.EOSfit(m1,c1)
    mb2 = lightcurve_utils.EOSfit(m2,c2)

    tmag, lbol, mag = BaKa2016_model(m1,mb1,c1,m2,mb2,c2)

    prob = calc_prob(tmag, lbol, mag, t0, zp)
    prior = prior_DiUj2017(m1,mb1,c1,m2,mb2,c2)
    if prior == 0.0:
        prob = -np.inf

    return prob
Example #2
0
def myloglike_SmCh2017_EOSFit(cube, ndim, nparams):

    t0 = cube[0]
    m1 = cube[1]
    c1 = cube[2]
    m2 = cube[3]
    c2 = cube[4]
    slope_r = cube[5]
    kappa_r = 10**cube[6]
    zp = cube[7]

    mb1 = lightcurve_utils.EOSfit(m1,c1)
    mb2 = lightcurve_utils.EOSfit(m2,c2)

    tmag, lbol, mag = SmCh2017_model(m1,mb1,c1,m2,mb2,c2,slope_r,kappa_r)

    prob = calc_prob(tmag, lbol, mag, t0, zp)
    prior = prior_DiUj2017(m1,mb1,c1,m2,mb2,c2)
    if prior == 0.0:
        prob = -np.inf

    return prob
Example #3
0
def myloglike_KaKy2016_EOSFit(cube, ndim, nparams):
    t0 = cube[0]
    q = cube[1]
    chi_eff = cube[2]
    mns = cube[3]
    c = cube[4]
    th = cube[5]
    ph = cube[6]
    zp = cube[7]

    mb = lightcurve_utils.EOSfit(mns,c)

    tmag, lbol, mag = KaKy2016_model(q, chi_eff, mns, mb, c, th, ph)

    prob = calc_prob(tmag, lbol, mag, t0, zp)
    prior = prior_KaKy2016(q,chi_eff,mns,mb,c)
    if prior == 0.0:
        prob = -np.inf

    return prob
Example #4
0
    snr = data_out[:, 1]
    m1 = data_out[:, 2]
    m2 = data_out[:, 3]
    q = 1 / data_out[:, 4]
    eff_spin = data_out[:, 5]
    totmass = data_out[:, 6]
    a1 = data_out[:, 7]
    a2 = data_out[:, 8]

    for ii in xrange(len(injnum)):
        if not ((q[ii] >= 3) and (q[ii] <= 9)): continue
        if not ((m2[ii] >= 1) and (m2[ii] <= 3)): continue
        #if not ((q[ii] >= 3) and (q[ii] <=5)): continue

        c1, c2 = 0.147, 0.147
        mb1, mb2 = lightcurve_utils.EOSfit(m1[ii],
                                           c1), lightcurve_utils.EOSfit(
                                               m2[ii], c2)
        th = 0.2
        ph = 3.14

        t, lbol, mag = KaKy2016_model(q[ii], a1[ii], m2[ii], mb2, c2, th, ph)
        #print q[ii],a1[ii],m2[ii],mb2,c2,th,ph
        if len(mag) == 0: continue
        idx = np.where(np.isfinite(mag[2]))[0]

        if opts.doEOSFit:
            eosfitFlag = "--doEOSFit"
        else:
            eosfitFlag = ""

        if opts.doEjecta:
Example #5
0
            eta = lightcurve_utils.q2eta(np.mean(data_out["q"]))
            m1, m2 = lightcurve_utils.mc2ms(np.mean(data_out["mc"]), eta)
            mchirp, eta, q = lightcurve_utils.ms2mc(m1, m2)
            q = 1 / q

        else:
            eta = lightcurve_utils.q2eta(data_out["q"])
            m1, m2 = lightcurve_utils.mc2ms(data_out["mc"], eta)
            q = m2 / m1
            mc = data_out["mc"]

            m1, m2 = np.mean(m1), np.mean(m2)
            chi_eff = 0.0

        c1, c2 = 0.147, 0.147
        mb1, mb2 = lightcurve_utils.EOSfit(m1, c1), lightcurve_utils.EOSfit(
            m2, c2)
        th = 0.2
        ph = 3.14

        if m1 > 3:
            from gwemlightcurves.EjectaFits.KaKy2016 import calc_meje, calc_vave
            mej = calc_meje(q, chi_eff, c2, mb2, m2)
            vej = calc_vave(q)

        else:
            from gwemlightcurves.EjectaFits.DiUj2017 import calc_meje, calc_vej
            mej = calc_meje(m1, mb1, c1, m2, mb2, c2)
            vej = calc_vej(m1, c1, m2, c2)

        filename = os.path.join(plotDir, 'truth_mej_vej.dat')
Example #6
0
                q_true = 1/q_true

        multifile = lightcurve_utils.get_post_file(plotDir)

        if not multifile: continue
        data = np.loadtxt(multifile)

        post[name][errorbudget] = {}
        if opts.doGoingTheDistance or opts.doMassGap:
            if opts.model == "DiUj2017":
                if opts.doEOSFit:
                    mchirp_gw,eta_gw,q_gw = lightcurve_utils.ms2mc(data[:,0],data[:,2])
                    mej_gw, vej_gw = np.zeros(data[:,0].shape), np.zeros(data[:,0].shape)
                    ii = 0
                    for m1,c1,m2,c2 in data[:,:-1]:
                        mb1 = lightcurve_utils.EOSfit(m1,c1)
                        mb2 = lightcurve_utils.EOSfit(m2,c2)
                        mej_gw[ii], vej_gw[ii] = bns_model(m1,mb1,c1,m2,mb2,c2)
                        ii = ii + 1
                else:
                    mchirp_gw,eta_gw,q_gw = lightcurve_utils.ms2mc(data[:,0],data[:,3])
                    mej_gw, vej_gw = np.zeros(data[:,0].shape), np.zeros(data[:,0].shape)
                    ii = 0
                    for m1,mb1,c1,m2,mb2,c2 in data[:,:-1]:
                        mej_gw[ii], vej_gw[ii] = bns_model(m1,mb1,c1,m2,mb2,c2)
                        ii = ii + 1
                q_gw = 1/q_gw
                mej_gw = np.log10(mej_gw)
            elif opts.model == "KaKy2016":
                if opts.doEOSFit:
                    mchirp_gw,eta_gw,q_gw = lightcurve_utils.ms2mc(data[:,0]*data[:,2],data[:,2])