When I’m selecting Object IDs in my query, I find that there are a lot of objects that do not have any values for r_psfFluxNdata, r_scienceFluxMean, r_psfFluxLinearSlope, r_psfFluxMax, and r_psfFluxMin, but when I read their psfFlux from ForcedSourceOnDiaObject table, I see they have r band flux measurements. An example is object ID = 612929147815070120.
In the tutorial notebook, “306_2_Candidate_transient_identification”, to find SN Ia’s, there are conditions applied to r_psfFluxNdata, r_scienceFluxMean, r_psfFluxLinearSlope, r_psfFluxMax, and r_psfFluxMin which would automatically remove all the objects that do not have these values like 612929147815070120. Is it safe to ignore objects that do not have values for r_psfFluxNdata, r_scienceFluxMean, r_psfFluxLinearSlope, r_psfFluxMax, and r_psfFluxMin, eventough they have r band measurements in the ForcedSourceOnDiaObject table?
I used the query in the “306_2_Candidate_transient_identification” tutorial to get obiect IDs at ra=95 and dec=-25.
The ForcedSourceOnDiaObject table contains forced photometry in every image that overlaps the RA, Dec position of each diaObject. However, to have an entry in the DiaObject table, an object needed only to be detected in a single difference image (in any band). So taking the diaObjectId you gave as an example, I see that there is only a single entry in the DiaSource table, meaning it was only detected in a single difference image (in g-band). But the forced photometry is then performed on all possible images in all bands.
The choice of whether you want to filter on {band}_psfFluxNdata would thus depend on your science case. In the 306.2 tutorial, the goal was to find something that was detected in multiple difference images, so the cut on r_psfFluxNdata makes sense, but I can certainly imagine cases where you would not want that cut.
As noted, the presence of r-band entries in the ForcedSourceOnDiaObject table only means that at some time during the DP1 survey there was an r-band image taken covering the location of a DiaObject (which itself only exists because of a statistically significant image subtraction difference at that point in some image in some band - g in the case above).
But then in the rows in the ForcedSourceOnDiaObject table you will find both psfFlux and psfDiffFlux . Remember that there’s a decent chance to get a positive or even statistically significant psfFlux at any random place in the sky – it’s the flux at that point in the unsubtracted image, and the sky is pretty crowded at the Rubin single-visit depth. If you’re looking for low-significance signs of transient behavior in bands other than the one in which the DiaObject detection was made, you might want to be looking at the psfDiffFlux, which is computed on the difference image.