lstosa 0.10.18__tar.gz → 0.11.0__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 (134) hide show
  1. {lstosa-0.10.18 → lstosa-0.11.0}/PKG-INFO +4 -5
  2. lstosa-0.11.0/environment-lstcam.yml +8 -0
  3. {lstosa-0.10.18 → lstosa-0.11.0}/environment.yml +7 -8
  4. lstosa-0.11.0/extra/history_files/sequence_LST1_04183.history +2 -0
  5. lstosa-0.11.0/extra/history_files/sequence_LST1_04185.0001.history +3 -0
  6. {lstosa-0.10.18 → lstosa-0.11.0}/extra/history_files/sequence_LST1_04185.0010.history +1 -1
  7. {lstosa-0.10.18 → lstosa-0.11.0}/pyproject.toml +4 -4
  8. {lstosa-0.10.18 → lstosa-0.11.0}/src/lstosa.egg-info/PKG-INFO +4 -5
  9. {lstosa-0.10.18 → lstosa-0.11.0}/src/lstosa.egg-info/SOURCES.txt +3 -0
  10. {lstosa-0.10.18 → lstosa-0.11.0}/src/lstosa.egg-info/entry_points.txt +1 -0
  11. {lstosa-0.10.18 → lstosa-0.11.0}/src/lstosa.egg-info/requires.txt +3 -4
  12. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/_version.py +9 -4
  13. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/configs/options.py +2 -0
  14. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/configs/sequencer.cfg +21 -7
  15. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/conftest.py +146 -6
  16. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/high_level/significance.py +5 -3
  17. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/high_level/tests/test_significance.py +3 -0
  18. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/job.py +52 -26
  19. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/nightsummary/extract.py +12 -3
  20. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/nightsummary/tests/test_extract.py +5 -0
  21. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/paths.py +111 -28
  22. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/provenance/capture.py +1 -1
  23. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/provenance/config/definition.yaml +7 -0
  24. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/provenance/utils.py +22 -7
  25. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/scripts/autocloser.py +0 -10
  26. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/scripts/calibration_pipeline.py +9 -2
  27. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/scripts/closer.py +136 -55
  28. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/scripts/copy_datacheck.py +5 -3
  29. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/scripts/datasequence.py +45 -71
  30. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/scripts/gain_selection.py +14 -15
  31. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/scripts/provprocess.py +16 -7
  32. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/scripts/sequencer.py +49 -34
  33. lstosa-0.11.0/src/osa/scripts/sequencer_catB_tailcuts.py +239 -0
  34. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/scripts/sequencer_webmaker.py +4 -0
  35. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/scripts/show_run_summary.py +2 -2
  36. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/scripts/simulate_processing.py +4 -7
  37. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/scripts/tests/test_osa_scripts.py +67 -22
  38. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/scripts/update_source_catalog.py +45 -22
  39. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/tests/test_jobs.py +28 -11
  40. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/tests/test_paths.py +6 -6
  41. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/tests/test_raw.py +4 -4
  42. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/utils/cliopts.py +37 -32
  43. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/utils/register.py +18 -13
  44. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/utils/tests/test_utils.py +14 -0
  45. lstosa-0.11.0/src/osa/utils/utils.py +417 -0
  46. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/veto.py +1 -1
  47. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/workflow/dl3.py +1 -2
  48. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/workflow/stages.py +16 -11
  49. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/workflow/tests/test_dl3.py +2 -1
  50. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/workflow/tests/test_stages.py +7 -5
  51. lstosa-0.10.18/extra/history_files/sequence_LST1_04183.history +0 -2
  52. lstosa-0.10.18/src/osa/utils/utils.py +0 -287
  53. {lstosa-0.10.18 → lstosa-0.11.0}/.coveragerc +0 -0
  54. {lstosa-0.10.18 → lstosa-0.11.0}/.gitignore +0 -0
  55. {lstosa-0.10.18 → lstosa-0.11.0}/.mailmap +0 -0
  56. {lstosa-0.10.18 → lstosa-0.11.0}/.pre-commit-config.yaml +0 -0
  57. {lstosa-0.10.18 → lstosa-0.11.0}/.readthedocs.yml +0 -0
  58. {lstosa-0.10.18 → lstosa-0.11.0}/LICENSE +0 -0
  59. {lstosa-0.10.18 → lstosa-0.11.0}/MANIFEST.in +0 -0
  60. {lstosa-0.10.18 → lstosa-0.11.0}/README.md +0 -0
  61. {lstosa-0.10.18 → lstosa-0.11.0}/codemeta.json +0 -0
  62. {lstosa-0.10.18 → lstosa-0.11.0}/crontab/crontab.txt +0 -0
  63. {lstosa-0.10.18 → lstosa-0.11.0}/dev/mysql.py +0 -0
  64. {lstosa-0.10.18 → lstosa-0.11.0}/docs/Makefile +0 -0
  65. {lstosa-0.10.18 → lstosa-0.11.0}/docs/_static/logo_lstosa.png +0 -0
  66. {lstosa-0.10.18 → lstosa-0.11.0}/docs/authors.rst +0 -0
  67. {lstosa-0.10.18 → lstosa-0.11.0}/docs/components/index.rst +0 -0
  68. {lstosa-0.10.18 → lstosa-0.11.0}/docs/conf.py +0 -0
  69. {lstosa-0.10.18 → lstosa-0.11.0}/docs/configuration.rst +0 -0
  70. {lstosa-0.10.18 → lstosa-0.11.0}/docs/contribute.rst +0 -0
  71. {lstosa-0.10.18 → lstosa-0.11.0}/docs/documents/index.rst +0 -0
  72. {lstosa-0.10.18 → lstosa-0.11.0}/docs/howto/index.rst +0 -0
  73. {lstosa-0.10.18 → lstosa-0.11.0}/docs/index.rst +0 -0
  74. {lstosa-0.10.18 → lstosa-0.11.0}/docs/introduction/index.rst +0 -0
  75. {lstosa-0.10.18 → lstosa-0.11.0}/docs/introduction/reduction_steps_lstchain.png +0 -0
  76. {lstosa-0.10.18 → lstosa-0.11.0}/docs/jobs.rst +0 -0
  77. {lstosa-0.10.18 → lstosa-0.11.0}/docs/make.bat +0 -0
  78. {lstosa-0.10.18 → lstosa-0.11.0}/docs/nightsummary.rst +0 -0
  79. {lstosa-0.10.18 → lstosa-0.11.0}/docs/provenance.rst +0 -0
  80. {lstosa-0.10.18 → lstosa-0.11.0}/docs/references.rst +0 -0
  81. {lstosa-0.10.18 → lstosa-0.11.0}/docs/reports.rst +0 -0
  82. {lstosa-0.10.18 → lstosa-0.11.0}/docs/scripts/index.rst +0 -0
  83. {lstosa-0.10.18 → lstosa-0.11.0}/docs/troubleshooting/index.rst +0 -0
  84. {lstosa-0.10.18 → lstosa-0.11.0}/docs/utils.rst +0 -0
  85. {lstosa-0.10.18 → lstosa-0.11.0}/docs/veto.rst +0 -0
  86. {lstosa-0.10.18 → lstosa-0.11.0}/docs/workflow/LSTOSA_flow.png +0 -0
  87. {lstosa-0.10.18 → lstosa-0.11.0}/docs/workflow/index.rst +0 -0
  88. {lstosa-0.10.18 → lstosa-0.11.0}/extra/example_sequencer.txt +0 -0
  89. {lstosa-0.10.18 → lstosa-0.11.0}/extra/history_files/sequence_LST1_04183_failed.history +0 -0
  90. {lstosa-0.10.18 → lstosa-0.11.0}/extra/history_files/sequence_LST1_04183_oneline.history +0 -0
  91. {lstosa-0.10.18 → lstosa-0.11.0}/extra/sacct_output.csv +0 -0
  92. {lstosa-0.10.18 → lstosa-0.11.0}/extra/squeue_output.csv +0 -0
  93. {lstosa-0.10.18 → lstosa-0.11.0}/setup.cfg +0 -0
  94. {lstosa-0.10.18 → lstosa-0.11.0}/src/lstosa.egg-info/dependency_links.txt +0 -0
  95. {lstosa-0.10.18 → lstosa-0.11.0}/src/lstosa.egg-info/top_level.txt +0 -0
  96. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/__init__.py +0 -0
  97. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/configs/__init__.py +0 -0
  98. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/configs/config.py +0 -0
  99. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/configs/datamodel.py +0 -0
  100. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/high_level/__init__.py +0 -0
  101. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/high_level/selection_cuts.toml +0 -0
  102. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/nightsummary/__init__.py +0 -0
  103. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/nightsummary/database.py +0 -0
  104. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/nightsummary/nightsummary.py +0 -0
  105. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/nightsummary/set_source_coordinates.py +0 -0
  106. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/nightsummary/tests/test_database.py +0 -0
  107. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/nightsummary/tests/test_nightsummary.py +0 -0
  108. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/nightsummary/tests/test_source_coordinates.py +0 -0
  109. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/osadb.py +0 -0
  110. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/provenance/__init__.py +0 -0
  111. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/provenance/config/environment.yaml +0 -0
  112. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/provenance/config/logger.yaml +0 -0
  113. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/provenance/io.py +0 -0
  114. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/raw.py +0 -0
  115. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/report.py +0 -0
  116. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/scripts/__init__.py +0 -0
  117. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/scripts/gainsel_webmaker.py +0 -0
  118. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/scripts/reprocess_longterm.py +0 -0
  119. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/scripts/reprocessing.py +0 -0
  120. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/scripts/tests/__init__.py +0 -0
  121. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/tests/__init__.py +0 -0
  122. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/tests/test_osa.py +0 -0
  123. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/tests/test_osadb.py +0 -0
  124. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/tests/test_report.py +0 -0
  125. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/tests/test_veto.py +0 -0
  126. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/utils/__init__.py +0 -0
  127. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/utils/iofile.py +0 -0
  128. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/utils/logging.py +0 -0
  129. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/utils/mail.py +0 -0
  130. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/utils/tests/test_iofile.py +0 -0
  131. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/version.py +0 -0
  132. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/webserver/__init__.py +0 -0
  133. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/webserver/utils.py +0 -0
  134. {lstosa-0.10.18 → lstosa-0.11.0}/src/osa/workflow/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lstosa
3
- Version: 0.10.18
3
+ Version: 0.11.0
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>
@@ -18,8 +18,8 @@ Classifier: Programming Language :: Python :: 3.11
18
18
  Requires-Python: >=3.10
19
19
  Description-Content-Type: text/markdown
20
20
  License-File: LICENSE
21
- Requires-Dist: astropy~=5.0
22
- Requires-Dist: lstchain>=0.10.13
21
+ Requires-Dist: astropy<8,>=6.1
22
+ Requires-Dist: lstchain>=0.11.0
23
23
  Requires-Dist: matplotlib
24
24
  Requires-Dist: numpy
25
25
  Requires-Dist: pandas
@@ -31,9 +31,8 @@ Requires-Dist: psutil
31
31
  Requires-Dist: click
32
32
  Requires-Dist: toml
33
33
  Requires-Dist: pymongo
34
- Requires-Dist: gammapy~=1.1
34
+ Requires-Dist: gammapy~=1.3
35
35
  Requires-Dist: tenacity
36
- Requires-Dist: lstcam_calib
37
36
  Provides-Extra: test
38
37
  Requires-Dist: pytest; extra == "test"
39
38
  Requires-Dist: pytest-cov; extra == "test"
@@ -0,0 +1,8 @@
1
+ name: lstcam-env
2
+ channels:
3
+ - conda-forge
4
+ dependencies:
5
+ - python=3.11
6
+ - pip
7
+ - pip:
8
+ - lstcam_calib
@@ -6,8 +6,8 @@ dependencies:
6
6
  - python=3.11
7
7
  - numpy
8
8
  - pip
9
- - astropy~=5.0
10
- - ctapipe~=0.19.2
9
+ - astropy>=6.1,<8
10
+ - ctapipe>=0.25.0
11
11
  - matplotlib
12
12
  - pyparsing
13
13
  - prov
@@ -15,19 +15,18 @@ dependencies:
15
15
  - pydot
16
16
  - pydotplus
17
17
  - psutil
18
- - gammapy=1.1
18
+ - gammapy=1.3
19
19
  - h5py
20
20
  - joblib~=1.2.0
21
21
  - click
22
22
  - pymongo
23
- - scikit-learn=1.2
24
- - ctapipe_io_lst=0.24
23
+ - scikit-learn=1.6
24
+ - ctapipe_io_lst>=0.26.0,<0.28.0a0
25
25
  - ctaplot~=0.6.4
26
- - pyirf~=0.10
27
- - lstchain>=0.10.13
26
+ - pyirf~=0.12.0
28
27
  - tenacity
29
28
  - pip:
30
- - lstcam_calib
29
+ - lstchain>=0.11.0
31
30
  # dev dependencies
32
31
  - pytest
33
32
  - pytest-cov
@@ -0,0 +1,2 @@
1
+ 04179 onsite_create_drs4_pedestal_file v0.7.0 2021-12-19 22:11 None None 0
2
+ 04183 onsite_create_calibration_file v0.7.0 2021-12-19 22:11 None None 0
@@ -0,0 +1,3 @@
1
+ 04185.0001 lstchain_data_r0_to_dl1 v0.7.0 Thu Mar 25 12:53:40 UTC 2021 calibration.Run04183.0000.hdf5 drs4_pedestal.Run04179.0000.fits 0
2
+ 04185.0001 lstchain_dl1ab tailcut105 Thu Mar 25 13:06:09 UTC 2021 dl1_LST-1.Run04185.0001.h5 lstchain_standard_config_tailcut84.json 0
3
+ 04185.0001 lstchain_check_dl1 tailcut105 Thu Mar 25 13:07:02 UTC 2021 dl1_LST-1.Run04185.0001.h5 None 0
@@ -1,4 +1,4 @@
1
1
  04185.0010 lstchain_data_r0_to_dl1 v0.7.0 Thu Mar 25 12:53:40 UTC 2021 calibration.Run04183.0000.hdf5 drs4_pedestal.Run04179.0000.fits 0
2
2
  04185.0010 lstchain_dl1ab tailcut84 Thu Mar 25 13:06:09 UTC 2021 dl1_LST-1.Run04185.0010.h5 lstchain_standard_config_tailcut84.json 0
3
3
  04185.0010 lstchain_check_dl1 tailcut84 Thu Mar 25 13:07:02 UTC 2021 dl1_LST-1.Run04185.0010.h5 None 0
4
- 04185.0010 lstchain_dl1_to_dl2 model1 Thu Mar 25 13:07:02 UTC 2021 dl1_LST-1.Run04185.0010.h5 None 0
4
+ 04185.0010 lstchain_dl1_to_dl2 tailcut84/nsb_tuning_0.14 Thu Mar 25 13:07:02 UTC 2021 dl1_LST-1.Run04185.0010.h5 None 0
@@ -32,8 +32,8 @@ classifiers = [
32
32
 
33
33
  requires-python = ">=3.10"
34
34
  dependencies = [
35
- "astropy~=5.0",
36
- "lstchain>=0.10.13",
35
+ "astropy>=6.1,<8",
36
+ "lstchain>=0.11.0",
37
37
  "matplotlib",
38
38
  "numpy",
39
39
  "pandas",
@@ -45,9 +45,8 @@ dependencies = [
45
45
  "click",
46
46
  "toml",
47
47
  "pymongo",
48
- "gammapy~=1.1",
48
+ "gammapy~=1.3",
49
49
  "tenacity",
50
- "lstcam_calib",
51
50
  ]
52
51
 
53
52
  dynamic = ["version"]
@@ -76,6 +75,7 @@ reprocess_longterm = "osa.scripts.reprocess_longterm:main"
76
75
  gain_selection = "osa.scripts.gain_selection:main"
77
76
  update_source_catalog = "osa.scripts.update_source_catalog:main"
78
77
  gainsel_webmaker = "osa.scripts.gainsel_webmaker:main"
78
+ sequencer_catB_tailcuts = "osa.scripts.sequencer_catB_tailcuts:main"
79
79
 
80
80
  [tool.setuptools.packages.find]
81
81
  where = ["src"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lstosa
3
- Version: 0.10.18
3
+ Version: 0.11.0
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>
@@ -18,8 +18,8 @@ Classifier: Programming Language :: Python :: 3.11
18
18
  Requires-Python: >=3.10
19
19
  Description-Content-Type: text/markdown
20
20
  License-File: LICENSE
21
- Requires-Dist: astropy~=5.0
22
- Requires-Dist: lstchain>=0.10.13
21
+ Requires-Dist: astropy<8,>=6.1
22
+ Requires-Dist: lstchain>=0.11.0
23
23
  Requires-Dist: matplotlib
24
24
  Requires-Dist: numpy
25
25
  Requires-Dist: pandas
@@ -31,9 +31,8 @@ Requires-Dist: psutil
31
31
  Requires-Dist: click
32
32
  Requires-Dist: toml
33
33
  Requires-Dist: pymongo
34
- Requires-Dist: gammapy~=1.1
34
+ Requires-Dist: gammapy~=1.3
35
35
  Requires-Dist: tenacity
36
- Requires-Dist: lstcam_calib
37
36
  Provides-Extra: test
38
37
  Requires-Dist: pytest; extra == "test"
39
38
  Requires-Dist: pytest-cov; extra == "test"
@@ -7,6 +7,7 @@ LICENSE
7
7
  MANIFEST.in
8
8
  README.md
9
9
  codemeta.json
10
+ environment-lstcam.yml
10
11
  environment.yml
11
12
  pyproject.toml
12
13
  crontab/crontab.txt
@@ -41,6 +42,7 @@ extra/squeue_output.csv
41
42
  extra/history_files/sequence_LST1_04183.history
42
43
  extra/history_files/sequence_LST1_04183_failed.history
43
44
  extra/history_files/sequence_LST1_04183_oneline.history
45
+ extra/history_files/sequence_LST1_04185.0001.history
44
46
  extra/history_files/sequence_LST1_04185.0010.history
45
47
  src/lstosa.egg-info/PKG-INFO
46
48
  src/lstosa.egg-info/SOURCES.txt
@@ -95,6 +97,7 @@ src/osa/scripts/provprocess.py
95
97
  src/osa/scripts/reprocess_longterm.py
96
98
  src/osa/scripts/reprocessing.py
97
99
  src/osa/scripts/sequencer.py
100
+ src/osa/scripts/sequencer_catB_tailcuts.py
98
101
  src/osa/scripts/sequencer_webmaker.py
99
102
  src/osa/scripts/show_run_summary.py
100
103
  src/osa/scripts/simulate_processing.py
@@ -11,6 +11,7 @@ provprocess = osa.scripts.provprocess:main
11
11
  reprocess_longterm = osa.scripts.reprocess_longterm:main
12
12
  reprocessing = osa.scripts.reprocessing:main
13
13
  sequencer = osa.scripts.sequencer:main
14
+ sequencer_catB_tailcuts = osa.scripts.sequencer_catB_tailcuts:main
14
15
  sequencer_webmaker = osa.scripts.sequencer_webmaker:main
15
16
  show_run_summary = osa.scripts.show_run_summary:main
16
17
  show_run_summary_tcu = osa.scripts.show_run_summary_tcu:main
@@ -1,5 +1,5 @@
1
- astropy~=5.0
2
- lstchain>=0.10.13
1
+ astropy<8,>=6.1
2
+ lstchain>=0.11.0
3
3
  matplotlib
4
4
  numpy
5
5
  pandas
@@ -11,9 +11,8 @@ psutil
11
11
  click
12
12
  toml
13
13
  pymongo
14
- gammapy~=1.1
14
+ gammapy~=1.3
15
15
  tenacity
16
- lstcam_calib
17
16
 
18
17
  [all]
19
18
  lstosa[dev,doc,test]
@@ -1,8 +1,13 @@
1
- # file generated by setuptools_scm
1
+ # file generated by setuptools-scm
2
2
  # don't change, don't track in version control
3
+
4
+ __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
5
+
3
6
  TYPE_CHECKING = False
4
7
  if TYPE_CHECKING:
5
- from typing import Tuple, Union
8
+ from typing import Tuple
9
+ from typing import Union
10
+
6
11
  VERSION_TUPLE = Tuple[Union[int, str], ...]
7
12
  else:
8
13
  VERSION_TUPLE = object
@@ -12,5 +17,5 @@ __version__: str
12
17
  __version_tuple__: VERSION_TUPLE
13
18
  version_tuple: VERSION_TUPLE
14
19
 
15
- __version__ = version = '0.10.18'
16
- __version_tuple__ = version_tuple = (0, 10, 18)
20
+ __version__ = version = '0.11.0'
21
+ __version_tuple__ = version_tuple = (0, 11, 0)
@@ -15,6 +15,8 @@ verbose = None
15
15
  warning = None
16
16
  nocheck = None
17
17
  no_dl2 = None
18
+ no_dl1ab = None
19
+ no_gainsel = None
18
20
  prod_id = None
19
21
  dl1_prod_id = None
20
22
  dl2_prod_id = None
@@ -9,27 +9,34 @@
9
9
  BASE: test_osa/test_files0
10
10
  # The directories below can be left untouched.
11
11
  MONITORING: %(BASE)s/monitoring
12
- R0_DIR: %(BASE)s/R0
12
+ R0_DIR: %(BASE)s/R0G
13
+ RAW_R0_DIR: %(BASE)s/R0
13
14
  DRIVE_DIR: %(MONITORING)s/DrivePositioning
14
15
  RUN_SUMMARY_DIR: %(MONITORING)s/RunSummary
15
16
  RUN_CATALOG: %(MONITORING)s/RunCatalog
16
17
  PEDESTAL_FINDER_DIR: %(BASE)s/auxiliary/PedestalFinder
18
+ TAILCUTS_FINDER_DIR: %(BASE)s/auxiliary/TailCuts
17
19
  ANALYSIS_DIR: %(BASE)s/running_analysis
18
- CALIB_BASE_DIR: %(MONITORING)s/PixelCalibration/Cat-A
19
- CALIB_DIR: %(CALIB_BASE_DIR)s/calibration
20
- PEDESTAL_DIR: %(CALIB_BASE_DIR)s/drs4_baseline
20
+ CALIB_BASE_DIR: %(MONITORING)s/PixelCalibration
21
+ CAT_A_CALIB_BASE: %(CALIB_BASE_DIR)s/Cat-A
22
+ CAT_A_CALIB_DIR: %(CAT_A_CALIB_BASE)s/calibration
23
+ CAT_A_PEDESTAL_DIR: %(CAT_A_CALIB_BASE)s/drs4_baseline
24
+ CAT_B_CALIB_BASE: %(CALIB_BASE_DIR)s/Cat-B
21
25
  DL1_DIR: %(BASE)s/DL1
22
26
  DL1AB_DIR: %(BASE)s/DL1
23
27
  DL2_DIR: %(BASE)s/DL2
24
28
  DL3_DIR: %(BASE)s/DL3
29
+ RF_MODELS: %(BASE)s/models/AllSky
25
30
  OSA_DIR: %(BASE)s/OSA
26
31
  CLOSER_DIR: %(OSA_DIR)s/Closer
27
32
  HIGH_LEVEL_DIR: %(OSA_DIR)s/HighLevel
28
33
  LONGTERM_DIR: %(OSA_DIR)s/DL1DataCheck_LongTerm
29
34
  MERGED_SUMMARY: %(OSA_DIR)s/Catalog/merged_RunSummary.ecsv
35
+ SOURCE_CATALOG: %(OSA_DIR)s/Catalog
30
36
  SEQUENCER_WEB_DIR: %(OSA_DIR)s/SequencerWeb
31
37
  GAIN_SELECTION_FLAG_DIR: %(OSA_DIR)s/GainSel
32
38
  GAIN_SELECTION_WEB_DIR: %(OSA_DIR)s/GainSelWeb
39
+ CALIB_ENV: /fefs/aswg/software/conda/envs/lstcam-env
33
40
 
34
41
  # To be set by the user. Using PROD-ID will overcome the automatic
35
42
  # fetching of lstchain version. Otherwise leave it empty (and without the colon symbol).
@@ -43,8 +50,9 @@ DL2_PROD_ID: model2
43
50
  # Calibration steps in calibration pipeline script
44
51
  #drs4_baseline: onsite_create_drs4_pedestal_file
45
52
  #charge_calibration: onsite_create_calibration_file
46
- drs4_baseline: lstcam_calib_onsite_create_drs4_pedestal_file
47
- charge_calibration: lstcam_calib_onsite_create_calibration_file
53
+ drs4_baseline: onsite_create_drs4_pedestal_file
54
+ charge_calibration: onsite_create_calibration_file
55
+ catB_calibration: onsite_create_cat_B_calibration_file
48
56
  use_ff_heuristic_id: False
49
57
 
50
58
  # Data processing steps in datasequence script
@@ -52,17 +60,23 @@ r0_to_dl1: lstchain_data_r0_to_dl1
52
60
  dl1ab: lstchain_dl1ab
53
61
  check_dl1: lstchain_check_dl1
54
62
  dl1_to_dl2: lstchain_dl1_to_dl2
63
+ tailcuts_finder: lstchain_find_tailcuts
55
64
 
56
65
  # To be set by the user
57
66
  dl1a_config: /software/lstchain/data/lstchain_standard_config.json
58
67
  store_image_dl1ab: True
59
68
  merge_dl1_datacheck: True
69
+ apply_catB_calibration: False
70
+ apply_standard_dl1b_config: False
60
71
  use_ff_heuristic_gain_selection: False
72
+ create_longterm_symlink: True
61
73
  dl1b_config: /software/lstchain/data/lstchain_standard_config.json
62
74
  dl2_config: /software/lstchain/data/lstchain_standard_config.json
63
- rf_models: /data/models/prod5/zenith_20deg/20201023_v0.6.3
75
+ mc_prod: 20240918_v0.10.12_allsky_
64
76
  dl3_config: /software/lstchain/data/dl3_std_config.json
65
77
  max_tries: 3
78
+ use_lstcam_env_for_CatA_calib: False
79
+ use_lstcam_env_for_CatB_calib: False
66
80
 
67
81
  [MC]
68
82
  IRF_file: /path/to/irf.fits
@@ -26,13 +26,12 @@ from osa.nightsummary.nightsummary import run_summary_table
26
26
  from osa.scripts.tests.test_osa_scripts import run_program
27
27
  from osa.utils.utils import date_to_dir
28
28
  from datetime import datetime
29
- import lstchain
30
29
 
31
30
  date = datetime.fromisoformat("2020-01-17")
32
31
  nightdir = date_to_dir(date)
33
32
  prod_id = "v0.1.0"
34
- dl1_prod_id = cfg.get("LST1", "DL1_PROD_ID")
35
- dl2_prod_id = cfg.get("LST1", "DL2_PROD_ID")
33
+ dl1_prod_id = "tailcut84"
34
+ dl2_prod_id = "tailcut84/nsb_tuning_0.14"
36
35
 
37
36
 
38
37
  @pytest.fixture(scope="session")
@@ -87,14 +86,14 @@ def drive_log(monitoring_dir):
87
86
 
88
87
  @pytest.fixture(scope="session")
89
88
  def calibration_dir(calibration_base_dir):
90
- directory = calibration_base_dir / "calibration" / nightdir / f"v{lstchain.__version__}"
89
+ directory = calibration_base_dir / "calibration" / nightdir / "v0.1.1"
91
90
  directory.mkdir(parents=True, exist_ok=True)
92
91
  return directory
93
92
 
94
93
 
95
94
  @pytest.fixture(scope="session")
96
95
  def drs4_baseline_dir(calibration_base_dir):
97
- directory = calibration_base_dir / "drs4_baseline" / nightdir / f"v{lstchain.__version__}"
96
+ directory = calibration_base_dir / "drs4_baseline" / nightdir / "v0.1.1"
98
97
  directory.mkdir(parents=True, exist_ok=True)
99
98
  return directory
100
99
 
@@ -146,6 +145,13 @@ def r0_dir(base_test_dir):
146
145
  return r0_directory
147
146
 
148
147
 
148
+ @pytest.fixture(scope="session")
149
+ def r0g_dir(base_test_dir):
150
+ r0_directory = base_test_dir / "R0G" / nightdir
151
+ r0_directory.mkdir(parents=True, exist_ok=True)
152
+ return r0_directory
153
+
154
+
149
155
  @pytest.fixture(scope="session")
150
156
  def r0_data(r0_dir):
151
157
  r0_files = []
@@ -156,6 +162,16 @@ def r0_data(r0_dir):
156
162
  return r0_files
157
163
 
158
164
 
165
+ @pytest.fixture(scope="session")
166
+ def r0g_data(r0g_dir):
167
+ r0g_files = []
168
+ for i in range(4, 8):
169
+ r0g_file = r0g_dir / f"LST-1.1.Run0180{i}.0000.fits.fz"
170
+ r0g_file.touch()
171
+ r0g_files.append(r0g_file)
172
+ return r0g_files
173
+
174
+
159
175
  @pytest.fixture(scope="session")
160
176
  def dl1b_subdir(running_analysis_dir):
161
177
  dl1ab_directory = running_analysis_dir / dl1_prod_id
@@ -412,6 +428,9 @@ def sequence_list(
412
428
  r0_data,
413
429
  pedestal_ids_file,
414
430
  merged_run_summary,
431
+ dl1b_config_files,
432
+ tailcuts_log_files,
433
+ rf_models,
415
434
  ):
416
435
  """Creates a sequence list from a run summary file."""
417
436
  options.directory = running_analysis_dir
@@ -574,10 +593,131 @@ def database(osa_dir):
574
593
 
575
594
 
576
595
  @pytest.fixture(scope="session")
577
- def gain_selection_flag_file(osa_dir):
596
+ def rf_models_allsky_basedir(base_test_dir):
597
+ directory = base_test_dir / "models/AllSky"
598
+ directory.mkdir(parents=True, exist_ok=True)
599
+ return directory
600
+
578
601
 
602
+ @pytest.fixture(scope="session")
603
+ def rf_model_path(rf_models_allsky_basedir):
604
+ mc_prod = "20240131_allsky_v0.10.5_all_dec_base"
605
+ declination_str = "dec_2276"
606
+ rf_model_path = rf_models_allsky_basedir / mc_prod / declination_str
607
+ rf_model_path.mkdir(parents=True, exist_ok=True)
608
+ return rf_model_path
609
+
610
+
611
+ @pytest.fixture(scope="session")
612
+ def gain_selection_flag_file(osa_dir):
579
613
  GainSel_dir = osa_dir / "GainSel" / "20200117"
580
614
  GainSel_dir.mkdir(parents=True, exist_ok=True)
581
615
  file = GainSel_dir / "GainSelFinished.txt"
582
616
  file.touch()
583
617
  return file
618
+
619
+
620
+ @pytest.fixture(scope="session")
621
+ def catB_closed_file(running_analysis_dir):
622
+
623
+ catB_closed_file = running_analysis_dir / "catB_00003.closed"
624
+ catB_closed_file.touch()
625
+ return catB_closed_file
626
+
627
+
628
+ @pytest.fixture(scope="session")
629
+ def catB_calib_base_dir(monitoring_dir):
630
+
631
+ catB_calib_base_dir = monitoring_dir / "PixelCalibration" / "Cat-B"
632
+ catB_calib_base_dir.mkdir(parents=True, exist_ok=True)
633
+ return catB_calib_base_dir
634
+
635
+
636
+ @pytest.fixture(scope="session")
637
+ def catB_calibration_file(catB_calib_dir):
638
+
639
+ catB_calib_dir = catB_calib_base_dir / "calibration" / nightdir / prod_id
640
+ catB_calib_file = catB_calib_dir / "cat_B_calibration_filters_52.Run00003.h5"
641
+ catB_calib_file.touch()
642
+ return catB_calib_file
643
+
644
+
645
+ @pytest.fixture(scope="session")
646
+ def tailcuts_finder_dir(base_test_dir):
647
+ tailcuts_finder_dir = base_test_dir / "auxiliary" / "TailCuts"
648
+ tailcuts_finder_dir.mkdir(parents=True, exist_ok=True)
649
+ return tailcuts_finder_dir
650
+
651
+
652
+ @pytest.fixture(scope="session")
653
+ def dl1b_config_files(tailcuts_finder_dir):
654
+ config_information = dedent(
655
+ """\
656
+ {
657
+ "tailcuts_clean_with_pedestal_threshold": {
658
+ "picture_thresh": 8,
659
+ "boundary_thresh": 4,
660
+ "sigma": 2.5,
661
+ "keep_isolated_pixels": false,
662
+ "min_number_picture_neighbors": 2,
663
+ "use_only_main_island": false,
664
+ "delta_time": 2
665
+ },
666
+ "dynamic_cleaning": {
667
+ "apply": true,
668
+ "threshold": 267,
669
+ "fraction_cleaning_intensity": 0.03
670
+ }
671
+ }"""
672
+ )
673
+ config_file1 = tailcuts_finder_dir / "dl1ab_Run01807.json"
674
+ config_file1.touch()
675
+ config_file1.write_text(config_information)
676
+ config_file2 = tailcuts_finder_dir / "dl1ab_Run01808.json"
677
+ config_file2.touch()
678
+ config_file2.write_text(config_information)
679
+ config_file3 = tailcuts_finder_dir / "dl1ab_Run04185.json"
680
+ config_file3.touch()
681
+ config_file3.write_text(config_information)
682
+ return config_file1, config_file2, config_file3
683
+
684
+
685
+ @pytest.fixture(scope="session")
686
+ def tailcuts_log_files(tailcuts_finder_dir):
687
+ log_information = dedent(
688
+ """\
689
+ Median of 95% quantile of pedestal charge: 5.416 p.e.
690
+
691
+ Additional NSB rate (over dark MC): 0.2221 p.e./ns
692
+ lstchain_find_tailcuts finished successfully!
693
+ """
694
+ )
695
+ log_file1 = tailcuts_finder_dir / "log_find_tailcuts_Run01807.log"
696
+ log_file1.touch()
697
+ log_file1.write_text(log_information)
698
+ log_file2 = tailcuts_finder_dir / "log_find_tailcuts_Run01808.log"
699
+ log_file2.touch()
700
+ log_file2.write_text(log_information)
701
+ log_file3 = tailcuts_finder_dir / "log_find_tailcuts_Run04185.log"
702
+ log_file3.touch()
703
+ log_file3.write_text(log_information)
704
+ return log_file1, log_file2, log_file3
705
+
706
+
707
+ @pytest.fixture(scope="session")
708
+ def rf_models_base_dir(base_test_dir):
709
+ directory = base_test_dir / "models/AllSky"
710
+ directory.mkdir(parents=True, exist_ok=True)
711
+ return directory
712
+
713
+
714
+ @pytest.fixture(scope="session")
715
+ def rf_models(rf_models_base_dir):
716
+ rf_models_prefix = cfg.get("lstchain", "mc_prod")
717
+ rf_models_path1 = rf_models_base_dir / f"{rf_models_prefix}nsb_tuning_0.00"
718
+ rf_models_path1.mkdir(parents=True, exist_ok=True)
719
+ rf_models_path2 = rf_models_base_dir / f"{rf_models_prefix}nsb_tuning_0.14/dec_2276"
720
+ rf_models_path2.mkdir(parents=True, exist_ok=True)
721
+ rf_models_path3 = rf_models_base_dir / f"{rf_models_prefix}nsb_tuning_0.14/dec_4822"
722
+ rf_models_path3.mkdir(parents=True, exist_ok=True)
723
+ return rf_models_path1, rf_models_path2, rf_models_path3
@@ -26,7 +26,8 @@ from osa.configs import options
26
26
  from osa.configs.config import cfg
27
27
  from osa.nightsummary.extract import get_source_list
28
28
  from osa.paths import DEFAULT_CFG, destination_dir, analysis_path
29
- from osa.utils.cliopts import get_prod_id, get_dl2_prod_id
29
+ from osa.utils.cliopts import get_prod_id
30
+ from osa.paths import get_dl2_prod_id
30
31
  from osa.utils.logging import myLogger
31
32
  from osa.utils.utils import date_to_dir, YESTERDAY
32
33
 
@@ -205,11 +206,12 @@ def main(
205
206
  log.debug(f"Config: {config.resolve()}")
206
207
 
207
208
  # Initial setup of global parameters
209
+ if simulate:
210
+ options.simulate = True
208
211
  options.date = date
209
212
  flat_date = date_to_dir(date)
210
213
  options.tel_id = telescope
211
214
  options.prod_id = get_prod_id()
212
- options.dl2_prod_id = get_dl2_prod_id()
213
215
  options.directory = analysis_path(options.tel_id)
214
216
  dl2_directory = Path(cfg.get("LST1", "DL2_DIR"))
215
217
  highlevel_directory = destination_dir("HIGH_LEVEL", create_dir=True)
@@ -232,7 +234,7 @@ def main(
232
234
  dl2_directory
233
235
  / flat_date
234
236
  / options.prod_id
235
- / options.dl2_prod_id
237
+ / get_dl2_prod_id(run)
236
238
  / f"dl2_LST-1.Run{run:05d}.h5"
237
239
  )
238
240
  df = pd.concat([df, pd.read_hdf(input_file, key=dl2_params_lstcam_key)])
@@ -10,6 +10,9 @@ def test_significance(
10
10
  systematic_correction_files,
11
11
  pedestal_ids_file,
12
12
  merged_run_summary,
13
+ dl1b_config_files,
14
+ tailcuts_log_files,
15
+ rf_models,
13
16
  ):
14
17
  output = sp.run(
15
18
  ["theta2_significance", "-d", "2020-01-17", "-s", "LST1"],