Skip to content

Commit

Permalink
Fix instrument specializations of ApVerifyWithFakes.
Browse files Browse the repository at this point in the history
The instrument specializations ran the generic ApPipe instead of the
instrument-specific ApPipe. This prevented DECam from correctly
handling crosstalk. The same splice for the other instruments is purely
defensive, since right now they don't need any customization.
  • Loading branch information
kfindeisen committed Aug 19, 2024
1 parent 8f5c408 commit 87b02de
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 1 deletion.
28 changes: 28 additions & 0 deletions pipelines/DECam/ApVerifyWithFakes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,31 @@ instrument: lsst.obs.decam.DarkEnergyCamera
description: Fully instrumented AP pipeline with fakes, specialized for DECam
imports:
- location: $AP_VERIFY_DIR/pipelines/_ingredients/ApVerifyWithFakes.yaml
# Include all metrics from standard pipeline. It's not practical to create
# a metrics subset because it would require constant micromanagement.
exclude:
- apPipe
- location: $AP_PIPE_DIR/pipelines/DECam/ApPipeWithFakes.yaml
tasks:
# ApVerify override removed by excluding apPipe.
diaPipe:
class: lsst.ap.association.DiaPipelineTask
config:
doPackageAlerts: True
alertPackager.doWriteAlerts: True
contracts:
# Contracts removed by excluding apPipe
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCompletenessMag20t22.connections.ConnectionsClass(config=apFakesCompletenessMag20t22).matchedFakes.name
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCompletenessMag22t24.connections.ConnectionsClass(config=apFakesCompletenessMag22t24).matchedFakes.name
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCompletenessMag24t26.connections.ConnectionsClass(config=apFakesCompletenessMag24t26).matchedFakes.name
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCountMag20t22.connections.ConnectionsClass(config=apFakesCountMag20t22).matchedFakes.name
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCountMag22t24.connections.ConnectionsClass(config=apFakesCountMag22t24).matchedFakes.name
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCountMag24t26.connections.ConnectionsClass(config=apFakesCountMag24t26).matchedFakes.name
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCount.connections.ConnectionsClass(config=apFakesCount).matchedFakes.name
30 changes: 29 additions & 1 deletion pipelines/HSC/ApVerifyWithFakes.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,35 @@
# Verification pipeline specialized for HSC, with fak source injection.
# Verification pipeline specialized for HSC, with fake source injection.
# This concatenates various lsst.verify metrics to an AP pipeline

instrument: lsst.obs.subaru.HyperSuprimeCam
description: Fully instrumented AP pipeline with fakes, specialized for HSC
imports:
- location: $AP_VERIFY_DIR/pipelines/_ingredients/ApVerifyWithFakes.yaml
# Include all metrics from standard pipeline. It's not practical to create
# a metrics subset because it would require constant micromanagement.
exclude:
- apPipe
- location: $AP_PIPE_DIR/pipelines/HSC/ApPipeWithFakes.yaml
tasks:
# ApVerify override removed by excluding apPipe.
diaPipe:
class: lsst.ap.association.DiaPipelineTask
config:
doPackageAlerts: True
alertPackager.doWriteAlerts: True
contracts:
# Contracts removed by excluding apPipe
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCompletenessMag20t22.connections.ConnectionsClass(config=apFakesCompletenessMag20t22).matchedFakes.name
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCompletenessMag22t24.connections.ConnectionsClass(config=apFakesCompletenessMag22t24).matchedFakes.name
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCompletenessMag24t26.connections.ConnectionsClass(config=apFakesCompletenessMag24t26).matchedFakes.name
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCountMag20t22.connections.ConnectionsClass(config=apFakesCountMag20t22).matchedFakes.name
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCountMag22t24.connections.ConnectionsClass(config=apFakesCountMag22t24).matchedFakes.name
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCountMag24t26.connections.ConnectionsClass(config=apFakesCountMag24t26).matchedFakes.name
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCount.connections.ConnectionsClass(config=apFakesCount).matchedFakes.name
28 changes: 28 additions & 0 deletions pipelines/LSSTCam-imSim/ApVerifyWithFakes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,31 @@ instrument: lsst.obs.lsst.LsstCamImSim
description: Fully instrumented AP pipeline with fakes, specialized for LSSTCam-imSim
imports:
- location: $AP_VERIFY_DIR/pipelines/_ingredients/ApVerifyWithFakes.yaml
# Include all metrics from standard pipeline. It's not practical to create
# a metrics subset because it would require constant micromanagement.
exclude:
- apPipe
- location: $AP_PIPE_DIR/pipelines/LSSTCam-imSim/ApPipeWithFakes.yaml
tasks:
# ApVerify override removed by excluding apPipe.
diaPipe:
class: lsst.ap.association.DiaPipelineTask
config:
doPackageAlerts: True
alertPackager.doWriteAlerts: True
contracts:
# Contracts removed by excluding apPipe
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCompletenessMag20t22.connections.ConnectionsClass(config=apFakesCompletenessMag20t22).matchedFakes.name
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCompletenessMag22t24.connections.ConnectionsClass(config=apFakesCompletenessMag22t24).matchedFakes.name
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCompletenessMag24t26.connections.ConnectionsClass(config=apFakesCompletenessMag24t26).matchedFakes.name
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCountMag20t22.connections.ConnectionsClass(config=apFakesCountMag20t22).matchedFakes.name
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCountMag22t24.connections.ConnectionsClass(config=apFakesCountMag22t24).matchedFakes.name
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCountMag24t26.connections.ConnectionsClass(config=apFakesCountMag24t26).matchedFakes.name
- injectedMatch.connections.ConnectionsClass(config=injectedMatch).matchedDiaSources.name ==
apFakesCount.connections.ConnectionsClass(config=apFakesCount).matchedFakes.name

0 comments on commit 87b02de

Please sign in to comment.