Skip to content

Seeding/T tracks state locations inconsistent

The fromPrTracksV1Track converter mislabels state locations for Seeding/T tracks. The converter defines the state locations here https://gitlab.cern.ch/lhcb/Rec/-/blob/master/Pr/PrConverters/src/PrConvertersInfo.h#L105

    static constexpr std::array<std::pair<LHCb::State::Location, int>, 3> StateLocations = {
        std::make_pair( LHCb::State::Location::FirstMeasurement, 0 ), std::make_pair( LHCb::State::Location::EndT, 1 ),
        std::make_pair( LHCb::State::Location::LastMeasurement, 2 )};

but PrHybridSeeing outputs states in order at BegT, MidT and EndT (link), meaning that for the output v1 track, FirstMeasurement is actually the BegT state, EndT is actually the MidT state, and LastMeasurement is actually the EndT state.

The state positions could be fixed for fromPrTracksV1Track, but this could affect things downstream, for example the v3 T track constructor defines FirstMeasurement and LastMeasurement as available states, so it could also be better to make PrHybridSeeing return the FirstMeasurement and LastMeasurement states instead if possible

Edited by Izaac Sanderswood