Closed jbeirer closed 1 month ago
Attention: Patch coverage is 84.74903%
with 79 lines
in your changes missing coverage. Please review.
Project coverage is 36.48%. Comparing base (
d58256e
) to head (4a758b5
). Report is 1 commits behind head on main.
:white_check_mark: All tests successful. No failed tests found.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
This pull request fully redesigns the way we handle the gometry in FastCaloSim, especially the hit to cell matching. Previously, complex detector maps were built that allowed for a fast cell lookup based on the η-φ and x-y (FCAL) positions. This has in many cases a direct dependence on the ATLAS geometry. Now, the cell data is loaded into RTree's (one per layer) that allow for a fast cell lookup given a position in the detector. This massively simplifies the geometry handling. Simulation remains largely unchanged, but some differences are unavoidable:
As expected, the R-tree lookup is significantly slower $O(\log(n))$ than the old approach (x100), but this is not expected to become a bottleneck:
The hit-to-cell matching assumes regular cuboid cells. If this approximation is not sufficient or experiments want to implement a faster lookup such as for the ATLAS FCal, this can be done via setting alternative geo handlers to the geometry:
Currently we use an
std::map
for mapping the cell id to the energy depositions to be able to have a consistent CI comparison. This will change tostd::unorderd_map
to allow for faster average lookup times of $O(1)$.