Project

General

Profile

Dropping products

Any output module can be configured to write out only those branches of interest, as controlled by outputCommands, as shown below.

# this is only a fragment of a full configuration ...
source : {
  module_type : RootInput
  fileNames : @nil
  inputCommands: [ "drop *_badProducer_*_*" ]
}

physics : {
  outputModules : [o1, o2]
  end_paths : [ outputModules ] 
}

outputs : {

  o1 : {
    module_type : RootOutput
    fileName : "valuable.root" 
    # Drop all branches, except those containing products created
    # by a producer with module label 'valuable':
    outputCommands: [ "drop *", "keep *_valuable_*_*" ]
  }

  o2 : {
    module_type : RootOutput
    fileName : "not_valuable.root" 
    # Keep all branches, except those containing products created
    # by a producer with module label 'valuable':
    outputCommands: [ "keep *", "drop *_valuable_*_*" ]
  }

}