HLT1 muon seeding doesn't have protection against max number of combinations
There's no protection for reaching the maximum number of allowed combinations Muon::Constants::max_number_of_tracks
in FindMuonHits.cu
https://gitlab.cern.ch/lhcb/Allen/-/blob/master/device/muon/match_velo_muon/src/FindMuonHits.cu#L295-297 . This has been causing Allen to crash in production https://lblogbook.cern.ch/HLT/572 (strangely outside of stable beams). The error is reproducible with the logbook MEPs and a CPU build. Strangely, this happened outside of beams, meaning that it was triggered by muon noise, so it might be good to also increase the limit.
A protection should be added and we should make sure that it has a deterministic behaviour. In the past we have done this in two ways:
- (preferred) Run the kernel once without limit, count the number of combinations, and if it is too high, re-run the kernel with a limit per thread implemented. Example https://gitlab.cern.ch/lhcb/Allen/-/blob/master/device/SciFi/hybridseeding/src/seed_xz.cu#L157-206
- If the limit is exceeded, set the counter to zero and skip all following steps that would need the stub container. Example here: https://gitlab.cern.ch/lhcb/Allen/-/blob/master/device/vertex_fit/vertex_fitter/src/FilterSVTrack.cu#L118-122
Edited by Christina Agapopoulou