LbAPCommon 0.18.2__tar.gz → 0.18.3__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 (147) hide show
  1. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/PKG-INFO +1 -1
  2. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/data/query_dirac.py +44 -23
  3. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon.egg-info/PKG-INFO +1 -1
  4. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon.egg-info/SOURCES.txt +2 -0
  5. lbapcommon-0.18.3/src/LbAPCommon.egg-info/scm_file_list.json +141 -0
  6. lbapcommon-0.18.3/src/LbAPCommon.egg-info/scm_version.json +8 -0
  7. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/test_auto_configure_dstformat.py +38 -5
  8. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/.gitignore +0 -0
  9. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/.gitlab-ci.yml +0 -0
  10. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/.pre-commit-config.yaml +0 -0
  11. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/LICENSE +0 -0
  12. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/README.md +0 -0
  13. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/environment.yaml +0 -0
  14. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/pixi.lock +0 -0
  15. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/pixi.toml +0 -0
  16. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/pyproject.toml +0 -0
  17. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/setup.cfg +0 -0
  18. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/__init__.py +0 -0
  19. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/__main__.py +0 -0
  20. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/app_catalog.py +0 -0
  21. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/cern_sso.py +0 -0
  22. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/config.py +0 -0
  23. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/data/__init__.py +0 -0
  24. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/data/ap_merger.py +0 -0
  25. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/data/templates/configure-legacy-application.py.j2 +0 -0
  26. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/dirac_conversion.py +0 -0
  27. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/hacks.py +0 -0
  28. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/linting/__init__.py +0 -0
  29. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/linting/bk_paths.py +0 -0
  30. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/models/__init__.py +0 -0
  31. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/models/recipes.py +0 -0
  32. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/models/validators.py +0 -0
  33. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/options_parsing/__init__.py +0 -0
  34. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/options_parsing/gaudi_pickle_to_json.py +0 -0
  35. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/parsing.py +0 -0
  36. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/prod_request_to_cwl/__init__.py +0 -0
  37. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/prod_request_to_cwl/__main__.py +0 -0
  38. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/prod_request_to_cwl/anaprod.py +0 -0
  39. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/prod_request_to_cwl/common.py +0 -0
  40. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/prod_request_to_cwl/simulation.py +0 -0
  41. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/transforms/__init__.py +0 -0
  42. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/transforms/runner.py +0 -0
  43. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/transforms/vendor/LICENSE-yaml +0 -0
  44. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/transforms/vendor/yaml.bundle.js +0 -0
  45. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/transforms/yaml-transform.js +0 -0
  46. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/validators/__init__.py +0 -0
  47. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/validators/bookkeeping_xml.py +0 -0
  48. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/validators/check_gen_fsr.py +0 -0
  49. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/validators/counters.py +0 -0
  50. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/validators/logs/__init__.py +0 -0
  51. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/validators/logs/data/known_messages.yaml +0 -0
  52. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon/workflow.py +0 -0
  53. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon.egg-info/dependency_links.txt +0 -0
  54. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon.egg-info/entry_points.txt +0 -0
  55. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon.egg-info/requires.txt +0 -0
  56. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/src/LbAPCommon.egg-info/top_level.txt +0 -0
  57. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/conftest.py +0 -0
  58. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example-logs/error-failed-to-read-file.log +0 -0
  59. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example-logs/error-fill-dependent-scale-factor.log +0 -0
  60. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example-logs/error-illegal-instruction.log +0 -0
  61. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example-logs/error-missing-shared-library.log +0 -0
  62. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example-logs/error-platform-unsupported.log +0 -0
  63. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example-logs/error-related-info-missing.log +0 -0
  64. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example-logs/error-rootioalg.log +0 -0
  65. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example-logs/error-unpack-raw-event.log +0 -0
  66. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example-logs/good-DaVinci_00110296_00000038_1.log +0 -0
  67. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example-logs/good-DaVinci_00110296_00000194_1.log +0 -0
  68. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example-logs/good-Gauss_00104988_00000011_1.log +0 -0
  69. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/complex_workflow_with_filtering/AnaProd_example_workflows_job_tuple,split,filter_B0.cwl +0 -0
  70. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/complex_workflow_with_filtering.in.yaml +0 -0
  71. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/complex_workflow_with_filtering.out.yaml +0 -0
  72. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/complex_workflow_with_filtering_two_groups/AnaProd_example_workflows_job2_tuple,split,filter_B0,S0.cwl +0 -0
  73. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/complex_workflow_with_filtering_two_groups/AnaProd_example_workflows_job_tuple,split,filter_B0,S0.cwl +0 -0
  74. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/complex_workflow_with_filtering_two_groups.in.yaml +0 -0
  75. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/complex_workflow_with_filtering_two_groups.out.yaml +0 -0
  76. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/complex_workflow_with_layers_of_splitting/AnaProd_example_workflows_xicpststtoxicppipi_data_2018_magdown_split,_xicpstst,0st,pststwspmm.cwl +0 -0
  77. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/complex_workflow_with_layers_of_splitting.in.yaml +0 -0
  78. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/complex_workflow_with_layers_of_splitting.out.yaml +0 -0
  79. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_b0_dstdsx_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  80. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_b0_dstdx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  81. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_b0_dstp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  82. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_b0_dstp_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  83. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_b0_dststp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  84. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_b0_dststp_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  85. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_b0_dststx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  86. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_bp_dstdx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  87. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_bp_dstdx_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  88. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_bp_dstst_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  89. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_bp_dstst_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  90. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_bp_dststx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  91. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_bs_dsststp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  92. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_b0_dstdsx_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  93. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_b0_dstdx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  94. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_b0_dstp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  95. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_b0_dstp_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  96. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_b0_dststp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  97. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_b0_dststp_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  98. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_b0_dststx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  99. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_bp_dstdx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  100. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_bp_dstdx_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  101. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_bp_dstst_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  102. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_bp_dstst_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  103. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_bp_dststx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  104. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_bs_dsststp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  105. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_b0_dstdsx_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  106. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_b0_dstdx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  107. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_b0_dstp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  108. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_b0_dstp_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  109. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_b0_dststp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  110. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_b0_dststp_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  111. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_b0_dststx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  112. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_bp_dstdx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  113. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_bp_dstdx_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  114. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_bp_dstst_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  115. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_bp_dstst_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  116. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_bp_dststx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  117. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_bs_dsststp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  118. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_b0_dstdsx_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  119. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_b0_dstdx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  120. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_b0_dstp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  121. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_b0_dstp_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  122. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_b0_dststp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  123. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_b0_dststp_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  124. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_b0_dststx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  125. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_bp_dstdx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  126. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_bp_dstdx_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  127. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_bp_dstst_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  128. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_bp_dstst_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  129. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_bp_dststx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  130. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_bs_dsststp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl +0 -0
  131. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2.in.yaml +0 -0
  132. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/example_workflows/mcreweight_and_pidgen2.out.yaml +0 -0
  133. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/linting/test_bk_paths.py +0 -0
  134. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/linting/test_processing_pass.py +0 -0
  135. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/test_app_catalog.py +0 -0
  136. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/test_auto_configure.py +0 -0
  137. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/test_auto_configure_streams.py +0 -0
  138. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/test_autoconfig_logging.py +0 -0
  139. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/test_dirac_conversion.py +0 -0
  140. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/test_good_parsing.py +0 -0
  141. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/test_hacks.py +0 -0
  142. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/test_log_parsing.py +0 -0
  143. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/test_log_splitting.py +0 -0
  144. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/test_performance/example1.yaml +0 -0
  145. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/test_performance.py +0 -0
  146. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/test_platform_selection.py +0 -0
  147. {lbapcommon-0.18.2 → lbapcommon-0.18.3}/tests/test_transforms.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: LbAPCommon
3
- Version: 0.18.2
3
+ Version: 0.18.3
4
4
  Summary: Common utilities used by LHCb DPA WP2 related software
5
5
  Author: LHCb
6
6
  Project-URL: Homepage, https://gitlab.cern.ch/lhcb-dpa/analysis-productions/LbAPCommon
@@ -212,41 +212,62 @@ def parse_data_period(bk_query):
212
212
 
213
213
 
214
214
  def mc_dstformat(bk_query):
215
- """dstformat for Run 3 MC, from the data-taking year/period in the BK path.
215
+ """dstformat for Run 3 *pp* MC, from the data-taking period in the BK path.
216
216
 
217
- Mirrors LbMCSubmit's MC sprucing rule:
217
+ dstformat applies to MC only (this is never called for data). The value can
218
+ only be determined with certainty for pp data-taking:
218
219
 
219
- * 2024 MC and preTS-2025 MC (2025.W21, 2025.W22.25) -> ``uDST``
220
- * postTS-2025 MC and all 2026 MC -> ``DST``
220
+ * 2024 and preTS-2025 (2025.W21, 2025.W22.25) -> ``uDST``
221
+ * postTS-2025 and 2026 -> ``DST``
221
222
 
222
- The year is taken from the ``YYYY.Wxx`` period token when present, else from
223
- a bare year in the path (2026 ``expected-2026`` samples carry no week token).
224
- Returns None when the year can't be determined or isn't a year we have a
225
- rule for (so nothing is assumed); real data never gets a dstformat and is
226
- not handled here.
223
+ preTS-2025 is taken directly from LbMCSubmit
224
+ (``SPRUCING_UDST_DSTFORMAT_DATA_TYPES``); the 2024 / postTS-2025 / 2026
225
+ mapping is the agreed pp rule. The pp period comes from the ``YYYY.Wxx``
226
+ token, or a pp ``expected-YYYY`` anticipated sample (e.g. 2026, no week
227
+ token).
228
+
229
+ For anything else -- heavy-ion (``Lead<YY>``), 5TeV reference runs
230
+ (``YYYY-5TeV``), fixed-target, an unknown year, or an unrecognised path --
231
+ the dstformat cannot be determined from the bookkeeping path (the real
232
+ trigger, the sample's ``file_format``, is not in it), so this RAISES rather
233
+ than guess. The job is then blocked until the user sets it by hand.
227
234
  """
228
235
  period = parse_data_period(bk_query)
229
236
  if period is not None:
230
237
  year = period.split(".", 1)[0]
238
+ if year == "2024":
239
+ return "uDST"
240
+ if year == "2025":
241
+ # preTS 2025 is uDST; everything later (postTS) is DST.
242
+ return "uDST" if period in _UDST_2025_PERIODS else "DST"
243
+ if year == "2026":
244
+ return "DST"
231
245
  else:
232
- m = re.search(r"\b(202\d)\b", bk_query)
233
- year = m.group(1) if m else None
234
- if year == "2024":
235
- return "uDST"
236
- if year == "2025":
237
- # preTS 2025 is uDST; everything later (postTS) is DST.
238
- return "uDST" if period in _UDST_2025_PERIODS else "DST"
239
- if year == "2026":
240
- return "DST"
241
- return None
246
+ # No pp week token: only pp ``expected-YYYY`` anticipated samples can be
247
+ # classified by year (2025 expected has no pre/post-TS info -> falls
248
+ # through to the error below).
249
+ m = re.search(r"\bexpected-(20\d\d)\b", bk_query)
250
+ if m:
251
+ year = m.group(1)
252
+ if year == "2024":
253
+ return "uDST"
254
+ if year == "2026":
255
+ return "DST"
256
+ raise AutoConfError(
257
+ f"Cannot determine the MC dstformat for {bk_query!r} with certainty. "
258
+ "Automatic dstformat is only supported for pp data-taking (2024-2026); "
259
+ "heavy-ion, 5TeV and other configurations are not. Set the required "
260
+ "extra_options (including dstformat) by hand and use "
261
+ "automatically_configure: false."
262
+ )
242
263
 
243
264
 
244
265
  def run3_dstformat(bk_query, simulation):
245
- """dstformat for a Run 3 job's extra_options, or None to leave it unset.
266
+ """dstformat for a Run 3 job's extra_options.
246
267
 
247
- Only Run 3 MC carries a dstformat, following the data-taking period
248
- (:func:`mc_dstformat`) regardless of whether the job reads spruced or HLT2
249
- output. Real data never gets a dstformat.
268
+ dstformat applies to MC only -- real data never gets one (returns None). For
269
+ MC it is :func:`mc_dstformat`, which raises ``AutoConfError`` when the value
270
+ cannot be determined with certainty (so the job is blocked, not guessed).
250
271
  """
251
272
  if not simulation:
252
273
  return None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: LbAPCommon
3
- Version: 0.18.2
3
+ Version: 0.18.3
4
4
  Summary: Common utilities used by LHCb DPA WP2 related software
5
5
  Author: LHCb
6
6
  Project-URL: Homepage, https://gitlab.cern.ch/lhcb-dpa/analysis-productions/LbAPCommon
@@ -21,6 +21,8 @@ src/LbAPCommon.egg-info/SOURCES.txt
21
21
  src/LbAPCommon.egg-info/dependency_links.txt
22
22
  src/LbAPCommon.egg-info/entry_points.txt
23
23
  src/LbAPCommon.egg-info/requires.txt
24
+ src/LbAPCommon.egg-info/scm_file_list.json
25
+ src/LbAPCommon.egg-info/scm_version.json
24
26
  src/LbAPCommon.egg-info/top_level.txt
25
27
  src/LbAPCommon/data/__init__.py
26
28
  src/LbAPCommon/data/ap_merger.py
@@ -0,0 +1,141 @@
1
+ {
2
+ "files": [
3
+ ".gitignore",
4
+ ".gitlab-ci.yml",
5
+ ".pre-commit-config.yaml",
6
+ "LICENSE",
7
+ "README.md",
8
+ "environment.yaml",
9
+ "pixi.lock",
10
+ "pixi.toml",
11
+ "pyproject.toml",
12
+ "src/LbAPCommon/__init__.py",
13
+ "src/LbAPCommon/__main__.py",
14
+ "src/LbAPCommon/app_catalog.py",
15
+ "src/LbAPCommon/cern_sso.py",
16
+ "src/LbAPCommon/config.py",
17
+ "src/LbAPCommon/dirac_conversion.py",
18
+ "src/LbAPCommon/hacks.py",
19
+ "src/LbAPCommon/parsing.py",
20
+ "src/LbAPCommon/workflow.py",
21
+ "src/LbAPCommon/data/__init__.py",
22
+ "src/LbAPCommon/data/ap_merger.py",
23
+ "src/LbAPCommon/data/query_dirac.py",
24
+ "src/LbAPCommon/data/templates/configure-legacy-application.py.j2",
25
+ "src/LbAPCommon/linting/__init__.py",
26
+ "src/LbAPCommon/linting/bk_paths.py",
27
+ "src/LbAPCommon/models/__init__.py",
28
+ "src/LbAPCommon/models/recipes.py",
29
+ "src/LbAPCommon/models/validators.py",
30
+ "src/LbAPCommon/options_parsing/__init__.py",
31
+ "src/LbAPCommon/options_parsing/gaudi_pickle_to_json.py",
32
+ "src/LbAPCommon/prod_request_to_cwl/__init__.py",
33
+ "src/LbAPCommon/prod_request_to_cwl/__main__.py",
34
+ "src/LbAPCommon/prod_request_to_cwl/anaprod.py",
35
+ "src/LbAPCommon/prod_request_to_cwl/common.py",
36
+ "src/LbAPCommon/prod_request_to_cwl/simulation.py",
37
+ "src/LbAPCommon/transforms/__init__.py",
38
+ "src/LbAPCommon/transforms/runner.py",
39
+ "src/LbAPCommon/transforms/yaml-transform.js",
40
+ "src/LbAPCommon/transforms/vendor/LICENSE-yaml",
41
+ "src/LbAPCommon/transforms/vendor/yaml.bundle.js",
42
+ "src/LbAPCommon/validators/__init__.py",
43
+ "src/LbAPCommon/validators/bookkeeping_xml.py",
44
+ "src/LbAPCommon/validators/check_gen_fsr.py",
45
+ "src/LbAPCommon/validators/counters.py",
46
+ "src/LbAPCommon/validators/logs/__init__.py",
47
+ "src/LbAPCommon/validators/logs/data/known_messages.yaml",
48
+ "tests/conftest.py",
49
+ "tests/test_app_catalog.py",
50
+ "tests/test_auto_configure.py",
51
+ "tests/test_auto_configure_dstformat.py",
52
+ "tests/test_auto_configure_streams.py",
53
+ "tests/test_autoconfig_logging.py",
54
+ "tests/test_dirac_conversion.py",
55
+ "tests/test_good_parsing.py",
56
+ "tests/test_hacks.py",
57
+ "tests/test_log_parsing.py",
58
+ "tests/test_log_splitting.py",
59
+ "tests/test_performance.py",
60
+ "tests/test_platform_selection.py",
61
+ "tests/test_transforms.py",
62
+ "tests/example-logs/error-failed-to-read-file.log",
63
+ "tests/example-logs/error-fill-dependent-scale-factor.log",
64
+ "tests/example-logs/error-illegal-instruction.log",
65
+ "tests/example-logs/error-missing-shared-library.log",
66
+ "tests/example-logs/error-platform-unsupported.log",
67
+ "tests/example-logs/error-related-info-missing.log",
68
+ "tests/example-logs/error-rootioalg.log",
69
+ "tests/example-logs/error-unpack-raw-event.log",
70
+ "tests/example-logs/good-DaVinci_00110296_00000038_1.log",
71
+ "tests/example-logs/good-DaVinci_00110296_00000194_1.log",
72
+ "tests/example-logs/good-Gauss_00104988_00000011_1.log",
73
+ "tests/example_workflows/complex_workflow_with_filtering.in.yaml",
74
+ "tests/example_workflows/complex_workflow_with_filtering.out.yaml",
75
+ "tests/example_workflows/complex_workflow_with_filtering_two_groups.in.yaml",
76
+ "tests/example_workflows/complex_workflow_with_filtering_two_groups.out.yaml",
77
+ "tests/example_workflows/complex_workflow_with_layers_of_splitting.in.yaml",
78
+ "tests/example_workflows/complex_workflow_with_layers_of_splitting.out.yaml",
79
+ "tests/example_workflows/mcreweight_and_pidgen2.in.yaml",
80
+ "tests/example_workflows/mcreweight_and_pidgen2.out.yaml",
81
+ "tests/example_workflows/complex_workflow_with_filtering/AnaProd_example_workflows_job_tuple,split,filter_B0.cwl",
82
+ "tests/example_workflows/complex_workflow_with_filtering_two_groups/AnaProd_example_workflows_job2_tuple,split,filter_B0,S0.cwl",
83
+ "tests/example_workflows/complex_workflow_with_filtering_two_groups/AnaProd_example_workflows_job_tuple,split,filter_B0,S0.cwl",
84
+ "tests/example_workflows/complex_workflow_with_layers_of_splitting/AnaProd_example_workflows_xicpststtoxicppipi_data_2018_magdown_split,_xicpstst,0st,pststwspmm.cwl",
85
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_b0_dstdsx_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
86
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_b0_dstdx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
87
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_b0_dstp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
88
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_b0_dstp_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
89
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_b0_dststp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
90
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_b0_dststp_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
91
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_b0_dststx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
92
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_bp_dstdx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
93
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_bp_dstdx_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
94
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_bp_dstst_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
95
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_bp_dstst_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
96
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_bp_dststx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
97
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block5_bs_dsststp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
98
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_b0_dstdsx_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
99
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_b0_dstdx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
100
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_b0_dstp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
101
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_b0_dstp_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
102
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_b0_dststp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
103
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_b0_dststp_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
104
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_b0_dststx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
105
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_bp_dstdx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
106
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_bp_dstdx_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
107
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_bp_dstst_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
108
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_bp_dstst_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
109
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_bp_dststx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
110
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block6_bs_dsststp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
111
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_b0_dstdsx_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
112
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_b0_dstdx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
113
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_b0_dstp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
114
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_b0_dstp_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
115
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_b0_dststp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
116
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_b0_dststp_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
117
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_b0_dststx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
118
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_bp_dstdx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
119
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_bp_dstdx_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
120
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_bp_dstst_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
121
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_bp_dstst_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
122
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_bp_dststx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
123
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block7_bs_dsststp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
124
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_b0_dstdsx_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
125
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_b0_dstdx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
126
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_b0_dstp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
127
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_b0_dstp_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
128
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_b0_dststp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
129
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_b0_dststp_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
130
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_b0_dststx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
131
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_bp_dstdx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
132
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_bp_dstdx_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
133
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_bp_dstst_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
134
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_bp_dstst_taue_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
135
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_bp_dststx_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
136
+ "tests/example_workflows/mcreweight_and_pidgen2/AnaProd_example_workflows_noPID_block8_bs_dsststp_e_SPRUCE,DV,mva_rank,cmatch,PIDGen,mcreweight.cwl",
137
+ "tests/linting/test_bk_paths.py",
138
+ "tests/linting/test_processing_pass.py",
139
+ "tests/test_performance/example1.yaml"
140
+ ]
141
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "0.18.3",
3
+ "distance": 0,
4
+ "node": "g0ab0755cf8c2ecbd729005dcd63b9707b819c238",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-06-25"
8
+ }
@@ -80,22 +80,44 @@ class TestMcDstformat:
80
80
  "HLT2_FILTERED-2025.W28/10000000/HLT2_FILTERED.DST",
81
81
  "DST",
82
82
  ),
83
- # 2026 -> DST (incl. the bare-year 'expected-2026' samples)
83
+ # 2026 -> DST (the pp 'expected-2026' samples carry no week token)
84
84
  ("/MC/2026/Beam-2026.W10-MagUp/Sim11/Spruce/1/SPRUCE.DST", "DST"),
85
85
  (
86
86
  "/MC/Dev/Beam6800GeV-expected-2026-MagUp-Nu7.6-25ns-Pythia8/"
87
87
  "Sim10g/HLT2_pp_expected-2026/10000000/HLT2.DST",
88
88
  "DST",
89
89
  ),
90
- # 2024 with no week token still resolves by year -> uDST
91
- ("/MC/2024/x/Sim10f/HLT2-2024/11884651/HLT2.DST", "uDST"),
92
- # genuinely no data-taking year -> None (assume nothing)
93
- ("/MC/Dev/Beam-MagUp/Sim10g/HLT2/1/HLT2.DST", None),
90
+ # pp 'expected-2024' anticipated sample -> uDST
91
+ (
92
+ "/MC/Dev/Beam6800GeV-expected-2024-MagUp/Sim10g/"
93
+ "HLT2_pp_expected-2024/10000000/HLT2.DST",
94
+ "uDST",
95
+ ),
94
96
  ],
95
97
  )
96
98
  def test_mc_dstformat(self, bk_query, expected):
97
99
  assert mc_dstformat(bk_query) == expected
98
100
 
101
+ @pytest.mark.parametrize(
102
+ "bk_query",
103
+ [
104
+ # 5TeV reference run (configVersion '2024-5TeV') -- NOT pp
105
+ "/MC/2024-5TeV/Beam2510GeV-2024-5TeV-MagUp/Sim10g/HLT2-2024/1/HLT2.DST",
106
+ # heavy-ion (configVersion 'Lead26')
107
+ "/MC/Lead26/Beam2680GeV-Lead26-MagUp-PbPb/Sim10g/HLT2-Lead26/1/HLT2.DST",
108
+ # year digits in path but no week token and not 'expected-'
109
+ "/MC/2024/x/Sim10f/HLT2-2024/11884651/HLT2.DST",
110
+ # 'expected-2025' cannot be classified pre/post-TS
111
+ "/MC/Dev/Beam6800GeV-expected-2025-MagUp/Sim10g/HLT2_pp_expected-2025/1/HLT2.DST",
112
+ # genuinely no data-taking year
113
+ "/MC/Dev/Beam-MagUp/Sim10g/HLT2/1/HLT2.DST",
114
+ ],
115
+ )
116
+ def test_mc_dstformat_uncertain_raises(self, bk_query):
117
+ # If we cannot be certain, we must throw -- never guess / silently unset.
118
+ with pytest.raises(AutoConfError, match="dstformat"):
119
+ mc_dstformat(bk_query)
120
+
99
121
 
100
122
  class TestRun3Dstformat:
101
123
  """dstformat applies to MC (spruced OR HLT2 input); data never gets one."""
@@ -125,6 +147,17 @@ class TestRun3Dstformat:
125
147
  bk = "/LHCb/Collision25/Beam-2025.W21/Real Data/Sprucing25c1/9/CHARM.DST"
126
148
  assert run3_dstformat(bk, simulation=False) is None
127
149
 
150
+ def test_non_pp_mc_raises(self):
151
+ # Non-pp MC cannot be configured with certainty -> must raise, not unset.
152
+ bk = "/MC/Lead26/Beam2680GeV-Lead26-MagUp-PbPb/Sim10g/HLT2-Lead26/1/HLT2.DST"
153
+ with pytest.raises(AutoConfError):
154
+ run3_dstformat(bk, simulation=True)
155
+
156
+ def test_non_pp_data_returns_none(self):
157
+ # dstformat is MC-only: even a non-pp DATA path gets None (never raises).
158
+ bk = "/LHCb/Lead26/Beam2680GeV-VeloClosed-MagUp/Real Data/Spruce/9/HI.DST"
159
+ assert run3_dstformat(bk, simulation=False) is None
160
+
128
161
 
129
162
  DETDESC_MC_SPRUCED_FACTS = {
130
163
  "simulation": True,
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes