Feature #11415: Implement Run and SubRun fragments
Provide contributing events/subruns for SubRun and Run products
A necessary feature for properly supporting
Run products is the ability to known which subruns and events contributed to the products that were created. More specifically, for a given module, the list of events and subruns processed need to be recorded for products produced in the
endRun overrides. Doing so requires:
- Creating an in-memory representation of the subruns and events that contribute to a given
- Inserting the data from the in-memory representation into a set of SQLite tables in the output file,
- Providing new data member in
art::Wrapper, which stores the index to the appropriate database entry,
- Adjusting product aggregation to combine contributing subruns and events when appropriate, based on looking up the information from the SQLite database,
- Providing a mechanism for users to retrieve and use the information when querying a product.
#5 Updated by Kyle Knoepfel over 3 years ago
- Status changed from Assigned to Resolved
- % Done changed from 80 to 100
Providing contributing events/subruns for
Run products has been implemented by adding the requisite tables to the
RootFileDB of the
art/ROOT file. The C++-represented object is the
art::RangeSet, which has a
run number data member, and vector of
EventRange objects. The
EventRange represents a dense half-open range of events, associated with a specific subrun.
Implemented across many commits. The commit for merging
develop into the feature branch is art:97485ee.