legend-simflow 1.0.0__py3-none-any.whl

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 (45) hide show
  1. legend_simflow-1.0.0.dist-info/METADATA +78 -0
  2. legend_simflow-1.0.0.dist-info/RECORD +45 -0
  3. legend_simflow-1.0.0.dist-info/WHEEL +5 -0
  4. legend_simflow-1.0.0.dist-info/entry_points.txt +3 -0
  5. legend_simflow-1.0.0.dist-info/top_level.txt +1 -0
  6. legendsimflow/__init__.py +24 -0
  7. legendsimflow/_version.py +34 -0
  8. legendsimflow/aggregate.py +506 -0
  9. legendsimflow/awkward.py +53 -0
  10. legendsimflow/cli.py +248 -0
  11. legendsimflow/commands.py +473 -0
  12. legendsimflow/confine.py +141 -0
  13. legendsimflow/exceptions.py +23 -0
  14. legendsimflow/hpge_pars.py +1133 -0
  15. legendsimflow/matplotlibrc +8 -0
  16. legendsimflow/metadata.py +429 -0
  17. legendsimflow/nersc.py +152 -0
  18. legendsimflow/partitioning.py +111 -0
  19. legendsimflow/patterns.py +405 -0
  20. legendsimflow/plot.py +103 -0
  21. legendsimflow/profile.py +144 -0
  22. legendsimflow/psl.py +402 -0
  23. legendsimflow/reboost.py +599 -0
  24. legendsimflow/scripts/__init__.py +14 -0
  25. legendsimflow/scripts/crawl_legend_slow_control.py +120 -0
  26. legendsimflow/scripts/extract_hpge_current_pulse_model.py +152 -0
  27. legendsimflow/scripts/init-julia-env.jl +24 -0
  28. legendsimflow/scripts/make_hpge_drift_time_maps.jl +104 -0
  29. legendsimflow/scripts/make_hpge_ideal_pulse_shape_lib.jl +103 -0
  30. legendsimflow/scripts/make_hpge_realistic_pulse_shape_lib.py +94 -0
  31. legendsimflow/scripts/make_simstat_partition_file.py +70 -0
  32. legendsimflow/scripts/plots/hpge_drift_time_maps.py +134 -0
  33. legendsimflow/scripts/plots/tier_cvt_observables.py +162 -0
  34. legendsimflow/scripts/plots/tier_hit_observables.py +193 -0
  35. legendsimflow/scripts/plots/tier_opt_observables.py +152 -0
  36. legendsimflow/scripts/plots/tier_stp_vertices.py +91 -0
  37. legendsimflow/scripts/print_benchmark_stats.py +127 -0
  38. legendsimflow/scripts/print_simflow_stats.py +64 -0
  39. legendsimflow/scripts/tier/cvt.py +48 -0
  40. legendsimflow/scripts/tier/evt.py +281 -0
  41. legendsimflow/scripts/tier/hit.py +417 -0
  42. legendsimflow/scripts/tier/opt.py +321 -0
  43. legendsimflow/spms_pars.py +391 -0
  44. legendsimflow/tcm.py +208 -0
  45. legendsimflow/utils.py +469 -0
@@ -0,0 +1,78 @@
1
+ Metadata-Version: 2.4
2
+ Name: legend_simflow
3
+ Version: 1.0.0
4
+ Summary: Python package for processing LEGEND simulations
5
+ Author-email: Luigi Pertoldi <gipert@pm.me>
6
+ Maintainer: The LEGEND Collaboration
7
+ Classifier: Development Status :: 4 - Beta
8
+ Classifier: Intended Audience :: Developers
9
+ Classifier: Intended Audience :: Science/Research
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Operating System :: MacOS
12
+ Classifier: Operating System :: POSIX
13
+ Classifier: Operating System :: Unix
14
+ Classifier: Programming Language :: Python
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3 :: Only
17
+ Classifier: Topic :: Scientific/Engineering
18
+ Requires-Python: >=3.11
19
+ Description-Content-Type: text/markdown
20
+ Requires-Dist: awkward
21
+ Requires-Dist: dbetto>=1.3.2
22
+ Requires-Dist: h5py
23
+ Requires-Dist: hist
24
+ Requires-Dist: legend-dataflow-scripts>=0.2.2
25
+ Requires-Dist: legend-pydataobj>=1.17.1
26
+ Requires-Dist: legend-pygeom-l200>=0.8
27
+ Requires-Dist: legend-pygeom-tools>=0.2
28
+ Requires-Dist: legend-pygeom-hpges>=0.9
29
+ Requires-Dist: matplotlib
30
+ Requires-Dist: mplhep>=1.0
31
+ Requires-Dist: numpy
32
+ Requires-Dist: psutil
33
+ Requires-Dist: pyg4ometry
34
+ Requires-Dist: dspeed
35
+ Requires-Dist: pygama>=2.3.6
36
+ Requires-Dist: pylegendmeta>=1.3.5
37
+ Requires-Dist: reboost<0.11,>=0.10.3
38
+ Requires-Dist: revertex>=0.1.2
39
+ Requires-Dist: snakemake>=9.17
40
+ Requires-Dist: snakemake-storage-plugin-fs
41
+ Requires-Dist: snakemake-executor-plugin-slurm
42
+ Requires-Dist: snakemake-logger-plugin-rich
43
+ Requires-Dist: snakemake-logger-plugin-snkmt
44
+ Provides-Extra: test
45
+ Requires-Dist: legend_simflow; extra == "test"
46
+ Requires-Dist: pylegendtestdata; extra == "test"
47
+ Requires-Dist: pytest>=6; extra == "test"
48
+ Requires-Dist: pytest-cov>=3; extra == "test"
49
+ Provides-Extra: docs
50
+ Requires-Dist: sphinx>=7.0; extra == "docs"
51
+ Requires-Dist: myst_parser>=0.13; extra == "docs"
52
+ Requires-Dist: sphinx_inline_tabs; extra == "docs"
53
+ Requires-Dist: sphinx_copybutton; extra == "docs"
54
+ Requires-Dist: sphinx_autodoc_typehints; extra == "docs"
55
+ Requires-Dist: sphinxcontrib-mermaid; extra == "docs"
56
+ Requires-Dist: furo>=2023.08.17; extra == "docs"
57
+ Provides-Extra: all
58
+ Requires-Dist: legend_simflow[docs,test]; extra == "all"
59
+ Requires-Dist: pre-commit; extra == "all"
60
+
61
+ # legend-simflow
62
+
63
+ <img src=".github/logo.jpg" alt="legend-simflow logo" align="left" height="170">
64
+
65
+ ![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/legend-exp/legend-simflow?logo=git)
66
+ [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
67
+ [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
68
+ [![Codecov](https://img.shields.io/codecov/c/github/legend-exp/legend-simflow?logo=codecov)](https://app.codecov.io/gh/legend-exp/legend-simflow)
69
+ [![Read the Docs](https://img.shields.io/readthedocs/legend-simflow?logo=readthedocs)](https://legend-simflow.readthedocs.io)
70
+ ![GitHub issues](https://img.shields.io/github/issues/legend-exp/legend-simflow?logo=github)
71
+ ![GitHub pull requests](https://img.shields.io/github/issues-pr/legend-exp/legend-simflow?logo=github)
72
+ ![License](https://img.shields.io/github/license/legend-exp/legend-simflow)
73
+
74
+ End-to-end Snakemake workflow to run Monte Carlo simulations of signal and
75
+ background signatures in the LEGEND experiment and produce probability-density
76
+ functions (pdfs). Configuration metadata (e.g. rules for generating simulation
77
+ macros or post-processing settings) is stored at
78
+ [legend-simflow-config](https://github.com/legend-exp/legend-simflow-config).
@@ -0,0 +1,45 @@
1
+ legendsimflow/__init__.py,sha256=WysVZwIvq7R5hbsFOfQDByuoWhTv_VAXXlngHSaor-Y,970
2
+ legendsimflow/_version.py,sha256=vLA4ITz09S-S435nq6yTF6l3qiSz6w4euS1rOxXgd1M,704
3
+ legendsimflow/aggregate.py,sha256=CpCLKIw62kHHQhWUo7GE-Px_n1k6A0P3m5kCkz-Upik,16797
4
+ legendsimflow/awkward.py,sha256=3QFSM52qWvw0TSkAdoVwAQKReMx_mVJPPxW9o7tsePY,1692
5
+ legendsimflow/cli.py,sha256=RNhkvWTG9v10UUEPXKU0LvSuA6YmG0BGfgXyad8z3ao,7555
6
+ legendsimflow/commands.py,sha256=iaN3XSsMocoafq1Hhhl4ts3l3KPDlrilfX_fHIl49Rs,17713
7
+ legendsimflow/confine.py,sha256=zejv18qQCFP6n9sYlyB0F2EqG5FQLaHVrxIXK6R_nYI,4709
8
+ legendsimflow/exceptions.py,sha256=mj2t16OMC_DgI3TSAIJMGXy5Y6mDtcu1_GYGL7DMQ6w,995
9
+ legendsimflow/hpge_pars.py,sha256=CT-Ok1NVWk6NdHP0NOvjDREJh9iLtm6AzUIc5m_ylZg,33519
10
+ legendsimflow/matplotlibrc,sha256=IkzFXWubGzQiupaWXMdttj1F-M6CwmMyl225XqfYEUk,209
11
+ legendsimflow/metadata.py,sha256=S79hvgRkMUUQe8HSBl2C-z_Kx5URlRA6H1apmq4yQ1A,12756
12
+ legendsimflow/nersc.py,sha256=0FrT_Bk7UYwXT6bgiPoe1VKFTVs0oXqJh5c35NxazXY,4642
13
+ legendsimflow/partitioning.py,sha256=pPpd3Gb1TOrwc94jKiKOu6eT1t9QGiGwk5i1uag4ZsM,3679
14
+ legendsimflow/patterns.py,sha256=A0_KC-TUa5Ycv1Bq82za_niTmohSWrdqJSvFEhgw0kc,14063
15
+ legendsimflow/plot.py,sha256=YHm01VEICOaF82fAjRHFuud4pG3D29J8BpgQ5hNkowQ,2694
16
+ legendsimflow/profile.py,sha256=aEycBd9cVWcrSo96ZSk-5cthuHYzM-qCbo-Cw5S9XRA,4603
17
+ legendsimflow/psl.py,sha256=_p5Zy0YzOBITR-aylzk63OmoKF9i8BN9jdFtqEpaubw,14650
18
+ legendsimflow/reboost.py,sha256=qPDwBGK_j_rN0QjEBM5OfusNtNWiXcBa5yrcy7S1urI,17819
19
+ legendsimflow/spms_pars.py,sha256=NXsa4HbKCEMDADxYNZHCZUkZk2S1kZQ_WEQZvH9_4qo,12961
20
+ legendsimflow/tcm.py,sha256=AsGbDQ0RvmNQL8Z6iDGkmr0VB6TokfK9G2PGAY1_WtE,7328
21
+ legendsimflow/utils.py,sha256=nb6KPpQzZlb5S9Co95ZuiaxDCK38wOadBFx2Mv_rssQ,13822
22
+ legendsimflow/scripts/__init__.py,sha256=b1e-DR6b3T44Bs4kjPYjIauVYhD-sbwJgWfcIltM5Rw,709
23
+ legendsimflow/scripts/crawl_legend_slow_control.py,sha256=o-0Rw6ydPBpFF5fUS4nkP8NHxJ9zA9KjTEb9itH0gCQ,4047
24
+ legendsimflow/scripts/extract_hpge_current_pulse_model.py,sha256=dKGYW7rWSeXXlg-_2K0g_MLGIjsQO-uDCRc_xHqoZrc,4602
25
+ legendsimflow/scripts/init-julia-env.jl,sha256=isVayJK_3xIe6dk3f5QBhxS0ZqZ11YFSr_ce_15xLtE,1008
26
+ legendsimflow/scripts/make_hpge_drift_time_maps.jl,sha256=Bp3f8Plr2mB-GmkF5iqIolNFqpl7x-vl_oUOxGMJb9g,3054
27
+ legendsimflow/scripts/make_hpge_ideal_pulse_shape_lib.jl,sha256=KaPohvlqOlKfhwGLQzxoFI7wOpXaJNpp0umy44wxuV4,3054
28
+ legendsimflow/scripts/make_hpge_realistic_pulse_shape_lib.py,sha256=5ECAHb4TaeaCv81bJr0yS4m1rzMteJCBHTRVCMrs6U8,2945
29
+ legendsimflow/scripts/make_simstat_partition_file.py,sha256=09RNR0mD8Ep3z6Ian-GXUxeIaDlBjhwLDhdcfaCsbDM,2353
30
+ legendsimflow/scripts/print_benchmark_stats.py,sha256=gBBD5E57HWnp_KbLvYkFJZnbhdfuB4o_i19UwtP7erE,3778
31
+ legendsimflow/scripts/print_simflow_stats.py,sha256=nkHKvwofkSusUihkx3AFGI_73WZiNmuTYS03-byVJew,2143
32
+ legendsimflow/scripts/plots/hpge_drift_time_maps.py,sha256=Js05s-N53if91TwULbuJ5pWiP7rdtISyGf_8SpjnthE,3694
33
+ legendsimflow/scripts/plots/tier_cvt_observables.py,sha256=fFWAiaelJqF4xOaUYS7WZesQAxFv3U-bF5n7P1Y-8wM,4076
34
+ legendsimflow/scripts/plots/tier_hit_observables.py,sha256=Cb-HvF0w2mbKQ_SbSOCawW9Np5DpTOjWH1SmbxP4Rrs,5517
35
+ legendsimflow/scripts/plots/tier_opt_observables.py,sha256=woUIPgkHuyK1vfFerqDkUi16eikoXAMq0a-yOL4Fc6I,4820
36
+ legendsimflow/scripts/plots/tier_stp_vertices.py,sha256=ofLLzwU50a8OwQea12YAD9MjMjQIYE7G7iFpwIQm_Es,2559
37
+ legendsimflow/scripts/tier/cvt.py,sha256=3sOBEGHWgeqvoxZj9skXcVK7VY4Im7KddzEmiio0jYM,1476
38
+ legendsimflow/scripts/tier/evt.py,sha256=Ou8iKNCbbzQdh5VfAVu4NJgIHXcqtHAN_wdRhjElh0s,9702
39
+ legendsimflow/scripts/tier/hit.py,sha256=H6h_Cq1G4RF5116hwPO8tlNtEn8xd6_UH4jMmVWnQZ0,14824
40
+ legendsimflow/scripts/tier/opt.py,sha256=CWIac651Dj2IJsNYrSn2o9M12YIBU7odMbZFN8NzDkE,11379
41
+ legend_simflow-1.0.0.dist-info/METADATA,sha256=UJf7jFi8N4R9fk7ritKBN5OGPwOly5bAQgP-mGVnZHc,3610
42
+ legend_simflow-1.0.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
43
+ legend_simflow-1.0.0.dist-info/entry_points.txt,sha256=fRIXM2AvRFX-OwvJmf7GRGf1-YR6NKu-kv5KC--5p5s,142
44
+ legend_simflow-1.0.0.dist-info/top_level.txt,sha256=AreEZ1Z-qJkvJCc7dQjbS-piXoHkl7cYh4-lMcr2KWA,14
45
+ legend_simflow-1.0.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (82.0.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ snakemake-nersc = legendsimflow.cli:snakemake_nersc_cli
3
+ snakemake-nersc-batch = legendsimflow.cli:snakemake_nersc_batch_cli
@@ -0,0 +1 @@
1
+ legendsimflow
@@ -0,0 +1,24 @@
1
+ # Copyright (C) 2025 Luigi Pertoldi <gipert@pm.me>
2
+ #
3
+ # This program is free software: you can redistribute it and/or modify it under
4
+ # the terms of the GNU Lesser General Public License as published by the Free
5
+ # Software Foundation, either version 3 of the License, or (at your option) any
6
+ # later version.
7
+ #
8
+ # This program is distributed in the hope that it will be useful, but WITHOUT
9
+ # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
10
+ # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
11
+ # details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public License
14
+ # along with this program. If not, see <https://www.gnu.org/licenses/>.
15
+ from __future__ import annotations
16
+
17
+ from dbetto import AttrsDict
18
+
19
+ from .exceptions import SimflowConfigError
20
+
21
+ # Type alias to make it explicit this is the simflow configuration object
22
+ SimflowConfig = AttrsDict
23
+
24
+ __all__ = ["SimflowConfig", "SimflowConfigError"]
@@ -0,0 +1,34 @@
1
+ # file generated by setuptools-scm
2
+ # don't change, don't track in version control
3
+
4
+ __all__ = [
5
+ "__version__",
6
+ "__version_tuple__",
7
+ "version",
8
+ "version_tuple",
9
+ "__commit_id__",
10
+ "commit_id",
11
+ ]
12
+
13
+ TYPE_CHECKING = False
14
+ if TYPE_CHECKING:
15
+ from typing import Tuple
16
+ from typing import Union
17
+
18
+ VERSION_TUPLE = Tuple[Union[int, str], ...]
19
+ COMMIT_ID = Union[str, None]
20
+ else:
21
+ VERSION_TUPLE = object
22
+ COMMIT_ID = object
23
+
24
+ version: str
25
+ __version__: str
26
+ __version_tuple__: VERSION_TUPLE
27
+ version_tuple: VERSION_TUPLE
28
+ commit_id: COMMIT_ID
29
+ __commit_id__: COMMIT_ID
30
+
31
+ __version__ = version = '1.0.0'
32
+ __version_tuple__ = version_tuple = (1, 0, 0)
33
+
34
+ __commit_id__ = commit_id = None