Unphysical track with high momentum are packed as particle with charge 0
A problem was spotted while creating Kshort candidates at DaVinci level using persistreco particles on PbPb data. In some events the following break seg appears:
#7 0x00007f19bea85cba in FunctionalParticleMaker::fill_particle(LHCb::ProtoParticle const*, LHCb::ParticleProperty const*, LHCb::Particle*) const () from /cvmfs/lhcb.cern.ch/lib/lhcb/REC/REC_v35r20/InstallArea/x86_64_v2-centos7-gcc12-opt/lib/libParticleMaker.so
After investigating this fill_particle function in https://gitlab.cern.ch/lhcb/Rec/-/blob/master/Phys/ParticleMaker/src/FunctionalParticleMaker.cpp?ref_type=heads we see that sometimes a protoparticle is assigned a charge equal to zero.
After checking at Hlt2 level in the PrKalman algorithm we could see that in this event lots of tracks had a q/p<lower than 1e-7
The packing step assign an infinite momentum and a charge equal to 0 to those high momentum tracks.
A protection in the kalman algorithm should be set to put an upper limit on unphysical momentum.
To reproduce the problem: In /afs/cern.ch/work/s/sbelin/public/issue516/ I copied the mdf and the relevant scripts. input_files_datasept.py + hlt2_PbPb_without_UT.py will run on a few events before the buggy one and options.yaml + dv_test_hlt2_ift.py to reproduce the break seg