[Common] Force the update of the LUT when changing runs - #17197
[Common] Force the update of the LUT when changing runs#17197romainschotter wants to merge 5 commits into
Conversation
|
O2 linter results: ❌ 2 errors, |
|
Hi @romainschotter, thanks a lot! However, the LUT does not change with run, and with the change you propose, you add extra unnecessary ccdb traffic. How about capturing the situation in which a LUT is already loaded and avoid replacing it with a nullptr in that case? That should be sufficient I believe... |
|
Hi @ddobrigk ! Apologies for the delay! |
|
Error while checking build/O2Physics/code-check for 454ae0c at 2026-08-19 12:49: Full log here. |
|
Hi, I am also not sure why would we need to update the LUT with the run number. Even if for some reason two runs were produced with the different LUTs, which should not happen the same pass of the same year data, this would reflect the evolution of the geometry with the time rather than the run-specific differences |
|
Error while checking build/O2Physics/code-check for f650de2 at 2026-08-20 10:17: Full log here. |
|
Hi @shahor02 ! |
|
Well, what meant is that there is appropriate LUT for the run. In the unlikely use case of processing together two runs from different passes or different years, in general, the latest would be more correct. |
|
Sorry if this is a naive question: shouldn't we use the same LUT that was used when the data was processed? Let's say, someone would run the same workflow on 2 files: one from LHC22o pass7 and one from 2026 pp thinned. If the material budget was updated between the two productions, in my understanding, we now have a new LUT. When running over LHC22opass7, shouldn't we use the LUT that were used to produce 22o pass7? And similarly, use the LUT that were used to produce 2026 pp thinned? |
|
I would say there is no well-defined answer to that: except for tiny differences due to the alignment, the difference in LUTs comes from the improvements in the geometry modelling and LUT grid granularity. So, in principle, the most recent LUT would be closer to reality and would be preferable, e.g. for propagation of IU tracks to PV. |
|
Hi @shahor02 ! Thanks a lot for the clarification! Agreed that the latest LUT is the better choice for propagation to the PV. But if we take the earlier example of a workflow running over two files, one from LHC22o pass7 and one from 2026 pp thinned: depending on which file is processed first, either the latest LUT or the LHC22o pass7 one (the worst one) ends up being used for both. Which LUT is applied then depends on file ordering rather than on the data itself. The least biasing approach would be to load the LUT corresponding to the run being processed, as this PR does. That said, this is admittedly a very rare edge case, so treating it as a non-problem and closing the PR is also reasonable. In my humble opinion, it would be preferable to merge it, but I will leave the decision to the code owners :-) Thank you very much! |
|
Hi @romainschotter |
Thank you @fchinu for reporting the bug!
@ddobrigk @dsekihat for your information