.. _SIRLocationTable: Location Table Product ---------------------- Metadata ______________________ +--------------------------------------------+----------------------------------------------------------------------------------------------+ | Data product name | DpdSirLocationTable | +--------------------------------------------+----------------------------------------------------------------------------------------------+ | Data product custodian | SIR | +--------------------------------------------+----------------------------------------------------------------------------------------------+ | Name of the Schema file | .. raw:: html | | | | | | `euc-sir-LocationTable.xsd `_ | +--------------------------------------------+----------------------------------------------------------------------------------------------+ | Processing function using the data product | SIR | +--------------------------------------------+----------------------------------------------------------------------------------------------+ Proposed for inclusion in EAS/SAS ================================= This product is proposed for inclusion in the SAS: no This is an internal Data Product. Data product elements ===================== +--------------+----------------------------------------------+ | Header | object of type sys:genericHeader | +--------------+----------------------------------------------+ | Data | object of type sir:genericSirCollection | +--------------+----------------------------------------------+ | QualityFlags | object of type dqc:sqfPlaceHolder | +--------------+----------------------------------------------+ | Parameters | object of type ppr:genericKeyValueParameters | +--------------+----------------------------------------------+ Detailed description of the data product ======================================== .. DetailedDescStart **LocationTable** is on a detector base product and its main purpose is to gather information to locate and extract spectra on a given detectors. **LocationTable** is an hierarchical organization of: **LocationSpectra**, **AstronomicalObjects** and **LocationObjects**. Each object in the Field of View produces spectra of different orders (1 :sup:`st`, 0 :sup:`th`, 2 :sup:`nd` and so on). The **LocationSpectrum** describes every spectral trace produced on the detectors (current implementation describes 1 :sup:`st` and 0 :sup:`th` orders). A single spectrum can lives on 2 adjacent detectors, in this case two **LocationSpectra** are created, one for each detector. The **LocationSpectrum** is the atomic component of the **LocationTable**. **LocationSpectra** produced by the same target are collected into the **LocationObject**, which also contains the **AstronomicalObject**: a short collection of physical properties of the target. These 4 objects are serialized as HDF5 `groups `_ into the HDF5 `file `_ (:ref:`LocationSpectrum-label`, :ref:`LocationObject-label`, :ref:`AstronomicalObject-label` and :ref:`LocationTable-label`) and they will be described in details in the next paragraphs. .. _LocationTableGlobal: .. figure:: ./figures/LocationTableGlobal.png : Location Table HDF5 file structure. .. _LocationSpectrum-label: Location Spectrum group +++++++++++++++++++++++ Due to optical distortions and uncertainty in grism alignment, dispersed spectra are curved and not perfectly aligned with the dispersion direction. Since this curvature changes moving around the the FOV, each spectrum has it own curvature and it own inverse wavelength solution. These 2 properties are different spectrum by spectrum. For this reason the SIR_SpectraLocation :term:`Processing Element` produces one **LocationSpectrum** (green box in :numref:`LocationTableGlobal`) for each spectrum in the FOV. The **LocationSpectrum** group contains information about geometry of the spectrum and it is used to locate spectral wavelengths on the detector. This is performed by: #. The `attribute `_ *Lambda Reference Value* which contains the reference lambda value as defined by the :ref:`SIROPTModel` #. The positions on the detector of this lambda reference value along the cross-dispersion direction defined by the *Reference lambda* `dataset `_. This dataset is a (n,2) matrix, each row defines the pixel where the reference lambda is. Number of rows changes on an object bases according with object size and angle. #. The local coefficients of the :ref:`SIRCRVModel` and of the :ref:`SIRIDSModel` for the current spectrum related to the central row of the spectrum. (The paragraph :ref:`Models-usage-example` explains how to combine these quantities). Finally the **LocationSpectrum** contains attributes used to uniquely identify the spectrum: * the *Detector ID*; * the *Dither*; * the *Extra Tilt* wrt nominal grism tilt value applied to the spectrum (not implemented yet); * the *Field ID* (no more used); * the *GWA Position*, the position of the grism wheel; * the *GWA Tilt*: the grism wheel tilt (0, +4, -4); * the target *ID* as defined by the MER catalog; * the *Observation ID*; * the *Order* of the spectrum itself; * the *Pointing ID*. **Note**: the *Pivot* dataset can be ignored, because it is related the extra tilt computation not implemented yet .. _AstronomicalObject-label: Astronomical Object group +++++++++++++++++++++++++ The **AstronomicalObject** (yellow box in :numref:`LocationTableGlobal`) gathers the astronomical properties of the target; it's attributes are: * *Angle* of the object in the sky; * *Dec* and *RA* coordinates; * the MER *ID*: * *MER Tile* where this object is; * object *Type*: star (1) or galaxy (2) (it is used by SIR Pipeline, because stars play a special rule in pointing adjustment and DQC computation). Beside these values the **AstronomicalObject** also contains infrared magnitudes of the objects. The *Magnitudes* `compound datatype `_ table has 4 columns: * the magnitude *Band*; * *Vega* flag: 1 if the magnitude is in the Vega system, 0 if not; * the magnitude *Value*; * the magnitude *Error*. Magnitude available could be: * `J`: from `FLUX_J_TEMPLFIT` column of `DpdMerFinalCatalog`; * `Y`: from `FLUX_J_TEMPLFIT` column of `DpdMerFinalCatalog`; * `H`: from `FLUX_J_TEMPLFIT` column of `DpdMerFinalCatalog`; * `J2M`: from `J_M` column of `DpdExtTwoMassCutout`; * `Y2M`: from `H_M` column of `DpdExtTwoMassCutout`; * `H2M`: from `K_M` column of `DpdExtTwoMassCutout`. .. _LocationObject-label: Location Object group +++++++++++++++++++++ The **LocationObject** (purple box in :numref:`LocationTableGlobal`) collects together spectra with the same target ID; it combines one **AstronomicalObject** and multiple **LocationSpectra**. .. _LocationTable-label: Location Table group ++++++++++++++++++++ The **LocationTable** (cyan box in :numref:`LocationTableGlobal`) data product gathers **LocationObjects** by ID. .. _LocationTableHierarchy: .. figure:: ./figures/LocationTableHierarchy.png : Additional info contained in the Location Table. At the same level of the LocationObjects groups there are: #. Other groups internally used by the SIR_Pipelines: * `OPT` the :ref:`SIROPTModel` content; * `CRV` the :ref:`SIRCRVModel` content; * `IDS` the :ref:`SIRIDSModel` content; * `Recipes Parameters` the input parameters used by the :term:`Processing Element` which creates the **LocationTable**. 2. Attributes about the pointing, as they come from the input LE1 frame: * `Calblock ID` * `Calblock Variant` * `Dither` * `Exposure` * `Exposure Time` * `Field ID` * `GWA Position` * `GWA Tilt` * `Nominal PA` * `Nominal Pointing` * `Observation ID` * `Patch ID` * `Pointing ID` * `Total Exposure` * `MJD` * `OBT` * `UTC` 3. Attributes related to the LocationTable itself: * `Detector Name`; * `Extra Tilt`: the extra tilt computed by the Location :term:`Processing Element` wrt `GWA Tilt` (not implemented yet); * `Real Pointing` and `Real PA`: the adjusted pointing computed by the Location; * `Tiles`: the MER tiles intersected by the this LocationTable product; * `Wlen start` and `Wlen end`: the starting and ending wavelengths used to compute the spectra trace extension. DataContainer file name description =================================== The following XML keywords: * Data.ObservationSequence.ObservationId (OBSID) * Data.ObservationSequence.DitherObservation (DITH) * Data.DetectorId (DETID) are combined to create the DataContainer file name: `EUC_SIR_W-LOCTAB_--DET__.h5` Here below and example: `EUC_SIR_W-LOCTAB_65879-2-DET_31_20250410T104407.526723Z.h5` .. DetailedDescEnd