LbAPLocal 0.12.0__tar.gz → 0.12.2__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.
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/PKG-INFO +1 -1
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/cli/generate.py +31 -25
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/cli/mc_lookup.py +11 -3
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal.egg-info/PKG-INFO +1 -1
- lbaplocal-0.12.2/src/LbAPLocal.egg-info/scm_version.json +8 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/test_generate.py +2 -2
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/test_mc_lookup.py +61 -0
- lbaplocal-0.12.0/src/LbAPLocal.egg-info/scm_version.json +0 -8
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/.coveragerc +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/.gitattributes +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/.gitignore +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/.gitlab-ci.yml +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/.pre-commit-config.yaml +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/CONTRIBUTING.md +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/LICENSE +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/README.md +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/example.json +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/pyproject.toml +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/setup.cfg +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/__init__.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/cli/__init__.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/cli/cvmfs.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/cli/decfile_lexer.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/cli/legacy.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/cli/main.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/cli/mc_wizard.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/cli/textual_ui.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/cli/wizards.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/cwl/__init__.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/cwl/app_runner.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/cwl/generate_replica_map.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/cwl/quickjs_engine.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/cwl/rewrite.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/cwl/runner.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/handlers/__init__.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/handlers/anaprod.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/handlers/mc_request.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/job_slice.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/log_parsing.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/models.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/testing.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal/utils.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal.egg-info/SOURCES.txt +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal.egg-info/dependency_links.txt +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal.egg-info/entry_points.txt +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal.egg-info/requires.txt +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal.egg-info/scm_file_list.json +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/src/LbAPLocal.egg-info/top_level.txt +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/capture_fixtures.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/cassettes/test_execute/test_run_test[2016_MagDown_PromptMC_D02KK-2444].yaml +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/cassettes/test_execute/test_run_test[2016_MagDown_PromptMC_D02KK_noautoconf-2444].yaml +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/cassettes/test_execute/test_run_test[2016_MagUp_PromptMC_D02KK-2393].yaml +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/cassettes/test_execute/test_run_test[2016_MagUp_PromptMC_D02KK_noautoconf-2393].yaml +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/conftest.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/.gitignore +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/.gitlab-ci.yml +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/AnalysisProductions.xenv +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/Bc2Bspi2JpsiPhi.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/Bd2JpsiKstar.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/Bd2JpsiKstar_stripping.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/Bs2DsPi.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/Bs2JpsiPhi.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/Bs2JpsiPhi_Prompt.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/Bs2JpsiPhi_Prompt_PVMixer.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/Bs2JpsiPhi_Swave.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/Bu2JpsiKplus.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/Bu2JpsiKplus_stripping.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/LbJpsipK.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/README.md +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/helpers/__init__.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/helpers/stripping.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/helpers/tuple_maker.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/info.yaml +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/sequence_setup.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/COPYING +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/RDs/README.md +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/RDs/Run1_Signal.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/RDs/Run2_Signal.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/RDs/helpers/__init__.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/RDs/helpers/signal_tuple_maker.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/RDs/info.yaml +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/README.md +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/__init__.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/2011_datatype.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/2012_datatype.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/2015_datatype.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/2016_datatype.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/2017_datatype.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/2018_datatype.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/B0ToK0ee.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/B0ToK0mumu.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/BpToKee.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/BpToKmumu.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/LbToL0ee.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/LbToL0eeSS.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/LbToL0emu.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/LbToL0emuSS.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/LbToL0mumu.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/LbToL0mumuSS.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/README.md +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/__init__.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/general_options.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/helpers/MC_tuple_maker.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/helpers/__init__.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/helpers/decay_descriptors.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/helpers/locations.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/helpers/related_info.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/helpers/stripping.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/helpers/tags.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/helpers/tuple_maker.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/info.yaml +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_general_options_DST.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_general_options_FDST.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_general_options_FMDST.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_general_options_MDST.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Bd2JpsiKs_ee.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Bd2JpsiKs_mm.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Bd2Ksee.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Bd2Ksmm.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Bd2PsiKs_ee.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Bd2PsiKs_mm.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Bu2JpsiK_ee.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Bu2JpsiK_mm.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Lb2JpsiL_ee.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Lb2JpsiL_mm.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Lb2Lee.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Lb2Lem.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Lb2Lmm.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Lb2PsiL_ee.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Lb2PsiL_mm.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/sequence_setup.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/stripping_seq.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/executabletests/2016_MagDown_PromptMC_D02KK_autoconf.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/executabletests/2016_MagUp_PromptMC_D02KK_autoconf.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/executabletests/info.yaml +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/executabletests/ntuple_options.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/example-logs/error-failed-to-read-file.log +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/example-logs/error-illegal-instruction.log +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/example-logs/error-missing-shared-library.log +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/example-logs/error-platform-unsupported.log +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/example-logs/error-related-info-missing.log +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/example-logs/good-DaVinci_00110296_00000038_1.log +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/example-logs/good-DaVinci_00110296_00000194_1.log +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/example-logs/good-Gauss_00104988_00000011_1.log +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/fixture_loader.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/fixtures/executabletests/2016_MagDown_PromptMC_D02KK/query_result.json +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/fixtures/executabletests/2016_MagUp_PromptMC_D02KK/query_result.json +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/fixtures/executabletests/manifest.yaml +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/reslice_fixture.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/test-input-dst/00070767_00000711_7.AllStreams_slice.dst +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/test-input-dst/00070793_00000685_7.AllStreams_slice.dst +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/test_app_runner.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/test_cli.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/test_cwl_cli.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/test_cwl_runner.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/test_execute.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/test_get_mc.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/test_handlers.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/test_input_resolution.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/test_local_datapkg.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/test_log_parse.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/test_no_dirac_cwl.py +0 -0
- {lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/test_quickjs_engine.py +0 -0
|
@@ -398,7 +398,7 @@ def generate_options(lines: list[str]) -> str:
|
|
|
398
398
|
##############################
|
|
399
399
|
|
|
400
400
|
|
|
401
|
-
def add_mc_variables(particles, line):
|
|
401
|
+
def add_mc_variables(particles, line) -> FunctorCollection:
|
|
402
402
|
\"\"\"Truth matching and background category, added for simulation only.\"\"\"
|
|
403
403
|
mctruth = MCTruthAndBkgCat(particles, name=f"MCTruthAndBkgCat_{line}")
|
|
404
404
|
return FunctorCollection(
|
|
@@ -414,7 +414,7 @@ def generate_options(lines: list[str]) -> str:
|
|
|
414
414
|
)
|
|
415
415
|
|
|
416
416
|
|
|
417
|
-
def add_variables(particles, line, simulation):
|
|
417
|
+
def add_variables(particles, line, simulation) -> dict[str, FunctorCollection]:
|
|
418
418
|
\"\"\"Variables to tuple, keyed by field (\"ALL\" covers every field).\"\"\"
|
|
419
419
|
variables = {}
|
|
420
420
|
variables["ALL"] = FC.Kinematics()
|
|
@@ -425,7 +425,7 @@ def generate_options(lines: list[str]) -> str:
|
|
|
425
425
|
return variables
|
|
426
426
|
|
|
427
427
|
|
|
428
|
-
def add_event_variables():
|
|
428
|
+
def add_event_variables() -> FunctorCollection:
|
|
429
429
|
\"\"\"Event-level information tupled once per event.\"\"\"
|
|
430
430
|
event_variables = FunctorCollection()
|
|
431
431
|
event_variables += FC.EventInfo()
|
|
@@ -433,35 +433,41 @@ def generate_options(lines: list[str]) -> str:
|
|
|
433
433
|
return event_variables
|
|
434
434
|
|
|
435
435
|
|
|
436
|
+
def configure_funtuple(line: str, input_process: str, simulation: bool):
|
|
437
|
+
particles = get_particles(line=line, input_process=input_process)
|
|
438
|
+
|
|
439
|
+
descriptor = DESCRIPTORS.get(line)
|
|
440
|
+
if not descriptor:
|
|
441
|
+
raise RuntimeError(f"Descriptor template not filled for line: {line}")
|
|
442
|
+
fields = descriptor_fields(descriptor)
|
|
443
|
+
|
|
444
|
+
variables = add_variables(particles, line, simulation)
|
|
445
|
+
event_variables = add_event_variables()
|
|
446
|
+
|
|
447
|
+
funtuple = Funtuple(
|
|
448
|
+
name=f"Tuple_{line}",
|
|
449
|
+
tuple_name="DecayTree",
|
|
450
|
+
fields=fields,
|
|
451
|
+
variables=variables,
|
|
452
|
+
event_variables=event_variables,
|
|
453
|
+
inputs=particles,
|
|
454
|
+
)
|
|
455
|
+
line_filter = create_lines_filter(name=f"PreFilter_{line}", lines=[line])
|
|
456
|
+
return [line_filter, funtuple]
|
|
457
|
+
|
|
458
|
+
|
|
436
459
|
def main(options: Options, *raw_args):
|
|
437
460
|
parser = argparse.ArgumentParser()
|
|
438
461
|
parser.add_argument("--line", dest="lines", action="append")
|
|
439
462
|
parser.add_argument("--skip-line", dest="skip", action="append", default=[])
|
|
440
463
|
args = parser.parse_args(raw_args)
|
|
464
|
+
|
|
441
465
|
lines = [line for line in (args.lines or DEFAULT_LINES) if line not in args.skip]
|
|
442
466
|
|
|
443
|
-
tuples = {
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
descriptor = DESCRIPTORS.get(line)
|
|
448
|
-
if not descriptor:
|
|
449
|
-
raise RuntimeError(f"Descriptor template not filled for line: {line}")
|
|
450
|
-
fields = descriptor_fields(descriptor)
|
|
451
|
-
|
|
452
|
-
variables = add_variables(particles, line, options.simulation)
|
|
453
|
-
event_variables = add_event_variables()
|
|
454
|
-
|
|
455
|
-
funtuple = Funtuple(
|
|
456
|
-
name=f"Tuple_{line}",
|
|
457
|
-
tuple_name="DecayTree",
|
|
458
|
-
fields=fields,
|
|
459
|
-
variables=variables,
|
|
460
|
-
event_variables=event_variables,
|
|
461
|
-
inputs=particles,
|
|
462
|
-
)
|
|
463
|
-
line_filter = create_lines_filter(name=f"PreFilter_{line}", lines=[line])
|
|
464
|
-
tuples[line] = [line_filter, funtuple]
|
|
467
|
+
tuples = {
|
|
468
|
+
line: configure_funtuple(line, options.input_process, options.simulation)
|
|
469
|
+
for line in lines
|
|
470
|
+
}
|
|
465
471
|
|
|
466
472
|
return make_config(options, tuples)
|
|
467
473
|
"""))
|
|
@@ -48,8 +48,16 @@ REQUIRED_COLUMNS = {
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
# Analysis-consumable file types: the post-trigger / post-sprucing DSTs a
|
|
51
|
-
# DaVinci analysis production reads. Everything else is intermediate.
|
|
52
|
-
|
|
51
|
+
# DaVinci analysis production reads. Everything else is intermediate. Besides the
|
|
52
|
+
# plain HLT2.DST / SPRUCE.DST, filtered productions publish a distinct filetype
|
|
53
|
+
# per filter -- HLT2_FILTERED_<hash>.DST / SPRUCE_FILTERED_<hash>.DST (e.g. the
|
|
54
|
+
# +DisabledFunctors samples), and the earlier hyphenated HLT2-FILTERED-<hash>.DST
|
|
55
|
+
# -- those are analysis inputs too. Bare ".DST" is far too broad: it would readmit
|
|
56
|
+
# ALLSTREAMS.DST and the Run1/2 *.STRIP.DST families that automatically_configure
|
|
57
|
+
# cannot set up. .XDST is likewise excluded, matching the plain-DST-only rule.
|
|
58
|
+
_ANALYSIS_FILETYPE_RE = re.compile(
|
|
59
|
+
r"^(HLT2|SPRUCE)([_-]FILTERED[_-][0-9A-Fa-f]+)?\.DST$"
|
|
60
|
+
)
|
|
53
61
|
|
|
54
62
|
# Polarity token embedded in a condition description.
|
|
55
63
|
_POLARITY_RE = re.compile(r"Mag(Up|Down|Off)")
|
|
@@ -181,7 +189,7 @@ def _samples_by_event_type() -> dict[str, list[dict]]:
|
|
|
181
189
|
for row in snapshot["rows"]:
|
|
182
190
|
if row[idx["config_name"]] != "MC":
|
|
183
191
|
continue
|
|
184
|
-
if row[idx["filetype"]]
|
|
192
|
+
if not _ANALYSIS_FILETYPE_RE.match(row[idx["filetype"]]):
|
|
185
193
|
continue
|
|
186
194
|
record = _parse_snapshot_row(row, idx)
|
|
187
195
|
if record is None:
|
|
@@ -337,10 +337,10 @@ def test_generate_MC_multiple_lines(tmp_path, monkeypatch):
|
|
|
337
337
|
assert result.exit_code == 0, result.output
|
|
338
338
|
|
|
339
339
|
options_text = (tmp_path / "test" / "options.py").read_text()
|
|
340
|
-
# Both lines are the default set, each with a descriptor slot, tupled
|
|
340
|
+
# Both lines are the default set, each with a descriptor slot, tupled per line.
|
|
341
341
|
for line in lines:
|
|
342
342
|
assert f'"{line}",' in options_text
|
|
343
|
-
assert "
|
|
343
|
+
assert "configure_funtuple(line" in options_text
|
|
344
344
|
assert "--skip-line" in options_text
|
|
345
345
|
|
|
346
346
|
# Every sample runs every line by default, so the job needs no override.
|
|
@@ -112,6 +112,67 @@ def test_mc_view_from_snapshot(snapshot):
|
|
|
112
112
|
assert not mc_lookup.has_samples("94000000")
|
|
113
113
|
|
|
114
114
|
|
|
115
|
+
def test_filtered_dst_variants_included(snapshot):
|
|
116
|
+
"""Filtered productions publish a per-filter filetype; those count as samples.
|
|
117
|
+
|
|
118
|
+
HLT2_FILTERED_<hash>.DST / SPRUCE_FILTERED_<hash>.DST (and the older
|
|
119
|
+
hyphenated HLT2-FILTERED-<hash>.DST) are analysis inputs, so they must be
|
|
120
|
+
offered -- some event types exist only as filtered DSTs. The broad legacy
|
|
121
|
+
formats (ALLSTREAMS/Stripping) and .XDST stay excluded.
|
|
122
|
+
"""
|
|
123
|
+
snapshot(
|
|
124
|
+
[
|
|
125
|
+
# underscore-form filtered HLT2 (e.g. a +DisabledFunctors production)
|
|
126
|
+
[
|
|
127
|
+
"MC",
|
|
128
|
+
"2024",
|
|
129
|
+
_CONDITION,
|
|
130
|
+
"/Sim10h/HLT2_FILTERED-2024.W35.39+DisabledFunctors",
|
|
131
|
+
"13264021",
|
|
132
|
+
"HLT2_FILTERED_52EACF17.DST",
|
|
133
|
+
],
|
|
134
|
+
# hyphenated filtered HLT2 (earlier naming) -- same format
|
|
135
|
+
[
|
|
136
|
+
"MC",
|
|
137
|
+
"2024",
|
|
138
|
+
_CONDITION,
|
|
139
|
+
"/Sim10e/HLT2-Filtered-2024.W35.39",
|
|
140
|
+
"13264021",
|
|
141
|
+
"HLT2-FILTERED-96AC3C1C.DST",
|
|
142
|
+
],
|
|
143
|
+
# filtered Spruce
|
|
144
|
+
[
|
|
145
|
+
"MC",
|
|
146
|
+
"2024",
|
|
147
|
+
_CONDITION,
|
|
148
|
+
"/Sim10h/HLT2-2024.W35.39/Spruce25r1_FILTERED+DisabledFunctors",
|
|
149
|
+
"13884001",
|
|
150
|
+
"SPRUCE_FILTERED_1BF1BEE3.DST",
|
|
151
|
+
],
|
|
152
|
+
# .XDST filtered -> excluded (extended DST, like plain DST-only rule)
|
|
153
|
+
[
|
|
154
|
+
"MC",
|
|
155
|
+
"2024",
|
|
156
|
+
_CONDITION,
|
|
157
|
+
"/Sim10h/HLT2_FILTERED-2024.W35.39",
|
|
158
|
+
"13884001",
|
|
159
|
+
"HLT2_FILTERED_B71FA064.XDST",
|
|
160
|
+
],
|
|
161
|
+
# legacy merged / Stripping streams -> excluded
|
|
162
|
+
["MC", "2024", _CONDITION, "/Sim10d/HLT2-x", "13264021", "ALLSTREAMS.DST"],
|
|
163
|
+
["MC", "2024", _CONDITION, "/Sim10d/Strip", "13264021", "B2DH.STRIP.DST"],
|
|
164
|
+
]
|
|
165
|
+
)
|
|
166
|
+
|
|
167
|
+
hlt2 = mc_lookup.get_samples("13264021")
|
|
168
|
+
assert {s["filetype"] for s in hlt2} == {
|
|
169
|
+
"HLT2_FILTERED_52EACF17.DST",
|
|
170
|
+
"HLT2-FILTERED-96AC3C1C.DST",
|
|
171
|
+
}
|
|
172
|
+
spruce = mc_lookup.get_samples("13884001")
|
|
173
|
+
assert {s["filetype"] for s in spruce} == {"SPRUCE_FILTERED_1BF1BEE3.DST"}
|
|
174
|
+
|
|
175
|
+
|
|
115
176
|
def test_snapshot_missing_column_rejected(snapshot):
|
|
116
177
|
"""A snapshot predating the event_type rename says so, not KeyError."""
|
|
117
178
|
path = snapshot([])
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/Bc2Bspi2JpsiPhi.py
RENAMED
|
File without changes
|
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/Bd2JpsiKstar_stripping.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/Bs2JpsiPhi_Prompt.py
RENAMED
|
File without changes
|
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/Bs2JpsiPhi_Swave.py
RENAMED
|
File without changes
|
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/Bu2JpsiKplus_stripping.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/helpers/__init__.py
RENAMED
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/helpers/stripping.py
RENAMED
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/helpers/tuple_maker.py
RENAMED
|
File without changes
|
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/BsToJpsiPhi/sequence_setup.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/RDs/helpers/signal_tuple_maker.py
RENAMED
|
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
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/helpers/MC_tuple_maker.py
RENAMED
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/helpers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/helpers/locations.py
RENAMED
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/helpers/related_info.py
RENAMED
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/helpers/stripping.py
RENAMED
|
File without changes
|
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/helpers/tuple_maker.py
RENAMED
|
File without changes
|
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_general_options_DST.py
RENAMED
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_general_options_FDST.py
RENAMED
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_general_options_FMDST.py
RENAMED
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_general_options_MDST.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Bd2Ksee.py
RENAMED
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Bd2Ksmm.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Lb2Lee.py
RENAMED
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Lb2Lem.py
RENAMED
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Lb2Lmm.py
RENAMED
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Lb2PsiL_ee.py
RENAMED
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/cbtesting/mc_samples/MC_Lb2PsiL_mm.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/data-pkg-repo/executabletests/ntuple_options.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/example-logs/error-missing-shared-library.log
RENAMED
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/example-logs/error-platform-unsupported.log
RENAMED
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/example-logs/error-related-info-missing.log
RENAMED
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/example-logs/good-DaVinci_00110296_00000038_1.log
RENAMED
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/example-logs/good-DaVinci_00110296_00000194_1.log
RENAMED
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/data/example-logs/good-Gauss_00104988_00000011_1.log
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/test-input-dst/00070767_00000711_7.AllStreams_slice.dst
RENAMED
|
File without changes
|
{lbaplocal-0.12.0 → lbaplocal-0.12.2}/tests/test-input-dst/00070793_00000685_7.AllStreams_slice.dst
RENAMED
|
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
|