New persistency model for packing
A significant re-write of persistency framework.
Main changes in c++ are:
- New packers take unpacked objects and produce HltPackedDataBuffers (MC packers unchanged, old packers fully removed from configuration)
- New HltPackedBufferWriter takes a list of DataBuffers and writes out the raw banks/event (This replaces HltPackedDataWriter)
- New HltPackedBufferDecoder takes rawbanks/event and produces HltPackedDataBuffers to the requested locations
- New unpackers take HltPackedDataBuffers and produce unpacked objects (MC unpackers unchanged, old unpackers are still used for old dsts.)
- Un/PackParticlesAndVertices algorithms are removed. So objects in TES are not automatically packed/writen/decoded/unpacked.
Main changes in configuration:
- Packers/Unpackers/Decoder/Writer are all functional so all input and output locations needed to be given [They are given as DataObjectRead(Write)Handles. See #180 for explanation.]
- For packing/writing, locations are picked up from reco objects list and requested-line dependencies. For each location, object type in that location is also registered to ANNSvc json file. Only known object types in PyConf/object_types are packed.
- For decoding/unpacking, we don't know the data dependencies at the moment. So we take all registered packed locations in requested stream. They are checked against registered object types to decide which unpacker to use.
- PersistRecoConf is extended to all object types not only reconstruction objects. More than one location can be given for a type. reconstruction_objects list should be modified to benefit from this. Moore#248
To go with Moore!1085 (merged) MooreAnalysis!69 (merged) DaVinci!634 (merged) lhcb-datapkg/PRConfig!213 (merged)
Related issues: #151 (closed) Moore#354 (closed) lhcb-dpa/project#120
Edited by Rosen Matev
Merge request reports
Activity
Filter activity
added Accelerators Persistency labels
added 6 commits
- 4f391119 - Merge branch 'mveghel-th3support' into 'master'
- ca19e7ab - Merge branch 'cherry-pick-108460da' into 'master'
- 29af5408 - Move Packing related algorithms to Event/EventPacker
- 6c8f2fc5 - Merge branch 'sevda-moving-packeddata' into 'master'
- b0db560f - Merge branch 'master' into sponce_GaudiAlgorithmCleanup3
- 0b33d8d4 - Merge branch 'sponce_GaudiAlgorithmCleanup3' into sevda-packers2
Toggle commit listadded 24 commits
-
8c020ab2...372420d3 - 23 commits from branch
sponce_GaudiAlgorithmCleanup3
- 302fcad5 - pick changes from sponce
-
8c020ab2...372420d3 - 23 commits from branch
added 31 commits
-
302fcad5...1aef08d3 - 30 commits from branch
sponce_GaudiAlgorithmCleanup3
- 769bcea6 - changes from sponce
-
302fcad5...1aef08d3 - 30 commits from branch
added 6 commits
Toggle commit listadded 53 commits
- 0ae7d14e - Register legacy particle header
- a9f4e85e - Add new MC2DigitTable
- f786acab - Added check of input numbers on derived conditions
- 7747eb11 - fix: configuration of public and private tools
- ec5e92db - avoid schema evolution of GenFSR
- e4586f94 - New implementation of ODIN class (v7).
- 483defbb - Adapt to latest iteration on ODIN v7
- 39ef5f36 - Fix ODIN codec test
- 8632bdcd - Improve ODINCodec implementation
- 9e40fc25 - Add decoding of ODIN v6 bank
- 83afb0c2 - Fix warning
- bc6fc889 - Fix tests
- ec3288ed - Move old ODIN bank decoding to ODIN class
- 7b573c1c - Removed a duplictation of ODIN raw bank definition
- fdcfee63 - Add assert on buffer size in ODIN constructor
- 67ec637e - Pass version to ODIN::from_version as template argument
- 52b462de - minor code improvement
- f140eb52 - Wrap encoding logic in a ODIN::to_version method
- f173c1ca - Add support for multiple ODIN bank versions in encoding
- f9f12030 - Add encoding of ODIN to version 6 bank (default in ODINEncodeTool)
- 6bec26da - Make sure ODIN Data Object version matches internal bank version
- 79f2e9a7 - Remove Reco08 MDST tests
- 710f0eb0 - Allow building ODIN.h stand-alone
- fd01e989 - Add basic tests of ODIN codecs
- 7a083409 - fixed a couple of tests
- a594fd5e - Use LHCb::span instead of gsl::span
- b4ecda38 - Strip ODIN.h licence to be usable in Allen
- b1e84a97 - Update copyright year range
- 1236a371 - Add optional accelerator target to ODIN methods
- 6c9914b1 - Add constexpr and [[nodiscard]] where possible
- 2d55c644 - Use Allen::device::span in ODIN when building for accelerators
- b04204d4 - Set DataObject version to match internal ODIN format
- 5f315fa6 - Fix ODIN 7 to ODIN 6 compatibility test
- e8bc01ab - Renamed ODIN::timeAlignmentEventWindow to ODIN::timeAlignmentEventIndex and added ODIN::isTAE()
- 571af654 - Merge branch 'nuvallsc_CaloClusterEfficiency' into 'master'
- 7b13facd - Adapt state for SOACollection based tracks
- b6029eea - Merge branch 'decianm-adaptState' into 'master'
- 77c60d07 - Introduce an interface to obtain scheduler configuration & state (@graven)
- 0cc4a3a8 - Merge branch 'cherry-pick-f802a5ac' into 'master'
- 66572cd8 - Make ODIN constructors inline
- fe67a27e - allow coexistence of ODIN classes with and without DataObject inheritance
- 2aa12ace - Merge branch 'dd4hep_derivedcond_add_input_number_check' into 'master'
- 45cdc958 - Merge branch 'chasse_pyconf_tools' into 'master'
- 6c495955 - Add global exclusion for the ROOT change of units warning printed on stderr and adapted tests
- 04cd1713 - Merge branch 'bcouturi_fix_dd4hep_tests' into 'master'
- 0b45c0ca - Merge branch 'mramospe-monitor' into 'master'
- d8dfe18c - Merge branch 'genfsr-no-schema-changes' into 'master'
- cc9ebd7e - Throw exception for 0 counters in HltSelRepRBObjTyp
- b27bb51d - Merge branch 'thboettc_objtyp_counter_error' into 'master'
- 9dc7843a - Add EmptyProducer class
- 088f8a65 - Merge branch 'cmb_emptyproducer' into 'master'
- 254ae078 - Merge branch 'marcocle/odin-v7' into 'master'
- 88e2ee19 - Merge branch 'master' into sevda-packers2
Toggle commit listadded 1 commit
- f1821321 - update all un/packers in persist reco conf to be the new ones
mentioned in merge request Moore!1085 (merged)
Please register or sign in to reply