<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">Hi Mireille,<div><br></div><div>In the current draft of the HEA ObsCore note, I access a PSF using</div><div><br></div><div>dataproduct_type = ‘response-function’</div><div>dataproduct_subtype = ‘psf’</div><div><br></div><div>because a PSF is a type of response-function (and there are many types of response function so adding all of these separately as different dataproduct_type would grow the list very significantly. Having said that, using dataproduct_subtype may not be ideal because there is not a vocabulary for the latter defined in ObsCore. In the future, if we were to migrate to a dataproduct_type vocabulary that included all the different types of products then I might do things differently.</div><div><br></div><div>For Chandra, the PSF is dependent on off-axis (theta) and azimuthal (phi) angles relative to the mirror optical axis, and also energy (and the detector can be moved relative to the mirror optical axis so this does not translate to detector coordinates). Note that this also means that the PSF varies significantly across the field of view of a single observation. Trying to query to find a PSF in this manner would require significant enhancements to ObsCore to support non-celestial coordinate systems that will be facility-dependent. However, to identify PSFs associated with a particular source detection in a single observation, one could use a query like (current use case A.1.3)</div><div><br></div><div><p class="p1" style="margin: 0px; font-width: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;">SELECT * FROM ivoa.obscore</p><p class="p1" style="margin: 0px; font-width: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;">WHERE</p></div><div><p class="p1" style="margin: 0px; font-width: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;">(CONTAINS(POINT(s_ra, s_dec), CIRCLE, 83.84358, -5.43639, 0.033333) = 1)</p><p class="p1" style="margin: 0px; font-width: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;">AND (dataproduct_type EQ ‘response-function’)</p><p class="p1" style="margin: 0px; font-width: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;">AND (dataproduct_subtype EQ ‘psf’)</p><p class="p1" style="margin: 0px; font-width: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;">AND (obs_id = ‘4374’)</p><p class="p1" style="margin: 0px; font-width: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;">AND (obs_collection = ‘CSC2’)</p><p class="p1" style="margin: 0px; font-width: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><br></p><p class="p1" style="margin: 0px; font-width: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;">since we have specified both an obs_id and a position on the sky - which for a single observation will map to a specific (theta, phi). This would return all PSFs for different energies for that source detection and observation from CSC release 2. Note that if I didn’t specify the obs_id, I would get PSFs for all of the observations that included that location on the sky (and the different energies) from the catalog. You would need the obs_id to tie them to a specific observation. However, perhaps you want to identify which (if any) observations that include your source have PSFs that are small enough to deblend a nearby source (this can be complicated for Chandra since off-axis PSFs have very complex, asymmetric structures that vary with bth theta and phi).</p><p class="p1" style="margin: 0px; font-width: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><br></p><p class="p1" style="margin: 0px; font-width: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;">We don’t have any extant ObsCore tables for PSFs. I have tried to mock up a conceptual single entry ObsCore table for a Chandra PSF - hopefully it will be helpful. I don’t know that all the values are populated correctly, or even if the table and column values would all validate. </p><p class="p1" style="margin: 0px; font-width: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><br></p><p class="p1" style="margin: 0px; font-width: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"></p></div></body></html>