Skip to content

Commit

Permalink
Merge pull request #13 from des-science/superspreader
Browse files Browse the repository at this point in the history
added superspreader cut
  • Loading branch information
beckermr committed Mar 18, 2023
2 parents ceb4163 + 0c4f210 commit fed02ef
Showing 1 changed file with 36 additions and 3 deletions.
39 changes: 36 additions & 3 deletions des_y6utils/mdet.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ def make_mdet_cuts(data, version, verbose=False):
return _make_mdet_cuts_v2(data, verbose=verbose)
elif str(version) == "3":
return _make_mdet_cuts_v3(data, verbose=verbose)
elif str(version) == "4":
return _make_mdet_cuts_v4(data, verbose=verbose)
else:
raise ValueError("the mdet cut version '%r' is not recognized!" % version)

Expand All @@ -57,7 +59,7 @@ def _make_mdet_cuts_gauss(
msk : np.ndarray of bool
A boolean array with the cuts. To cut the data, use `data[msk]`.
"""
msk = _make_mdet_cuts_raw_v3(
msk = _make_mdet_cuts_raw_v34(
data,
verbose=verbose,
min_s2n=min_s2n,
Expand Down Expand Up @@ -172,7 +174,7 @@ def _make_mdet_cuts_v2(d, verbose=False):

def _make_mdet_cuts_v3(d, verbose=False):

msk = _make_mdet_cuts_raw_v3(
msk = _make_mdet_cuts_raw_v34(
d,
verbose=verbose,
min_s2n=10,
Expand All @@ -195,6 +197,36 @@ def _make_mdet_cuts_v3(d, verbose=False):
return msk


def _make_mdet_cuts_v4(d, verbose=False):

msk = _make_mdet_cuts_raw_v34(
d,
verbose=verbose,
min_s2n=10,
n_terr=0,
min_t_ratio=0.5,
max_mfrac=0.1,
max_s2n=np.inf,
max_t=np.inf,
)

size_sizeerr = (d['gauss_T_ratio']*d['gauss_psf_T']) * d['gauss_T_err']
size_s2n = (d['gauss_T_ratio']*d['gauss_psf_T']) / d['gauss_T_err']
msk_superspreader = ((size_sizeerr > 1) & (size_s2n < 10))
msk &= ~msk_superspreader

# apply the mask
hmap = _read_hsp_mask(
"y6-combined-hleda-gaiafull-des-stars-hsmap16384-nomdet-v2.fits"
)
in_footprint = hmap.get_values_pos(d["ra"], d["dec"], valid_mask=True)
msk &= in_footprint
if verbose:
print("did mask cuts", np.sum(msk))

return msk


def _compute_asinh_mags(flux, i):
"""This function and coefficients are from from Eli. Ask him.
Expand Down Expand Up @@ -381,7 +413,7 @@ def _make_mdet_cuts_raw_v12(
return msk


def _make_mdet_cuts_raw_v3(
def _make_mdet_cuts_raw_v34(
d,
*,
min_s2n,
Expand Down Expand Up @@ -459,6 +491,7 @@ def _make_mdet_cuts_raw_v3(
)
& ((d["gauss_T_ratio"] * d["gauss_psf_T"]) < max_t)
)

if verbose:
print("did mdet cuts", np.sum(msk))

Expand Down

0 comments on commit fed02ef

Please sign in to comment.