Feature #6228
Redundant SelectEvents
Description
The grammar to add a SelectEvents clause to an output or analyzer module is:
module_label : { module_type : foo SelectEvents: { SelectEvents: [ trigger_path_name ] } }
This has always seemed redundant. Is there a good reason for it? If not, I would like to discuss removing the redunancy:
module_label : { module_type : foo SelectEvents : [ p2a ] }
History
#1 Updated by Christopher Green over 6 years ago
- Category set to Infrastructure
- Status changed from New to Feedback
- Target version set to 1.11.00
- Estimated time set to 4.00 h
- Experiment Mu2e added
- Experiment deleted (
-) - SSI Package art added
- SSI Package deleted (
)
There is no reason why this cannot be fixed. It is a historical feature of the old python-based configuration system. We can support both in the near term, but we would propose that the old format be retired eventually, say 1.12.00.
Is this acceptable?
#2 Updated by Christopher Green over 6 years ago
- Status changed from Feedback to Rejected
- Assignee set to Christopher Green
The initial analysis of this problem was erroneous: a ParameterSet
is involved because its ID is stored as an attribute of the History
of the product. One could conceivably store the ID of the containing module configuration ParameterSet
instead, but that is a semantic change that may have broader consequences. This seems like a major step to address something as simple as redundancy.
#3 Updated by Rob Kutschke over 6 years ago
Thanks for looking at this. Given the latest analysis I concur with the decision to reject it. Please close the issue.
#4 Updated by Kyle Knoepfel over 4 years ago
- Tracker changed from Bug to Feature
- Status changed from Rejected to Resolved
- Assignee changed from Christopher Green to Kyle Knoepfel
- Target version changed from 1.11.00 to 2.01.00
- % Done changed from 0 to 100
After further analysis, we determined that reassigning the ParameterSetID
to the containing module configuration was safe. Since the semantic of the stored value has now changed, a file-format-version adjustment is warranted. The file-format-version must change with the art:version:"Arcturus" release anyway, so it is natural to include this ParameterSetID
semantic change as well.
Enabling event-selection is now achieved by the following configurations:
physics : {
analyzers : {
a1 : {
module_type : MyAnalyzer
SelectEvents: [p1,p2]
}
}
}
and
outputs : {
o1 : {
module_type : AnyOutput
SelectEvents: [p1,p2]
}
}
The legacy configurations (the nested "SelectEvents.SelectEvents"
clause as mentioned in the description of this issue) are still supported, but they are deprecated. If the deprecated configuration is used, the following diagnostic is emitted at the top of the art
-process printout:
The nested "physics.analyzers.a1.SelectEvents.SelectEvents" configuration is deprecated. It will be replaced with: physics.analyzers.a1.SelectEvents: [...]
The stored configuration on disk is, therefore, the correct specification.
Implemented with art:899fb5ca.
#5 Updated by Kyle Knoepfel over 4 years ago
- Status changed from Resolved to Closed