Baseline for ROOT 6 migration


11 issues   (11 closed — 0 open)

Art Suite Release Notes 1.17.00 (2015/10/21).

Important 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 art processes where the first input file contained no events
  • finer control in output file handling
  • etc.

Please read the notes below for details and look at the known issues section.

Art 1.17.00.

New features:

  • [ 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 art processes. 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 -o option for output streams: Users may now use the -o program 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 -o can be used at the command line for the same art process. Resolves features #9793 and #10428.
  • Optional EventID starting number of 0: art can 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 Run and SubRun data products--e.g. input files subsequent to the first do not need to contain the same set of Run and SubRun data products as the first input file. For Event data products, the input files must still have consistent sets of products (see here for more details).

Bug fixes:

  • 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 art process. See the caveats listed in the issue posting.
  • Issue #10495: Fixes bug where RootOutput was not honoring the FHiCL-provided streamName.

Known issues:

  • Issue #10358: For users that build art themselves 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.

messagefacility 1.16.07 (new version).

fhicl-cpp 3.12.06 (new version).

cetlib 1.15.03 (new version).

cpp0x 1.04.13 (new version).

Time tracking
Estimated time 23.00 hours
Spent time 73.25 hours
Issues by




Necessary Maintenance