Project

General

Profile

Task #14059

Milestone #14047: Data product review ("phase II")

Provide means to extend data product information

Added by Gianluca Petrillo almost 4 years ago. Updated almost 3 years ago.

Status:
Closed
Priority:
Normal
Category:
Architecture
Target version:
Start date:
10/04/2016
Due date:
% Done:

100%

Estimated time:
60.00 h
Spent time:
Duration:

Description

Data product design is pulled by two opposite forces:

  • completeness, aiming to a data product with all the possible information
  • manageability, aiming to small data products that affect lightly resource usage and allow changes to be modular

An approach to reconcile these forces is to have small data products, each carrying part of the information, with an interface able to transparently navigate through them.
The goal of this task is to design such a system for the relevant data products.
This task is made of

  1. general design of the pattern
  2. specific implementation for data products.

Each implementation will differ in details, but share the general design ideas)


Related issues

Related to LArSoft - Task #14060: Provide ways to navigate associated data products in a seamless wayClosed10/25/2016

Related to LArSoft - Task #14061: Provide an interface to access a complete reconstruction of the eventRejected10/26/2016

Associated revisions

Revision 35b2a3a2
Added by Gianluca Petrillo almost 3 years ago

Merge branch 'feature/gp_TrackProxy' into develop

This concludes the commits for resolution of issue #14059, issue #14060
and issue #17359.

History

#1 Updated by Gianluca Petrillo almost 4 years ago

  • Related to Task #14060: Provide ways to navigate associated data products in a seamless way added

#2 Updated by Gianluca Petrillo almost 4 years ago

  • Related to Task #14061: Provide an interface to access a complete reconstruction of the event added

#3 Updated by Gianluca Petrillo almost 4 years ago

  • Estimated time set to 60.00 h
  • % Done changed from 0 to 10

I started playing with a template interface to expose multiple collections.
The fundamental requirement is that each element in the "main" data product, at a specific position in its collection, is paired to the equivalent extended data element at the same position within its own collection ("parallel collections").

#4 Updated by Gianluca Petrillo almost 3 years ago

  • % Done changed from 10 to 100

The proposed solution is an object called "proxy", which can navigate data products as per issue #14060.
Beside merging data products connected via art associations, the proxies can also merge collections with the same cardinality:

auto clusters = proxy::getCollection<std::vector<recob::Cluster>>(event, clusterTag, proxy::withParallelData<reco::ClusterInfo>(clusterInfoTag));

with access mode similar to the one described in issue #14060.

This feature is available in LArSoft v06_51_00.

#5 Updated by Gianluca Petrillo almost 3 years ago

  • Status changed from Assigned to Resolved
  • Target version changed from 2017-1-quarter to v06_51_00

#6 Updated by Gianluca Petrillo almost 3 years ago

  • Status changed from Resolved to Closed


Also available in: Atom PDF