desihub / desispec

DESI spectral pipeline
BSD 3-Clause "New" or "Revised" License
33 stars 24 forks source link

Jura bad fibers 551-553 due to z1 CTE edge effects #2286

Open sbailey opened 5 days ago

sbailey commented 5 days ago

Rongpu identified fibers 551,552,553 as having bad ELG N(z) distributions in Jura when they looked fine in Iron. @schlafly this appears to be due to an edge effect in the CTE corrections added for Jura. Doing a deep dive on night=20220102, expid=116442, tileid=1269, camera=z1 comparing the raw extracted flux (jura-iron): image

Zooming in around fibers 551-553: image

There is a bigger impact on the redshifts for those 3 fibers because smaller ranges of their wavelengths are CTE corrected, leading to steps in the spectra, where the non-CTE-corrected Iron (blue) is more correct than Jura (orange): image

It's unclear to me whether the true step is in the original extracted spectra (dominated by sky), or whether there is some additional effect having to do with building a sky model from fibers with and without CTE correction and subtracting a bad sky step.

@schlafly can you dig into the CTE correction for this camera and this edge effect?

sbailey commented 4 days ago

Another note: the difference Jura-Iron also clearly shows the bundle structure of the fibers, but it is odd that on the leading edge it impacts 3 fibers in a "diagonal" way but in all other bundle edges it impacts only the first fiber of each bundle. I think there could be some legitimate bundle structure that appears in the "true" CTE correction, but this smells like there might be a bug/bias/fragility in the first-pass extractions that are used to make the CTE corrections.

schlafly commented 4 days ago

Ugh, I don't think this is going to have a clean fix. FWIW, the first pixel in the correction is fixed in CCD space (i.e., corresponds to a row of CCD pixels on the device). Meanwhile the bundle edges correspond to a fiber, and so aren't fixed in CCD space.

It is true that the first pixel is different from other pixels in that one gets to pick if the trap starts full or empty or what. I guess I have a little flexibility to play around there.