Art Suite Release Notes 1.17.00 (2015/10/21).¶
- Previous version's release notes.
It is intended that this minor release series be the last one to write Root 5 output files. The upcoming 1.18.00 release will contain the same set of features as this release, but it will use Root 6 to write and read files. This release includes some significant changes that will aid users in terms of:
- data product management for events,
- concatenating input files,
- resolving a long standing bug where users could not run
artprocesses where the first input file contained no events
- finer control in output file handling
Please read the notes below for details and look at the known issues section.
- [ Breaking change ] Verification that products are put on the event: Per experiment request, it is now an error by default to fail to put a product on an event if a product has been declared in the module constructor using
produces<MyProduct>("optionalInstanceName"). Failure to "put a product" may indicate a design flaw, which can cause difficulties in downstream
artprocesses. For cases where conditional product-putting is required, the old behavior can be restored via FHiCL configuration. Resolves feature #7852 (see posting for details).
- Finer control when specifying
-ooption for output streams: Users may now use the
-oprogram option to set the file-name for a specific output stream in cases where more than one are specified in a user's FHiCL file. The syntax is
-o "<module_label>:<file_name>", where the colon is the delimiter. Multiple instances of
-ocan be used at the command line for the same
artprocess. Resolves features #9793 and #10428.
EventIDstarting number of 0:
artcan now accommodate experiments whose DAQ systems start event numbering at 0. Resolves feature #10379.
- Relaxed input concatenation criteria: It is now possible for input files to contain heterogeneous
SubRundata products--e.g. input files subsequent to the first do not need to contain the same set of
SubRundata products as the first input file. For
Eventdata products, the input files must still have consistent sets of products (see here for more details).
- Issue #2695: It is now possible to run over a set of input files if the first file contains zero events.
- Issue #10490: In past version of
art, if a module constructor throws an exception, and the destructor of the input source tries to construct an
art::ServiceHandle, the requested service would not be accessible and an abort would be called. This service lifetime issue has now been resolved so that if such a scenario is encountered, the system shuts down safely.
- Issue #10491: In cases where significant configuration metadata is present in a set of input files, the metadata can be blocked from being persisted to an output file, thus avoiding a possibly large memory increase at the end of an
artprocess. See the caveats listed in the issue posting.
- Issue #10495: Fixes bug where
RootOutputwas not honoring the FHiCL-provided
- Issue #10358: For users that build
artthemselves and run its test suite, the regression test validating the behavior of
art --print-available-(modules|services)can sometimes fail. The feature itself, however, behaves correctly.