if 1==1 then { FORCE.RAW2RAW=T; } if DPR.CATG=="ACQUISITION" and DPR.TYPE=="SKY" and INS.MODE=="MOS" then { RAW.TYPE = "ACQ_MOS_SKY"; DO.CLASS = "ACQUISIT_MOS_SKY"; CATG = "ACQUISITION"; } if DPR.CATG=="ACQUISITION" and DPR.TYPE=="SLIT" and INS.MODE=="MOS" then { RAW.TYPE = "ACQ_MOS_SLIT"; DO.CLASS = "ACQUISIT_MOS_SLIT"; CATG = "ACQUISITION"; } if DPR.CATG=="ACQUISITION" and DPR.TYPE=="SKY" and INS.MODE=="MXU" then { RAW.TYPE = "ACQ_MXU_SKY"; DO.CLASS = "ACQUISIT_MXU_SKY"; CATG = "ACQUISITION"; } if DPR.CATG=="ACQUISITION" and DPR.TYPE=="SLIT" and INS.MODE=="MXU" then { RAW.TYPE = "ACQ_MXU_SLIT"; DO.CLASS = "ACQUISIT_MXU_SLIT"; CATG = "ACQUISITION"; } if DPR.CATG=="ACQUISITION" and DPR.TYPE=="SKY" and INS.MODE=="LSS" then { RAW.TYPE = "ACQ_LSS_SKY"; DO.CLASS = "ACQUISIT_LSS_SKY"; CATG = "ACQUISITION"; } if DPR.CATG=="ACQUISITION" and DPR.TYPE=="SLIT" and INS.MODE=="LSS" then { RAW.TYPE = "ACQ_LSS_SLIT"; DO.CLASS = "ACQUISIT_LSS_SLIT"; CATG = "ACQUISITION"; } if DPR.CATG=="ACQUISITION" and DPR.TYPE=="SKY" and INS.MODE=="HIT" and TPL.ID=="FORS2_hiti_acq" then { RAW.TYPE = "ACQ_HIT_SKY"; DO.CLASS = "ACQUISIT_HIT"; CATG = "ACQUISITION"; } if DPR.CATG=="ACQUISITION" and DPR.TYPE=="SLIT" and INS.MODE=="HIT" and TPL.ID=="FORS2_hiti_obs_slit_fast" then { RAW.TYPE = "ACQ_HIT_I_SLIT"; DO.CLASS = "ACQUISIT_HIT_I"; CATG = "ACQUISITION"; } if DPR.CATG=="ACQUISITION" and DPR.TYPE=="SKY" and INS.MODE=="HIT" and TPL.ID=="FORS2_hitms_acq" then { RAW.TYPE = "ACQ_HIT_MS_SKY"; DO.CLASS = "ACQUISIT_HIT_MS"; CATG = "ACQUISITION"; } if DPR.CATG=="ACQUISITION" and DPR.TYPE=="SLIT" and INS.MODE=="HIT" and TPL.ID=="FORS2_hitms_obs_slit_fast" then { RAW.TYPE = "ACQ_HIT_MS_SLIT"; DO.CLASS = "ACQUISIT_HIT_MS"; CATG = "ACQUISITION"; } if DPR.CATG=="ACQUISITION" and DPR.TYPE=="SKY" and INS.MODE=="HIT" and TPL.ID=="FORS2_hits_acq" then { RAW.TYPE = "ACQ_HIT_S_SKY"; DO.CLASS = "ACQUISIT_HIT_S"; CATG = "ACQUISITION"; } if DPR.CATG=="ACQUISITION" and DPR.TYPE=="SLIT" and INS.MODE=="HIT" and TPL.ID=="FORS2_hits_obs_slit_fast" then { RAW.TYPE = "ACQ_HIT_S_SLIT"; DO.CLASS = "ACQUISIT_HIT_S"; CATG = "ACQUISITION"; } if DPR.CATG=="ACQUISITION" and DPR.TYPE=="SKY" and INS.MODE=="IMG" then { RAW.TYPE = "ACQ_IMG"; DO.CLASS = "ACQUISIT_IMG"; CATG = "ACQUISITION"; } if DPR.CATG=="CALIB" and DPR.TYPE=="BIAS" and TPL.NEXP>3 then { RAW.TYPE = "BIAS"; DO.CLASS = "BIAS"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="DARK" and TPL.NEXP>1 then { RAW.TYPE = "DARK"; DO.CLASS = "DARK"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="FLAT,LAMP" and INS.MODE=="IMG" and INS.LAMP1.NAME=="FlatBlue+1" and INS.LAMP2.NAME=="FlatBlue+2" and TPL.NEXP>1 then { RAW.TYPE = "FLAT_SCR"; DO.CLASS = "SCREEN_FLAT_IMG"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and (DET.READ.CLOCK=="HIT-OS1-1sec" or DET.READ.CLOCK=="HIT-OS2-4sec" or DET.READ.CLOCK=="HIT-OS3-16sec" or DET.READ.CLOCK=="HIT-OS4-64sec" or DET.READ.CLOCK=="HIT-OS5-256sec"or DET.READ.CLOCK=="HIT-OS6-1024sec" ) and DPR.TECH=="SPECTRUM" then { RAW.TYPE = "WAVE_HIT_S"; DO.CLASS = "WAVE_HIT_S"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="FLAT,LAMP" and (DET.READ.CLOCK=="HIT-OS1-1sec" or DET.READ.CLOCK=="HIT-OS2-4sec" or DET.READ.CLOCK=="HIT-OS3-16sec" or DET.READ.CLOCK=="HIT-OS4-64sec" or DET.READ.CLOCK=="HIT-OS5-256sec"or DET.READ.CLOCK=="HIT-OS6-1024sec" ) and DPR.TECH=="SPECTRUM" and TPL.NEXP>1 then { RAW.TYPE = "FLAT_HIT_S"; DO.CLASS = "SCREEN_FLAT_HIT_S"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and DET.READ.CLOCK=="HIT-MS" then { RAW.TYPE = "WAVE_HIT_MS"; DO.CLASS = "WAVE_HIT_MS"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="FLAT,LAMP" and DET.READ.CLOCK=="HIT-MS" and TPL.NEXP>1 then { RAW.TYPE = "FLAT_HIT_MS"; DO.CLASS = "SCREEN_FLAT_HIT_MS"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="FLAT,LAMP" and (DET.READ.CLOCK=="HIT-OS1-1sec" or DET.READ.CLOCK=="HIT-OS2-4sec" or DET.READ.CLOCK=="HIT-OS3-16sec" or DET.READ.CLOCK=="HIT-OS4-64sec" or DET.READ.CLOCK=="HIT-OS5-256sec"or DET.READ.CLOCK=="HIT-OS6-1024sec" ) and TPL.NEXP>1 then { RAW.TYPE = "FLAT_HIT"; DO.CLASS = "SCREEN_FLAT_HIT"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and DPR.TECH=="INS-THROUGH" and INS.MODE=="LSS" then { RAW.TYPE = "LAMP_CHECK"; DO.CLASS = "FLUX_ARC_LSS"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="FLAT,LAMP" and DPR.TECH=="INS-THROUGH" and INS.MODE=="LSS" then { RAW.TYPE = "LAMP_CHECK"; DO.CLASS = "FLUX_FLAT_LSS"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="FLAT,LAMP" and INS.MODE=="LSS" and DPR.TECH!="INS-THROUGH" and TPL.NEXP>2 then { RAW.TYPE = "SCREEN_FLAT_LSS"; DO.CLASS = "SCREEN_FLAT_LSS"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and INS.MODE=="LSS" and DPR.TECH!="INS-THROUGH" then { RAW.TYPE = "LAMP_LSS"; DO.CLASS = "LAMP_LSS"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="FLAT,LAMP" and INS.MODE=="MOS" and TPL.ID!="FORS2_specphot_cal_scrflat" and TPL.ID!="FORS2_specphot_cal_scrflat_fast" then { RAW.TYPE = "SCREEN_FLAT_MOS"; DO.CLASS = "SCREEN_FLAT_MOS"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and INS.MODE=="MOS" and TPL.ID!="FORS2_specphot_cal_wave" and TPL.ID!="FORS2_specphot_cal_wave_fast" then { RAW.TYPE = "LAMP_MOS"; DO.CLASS = "LAMP_MOS"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="FLAT,LAMP" and INS.MODE=="MOS" and (TPL.ID=="FORS2_specphot_cal_scrflat" or TPL.ID=="FORS2_specphot_cal_scrflat_fast") and TPL.NEXP>2 then { RAW.TYPE = "SCREEN_FLAT_STD"; DO.CLASS = "SCREEN_FLAT_MOS"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and INS.MODE=="MOS" and (TPL.ID=="FORS2_specphot_cal_wave" or TPL.ID=="FORS2_specphot_cal_wave_fast") then { RAW.TYPE = "LAMP_STD"; DO.CLASS = "LAMP_MOS"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="FLAT,LAMP" and INS.MODE=="MXU" then { RAW.TYPE = "SCREEN_FLAT_MXU"; DO.CLASS = "SCREEN_FLAT_MXU"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and INS.MODE=="MXU" then { RAW.TYPE = "LAMP_MXU"; DO.CLASS = "LAMP_MXU"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="FLAT,LAMP" and INS.MODE=="MXU" and INS.GRIS1.NAME!="XGRIS_600B" and INS.GRIS1.NAME!="XGRIS_300I" and INS.MASK.NAME=="M012Distorti" then { RAW.TYPE = "SCREEN_FLAT_MXU_DIST"; DO.CLASS = "SCREEN_FLAT_MXU"; PACK.DIR = "LAMP"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and INS.MODE=="MXU" and INS.GRIS1.NAME!="XGRIS_600B" and INS.GRIS1.NAME!="XGRIS_300I" and INS.MASK.NAME=="M012Distorti" then { RAW.TYPE = "LAMP_MXU_DIST"; DO.CLASS = "LAMP_MXU"; PACK.DIR = "LAMP"; CATG = "CALIB"; } if (DPR.CATG=="CALIB") and DPR.TYPE=="FLAT,SKY" and INS.MODE=="IMG" then { RAW.TYPE = "FLAT_SKY"; DO.CLASS = "SKY_FLAT_IMG"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="STD" and INS.MODE=="IMG" then { RAW.TYPE = "STD_IMA"; DO.CLASS = "STANDARD_IMG"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="STD" and (DET.READ.CLOCK=="HIT-OS1-1sec" or DET.READ.CLOCK=="HIT-OS2-4sec" or DET.READ.CLOCK=="HIT-OS3-16sec" or DET.READ.CLOCK=="HIT-OS4-64sec" or DET.READ.CLOCK=="HIT-OS5-256sec"or DET.READ.CLOCK=="HIT-OS6-1024sec" ) and DPR.TECH=="SPECTRUM" then { RAW.TYPE = "STD_HIT_S"; DO.CLASS = "STANDARD_HIT_S"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="STD" and DET.READ.CLOCK=="HIT-MS" then { RAW.TYPE = "STD_HIT_MS"; DO.CLASS = "STANDARD_HIT_MS"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="STD" and (DET.READ.CLOCK=="HIT-OS1-1sec" or DET.READ.CLOCK=="HIT-OS2-4sec" or DET.READ.CLOCK=="HIT-OS3-16sec" or DET.READ.CLOCK=="HIT-OS4-64sec" or DET.READ.CLOCK=="HIT-OS5-256sec"or DET.READ.CLOCK=="HIT-OS6-1024sec" ) then { RAW.TYPE = "STD_HIT"; DO.CLASS = "STANDARD_HIT"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="STD" and INS.MODE=="LSS" and DET.CHIP1.ID=="CCID20-14-5-3" then { RAW.TYPE = "STD_LSS_C1"; DO.CLASS = "STANDARD_LSS"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="STD" and INS.MODE=="LSS" and DET.CHIP1.ID=="CCID20-14-5-6" then { RAW.TYPE = "STD_LSS_C2"; DO.CLASS = "STANDARD_LSS"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="STD" and INS.MODE=="MOS" and DET.CHIP1.ID=="CCID20-14-5-3" then { RAW.TYPE = "STD_MOS_C1"; DO.CLASS = "STANDARD_MOS"; CATG = "CALIB"; } if DPR.CATG=="CALIB" and DPR.TYPE=="STD" and INS.MODE=="MOS" and DET.CHIP1.ID=="CCID20-14-5-6" then { RAW.TYPE = "STD_MOS_C2"; DO.CLASS = "STANDARD_MOS"; CATG = "CALIB"; } if DPR.CATG=="SCIENCE" and DPR.TYPE=="OBJECT" and INS.MODE=="IMG" then { RAW.TYPE = "SCI_IMG"; DO.CLASS = "SCIENCE_IMG"; CATG = "SCIENCE"; } if DPR.CATG=="SCIENCE" and DPR.TYPE=="SKY" and (DET.READ.CLOCK=="HIT-OS1-1sec" or DET.READ.CLOCK=="HIT-OS2-4sec" or DET.READ.CLOCK=="HIT-OS3-16sec" or DET.READ.CLOCK=="HIT-OS4-64sec" or DET.READ.CLOCK=="HIT-OS5-256sec" or DET.READ.CLOCK=="HIT-OS6-1024sec") then { RAW.TYPE = "SCI_HIT"; DO.CLASS = "SCIENCE_HIT"; CATG = "SCIENCE"; } if DPR.CATG=="SCIENCE" and DPR.TYPE=="SPECTRUM" and (DET.READ.CLOCK=="HIT-OS1-1sec" or DET.READ.CLOCK=="HIT-OS2-4sec" or DET.READ.CLOCK=="HIT-OS3-16sec" or DET.READ.CLOCK=="HIT-OS4-64sec" or DET.READ.CLOCK=="HIT-OS5-256sec" or DET.READ.CLOCK=="HIT-OS6-1024sec") then { RAW.TYPE = "SCI_HIT_S"; DO.CLASS = "SCIENCE_HIT_S"; CATG = "SCIENCE"; } if DPR.CATG=="SCIENCE" and DPR.TYPE=="SKY" and DET.READ.CLOCK=="HIT-MS" then { RAW.TYPE = "SCI_HIT_MS"; DO.CLASS = "SCIENCE_HIT_MS"; CATG = "SCIENCE"; } if DPR.CATG=="SCIENCE" and DPR.TYPE=="SKY" and INS.MODE=="LSS" then { RAW.TYPE = "SCI_LSS"; DO.CLASS = "SCIENCE_LSS"; CATG = "SCIENCE"; } if DPR.CATG=="SCIENCE" and DPR.TYPE=="SKY" and INS.MODE=="MOS" then { RAW.TYPE = "SCI_MOS"; DO.CLASS = "SCIENCE_MOS"; CATG = "SCIENCE"; } if DPR.CATG=="SCIENCE" and DPR.TYPE=="SKY" and INS.MODE=="MXU" then { RAW.TYPE = "SCI_MXU"; DO.CLASS = "SCIENCE_MXU"; CATG = "SCIENCE"; } select execute(ACTION_BIAS) from inputFiles where RAW.TYPE=="BIAS" group by DET.CHIP1.ID, TPL.START; select execute(ACTION_DARK) from inputFiles where RAW.TYPE=="DARK" group by DET.CHIP1.ID, TPL.START; select execute(ACTION_CAL_STDS) from inputFiles where RAW.TYPE=="SCREEN_FLAT_STD" group by DET.CHIP1.ID, TPL.START; select execute(ACTION_FLAT_HIT) from inputFiles where RAW.TYPE=="FLAT_HIT" group by DET.CHIP1.ID, TPL.START; select execute(ACTION_FLAT_HIT_S) from inputFiles where RAW.TYPE=="FLAT_HIT_S" group by DET.CHIP1.ID, TPL.START; select execute(ACTION_FLAT_HIT_MS) from inputFiles where RAW.TYPE=="FLAT_HIT_MS" group by DET.CHIP1.ID, TPL.START; select execute(ACTION_WAVE_HIT_S) from inputFiles where RAW.TYPE=="WAVE_HIT_S" group by ARCFILE; select execute(ACTION_WAVE_HIT_MS) from inputFiles where RAW.TYPE=="WAVE_HIT_MS" group by ARCFILE; select execute(ACTION_STD_HIT) from inputFiles where RAW.TYPE=="STD_HIT" group by ARCFILE; select execute(ACTION_STD_HIT_S) from inputFiles where RAW.TYPE=="STD_HIT_S" group by ARCFILE; select execute(ACTION_STD_HIT_MS) from inputFiles where RAW.TYPE=="STD_HIT_MS" group by ARCFILE; select execute(ACTION_FLAT_SCR) from inputFiles where RAW.TYPE=="FLAT_SCR" group by DET.CHIP1.ID, TPL.START; select execute(ACTION_FLAT_SKY) from inputFiles where RAW.TYPE=="FLAT_SKY" group by DET.CHIP1.ID, TPL.START; select execute(ACTION_STD_IMA) from inputFiles where RAW.TYPE=="STD_IMA" group by ARCFILE; select execute(ACTION_CAL_LSS) from inputFiles where RAW.TYPE=="SCREEN_FLAT_LSS" group by DET.CHIP1.ID, TPL.START; select execute(ACTION_CAL_MOS) from inputFiles where RAW.TYPE=="SCREEN_FLAT_MOS" group by DET.CHIP1.ID, TPL.START; select execute(ACTION_CAL_MXU) from inputFiles where RAW.TYPE=="SCREEN_FLAT_MXU" group by DET.CHIP1.ID, TPL.START; select execute(ACTION_CAL_MXU_DIST) from inputFiles where RAW.TYPE=="SCREEN_FLAT_MXU_DIST" group by DET.CHIP1.ID, TPL.START; select execute(ACTION_STD_LSS_C1) from inputFiles where RAW.TYPE=="STD_LSS_C1" group by ARCFILE; select execute(ACTION_STD_LSS_C2) from inputFiles where RAW.TYPE=="STD_LSS_C2" group by ARCFILE; select execute(ACTION_STD_MOS_C1) from inputFiles where RAW.TYPE=="STD_MOS_C1" group by ARCFILE; select execute(ACTION_STD_MOS_C2) from inputFiles where RAW.TYPE=="STD_MOS_C2" group by ARCFILE; select execute(ACTION_SCI_IMG) from inputFiles where RAW.TYPE=="SCI_IMG" group by ARCFILE; select execute(ACTION_SCI_HIT) from inputFiles where RAW.TYPE=="SCI_HIT" group by ARCFILE; select execute(ACTION_SCI_HIT_S) from inputFiles where RAW.TYPE=="SCI_HIT_S" group by ARCFILE; select execute(ACTION_SCI_HIT_MS) from inputFiles where RAW.TYPE=="SCI_HIT_MS" group by ARCFILE; select execute(ACTION_SCI_LSS) from inputFiles where RAW.TYPE=="SCI_LSS" group by ARCFILE; select execute(ACTION_SCI_MXU) from inputFiles where RAW.TYPE=="SCI_MXU" group by ARCFILE; select execute(ACTION_SCI_MOS) from inputFiles where RAW.TYPE=="SCI_MOS" group by ARCFILE; action ACTION_BIAS { recipe fors_bias; product MASTER_BIAS { PRO.CATG="MASTER_BIAS"; PRO.EXT="tpl_0000.fits";} } action ACTION_DARK { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS > inputFile.MJD-OBS - 10 and MJD-OBS < inputFile.MJD-OBS + 10 ; recipe fors_dark; product MASTER_DARK { PRO.CATG="MASTER_DARK"; PRO.EXT="tpl_0000.fits";} } action ACTION_FLAT_HIT { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.SPEED==DET.READ.SPEED and inputFile.DET.OUT1.GAIN==DET.OUT1.GAIN and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; recipe none; product MASTER_SCREEN_FLAT_HIT { PRO.CATG="MASTER_SCREEN_FLAT_HIT"; PRO.EXT="tpl_0000.fits";} } action ACTION_CAL_LSS { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; minRet = 1; maxRet = 1; select file as LAMP_LSS_RASSOC from rawFiles where DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and INS.MODE=="LSS" and DPR.TECH!="INS-THROUGH" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.SLIT.NAME==INS.SLIT.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS > inputFile.MJD-OBS - 8 and MJD-OBS < inputFile.MJD-OBS + 8 ; minRet = 1; maxRet = 1; select file as MASTER_LINECAT from calibFiles where PRO.CATG=="MASTER_LINECAT" and inputFile.INSTRUME==INSTRUME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and MJD-OBS < inputFile.MJD-OBS ; minRet = 1; maxRet = 1; select file as GRISM_TABLE from calibFiles where PRO.CATG=="GRISM_TABLE" and inputFile.INSTRUME==INSTRUME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and MJD-OBS < inputFile.MJD-OBS ; recipe fors_calib; product SLIT_LOCATION_LSS { PRO.CATG="SLIT_LOCATION_LSS"; PRO.EXT="tpl_0008.fits";} product MASTER_NORM_FLAT_LSS { PRO.CATG="MASTER_NORM_FLAT_LSS"; PRO.EXT="tpl_0001.fits";} product DISP_COEFF_LSS { PRO.CATG="DISP_COEFF_LSS"; PRO.EXT="tpl_0006.fits";} product FLAT_SED_LSS { PRO.CATG="FLAT_SED_LSS"; PRO.EXT="tpl_0009.fits";} } action ACTION_CAL_MOS { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; minRet = 1; maxRet = 1; select file as LAMP_MOS_RASSOC from rawFiles where DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and INS.MODE=="MOS" and (TPL.ID!="FORS2_specphot_cal_wave_fast" and TPL.ID!="FORS2_specphot_cal_wave") and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.MOS.CHECKSUM <= INS.MOS.CHECKSUM + 1 and inputFile.INS.MOS.CHECKSUM >= INS.MOS.CHECKSUM - 1 and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS > inputFile.MJD-OBS - 8 and MJD-OBS < inputFile.MJD-OBS + 8 ; minRet = 1; maxRet = 1; select file as MASTER_LINECAT from calibFiles where PRO.CATG=="MASTER_LINECAT" and inputFile.INSTRUME==INSTRUME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and MJD-OBS < inputFile.MJD-OBS ; minRet = 1; maxRet = 1; select file as GRISM_TABLE from calibFiles where PRO.CATG=="GRISM_TABLE" and inputFile.INSTRUME==INSTRUME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and MJD-OBS < inputFile.MJD-OBS ; recipe fors_calib; product SLIT_LOCATION_MOS { PRO.CATG="SLIT_LOCATION_MOS"; PRO.EXT="tpl_0008.fits";} product CURV_COEFF_MOS { PRO.CATG="CURV_COEFF_MOS"; PRO.EXT="tpl_0010.fits";} product MASTER_NORM_FLAT_MOS { PRO.CATG="MASTER_NORM_FLAT_MOS"; PRO.EXT="tpl_0001.fits";} product DISP_COEFF_MOS { PRO.CATG="DISP_COEFF_MOS"; PRO.EXT="tpl_0006.fits";} product SPATIAL_MAP_MOS { PRO.CATG="SPATIAL_MAP_MOS"; PRO.EXT="tpl_0011.fits";} product WAVELENGTH_MAP_MOS { PRO.CATG="WAVELENGTH_MAP_MOS"; PRO.EXT="tpl_0007.fits";} product FLAT_SED_MOS { PRO.CATG="FLAT_SED_MOS"; PRO.EXT="tpl_0009.fits";} } action ACTION_CAL_MXU { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; minRet = 1; maxRet = 1; select file as LAMP_MXU_RASSOC from rawFiles where DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and INS.MODE=="MXU" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.MASK.ID==INS.MASK.ID and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS > inputFile.MJD-OBS - 8 and MJD-OBS < inputFile.MJD-OBS + 8 ; minRet = 1; maxRet = 1; select file as MASTER_LINECAT from calibFiles where PRO.CATG=="MASTER_LINECAT" and inputFile.INSTRUME==INSTRUME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and MJD-OBS < inputFile.MJD-OBS ; minRet = 1; maxRet = 1; select file as GRISM_TABLE from calibFiles where PRO.CATG=="GRISM_TABLE" and inputFile.INSTRUME==INSTRUME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and MJD-OBS < inputFile.MJD-OBS ; recipe fors_calib; product SLIT_LOCATION_MXU { PRO.CATG="SLIT_LOCATION_MXU"; PRO.EXT="tpl_0008.fits";} product CURV_COEFF_MXU { PRO.CATG="CURV_COEFF_MXU"; PRO.EXT="tpl_0010.fits";} product MASTER_NORM_FLAT_MXU { PRO.CATG="MASTER_NORM_FLAT_MXU"; PRO.EXT="tpl_0001.fits";} product DISP_COEFF_MXU { PRO.CATG="DISP_COEFF_MXU"; PRO.EXT="tpl_0006.fits";} product SPATIAL_MAP_MXU { PRO.CATG="SPATIAL_MAP_MXU"; PRO.EXT="tpl_0011.fits";} product WAVELENGTH_MAP_MXU { PRO.CATG="WAVELENGTH_MAP_MXU"; PRO.EXT="tpl_0007.fits";} product FLAT_SED_MXU { PRO.CATG="FLAT_SED_MXU"; PRO.EXT="tpl_0009.fits";} } action ACTION_CAL_MXU_DIST { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; minRet = 1; maxRet = 1; select file as LAMP_MXU_DIST_RASSOC from rawFiles where DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and INS.MODE=="MXU" and INS.GRIS1.NAME!="XGRIS_600B" and INS.GRIS1.NAME!="XGRIS_300I" and INS.MASK.NAME=="M012Distorti" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.MASK.ID==INS.MASK.ID and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS > inputFile.MJD-OBS - 8 and MJD-OBS < inputFile.MJD-OBS + 8 ; minRet = 1; maxRet = 1; select file as MASTER_LINECAT from calibFiles where PRO.CATG=="MASTER_LINECAT" and inputFile.INSTRUME==INSTRUME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and MJD-OBS < inputFile.MJD-OBS ; minRet = 1; maxRet = 1; select file as GRISM_TABLE from calibFiles where PRO.CATG=="GRISM_TABLE" and inputFile.INSTRUME==INSTRUME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and MJD-OBS < inputFile.MJD-OBS ; recipe fors_calib { "--used_linesets=standard,extended"; } } action ACTION_FLAT_HIT_MS { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.SPEED==DET.READ.SPEED and inputFile.DET.OUT1.GAIN==DET.OUT1.GAIN and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; recipe none; product MASTER_NORM_FLAT_HIT_MS { PRO.CATG="MASTER_NORM_FLAT_HIT_MS"; PRO.EXT="tpl_0001.fits";} } action ACTION_FLAT_HIT_S { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.SPEED==DET.READ.SPEED and inputFile.DET.OUT1.GAIN==DET.OUT1.GAIN and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; recipe none; product MASTER_NORM_FLAT_HIT_S { PRO.CATG="MASTER_NORM_FLAT_HIT_S"; PRO.EXT="tpl_0001.fits";} } action ACTION_WAVE_HIT_MS { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.SPEED==DET.READ.SPEED and inputFile.DET.OUT1.GAIN==DET.OUT1.GAIN and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; recipe none; product DISP_COEFF_HIT_MS { PRO.CATG="DISP_COEFF_HIT_MS"; PRO.EXT="0006.fits";} } action ACTION_WAVE_HIT_S { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.SPEED==DET.READ.SPEED and inputFile.DET.OUT1.GAIN==DET.OUT1.GAIN and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; recipe none; product DISP_COEFF_HIT_S { PRO.CATG="DISP_COEFF_HIT_S"; PRO.EXT="0006.fits";} } action ACTION_CAL_STDS { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; minRet = 1; maxRet = 1; select file as LAMP_MOS_RASSOC from rawFiles where DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and INS.MODE=="MOS" and (TPL.ID=="FORS2_specphot_cal_wave_fast" or TPL.ID=="FORS2_specphot_cal_wave") and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.MOS.CHECKSUM <= INS.MOS.CHECKSUM + 1 and inputFile.INS.MOS.CHECKSUM >= INS.MOS.CHECKSUM - 1 and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS > inputFile.MJD-OBS - 8 and MJD-OBS < inputFile.MJD-OBS + 8 ; minRet = 1; maxRet = 1; select file as MASTER_LINECAT from calibFiles where PRO.CATG=="MASTER_LINECAT" and inputFile.INSTRUME==INSTRUME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and MJD-OBS < inputFile.MJD-OBS ; minRet = 1; maxRet = 1; select file as GRISM_TABLE from calibFiles where PRO.CATG=="GRISM_TABLE" and inputFile.INSTRUME==INSTRUME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and MJD-OBS < inputFile.MJD-OBS ; recipe fors_calib; product SLIT_LOCATION_LONG_MOS { PRO.CATG="SLIT_LOCATION_LONG_MOS"; PRO.EXT="tpl_0008.fits";} product MASTER_NORM_FLAT_LONG_MOS { PRO.CATG="MASTER_NORM_FLAT_LONG_MOS"; PRO.EXT="tpl_0001.fits";} product DISP_COEFF_LONG_MOS { PRO.CATG="DISP_COEFF_LONG_MOS"; PRO.EXT="tpl_0006.fits";} product FLAT_SED_LONG_MOS { PRO.CATG="FLAT_SED_LONG_MOS"; PRO.EXT="tpl_0009.fits";} } action ACTION_FLAT_SCR { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; recipe fors_img_screen_flat; product MASTER_SCREEN_FLAT_IMG { PRO.CATG="MASTER_SCREEN_FLAT_IMG"; PRO.EXT="tpl_0000.fits";} } action ACTION_FLAT_SKY { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; recipe fors_img_sky_flat; product MASTER_SKY_FLAT_IMG { PRO.CATG="MASTER_SKY_FLAT_IMG"; PRO.EXT="tpl_0000.fits";} } action ACTION_SCI_IMG { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; minRet = 1; maxRet = 1; select file as MASTER_SKY_FLAT_IMG from calibFiles where PRO.CATG=="MASTER_SKY_FLAT_IMG" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 20 and inputFile.MJD-OBS + 20 and MJD-OBS tryBetween inputFile.MJD-OBS - 14 and inputFile.MJD-OBS + 14 ; minRet = 0; maxRet = 10; select file as STANDARD_REDUCED_IMG_MASSOC from calibFiles where PRO.CATG=="STANDARD_REDUCED_IMG" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 and MJD-OBS tryBetween inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 ; minRet = 0; maxRet = 5; select file as ACQ_IMG_RASSOC from rawFiles where DPR.CATG=="ACQUISITION" and DPR.TYPE=="SKY" and INS.MODE=="IMG" and inputFile.OBS.ID==OBS.ID and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 and MJD-OBS tryBetween inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 ; recipe fors_img_science; product MASTER_SCI_IMG { PRO.CATG="MASTER_SCI_IMG"; PRO.EXT="tpl_0000.fits";} } action ACTION_SCI_HIT { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.SPEED==DET.READ.SPEED and inputFile.DET.OUT1.GAIN==DET.OUT1.GAIN and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; minRet = 1; maxRet = 1; select file as MASTER_SCREEN_FLAT_HIT from calibFiles where PRO.CATG=="MASTER_SCREEN_FLAT_HIT" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 8 and inputFile.MJD-OBS + 8 ; minRet = 1; maxRet = 1; select file as MASTER_SKY_FLAT_IMG from calibFiles where PRO.CATG=="MASTER_SKY_FLAT_IMG" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 20 and inputFile.MJD-OBS + 20 and MJD-OBS tryBetween inputFile.MJD-OBS - 14 and inputFile.MJD-OBS + 14 ; minRet = 0; maxRet = 3; select file as STANDARD_REDUCED_HIT_MASSOC from calibFiles where PRO.CATG=="STANDARD_REDUCED_HIT" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.MOS.CHECKSUM==INS.MOS.CHECKSUM and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 3 and inputFile.MJD-OBS + 3 ; minRet = 0; maxRet = 10; select file as ACQ_HIT_SKY_RASSOC from rawFiles where DPR.CATG=="ACQUISITION" and DPR.TYPE=="SKY" and INS.MODE=="HIT" and TPL.ID=="FORS2_hiti_acq" and inputFile.OBS.ID==OBS.ID and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 and MJD-OBS tryBetween inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 ; recipe none; product MASTER_SCI_HIT { PRO.CATG="MASTER_SCI_HIT"; PRO.EXT="tpl_0000.fits";} } action ACTION_SCI_LSS { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; minRet = 1; maxRet = 1; select file as LAMP_LSS_RASSOC from rawFiles where DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and INS.MODE=="LSS" and DPR.TECH!="INS-THROUGH" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.SLIT.NAME==INS.SLIT.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS > inputFile.MJD-OBS - 8 and MJD-OBS < inputFile.MJD-OBS + 8 ; minRet = 1; maxRet = 1; select file as MASTER_NORM_FLAT_LSS from calibFiles where PRO.CATG=="MASTER_NORM_FLAT_LSS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.SLIT.NAME==INS.SLIT.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as FLAT_SED_LSS from calibFiles where PRO.CATG=="FLAT_SED_LSS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.SLIT.NAME==INS.SLIT.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as SLIT_LOCATION_LSS from calibFiles where PRO.CATG=="SLIT_LOCATION_LSS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.SLIT.NAME==INS.SLIT.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as GRISM_TABLE from calibFiles where PRO.CATG=="GRISM_TABLE" and inputFile.INSTRUME==INSTRUME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and MJD-OBS < inputFile.MJD-OBS ; minRet = 0; maxRet = 1; select file as GLOBAL_DISTORTION_TABLE from calibFiles where PRO.CATG=="GLOBAL_DISTORTION_TABLE" and PIPEFILE=="global_distortion_table.fits" and inputFile.INSTRUME==INSTRUME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS < inputFile.MJD-OBS ; minRet = 1; maxRet = 1; select file as EXTINCT_TABLE from calibFiles where PRO.CATG=="EXTINCT_TABLE" and MJD-OBS < inputFile.MJD-OBS ; minRet = 0; maxRet = 3; select file as REDUCED_STD_LSS_C1_MASSOC from calibFiles where PRO.CATG=="REDUCED_STD_LSS_C1" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.SLIT.NAME==INS.SLIT.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as SPECPHOT_TABLE from calibFiles where PRO.CATG=="SPECPHOT_TABLE" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and (DET.CHIP1.ID=="CCID20-14-5-3" or DET.CHIP1.ID=="Norma III") and ((SEQ.SPEC.TARG=="LSS_0.3_arcsec" and inputFile.INS.SLIT.NAME=="lSlit0_3arcsec") or (SEQ.SPEC.TARG=="LSS_0.4_arcsec" and inputFile.INS.SLIT.NAME=="lSlit0_4arcsec") or (SEQ.SPEC.TARG=="LSS_0.5_arcsec" and inputFile.INS.SLIT.NAME=="lSlit0_5arcsec") or (SEQ.SPEC.TARG=="LSS_0.7_arcsec" and inputFile.INS.SLIT.NAME=="lSlit0_7arcsec") or (SEQ.SPEC.TARG=="LSS_1.0_arcsec" and inputFile.INS.SLIT.NAME=="lSlit1_0arcsec") or (SEQ.SPEC.TARG=="LSS_1.3_arcsec" and inputFile.INS.SLIT.NAME=="lSlit1_3arcsec") or (SEQ.SPEC.TARG=="LSS_1.6_arcsec" and inputFile.INS.SLIT.NAME=="lSlit1_6arcsec") or (SEQ.SPEC.TARG=="LSS_2.0_arcsec" and inputFile.INS.SLIT.NAME=="lSlit2_0arcsec") or (SEQ.SPEC.TARG=="LSS_2.5_arcsec" and inputFile.INS.SLIT.NAME=="lSlit2_5arcsec") or SEQ.SPEC.TARG=="MOS_center") and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 0; maxRet = 3; select file as ACQ_LSS_SKY_RASSOC from rawFiles where DPR.CATG=="ACQUISITION" and DPR.TYPE=="SKY" and INS.MODE=="LSS" and inputFile.OBS.ID==OBS.ID and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 and MJD-OBS tryBetween inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 ; minRet = 0; maxRet = 3; select file as ACQ_LSS_SLIT_RASSOC from rawFiles where DPR.CATG=="ACQUISITION" and DPR.TYPE=="SLIT" and INS.MODE=="LSS" and inputFile.OBS.ID==OBS.ID and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 and MJD-OBS tryBetween inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 ; recipe fors_science { "--skyalign=-1"; "--photometry=TRUE"; "--skyglobal=TRUE"; "--skylocal=FALSE"; } product MASTER_SCI_LSS { PRO.CATG="MASTER_SCI_LSS"; PRO.EXT="tpl_0000.fits";} } action ACTION_SCI_MOS { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; minRet = 1; maxRet = 1; select file as LAMP_MOS_RASSOC from rawFiles where DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and INS.MODE=="MOS" and TPL.ID!="FORS2_specphot_cal_wave" and TPL.ID!="FORS2_specphot_cal_wave_fast" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.MOS.CHECKSUM <= INS.MOS.CHECKSUM + 1 and inputFile.INS.MOS.CHECKSUM >= INS.MOS.CHECKSUM - 1 and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS > inputFile.MJD-OBS - 8 and MJD-OBS < inputFile.MJD-OBS + 8 ; minRet = 1; maxRet = 1; select file as MASTER_NORM_FLAT_MOS from calibFiles where PRO.CATG=="MASTER_NORM_FLAT_MOS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.MOS.CHECKSUM <= INS.MOS.CHECKSUM + 1 and inputFile.INS.MOS.CHECKSUM >= INS.MOS.CHECKSUM - 1 and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as FLAT_SED_MOS from calibFiles where PRO.CATG=="FLAT_SED_MOS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.MOS.CHECKSUM <= INS.MOS.CHECKSUM + 1 and inputFile.INS.MOS.CHECKSUM >= INS.MOS.CHECKSUM - 1 and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as SLIT_LOCATION_MOS from calibFiles where PRO.CATG=="SLIT_LOCATION_MOS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.MOS.CHECKSUM <= INS.MOS.CHECKSUM + 1 and inputFile.INS.MOS.CHECKSUM >= INS.MOS.CHECKSUM - 1 and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as GRISM_TABLE from calibFiles where PRO.CATG=="GRISM_TABLE" and inputFile.INSTRUME==INSTRUME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and MJD-OBS < inputFile.MJD-OBS ; minRet = 1; maxRet = 1; select file as EXTINCT_TABLE from calibFiles where PRO.CATG=="EXTINCT_TABLE" and MJD-OBS < inputFile.MJD-OBS ; minRet = 1; maxRet = 1; select file as SPECPHOT_TABLE from calibFiles where PRO.CATG=="SPECPHOT_TABLE" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and (DET.CHIP1.ID=="CCID20-14-5-3" or DET.CHIP1.ID=="Norma III") and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 0; maxRet = 3; select file as ACQ_MOS_SKY_RASSOC from rawFiles where DPR.CATG=="ACQUISITION" and DPR.TYPE=="SKY" and INS.MODE=="MOS" and inputFile.OBS.ID==OBS.ID and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 and MJD-OBS tryBetween inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 ; minRet = 0; maxRet = 3; select file as ACQ_MOS_SLIT_RASSOC from rawFiles where DPR.CATG=="ACQUISITION" and DPR.TYPE=="SLIT" and INS.MODE=="MOS" and inputFile.OBS.ID==OBS.ID and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 and MJD-OBS tryBetween inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 ; recipe fors_science { "--skyalign=-1"; "--photometry=TRUE"; } product MASTER_SCI_MOS { PRO.CATG="MASTER_SCI_MOS"; PRO.EXT="tpl_0000.fits";} } action ACTION_SCI_MXU { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; minRet = 1; maxRet = 1; select file as LAMP_MXU_RASSOC from rawFiles where DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and INS.MODE=="MXU" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.MASK.ID==INS.MASK.ID and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS > inputFile.MJD-OBS - 8 and MJD-OBS < inputFile.MJD-OBS + 8 ; minRet = 1; maxRet = 1; select file as MASTER_NORM_FLAT_MXU from calibFiles where PRO.CATG=="MASTER_NORM_FLAT_MXU" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.MASK.ID==INS.MASK.ID and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as FLAT_SED_MXU from calibFiles where PRO.CATG=="FLAT_SED_MXU" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.MASK.ID==INS.MASK.ID and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as SLIT_LOCATION_MXU from calibFiles where PRO.CATG=="SLIT_LOCATION_MXU" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.MASK.ID==INS.MASK.ID and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as GRISM_TABLE from calibFiles where PRO.CATG=="GRISM_TABLE" and inputFile.INSTRUME==INSTRUME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and MJD-OBS < inputFile.MJD-OBS ; minRet = 1; maxRet = 1; select file as EXTINCT_TABLE from calibFiles where PRO.CATG=="EXTINCT_TABLE" and MJD-OBS < inputFile.MJD-OBS ; minRet = 1; maxRet = 1; select file as SPECPHOT_TABLE from calibFiles where PRO.CATG=="SPECPHOT_TABLE" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and (DET.CHIP1.ID=="CCID20-14-5-3" or DET.CHIP1.ID=="Norma III") and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 0; maxRet = 3; select file as ACQ_MXU_SKY_RASSOC from rawFiles where DPR.CATG=="ACQUISITION" and DPR.TYPE=="SKY" and INS.MODE=="MXU" and inputFile.OBS.ID==OBS.ID and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 and MJD-OBS tryBetween inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 ; minRet = 0; maxRet = 3; select file as ACQ_MXU_SLIT_RASSOC from rawFiles where DPR.CATG=="ACQUISITION" and DPR.TYPE=="SLIT" and INS.MODE=="MXU" and inputFile.OBS.ID==OBS.ID and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 and MJD-OBS tryBetween inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 ; recipe fors_science { "--skyalign=-1"; "--photometry=TRUE"; } product MASTER_SCI_MXU_2x2_high_C1 { PRO.CATG="MASTER_SCI_MXU_2x2_high_C1"; PRO.EXT="tpl_0000.fits";} } action ACTION_SCI_HIT_MS { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.SPEED==DET.READ.SPEED and inputFile.DET.OUT1.GAIN==DET.OUT1.GAIN and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; minRet = 1; maxRet = 1; select file as MASTER_NORM_FLAT_HIT_MS from calibFiles where PRO.CATG=="MASTER_NORM_FLAT_HIT_MS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.MASK.NAME==INS.MASK.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as DISP_COEFF_HIT_MS from calibFiles where PRO.CATG=="DISP_COEFF_HIT_MS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.MASK.NAME==INS.MASK.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 3 and inputFile.MJD-OBS + 3 ; minRet = 0; maxRet = 10; select file as MAPPED_ALL_STD_HIT_MS_MASSOC from calibFiles where PRO.CATG=="MAPPED_ALL_STD_HIT_MS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.MASK.NAME==INS.MASK.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 3 and inputFile.MJD-OBS + 3 ; minRet = 0; maxRet = 10; select file as ACQ_HIT_MS_SKY_RASSOC from rawFiles where DPR.CATG=="ACQUISITION" and DPR.TYPE=="SKY" and INS.MODE=="HIT" and TPL.ID=="FORS2_hitms_acq" and inputFile.OBS.ID==OBS.ID and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 and MJD-OBS tryBetween inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 ; minRet = 0; maxRet = 10; select file as ACQ_HIT_MS_SLIT_RASSOC from rawFiles where DPR.CATG=="ACQUISITION" and DPR.TYPE=="SLIT" and INS.MODE=="HIT" and TPL.ID=="FORS2_hitms_obs_slit_fast" and inputFile.OBS.ID==OBS.ID and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 and MJD-OBS tryBetween inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 ; recipe none; product MASTER_SCI_HIT_MS { PRO.CATG="MASTER_SCI_HIT_MS"; PRO.EXT="tpl_0000.fits";} } action ACTION_SCI_HIT_S { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.SPEED==DET.READ.SPEED and inputFile.DET.OUT1.GAIN==DET.OUT1.GAIN and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; minRet = 1; maxRet = 1; select file as MASTER_NORM_FLAT_HIT_S from calibFiles where PRO.CATG=="MASTER_NORM_FLAT_HIT_S" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.MASK.NAME==INS.MASK.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as DISP_COEFF_HIT_S from calibFiles where PRO.CATG=="DISP_COEFF_HIT_S" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.MASK.NAME==INS.MASK.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 3 and inputFile.MJD-OBS + 3 ; minRet = 0; maxRet = 10; select file as ACQ_HIT_S_SKY_RASSOC from rawFiles where DPR.CATG=="ACQUISITION" and DPR.TYPE=="SKY" and INS.MODE=="HIT" and TPL.ID=="FORS2_hits_acq" and inputFile.OBS.ID==OBS.ID and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 and MJD-OBS tryBetween inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 ; minRet = 0; maxRet = 10; select file as ACQ_HIT_S_SLIT_RASSOC from rawFiles where DPR.CATG=="ACQUISITION" and DPR.TYPE=="SLIT" and INS.MODE=="HIT" and TPL.ID=="FORS2_hits_obs_slit_fast" and inputFile.OBS.ID==OBS.ID and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 and MJD-OBS tryBetween inputFile.MJD-OBS - 0.5 and inputFile.MJD-OBS + 0.5 ; recipe none; product MASTER_SCI_HIT_S { PRO.CATG="MASTER_SCI_HIT_S"; PRO.EXT="tpl_0000.fits";} } action ACTION_STD_IMA { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; minRet = 1; maxRet = 1; select file as MASTER_SKY_FLAT_IMG from calibFiles where PRO.CATG=="MASTER_SKY_FLAT_IMG" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 20 and inputFile.MJD-OBS + 20 and MJD-OBS tryBetween inputFile.MJD-OBS - 14 and inputFile.MJD-OBS + 14 ; minRet = 1; maxRet = 1; select file as FLX_STD_IMG from calibFiles where PRO.CATG=="FLX_STD_IMG" and MJD-OBS < inputFile.MJD-OBS ; minRet = 1; maxRet = 1; select file as PHOT_TABLE from calibFiles where PRO.CATG=="PHOT_TABLE" and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS < inputFile.MJD-OBS ; recipe fors_zeropoint { "--sex_mag=MAG_APER"; "--sex_magerr=MAGERR_APER"; } product SOURCES_STD_IMG { PRO.CATG="SOURCES_STD_IMG"; PRO.EXT="0000.fits";} product ALIGNED_PHOT { PRO.CATG="ALIGNED_PHOT"; PRO.EXT="0001.fits";} product STANDARD_REDUCED_IMG { PRO.CATG="STANDARD_REDUCED_IMG"; PRO.EXT="0002.fits";} product PHOT_BACKGROUND_STD_IMG { PRO.CATG="PHOT_BACKGROUND_STD_IMG"; PRO.EXT="0003.fits";} } action ACTION_STD_HIT { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.SPEED==DET.READ.SPEED and inputFile.DET.OUT1.GAIN==DET.OUT1.GAIN and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; minRet = 1; maxRet = 1; select file as MASTER_SKY_FLAT_IMG from calibFiles where PRO.CATG=="MASTER_SKY_FLAT_IMG" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 20 and inputFile.MJD-OBS + 20 and MJD-OBS tryBetween inputFile.MJD-OBS - 14 and inputFile.MJD-OBS + 14 ; recipe none; product STANDARD_REDUCED_HIT { PRO.CATG="STANDARD_REDUCED_HIT"; PRO.EXT="0000.fits";} } action ACTION_STD_LSS_C1 { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; minRet = 1; maxRet = 1; select file as LAMP_LSS_RASSOC from rawFiles where DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and INS.MODE=="LSS" and DPR.TECH!="INS-THROUGH" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.SLIT.NAME==INS.SLIT.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 8 and inputFile.MJD-OBS + 8 ; minRet = 1; maxRet = 1; select file as MASTER_NORM_FLAT_LSS from calibFiles where PRO.CATG=="MASTER_NORM_FLAT_LSS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.SLIT.NAME==INS.SLIT.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as FLAT_SED_LSS from calibFiles where PRO.CATG=="FLAT_SED_LSS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.SLIT.NAME==INS.SLIT.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as SLIT_LOCATION_LSS from calibFiles where PRO.CATG=="SLIT_LOCATION_LSS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.SLIT.NAME==INS.SLIT.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as GRISM_TABLE from calibFiles where PRO.CATG=="GRISM_TABLE" and inputFile.INSTRUME==INSTRUME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and MJD-OBS < inputFile.MJD-OBS ; minRet = 0; maxRet = 1; select file as STD_FLUX_TABLE from calibFiles where PRO.CATG=="STD_FLUX_TABLE" and inputFile.OBS.TARG.NAME==OBS.TARG.NAME and MJD-OBS < inputFile.MJD-OBS ; minRet = 1; maxRet = 1; select file as EXTINCT_TABLE from calibFiles where PRO.CATG=="EXTINCT_TABLE" and MJD-OBS < inputFile.MJD-OBS ; minRet = 0; maxRet = 1; select file as TELLURIC_CONTAMINATION from calibFiles where PRO.CATG=="TELLURIC_CONTAMINATION" and MJD-OBS < inputFile.MJD-OBS ; recipe fors_science { "--skyalign=-1"; } product REDUCED_STD_LSS_C1 { PRO.CATG="REDUCED_STD_LSS_C1"; PRO.EXT="0000.fits";} } action ACTION_STD_LSS_C2 { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; minRet = 1; maxRet = 1; select file as LAMP_LSS_RASSOC from rawFiles where DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and INS.MODE=="LSS" and DPR.TECH!="INS-THROUGH" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.SLIT.NAME==INS.SLIT.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS > inputFile.MJD-OBS - 8 and MJD-OBS < inputFile.MJD-OBS + 8 ; minRet = 1; maxRet = 1; select file as MASTER_NORM_FLAT_LSS from calibFiles where PRO.CATG=="MASTER_NORM_FLAT_LSS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.SLIT.NAME==INS.SLIT.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as FLAT_SED_LSS from calibFiles where PRO.CATG=="FLAT_SED_LSS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.SLIT.NAME==INS.SLIT.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as SLIT_LOCATION_LSS from calibFiles where PRO.CATG=="SLIT_LOCATION_LSS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.SLIT.NAME==INS.SLIT.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as GRISM_TABLE from calibFiles where PRO.CATG=="GRISM_TABLE" and inputFile.INSTRUME==INSTRUME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and MJD-OBS < inputFile.MJD-OBS ; minRet = 0; maxRet = 1; select file as TELLURIC_CONTAMINATION from calibFiles where PRO.CATG=="TELLURIC_CONTAMINATION" and MJD-OBS < inputFile.MJD-OBS ; recipe fors_science { "--skyalign=-1"; } product REDUCED_STD_LSS_C2 { PRO.CATG="REDUCED_STD_LSS_C2"; PRO.EXT="0000.fits";} } action ACTION_STD_MOS_C1 { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; minRet = 1; maxRet = 1; select file as LAMP_STD_RASSOC from rawFiles where DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and INS.MODE=="MOS" and (TPL.ID=="FORS2_specphot_cal_wave" or TPL.ID=="FORS2_specphot_cal_wave_fast") and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.MOS.CHECKSUM <= INS.MOS.CHECKSUM + 1 and inputFile.INS.MOS.CHECKSUM >= INS.MOS.CHECKSUM - 1 and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS > inputFile.MJD-OBS - 7 and MJD-OBS < inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as MASTER_NORM_FLAT_LONG_MOS from calibFiles where PRO.CATG=="MASTER_NORM_FLAT_LONG_MOS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.MOS.CHECKSUM <= INS.MOS.CHECKSUM + 1 and inputFile.INS.MOS.CHECKSUM >= INS.MOS.CHECKSUM - 1 and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as FLAT_SED_LONG_MOS from calibFiles where PRO.CATG=="FLAT_SED_LONG_MOS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.MOS.CHECKSUM <= INS.MOS.CHECKSUM + 1 and inputFile.INS.MOS.CHECKSUM >= INS.MOS.CHECKSUM - 1 and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as SLIT_LOCATION_LONG_MOS from calibFiles where PRO.CATG=="SLIT_LOCATION_LONG_MOS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.MOS.CHECKSUM <= INS.MOS.CHECKSUM + 1 and inputFile.INS.MOS.CHECKSUM >= INS.MOS.CHECKSUM - 1 and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as GRISM_TABLE from calibFiles where PRO.CATG=="GRISM_TABLE" and inputFile.INSTRUME==INSTRUME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and MJD-OBS < inputFile.MJD-OBS ; minRet = 0; maxRet = 1; select file as STD_FLUX_TABLE from calibFiles where PRO.CATG=="STD_FLUX_TABLE" and inputFile.INSTRUME==INSTRUME and inputFile.OBS.TARG.NAME==OBS.TARG.NAME and MJD-OBS < inputFile.MJD-OBS ; minRet = 1; maxRet = 1; select file as EXTINCT_TABLE from calibFiles where PRO.CATG=="EXTINCT_TABLE" and MJD-OBS < inputFile.MJD-OBS ; minRet = 0; maxRet = 1; select file as TELLURIC_CONTAMINATION from calibFiles where PRO.CATG=="TELLURIC_CONTAMINATION" and MJD-OBS < inputFile.MJD-OBS ; recipe fors_science { "--skyalign=-1"; "--photometry=TRUE"; } product MAPPED_ALL_STD_MOS { PRO.CATG="MAPPED_ALL_STD_MOS"; PRO.EXT="0003.fits";} product REDUCED_STD_MOS_C1 { PRO.CATG="REDUCED_STD_MOS_C1" ; PRO.EXT="0008.fits";} product REDUCED_ERROR_STD_MOS { PRO.CATG="REDUCED_ERROR_STD_MOS"; PRO.EXT="0009.fits";} product REDUCED_SKY_STD_MOS { PRO.CATG="REDUCED_SKY_STD_MOS" ; PRO.EXT="0007.fits";} product SPECPHOT_TABLE { PRO.CATG="SPECPHOT_TABLE" ; PRO.EXT="0013.fits";} } action ACTION_STD_MOS_C2 { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; minRet = 1; maxRet = 1; select file as LAMP_STD_RASSOC from rawFiles where DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and INS.MODE=="MOS" and (TPL.ID=="FORS2_specphot_cal_wave" or TPL.ID=="FORS2_specphot_cal_wave_fast") and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.MOS.CHECKSUM <= INS.MOS.CHECKSUM + 1 and inputFile.INS.MOS.CHECKSUM >= INS.MOS.CHECKSUM - 1 and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS > inputFile.MJD-OBS - 7 and MJD-OBS < inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as MASTER_NORM_FLAT_LONG_MOS from calibFiles where PRO.CATG=="MASTER_NORM_FLAT_LONG_MOS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.MOS.CHECKSUM <= INS.MOS.CHECKSUM + 1 and inputFile.INS.MOS.CHECKSUM >= INS.MOS.CHECKSUM - 1 and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as FLAT_SED_LONG_MOS from calibFiles where PRO.CATG=="FLAT_SED_LONG_MOS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.MOS.CHECKSUM <= INS.MOS.CHECKSUM + 1 and inputFile.INS.MOS.CHECKSUM >= INS.MOS.CHECKSUM - 1 and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as SLIT_LOCATION_LONG_MOS from calibFiles where PRO.CATG=="SLIT_LOCATION_LONG_MOS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.MOS.CHECKSUM <= INS.MOS.CHECKSUM + 1 and inputFile.INS.MOS.CHECKSUM >= INS.MOS.CHECKSUM - 1 and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as GRISM_TABLE from calibFiles where PRO.CATG=="GRISM_TABLE" and inputFile.INSTRUME==INSTRUME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and MJD-OBS < inputFile.MJD-OBS ; minRet = 0; maxRet = 1; select file as TELLURIC_CONTAMINATION from calibFiles where PRO.CATG=="TELLURIC_CONTAMINATION" and MJD-OBS < inputFile.MJD-OBS ; recipe fors_science { "--skyalign=-1"; } product REDUCED_STD_MOS_C2 { PRO.CATG="REDUCED_STD_MOS_C2"; PRO.EXT="0000.fits";} } action ACTION_STD_HIT_S { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.SPEED==DET.READ.SPEED and inputFile.DET.OUT1.GAIN==DET.OUT1.GAIN and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; minRet = 1; maxRet = 1; select file as MASTER_NORM_FLAT_HIT_S from calibFiles where PRO.CATG=="MASTER_NORM_FLAT_HIT_S" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.MASK.NAME==INS.MASK.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as WAVE_HIT_S_RASSOC from rawFiles where DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and (DET.READ.CLOCK=="HIT-OS1-1sec" or DET.READ.CLOCK=="HIT-OS2-4sec" or DET.READ.CLOCK=="HIT-OS3-16sec" or DET.READ.CLOCK=="HIT-OS4-64sec" or DET.READ.CLOCK=="HIT-OS5-256sec"or DET.READ.CLOCK=="HIT-OS6-1024sec" ) and DPR.TECH=="SPECTRUM" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.MASK.NAME==INS.MASK.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS > inputFile.MJD-OBS - 8 and MJD-OBS < inputFile.MJD-OBS + 8 ; minRet = 1; maxRet = 1; select file as GRISM_TABLE from calibFiles where PRO.CATG=="GRISM_TABLE" and inputFile.INSTRUME==INSTRUME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and MJD-OBS < inputFile.MJD-OBS ; recipe none; product MAPPED_ALL_STD_HIT_S { PRO.CATG="MAPPED_ALL_STD_HIT_S"; PRO.EXT="0003.fits";} } action ACTION_STD_HIT_MS { minRet = 1; maxRet = 1; select file as MASTER_BIAS from calibFiles where PRO.CATG=="MASTER_BIAS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.SPEED==DET.READ.SPEED and inputFile.DET.OUT1.GAIN==DET.OUT1.GAIN and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 5 and inputFile.MJD-OBS + 5 ; minRet = 1; maxRet = 1; select file as MASTER_NORM_FLAT_HIT_MS from calibFiles where PRO.CATG=="MASTER_NORM_FLAT_HIT_MS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.MASK.NAME==INS.MASK.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS between inputFile.MJD-OBS - 10 and inputFile.MJD-OBS + 10 and MJD-OBS tryBetween inputFile.MJD-OBS - 7 and inputFile.MJD-OBS + 7 ; minRet = 1; maxRet = 1; select file as WAVE_HIT_MS_RASSOC from rawFiles where DPR.CATG=="CALIB" and DPR.TYPE=="WAVE,LAMP" and DET.READ.CLOCK=="HIT-MS" and inputFile.DET.WIN1.BINX==DET.WIN1.BINX and inputFile.DET.WIN1.BINY==DET.WIN1.BINY and inputFile.DET.READ.CLOCK==DET.READ.CLOCK and inputFile.INS.COLL.NAME==INS.COLL.NAME and inputFile.INS.OPTI5.NAME==INS.OPTI5.NAME and inputFile.INS.OPTI6.NAME==INS.OPTI6.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and inputFile.INS.OPTI9.NAME==INS.OPTI9.NAME and inputFile.INS.OPTI10.NAME==INS.OPTI10.NAME and inputFile.INS.MASK.NAME==INS.MASK.NAME and inputFile.DET.CHIP1.ID==DET.CHIP1.ID and MJD-OBS > inputFile.MJD-OBS - 8 and MJD-OBS < inputFile.MJD-OBS + 8 ; minRet = 0; maxRet = 1; select file as GRISM_TABLE from calibFiles where PRO.CATG=="GRISM_TABLE" and inputFile.INSTRUME==INSTRUME and inputFile.INS.GRIS1.ID==INS.GRIS1.ID and inputFile.INS.GRIS1.NAME==INS.GRIS1.NAME and inputFile.INS.OPTI7.NAME==INS.OPTI7.NAME and MJD-OBS < inputFile.MJD-OBS ; recipe none; product MAPPED_ALL_STD_HIT_MS { PRO.CATG="MAPPED_ALL_STD_HIT_MS"; PRO.EXT="0003.fits";} }