Source code for ecpi.pipeline.qla

"""Quick Look analysis
"""

import logging

from ecpi.pipeline.lib.ecpi_pipeline import EclairsPipelineForHttpServer
import ecpi.database.interact_sdb as sdb
from ecpi.pipeline.io.params import SpreadSheetToEcpiProgAutoParams 

logger = logging.getLogger(__name__)


[docs]class EclairsQlaLevel1(EclairsPipelineForHttpServer): """ Automatic program Quick Look Analysis level 1 ECPI """ def __init__(self, target, id_proc=None): """ Perform download of last file LEVEL 1 evt, att, orb """ # TODO: with_master_file_parameters = False logger.info(f'') logger.info(f'============ QLA ECLAIRs Level 1 ===========') logger.info(f'') logger.info(target) pass_id = target["data_group"]["id"] class_id = target["data_group"]["id_class"] logger.info(f'Search last download with {class_id}={pass_id} in SDB') # f_att = sdb.find_name_last_download(pass_id, "SVO-ATT-CNV") # f_orb = sdb.find_name_last_download(pass_id, "SVO-ORB-CNV") # f_evt = sdb.find_name_last_download(pass_id, "ECL-EVT-SEC") f_att = sdb.find_name_last_download("SVO-ATT-CNV") f_orb = sdb.find_name_last_download("SVO-ORB-CNV") f_evt = sdb.find_name_last_download("ECL-EVT-SEC") logger.info(f'Files to download {f_att}, {f_orb}, {f_evt}...') # define parameters # TODO : activate CALI in the next release # d_pars = {"general": {}, "sdb": {}, "caldb": {}, "dpco": {}, "cali": {}, "bube": {}, "imag": {}} d_pars = {"general": {}, "sdb": {}, "caldb": {}, "dpco": {}, "bube": {}, "imag": {}} d_pars["sdb"]["event_files"] = f'["{f_evt}"]' d_pars["sdb"]["attitude_files"] = f'["{f_att}"]' d_pars["sdb"]["l1_files"] = f'["{f_orb}"]' # TODO: Set the new ARF filename d_pars["caldb"]["arf_file"] = "arf_effarea_2021-01-30_09:06:00.fits" if with_master_file_parameters: # path of master file parameters path_mfp = "tbd" name_prog = "ap_qla_l1" file_pars = SpreadSheetToEcpiProgAutoParams(path_mfp, name_prog) if not file_pars.b_init: logger.error(f"Can't retrieve parameters for program '{name_prog}'. => EXIT") raise pars_prog = file_pars.get_params_str() d_pars.update(pars_prog) else: d_pars["dpco"]["out_files"] = '[]' d_pars["bube"]["out_files"] = '["ECL-DET-UBC"]' d_pars["bube"]["ear_occ_bub"] = ['PEO'] d_pars["bube"]["bkg_cor_mod"] = ['shape_moretti_smart'] d_pars["bube"]["energy_channels"] = '[[0,39], [40,63],[64,103],[104,223],[224,583]]' d_pars["imag"]["out_files"] = '["ECL-SKY-IMA","ECL-SOP-IMA"]' super().__init__(d_pars, id_proc)