Use views in Gaudi-Allen convertors
With !1086 (merged) we will have a total of four methods to obtain long tracks in Allen. I was looking into creating a Gaudi-Allen configuration of this, but I realized the old event model of Allen is still used in the convertor algorithms. This means that at present we have algorithms that are excessively complex for a task that has become rather simple in the last months, and worse than that, that there is quite a lot of code repetition.
For instance, see:
- https://gitlab.cern.ch/lhcb/Allen/-/blob/master/Rec/Allen/src/GaudiAllenSeedAndMatchNoUTToV2Tracks.cpp#L88
- https://gitlab.cern.ch/lhcb/Allen/-/blob/master/Rec/Allen/src/GaudiAllenForwardToV2Tracks.cpp#L52
Therefore, instead of doing yet another algorithm for a different kind of long track container, I think we should create a single algorithm that takes the "new" Allen event model datatypes: Allen::Views::Physics::MultiEventLongTracks
. For use see eg. the simple kalman filter:
- https://gitlab.cern.ch/lhcb/Allen/-/blob/master/device/kalman/ParKalman/src/ParKalmanVeloOnly.cu#L532
- https://gitlab.cern.ch/lhcb/Allen/-/blob/master/device/event_model/common/include/ParticleTypes.cuh#L58-144
With a single datatype, we can likely replace almost all those input datatypes in the GaudiAllen conversions. Hopefully we can then simplify as well https://gitlab.cern.ch/lhcb/Moore/-/blob/master/Hlt/RecoConf/python/RecoConf/hlt1_allen.py#L238-336 , and at the same time extend it with the new long track producers.