Feature #24543

In RootOutput, remove the requirement of %# pattern when fileProperties

Added by Rob Kutschke 10 months ago. Updated 9 months ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:
2.00 h
Spent time:


Mu2e is using RootOutput to split a stream of events into separate files, one file per subrun. The event stream is in art::EventID order so we will open and close output files in order and visit each subrun exactly once. We would like to name the output files using the pattern:

This is not currently possible because the fileProperties rules require the presence of the %# pattern. We request an option to make it legal to omit the requirement of the %# pattern.

We understand that if we misconfigure a job the RootOutput module may need to throw an exception, causing the job to stop. This is acceptable.


#1 Updated by Kyle Knoepfel 10 months ago

  • Assignee set to Kyle Knoepfel
  • Status changed from New to Assigned

#2 Updated by Kyle Knoepfel 10 months ago

  • Estimated time set to 2.00 h
  • Target version set to 3.06.00
  • Category set to Infrastructure

#3 Updated by Kyle Knoepfel 10 months ago

  • % Done changed from 0 to 100
  • Status changed from Assigned to Resolved

Implemented with commit art_root_io:0bc54a8. The configuration parameter checkFileName has been added to both RootOutput and TFileService, with a default value of true. Upon typing 'art --print-description RootOutput', you will see the printout:

<module_label>: {
  module_type: RootOutput
  ## If file-switching has been enabled, the output filename pattern
  ## must have a '%#' format specifier by default.  This ensures that
  ## an output file will never be overwritten for a given job execution.
  ## For some workflows, this restriction is unnecessary if the user can
  ## guarantee that the specified filename pattern will create distinct
  ## output files.
  ## If 'checkFileName' is set to 'false', then the '%#' is
  ## not required even if file-switching has been enabled.  In this mode
  ## it is the user's responsibility to supply a filename pattern that
  ## will not result in output-file overwriting.
  ## Do NOT set this to 'false' unless you know what you are doing!

  checkFileName: true  # default

#4 Updated by Kyle Knoepfel 10 months ago

  • Category deleted (Infrastructure)
  • Project changed from art to art_root_io

#5 Updated by Kyle Knoepfel 9 months ago

  • Target version changed from 3.06.00 to 1.04.00
  • Status changed from Resolved to Closed

Also available in: Atom PDF