Project

General

Profile

Necessary Maintenance #13100

Update AnalysisExample

Added by Gianluca Petrillo about 4 years ago. Updated almost 4 years ago.

Status:
Closed
Priority:
Normal
Category:
Usability
Target version:
-
Start date:
07/05/2016
Due date:
% Done:

100%

Estimated time:
2.00 h
Spent time:
Experiment:
LArSoft
Duration:

Description

Changes:

  • use art::InputTag instead of strings (reported by Robert Sulej)
  • use FHiCL validation

History

#1 Updated by Gianluca Petrillo about 4 years ago

  • Status changed from New to Assigned
  • Experiment LArSoft added
  • Experiment deleted (-)

#2 Updated by Gianluca Petrillo about 4 years ago

  • % Done changed from 0 to 50

art::InputTag has been adopted.

Configuration validation is not trivial because the constructor delegates configuration to a reconfigure() method which is an inherited method with a signature that does not support configuration validation.
Currently I see two options:

1. have a do_configure() private method supporting configuration validation, which both the constructor and reconfigure() call (the latter can wrap the fhicl::ParameterSet it receives from the framework into a fhicl::Table)
2. (preferred) get rid of reconfigure() in the example; run-time reconfiguration is: quite badly supported in LArSoft and easier to go wrong than to work; useful in a very limited number of contexts; mostly unknown by users.

Solution 2 should be approved by the author of the example (William Seligman).

#3 Updated by Gianluca Petrillo about 4 years ago

This is the comment by the author of the code:

The only reason why I have a "reconfigure" method in there is that, when I originally wrote AnalysisExample, it was considered mandatory for every algorithm to have one. The idea was that it allowed interactive reanalysis of events via the event display. The user could tweak parameters and see the results in real time.
As far as I know, this was never fully implement. The event display has been rewritten at least once since then. The reconfigure method has become obscure. Please feel free to reorganize the code to omit it. Don't forget to adjust the comments to reflect the change. Or let me know when you've done the code part of the changes, and I'll fiddle with the comments.

#4 Updated by Gianluca Petrillo about 4 years ago

  • Status changed from Assigned to Resolved

So I removed the reconfigure() method and added FHiCL validation.

I did not find any change necessary in the documentation - maybe I missed something, maybe big.

#5 Updated by Gianluca Petrillo about 4 years ago

  • % Done changed from 50 to 100

#6 Updated by Gianluca Petrillo almost 4 years ago

  • Status changed from Resolved to Closed


Also available in: Atom PDF