Skip to content

Move CSC Cluster container creation from tool to algorithm

Savanna Shaw requested to merge sshaw/athena:csc-clusterbuilder into master

Moving the creation of the CSC cluster container from th ThresholdClusterBuilder tool to the algorithm that calls the tools. This is largely motivated by keeping the Run 2 trigger (where we need to write to the same container more than once per event) producing correct results (so we can validate the Run 3 trigger) without needing to create a separate non-thread safe tool. This required a few changes:

  • Move the WriteHandle creation/recording from the CscThresholdClusterBuilderTool to the algorithm (CscThresholdClusterBuilder), and pass the output container to the tool to be filled
  • Also removed the output creation/recording from the PeakThresholdClusterBuilderTool (this tool isn't in use at the moment, but in the future it can be used in the same way as the CscThresholdClusterBuilderTool)
  • Added the WriteHandle creation/recording to the trigger algorithms before we call the cluster builder tool, and since we can run this more than once per event, we need to retrieve the collection from the event store if we've already recorded the container once:
    • For L2MuonSA: we only run this when we want to do the decoding from inside the L2 SA algorithms/tools, which only happens in the Run 2 trigger system. For the Run 3 trigger the cluster building is done with the rest of the decoding outside of this code, so the clusters will just be accessed with a ReadHandle as usual. (cc @yoyamagu for info)
    • For TrigMuonEF: removed the reading in of the cluster container, since we produce the container within the same tool now (this runs only as part of the Run 2 trigger system).

Merge request reports