[PIPE2D-780] reduceArcs should include all the fibres in the output DetectorMap Created: 15/Mar/21 Updated: 27/Mar/21 Resolved: 24/Mar/21 |
|
| Status: | Done |
| Project: | DRP 2-D Pipeline |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Story | Priority: | Normal |
| Reporter: | rhl | Assignee: | price |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Sprint: | 2DDRP-2021 A3 |
| Reviewers: | hassan |
| Description |
|
When I fit a DifferentialDetectorMap in reduceArc, it only includes the detected fibres, not all of the ones in the base DetectorMap. Paul points out that this is because if a fiber doesn't have any measured lines, we can't measure a slit offset for it, and therefore we don't really know where it is. However, we should assume that slit offsets are measured once and left fixed thereafter as they are a property of the epoxy in the slit and should not change with time. This means that something like reduceArc which updates the DetectorMap shouldn't touch them unless specially requested to do so. We do still have to measure them initially. For broken fibres the values don't matter (in the case of SuNSS the fibres are not broken in DCB data, although fiberId 3 is very faint). For all other fibres when the spectrograph is first delivered we'll take lots of spot data, quartz, arcs, ... and turn on all the "slit offset" options to measure the soon-to-be-fixed values. |
| Comments |
| Comment by price [ 24/Mar/21 ] |
|
DifferentialDetectorMap couldn't include all the fibers because GlobalDetectorModel, which implemented the distortion correction, included fiber offsets as part of the model. This was left over from GlobalDetectorMap, which we are not using any more, so I removed GlobalDetectorMap and the fiber offsets in GlobalDetectorModel, and made it cover all fibers. Here's a demonstration showing that fiber 3 (marked as bad in the pfsConfig) is now present in the detectorMap: reduceArc.py /projects/HSC/PFS/Subaru --calib=/projects/HSC/PFS/Subaru/CALIB-SuNSS --rerun=price/pipe2d-780 --id visit=45743..45746 arm=r -c reduceExposure.isr.doFlat=False -j 5 >>> from pfs.drp.stella import DetectorMap >>> detMap = DetectorMap.readFits("/projects/HSC/PFS/Subaru/rerun/price/pipe2d-780/DETECTORMAP/pfsDetectorMap-045743-r1.fits") >>> detMap.findPoint(3, 800) Point2D(4002.914678, 2070.318358) >>> detMap.getXCenter(3) array([4016.33286104, 4016.31589901, 4016.29895405, ..., 4019.00512576, 4019.02311469, 4019.04113485]) |
| Comment by hassan [ 24/Mar/21 ] |
|
All changes look fine. No additional comments. |
| Comment by price [ 24/Mar/21 ] |
|
Merged. |
| Comment by rhl [ 27/Mar/21 ] |
|
I think it'd be helpful to mention in the closing comment when tickets required changes to pfs.datamodel or lsst.obs.pfs. Yes, I could have read the pull requests.
|
| Comment by hassan [ 27/Mar/21 ] |
|
Valid point. Agreed, Robert. |