Feature #4704

Command line facility to insert arbitrary configuration items.

Added by Christopher Green over 7 years ago. Updated about 3 years ago.

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


Estimated time:
8.00 h
SSI Package:


For debugging and testing purposes, we believe it would be useful to be able to insert arbitrary parameters at the command line.

One question is how general this facility should be: one the one hand, this is easy to implement:

Physics.Producers.MyTrackFinder.tolerance: 1.4
Should we also handle:
Physics.Producers.MyJetFinder: { module_type: JetFinder par1: 4.0 linkToCal: true }

How do we handle merge / overwrite of nested parameters?


#1 Updated by Marc Paterno over 7 years ago

At least until we gain some experience with its use, I think a simple-to-understand model would be to allow on the command line exactly the same things as are allowed at the end of a FHiCL file, using the "overriding" rules already established for that. Complex things would need quoting, to avoid having the shell interpret characters in an unwanted way.


  art --add-param "physics.producers.MyJetFinder: { module_type: JetFinder par1: 4.0 linkToCal: true }" 

would do the same as adding
physics.producers.MyJetFinder: { module_type: JetFinder par1: 4.0 linkToCal: true }

as the final line on your FHiCL file.

I would propose that this command-line parameter be allowed an arbitrary number of times, and that the modifications it performs should take place after the modifications done within the FHiCL file itself. This is consistent with the rule of having the command-line override the configuration file.

#2 Updated by Christopher Green over 7 years ago

I was afraid you'd say that. It is the most straightforward solution to understand, but I believe it is the hardest one to implement. There is no existing mechanism to do what we need here.

#3 Updated by Christopher Green over 7 years ago

  • Status changed from New to Accepted
  • Target version set to 1.09.00
  • Estimated time set to 8.00 h

Based on discussion, the clear and easy-to-implement solution is that the --append-param contents will be treated as if they were appended to the end of the specified configuration file. Other command-line options may override these configurations in the same way they would override anything else in the user-specified file.

#4 Updated by Christopher Green over 7 years ago

  • Start date deleted (09/26/2013)

#5 Updated by Christopher Green almost 7 years ago

  • Target version changed from 1.09.00 to 521

#6 Updated by Kyle Knoepfel about 3 years ago

  • Target version deleted (521)

Also available in: Atom PDF