Skip to content

split track containers and persistency (versioning)

Maarten Van Veghel requested to merge mveghel-calov1persistencyfix into master

Introduces split-per-track-type persistency. Track, PID objects and ProtoParticles are all in split containers. Main reason to have more control over persistency.

Also fixes upstream proto/track persistency.

Tested with Hlt/Hlt2Conf/options/hlt2_2or3bodytopo_realtime.py and subsequent sprucing unpack step.

One of the things it does it cleans up and removes the use of merged containers that copy tracks/muonpid/richpid objects, but uses SharedObjectsContainer such that pointers to the individual per-track-type objects are used for merged containers.

Currently the tracks are copied to their persisted location, but this should be SharedObjectsContainers which should be persisted, this way the actual underlying object persistency is handled anonymously (needs !2281 (merged) and SharedObjectsContainers to be persisted)

It aims to fix #392 (closed). @sesen @graven @decianm

Also Ttrack reco should be cleaned up @isanders Maybe fixed in other MRs, see also #588

Also adds fixes for calohypo persistency in charged protoparticles (it started with this, this branch and got out of hand, as it needs these fixes to work).

In addition, uses work of @sbelin from Rec!3509 (closed), !2141 (closed) and DaVinci!897 (closed) (merged into the relevant branches)

Goes with LHCb!4127 (merged), Rec!3423 (merged), Alignment!394 (merged), DaVinci!926 (merged), MooreAnalysis!126 (merged), MooreOnline!268 (merged), lhcb-datapkg/PRConfig!327 (merged)

needs LHCb!4191 (merged) (cherry picked and committed to LHCb!4127 (merged))

Edited by Maarten Van Veghel

Merge request reports