Bug #10659

Issues reading data products with instance names in the event display

Added by Gianluca Petrillo over 5 years ago. Updated over 1 year ago.

Start date:
Due date:
% Done:


Estimated time:


This is a follow up from LArSoft's issue #10538 .
There is a lot of magic ongoing in the event displaying support code, that I don't fully understand.
Apparently the system is able to automatically create a dialogue window for each service whose name ends with "DrawingOptions".
It maintains a ServiceTable and uses that information to create dialogue windows to change service configuration at run time.

When clicking on "Apply", those dialogue windows create a new parameter set with all the values they contain, but they elect to create it as a FHiCL-parseable string. Then the caller parses that FHiCL string and uses the parsed fhicl::ParameterSet to reconfigure.
All good, except that in the process of creating that configuration string, the FHiCL rule about string value quoting is ignored.

This has some interesting consequences when changing a text entry, say, label:

  • input product:instance in the text box:
    • a label:product:instance FHiCL string is created, that is invalid FHiCL; reconfiguration fails
  • input "product:instance" in the text box:
    • a label:"product:instance" FHiCL string is created, that is valid FHiCL, with value product:instance
    • the next time the dialogue is opened, the text box is initialized with that value and unless you manually add the double quotes again you are back in the first case

It's not apparent to me the need of using string rather than fhicl::ParameterSet as intermediate representation... can the double conversion be elided? that would solve this issue.
FHiCL C++ has evolved a lot, and critical limitations might have been removed since the time ServiceTable was designed.

Related issues

Has duplicate NuEvdb - Bug #23575: Instance name in services.RecoDrawingOptions.WireModuleLabelsClosed11/10/2019


#1 Updated by Gianluca Petrillo over 1 year ago

  • Has duplicate Bug #23575: Instance name in services.RecoDrawingOptions.WireModuleLabels added

#2 Updated by Kyle Knoepfel over 1 year ago

  • Status changed from New to Closed

Also available in: Atom PDF