Details
-
Type:
Bug
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: ap_association, ap_pipe, ap_verify, ip_diffim
-
Labels:None
-
Story Points:16
-
Epic Link:
-
Sprint:AP F21-1 (June), AP F21-2 (July)
-
Team:Alert Production
-
Urgent?:No
Description
Per DM with Eric Bellm, our source count metrics should be agnostic to whether or not we are running fakes processing. However, the pipeline does not distinguish between fake and natural sources; even ProcessCcdWithFakesTask forgets this information as soon as it modifies the image. There is a FAKE mask plane and corresponding catalog flags, but these flags are not suitable for source filtering.
The current best way to identify fake sources is to cross-match them to the original fakes catalog, as is done for the existing fakes metrics. This is adds a dependency on a dataset that does not exist in non-fakes pipelines, though this can be turned on and off in pipeline configurations at the ap_verify level. Add support for such cross-matching to the existing metrics, preferably in a way that leaves the Diffim and SFP metrics portable across pipelines.
I've encountered a problem with the four ap_association metrics affected by this issue. Three of these, numNewDiaObjects, numUnassociatedDiaObjects, and fracUpdatedDiaObjects, are actually computed by AssociationTask during the matching process. To support these with my current approach, I'd have to cross-match the fakes to both the DIASources and the DIAObjects (separately from the "official" match to associated DIASources, which must be run after AssociationTask), then pass both sets of matches into DiaPipelineTask and thence to AssociationTask.
While I can do this, it would be a very intrusive change to ap_association. On the other hand, I don't see a way to compute these three metrics from only data products; you can tell that a DIAObject was associated with a DIASource, but the new/updated distinction requires knowledge of the association order.
Chris Morrison [X], do you know of some other way to figure out which DIASources/DIAObjects are fakes within AssociationTask?