Ejemplo n.º 1
0
def R_wimp(E_th,E_max,m_chi,sigma_p=1.0e-45,\
                Nuc=Params.Ar40,Loc=Params.GranSasso,\
                HaloModel=Params.SHM,eff_on=False,eres_on=False):
    nfine = 1000
    Efine = logspace(-3.0, log10(200.0), nfine)
    DM = Params.WIMP(m_chi, sigma_p)

    # Calculate rate at day=67 to get ~average
    dR = dRdE_wimp(Efine, array([(Jan1 + 67.0)]), DM, HaloModel, Nuc, Loc)

    # Correct for efficiency
    if eff_on:
        dR *= LabFuncs.efficiency(Nuc, Efine)

    # Smear by energy resolution
    # if eres_on:
    #     dR = SmearE(Efine,dR,energyresolution(Nuc,Efine))

    # Window
    mask = (Efine < E_max) & (Efine > E_th)
    R = trapz(dR[mask], Efine[mask])
    return R
Ejemplo n.º 2
0
def R_Indiv(s, E_th, E_max, Nuc=Params.Ar40, eff_on=False, eres_on=False):
    nfine = 1000
    Efine = logspace(-3.0, log10(200.0), nfine)

    # Load nu flux
    data = loadtxt(nufile_dir + nuname[s] + nufile_root, delimiter=',')
    E_nu = data[:, 0]
    Flux = NuFlux[s] * data[:, 1]

    sol = False
    dR = dRdE_nu(Efine, Jan1 * ones(shape=nfine), sol, E_nu, Flux, Nuc=Nuc)
    # Correct for efficiency
    if eff_on:
        dR *= LabFuncs.efficiency(Nuc, Efine)

    # Smear by energy resolution
    # if eres_on:
    #     dR = SmearE(Efine,dR,energyresolution(Nuc,Efine))

    # Window
    mask = (Efine < E_max) & (Efine > E_th)
    R = trapz(dR[mask], Efine[mask])
    return R