Kernel/PartProp: modify LHCb::ParticleID to solve the problems introduced by !1187
LHCb::ParticleID
class is modified to solve the issue with LHCBPS-1796
- all quantities are calculated on flight. It definitely causes for CPU penalty, but actually all "expensive" functionality is used relatively rarely (e.g. decay-descriptors) and always in conjuction with really CPU expensive code - like filtering of decays according to decay descriptors. Therefore I think in reality this CPU penalty is not vizible and not so important.
- it is tested versus the reference code by Phil Ilten for all PIDs from Particle Property service + all "exceptional" PIDs, explicitly coded in
ParticleID
class. The results are identical.
@philten @erodrigu @jonrob @gcorti
As pointed out in LHCBPS-1796, the branches on which the update from !1189 (merged) was applied are:
-
sim09-patches (released in LHCb v39r1p1) - !1371 (merged) -
digi14-patches (released in LHCb v41r2) - !1370 (merged) -
reco14-patches (released in LHCb v35r1p3) - !1372 (merged) -
2016-patches (released in LHCb v40r6) - !1369 (merged) -
2017-patches (released in LHCb v42r8) - !1366 (merged) -
2018-patches (released in LHCb v44r2) - !1367 (merged) -
run2-patches (not yet released) - !1365 (merged) -
master (released in LHCb v50r1) - this MR
This will have to be backported to all those branches.
Edited by Marco Cattaneo