fix: Remove redundant EDM4eic version guards for minimum 8.7 - #2838
Conversation
…2840) This PR applies the include-what-you-use fixes as suggested by https://github.com/eic/EICrecon/actions/runs/31183049771. Please merge this PR into the branch `copilot/fix-edm4eic-minimum-version-guard` to resolve failures in PR #2838. Auto-generated by [create-pull-request][1] [1]: https://github.com/peter-evans/create-pull-request Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Capybara summary for PR 2838
Last updated 2026-08-11T21:53-04:00 0ddb719 |
…2840) This PR applies the include-what-you-use fixes as suggested by https://github.com/eic/EICrecon/actions/runs/31183049771. Please merge this PR into the branch `copilot/fix-edm4eic-minimum-version-guard` to resolve failures in PR #2838. Auto-generated by [create-pull-request][1] [1]: https://github.com/peter-evans/create-pull-request Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
4db25dc to
bd40dcb
Compare
Since EDM4eic >= 8.7 is the minimum required version (CMakeLists.txt:63), all version guards checking for >= 8.7 or > 8.5 are always true and can be safely removed to simplify the codebase. Modified files: - src/algorithms/digi/CALOROCDigitization.cc: Removed guard wrapping entire implementation - src/algorithms/tracking/TrackSeeding.cc: Removed guard around setQuality call - src/detectors/BEMC/BEMC.cc: Removed 2 guards (include + factory registration) - src/services/io/podio/JEventProcessorPODIO.cc: Removed guard around collection names - src/tests/algorithms_test/digi_CALOROCDigitization.cc: Removed guard wrapping entire test" Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com>
…2840) This PR applies the include-what-you-use fixes as suggested by https://github.com/eic/EICrecon/actions/runs/31183049771. Please merge this PR into the branch `copilot/fix-edm4eic-minimum-version-guard` to resolve failures in PR #2838. Auto-generated by [create-pull-request][1] [1]: https://github.com/peter-evans/create-pull-request Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Wouter Deconinck <wdconinc@gmail.com>
bd40dcb to
896a3b3
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.
Suppressed comments (1)
src/tests/algorithms_test/digi_CALOROCDigitization.cc:6
- This file still uses unqualified fixed-width types (e.g.
uint16_t) later on.<cstdint>only guarantees these typedefs instd::, while the global aliases are not guaranteed, which can hurt portability. Easiest fix is to keep the previous C header include (<stdint.h>), or alternatively switch the later usage tostd::uint16_t.
#include <cstdint>
|
Conflict resolved; needs new approval. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.
Suppressed comments (1)
src/tests/algorithms_test/digi_CALOROCDigitization.cc:9
<cstdint>only guarantees fixed-width integer typedefs in thestd::namespace. This file still usesuint16_tunqualified later, which can be a compile error on implementations that don’t also provide these typedefs in the global namespace. Preferstd::uint16_t, or add ausingdeclaration after the includes.
#include <cstdint>
#include <cstddef>
#include <memory>
ruse-traveler
left a comment
There was a problem hiding this comment.
Thanks for the fix, @wdconinc! Looks good to me!
I am noticing some odd diffs in the capybara report (e.g. in the DRICH theta-phi photons and the BIC N combined pulses, attached here). But given the changes (and that all of them seem to be in multithreading comparisons), I suspect these are unrelated...
|
Ahhhh I see! |
Removes version guard checks for EDM4eic >= 8.7 across the codebase. The minimum required version is already set to 8.7 in CMakeLists.txt, making these guards always true and unnecessary.
Changes
setQuality()callBriefly, what does this PR introduce? Please link to any relevant presentations or discussions.
Eliminates technical debt by removing always-true preprocessor guards, improving code clarity and maintainability.
What is the urgency of this PR?
What kind of change does this PR introduce?
Please check if any of the following apply