lstosa 0.11.3__tar.gz → 0.11.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. {lstosa-0.11.3 → lstosa-0.11.5}/.mailmap +2 -1
  2. {lstosa-0.11.3 → lstosa-0.11.5}/PKG-INFO +1 -1
  3. {lstosa-0.11.3 → lstosa-0.11.5}/src/lstosa.egg-info/PKG-INFO +1 -1
  4. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/_version.py +16 -3
  5. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/configs/sequencer.cfg +1 -0
  6. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/job.py +1 -1
  7. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/paths.py +3 -2
  8. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/scripts/gain_selection.py +2 -2
  9. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/scripts/sequencer.py +36 -3
  10. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/scripts/sequencer_webmaker.py +1 -1
  11. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/scripts/tests/test_osa_scripts.py +4 -4
  12. {lstosa-0.11.3 → lstosa-0.11.5}/.coveragerc +0 -0
  13. {lstosa-0.11.3 → lstosa-0.11.5}/.gitignore +0 -0
  14. {lstosa-0.11.3 → lstosa-0.11.5}/.pre-commit-config.yaml +0 -0
  15. {lstosa-0.11.3 → lstosa-0.11.5}/.readthedocs.yml +0 -0
  16. {lstosa-0.11.3 → lstosa-0.11.5}/LICENSE +0 -0
  17. {lstosa-0.11.3 → lstosa-0.11.5}/MANIFEST.in +0 -0
  18. {lstosa-0.11.3 → lstosa-0.11.5}/README.md +0 -0
  19. {lstosa-0.11.3 → lstosa-0.11.5}/codemeta.json +0 -0
  20. {lstosa-0.11.3 → lstosa-0.11.5}/crontab/crontab-orig.txt +0 -0
  21. {lstosa-0.11.3 → lstosa-0.11.5}/crontab/crontab.txt +0 -0
  22. {lstosa-0.11.3 → lstosa-0.11.5}/dev/mysql.py +0 -0
  23. {lstosa-0.11.3 → lstosa-0.11.5}/docs/Makefile +0 -0
  24. {lstosa-0.11.3 → lstosa-0.11.5}/docs/_static/logo_lstosa.png +0 -0
  25. {lstosa-0.11.3 → lstosa-0.11.5}/docs/authors.rst +0 -0
  26. {lstosa-0.11.3 → lstosa-0.11.5}/docs/components/index.rst +0 -0
  27. {lstosa-0.11.3 → lstosa-0.11.5}/docs/conf.py +0 -0
  28. {lstosa-0.11.3 → lstosa-0.11.5}/docs/configuration.rst +0 -0
  29. {lstosa-0.11.3 → lstosa-0.11.5}/docs/contribute.rst +0 -0
  30. {lstosa-0.11.3 → lstosa-0.11.5}/docs/documents/index.rst +0 -0
  31. {lstosa-0.11.3 → lstosa-0.11.5}/docs/howto/index.rst +0 -0
  32. {lstosa-0.11.3 → lstosa-0.11.5}/docs/index.rst +0 -0
  33. {lstosa-0.11.3 → lstosa-0.11.5}/docs/introduction/index.rst +0 -0
  34. {lstosa-0.11.3 → lstosa-0.11.5}/docs/introduction/reduction_steps_lstchain.png +0 -0
  35. {lstosa-0.11.3 → lstosa-0.11.5}/docs/jobs.rst +0 -0
  36. {lstosa-0.11.3 → lstosa-0.11.5}/docs/make.bat +0 -0
  37. {lstosa-0.11.3 → lstosa-0.11.5}/docs/nightsummary.rst +0 -0
  38. {lstosa-0.11.3 → lstosa-0.11.5}/docs/provenance.rst +0 -0
  39. {lstosa-0.11.3 → lstosa-0.11.5}/docs/references.rst +0 -0
  40. {lstosa-0.11.3 → lstosa-0.11.5}/docs/reports.rst +0 -0
  41. {lstosa-0.11.3 → lstosa-0.11.5}/docs/scripts/index.rst +0 -0
  42. {lstosa-0.11.3 → lstosa-0.11.5}/docs/troubleshooting/index.rst +0 -0
  43. {lstosa-0.11.3 → lstosa-0.11.5}/docs/utils.rst +0 -0
  44. {lstosa-0.11.3 → lstosa-0.11.5}/docs/veto.rst +0 -0
  45. {lstosa-0.11.3 → lstosa-0.11.5}/docs/workflow/LSTOSA_flow.png +0 -0
  46. {lstosa-0.11.3 → lstosa-0.11.5}/docs/workflow/index.rst +0 -0
  47. {lstosa-0.11.3 → lstosa-0.11.5}/environment-lstcam.yml +0 -0
  48. {lstosa-0.11.3 → lstosa-0.11.5}/environment.yml +0 -0
  49. {lstosa-0.11.3 → lstosa-0.11.5}/extra/example_sequencer.txt +0 -0
  50. {lstosa-0.11.3 → lstosa-0.11.5}/extra/history_files/sequence_LST1_04183.history +0 -0
  51. {lstosa-0.11.3 → lstosa-0.11.5}/extra/history_files/sequence_LST1_04183_failed.history +0 -0
  52. {lstosa-0.11.3 → lstosa-0.11.5}/extra/history_files/sequence_LST1_04183_oneline.history +0 -0
  53. {lstosa-0.11.3 → lstosa-0.11.5}/extra/history_files/sequence_LST1_04185.0001.history +0 -0
  54. {lstosa-0.11.3 → lstosa-0.11.5}/extra/history_files/sequence_LST1_04185.0010.history +0 -0
  55. {lstosa-0.11.3 → lstosa-0.11.5}/extra/sacct_output.csv +0 -0
  56. {lstosa-0.11.3 → lstosa-0.11.5}/extra/squeue_output.csv +0 -0
  57. {lstosa-0.11.3 → lstosa-0.11.5}/pyproject.toml +0 -0
  58. {lstosa-0.11.3 → lstosa-0.11.5}/setup.cfg +0 -0
  59. {lstosa-0.11.3 → lstosa-0.11.5}/src/lstosa.egg-info/SOURCES.txt +0 -0
  60. {lstosa-0.11.3 → lstosa-0.11.5}/src/lstosa.egg-info/dependency_links.txt +0 -0
  61. {lstosa-0.11.3 → lstosa-0.11.5}/src/lstosa.egg-info/entry_points.txt +0 -0
  62. {lstosa-0.11.3 → lstosa-0.11.5}/src/lstosa.egg-info/requires.txt +0 -0
  63. {lstosa-0.11.3 → lstosa-0.11.5}/src/lstosa.egg-info/top_level.txt +0 -0
  64. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/__init__.py +0 -0
  65. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/configs/__init__.py +0 -0
  66. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/configs/config.py +0 -0
  67. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/configs/datamodel.py +0 -0
  68. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/configs/options.py +0 -0
  69. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/conftest.py +0 -0
  70. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/high_level/__init__.py +0 -0
  71. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/high_level/selection_cuts.toml +0 -0
  72. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/high_level/significance.py +0 -0
  73. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/high_level/tests/test_significance.py +0 -0
  74. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/nightsummary/__init__.py +0 -0
  75. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/nightsummary/database.py +0 -0
  76. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/nightsummary/extract.py +0 -0
  77. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/nightsummary/nightsummary.py +0 -0
  78. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/nightsummary/set_source_coordinates.py +0 -0
  79. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/nightsummary/tests/test_database.py +0 -0
  80. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/nightsummary/tests/test_extract.py +0 -0
  81. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/nightsummary/tests/test_nightsummary.py +0 -0
  82. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/nightsummary/tests/test_source_coordinates.py +0 -0
  83. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/osadb.py +0 -0
  84. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/provenance/__init__.py +0 -0
  85. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/provenance/capture.py +0 -0
  86. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/provenance/config/definition.yaml +0 -0
  87. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/provenance/config/environment.yaml +0 -0
  88. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/provenance/config/logger.yaml +0 -0
  89. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/provenance/io.py +0 -0
  90. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/provenance/utils.py +0 -0
  91. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/raw.py +0 -0
  92. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/report.py +0 -0
  93. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/scripts/__init__.py +0 -0
  94. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/scripts/autocloser.py +0 -0
  95. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/scripts/calibration_pipeline.py +0 -0
  96. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/scripts/closer.py +0 -0
  97. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/scripts/copy_datacheck.py +0 -0
  98. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/scripts/datasequence.py +0 -0
  99. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/scripts/gainsel_webmaker.py +0 -0
  100. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/scripts/provprocess.py +0 -0
  101. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/scripts/reprocess_longterm.py +0 -0
  102. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/scripts/reprocessing.py +0 -0
  103. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/scripts/sequencer_catB_tailcuts.py +0 -0
  104. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/scripts/show_run_summary.py +0 -0
  105. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/scripts/simulate_processing.py +0 -0
  106. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/scripts/tests/__init__.py +0 -0
  107. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/scripts/update_source_catalog.py +0 -0
  108. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/tests/__init__.py +0 -0
  109. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/tests/test_jobs.py +0 -0
  110. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/tests/test_osa.py +0 -0
  111. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/tests/test_osadb.py +0 -0
  112. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/tests/test_paths.py +0 -0
  113. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/tests/test_raw.py +0 -0
  114. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/tests/test_report.py +0 -0
  115. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/tests/test_veto.py +0 -0
  116. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/utils/__init__.py +0 -0
  117. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/utils/cliopts.py +0 -0
  118. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/utils/iofile.py +0 -0
  119. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/utils/logging.py +0 -0
  120. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/utils/mail.py +0 -0
  121. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/utils/register.py +0 -0
  122. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/utils/tests/test_iofile.py +0 -0
  123. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/utils/tests/test_utils.py +0 -0
  124. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/utils/utils.py +0 -0
  125. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/version.py +0 -0
  126. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/veto.py +0 -0
  127. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/webserver/__init__.py +0 -0
  128. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/webserver/utils.py +0 -0
  129. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/workflow/__init__.py +0 -0
  130. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/workflow/dl3.py +0 -0
  131. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/workflow/stages.py +0 -0
  132. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/workflow/tests/test_dl3.py +0 -0
  133. {lstosa-0.11.3 → lstosa-0.11.5}/src/osa/workflow/tests/test_stages.py +0 -0
@@ -1,6 +1,7 @@
1
1
  Andres Baquero <obaquero@ucm.es> andres-baquero <obaquero@ucm.es>
2
2
 
3
- Daniel Morcuende <dmorcuen@ucm.es> morcuended <dmorcuen@ucm.es>
3
+ Daniel Morcuende <daniel.morcuende@cta-observatory.org> morcuended <dmorcuen@ucm.es>
4
+ Daniel Morcuende <daniel.morcuende@cta-observatory.org> morcuended <dmorcuende@iaa.es>
4
5
 
5
6
  Jose Luis Contreras <jlcontreras@fis.ucm.es> Jose Contreras <jose.contreras@cp02.ctan.cta-observatory.org>
6
7
  Jose Luis Contreras <jlcontreras@fis.ucm.es> Jose Luis Contreras <pda.jl.contreras@gmail.com>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lstosa
3
- Version: 0.11.3
3
+ Version: 0.11.5
4
4
  Summary: Onsite analysis pipeline for the CTA LST-1
5
5
  Author: María Láinez, José Enrique Ruiz, Lab Saha, Andrés Baquero, José Luis Contreras, Maximilian Linhoff
6
6
  Author-email: Daniel Morcuende <dmorcuen@ucm.es>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lstosa
3
- Version: 0.11.3
3
+ Version: 0.11.5
4
4
  Summary: Onsite analysis pipeline for the CTA LST-1
5
5
  Author: María Láinez, José Enrique Ruiz, Lab Saha, Andrés Baquero, José Luis Contreras, Maximilian Linhoff
6
6
  Author-email: Daniel Morcuende <dmorcuen@ucm.es>
@@ -1,7 +1,14 @@
1
1
  # file generated by setuptools-scm
2
2
  # don't change, don't track in version control
3
3
 
4
- __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
4
+ __all__ = [
5
+ "__version__",
6
+ "__version_tuple__",
7
+ "version",
8
+ "version_tuple",
9
+ "__commit_id__",
10
+ "commit_id",
11
+ ]
5
12
 
6
13
  TYPE_CHECKING = False
7
14
  if TYPE_CHECKING:
@@ -9,13 +16,19 @@ if TYPE_CHECKING:
9
16
  from typing import Union
10
17
 
11
18
  VERSION_TUPLE = Tuple[Union[int, str], ...]
19
+ COMMIT_ID = Union[str, None]
12
20
  else:
13
21
  VERSION_TUPLE = object
22
+ COMMIT_ID = object
14
23
 
15
24
  version: str
16
25
  __version__: str
17
26
  __version_tuple__: VERSION_TUPLE
18
27
  version_tuple: VERSION_TUPLE
28
+ commit_id: COMMIT_ID
29
+ __commit_id__: COMMIT_ID
19
30
 
20
- __version__ = version = '0.11.3'
21
- __version_tuple__ = version_tuple = (0, 11, 3)
31
+ __version__ = version = '0.11.5'
32
+ __version_tuple__ = version_tuple = (0, 11, 5)
33
+
34
+ __commit_id__ = commit_id = 'gdc0cee0a4'
@@ -44,6 +44,7 @@ PROD_ID: v0.1.0
44
44
  # Change this to produce a different DL1b or DL2 sub-productions.
45
45
  # Otherwise, keep it empty to use the common PROD-ID
46
46
  DL1_PROD_ID: tailcut84
47
+ DL1_PROD_ID_PREFIX: tailcut
47
48
  DL2_PROD_ID: model2
48
49
 
49
50
  [lstchain]
@@ -722,7 +722,7 @@ def get_sacct_output(sacct_output: StringIO) -> pd.DataFrame:
722
722
 
723
723
  # Keep only the jobs corresponding to OSA sequences
724
724
  sacct_output = sacct_output[
725
- (sacct_output["JobName"].str.contains("batch"))
725
+ (~sacct_output["JobID"].str.contains(r"\."))
726
726
  | (sacct_output["JobName"].str.contains("LST1"))
727
727
  ]
728
728
 
@@ -433,11 +433,12 @@ def get_dl1_prod_id(config_filename):
433
433
 
434
434
  picture_thresh = data["tailcuts_clean_with_pedestal_threshold"]["picture_thresh"]
435
435
  boundary_thresh = data["tailcuts_clean_with_pedestal_threshold"]["boundary_thresh"]
436
+ dl1_prod_id_prefix = cfg.get("LST1", "DL1_PROD_ID_PREFIX")
436
437
 
437
438
  if boundary_thresh == 4:
438
- return f"tailcut{picture_thresh}{boundary_thresh}"
439
+ return f"{dl1_prod_id_prefix}{picture_thresh}{boundary_thresh}"
439
440
  else:
440
- return f"tailcut{picture_thresh}{boundary_thresh:02d}"
441
+ return f"{dl1_prod_id_prefix}{picture_thresh}{boundary_thresh:02d}"
441
442
 
442
443
 
443
444
  def get_dl2_nsb_prod_id(rf_model: Path) -> str:
@@ -224,10 +224,10 @@ def launch_gainsel_for_data_run(
224
224
  else:
225
225
  log.warning(f"Gain selection failed for run {run_id:05d}.{subrun:04d}")
226
226
  elif gainsel_rc == "0":
227
- log.debug(f"Gain selection finished successfully for run {run_id:05d}.{subrun:04d},"
227
+ log.debug(f"Gain selection finished successfully for run {run_id:05d}.{subrun:04d}, "
228
228
  "no additional jobs will be submitted for this subrun.")
229
229
  else:
230
- log.debug("Creating and launching the gain selection sbatch script for subrun {run_id:05d}.{subrun:04d}")
230
+ log.debug(f"Creating and launching the gain selection sbatch script for subrun {run_id:05d}.{subrun:04d}")
231
231
  if not simulate:
232
232
  log_file = log_dir / f"r0_to_r0g_{run_id:05d}.{subrun:04d}.log"
233
233
  job_file = log_dir / f"gain_selection_{run_id:05d}.{subrun:04d}.sh"
@@ -11,7 +11,7 @@ import os
11
11
  import sys
12
12
  from decimal import Decimal
13
13
  import datetime
14
-
14
+ import re
15
15
  from osa import osadb
16
16
  from osa.configs import options
17
17
  from osa.configs.config import cfg
@@ -50,6 +50,7 @@ __all__ = [
50
50
  "update_sequence_status",
51
51
  "get_status_for_sequence",
52
52
  "output_matrix",
53
+ "check_catB_status",
53
54
  "report_sequences",
54
55
  "update_job_info",
55
56
  ]
@@ -205,6 +206,34 @@ def update_sequence_status(seq_list):
205
206
  )
206
207
  seq.muonstatus = int(Decimal(get_status_for_sequence(seq, "MUON") * 100) / seq.subruns)
207
208
  seq.dl2status = int(Decimal(get_status_for_sequence(seq, "DL2") * 100))
209
+ seq.catbstatus = check_catB_status(seq)
210
+
211
+
212
+ def check_catB_status(seq):
213
+ catbstatus = "None"
214
+
215
+ if seq.type == "DATA":
216
+ directory = options.directory
217
+
218
+ closed_files = list(directory.glob(f"catB*{seq.run}*.closed"))
219
+ if closed_files:
220
+ catbstatus = "CLOSED"
221
+ else:
222
+ log_files = list(options.log_directory.glob(f"catB_calibration_{seq.run}_*.err"))
223
+ if log_files:
224
+ filename = sorted(log_files)[-1].name
225
+ match = re.search(f"catB_calibration_{seq.run}_(\d+).err", filename)
226
+ if match:
227
+ job_id = match.group(1)
228
+
229
+ sacct_output = run_sacct(job_id)
230
+ sacct_info = get_sacct_output(sacct_output)
231
+
232
+ if not sacct_info.empty:
233
+ catbstatus = sacct_info.iloc[0]["State"]
234
+
235
+ return catbstatus
236
+
208
237
 
209
238
 
210
239
  def get_status_for_sequence(sequence, data_level) -> int:
@@ -238,7 +267,10 @@ def get_status_for_sequence(sequence, data_level) -> int:
238
267
  elif data_level == "DATACHECK":
239
268
  try:
240
269
  directory = options.directory / sequence.dl1_prod_id
270
+ alternative_directory = destination_dir(concept="DATACHECK", create_dir=False, dl1_prod_id=sequence.dl1_prod_id)
241
271
  files = list(directory.glob(f"datacheck_dl1_LST-1*{sequence.run}*.h5"))
272
+ files += list(alternative_directory.glob(f"datacheck_dl1_LST-1*{sequence.run}*.h5"))
273
+
242
274
  except AttributeError:
243
275
  return 0
244
276
 
@@ -275,7 +307,7 @@ def report_sequences(sequence_list):
275
307
  "Exit",
276
308
  ]
277
309
  if options.tel_id in ["LST1", "LST2"]:
278
- header.extend(("DL1%", "MUONS%", "DL1AB%", "DATACHECK%", "DL2%"))
310
+ header.extend(("DL1%", "MUONS%", "CAT-B","DL1AB%", "DATACHECK%", "DL2%"))
279
311
  matrix = [header]
280
312
  for sequence in sequence_list:
281
313
  row_list = [
@@ -294,12 +326,13 @@ def report_sequences(sequence_list):
294
326
  sequence.exit,
295
327
  ]
296
328
  if sequence.type in ["DRS4", "PEDCALIB"]:
297
- row_list.extend((None, None, None, None, None))
329
+ row_list.extend((None, None, None, None, None, None))
298
330
  elif sequence.type == "DATA":
299
331
  row_list.extend(
300
332
  (
301
333
  sequence.dl1status,
302
334
  sequence.muonstatus,
335
+ sequence.catbstatus,
303
336
  sequence.dl1abstatus,
304
337
  sequence.datacheckstatus,
305
338
  sequence.dl2status,
@@ -107,7 +107,7 @@ def lines_to_matrix(lines: Iterable) -> list:
107
107
  matrix = []
108
108
  for line in lines:
109
109
  l_fields = line.split()
110
- if len(l_fields) == 18:
110
+ if len(l_fields) == 19:
111
111
  matrix.append(l_fields)
112
112
  return matrix
113
113
 
@@ -163,10 +163,10 @@ def test_simulated_sequencer(
163
163
  assert rc.stdout == dedent(
164
164
  f"""\
165
165
  =================================== Starting sequencer.py at {now} UTC for LST, Telescope: LST1, Date: 2020-01-17 ===================================
166
- Tel Seq Parent Type Run Subruns Source Action Tries JobID State CPU_time Exit DL1% MUONS% DL1AB% DATACHECK% DL2%
167
- LST1 1 None PEDCALIB 1809 5 None None None None None None None None None None None None
168
- LST1 2 1 DATA 1807 11 Crab None None None None None None 0 0 0 0 100
169
- LST1 3 1 DATA 1808 9 MadeUpSource None None None None None None 0 0 0 0 100
166
+ Tel Seq Parent Type Run Subruns Source Action Tries JobID State CPU_time Exit DL1% MUONS% CAT-B DL1AB% DATACHECK% DL2%
167
+ LST1 1 None PEDCALIB 1809 5 None None None None None None None None None None None None None
168
+ LST1 2 1 DATA 1807 11 Crab None None None None None None 0 0 None 0 0 100
169
+ LST1 3 1 DATA 1808 9 MadeUpSource None None None None None None 0 0 None 0 0 100
170
170
  """ # noqa: E501
171
171
  )
172
172
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes