SelectEvents for analyzer modules
art currently supports SelectEvents for output modules - the module will only be run if some expression on the completion status of trigger paths evaluates to true. We would like analyzers modules to also have this feature.
#2 Updated by David Brown over 7 years ago
I'd like to give a concrete example to this request. A common use case is for a user to want to run the event display on a subset of events. Within art the natural way to do this is to write a filter which selects the interesting events, then pass them to the event display module. This doesn't work, as the event display is an observer, it lives in the endpath, and the endpath ignores filtering. We're left with the unpleasant choices of trying to incorporate filter functionality in the event display module, or having to write out intermediate files using the filter (since outputmodule is the only endpath module which can key to filters), and read them back in a separate event display process. This is of course just one example (I can think of many more). I'd like to hear from the art developers what they think the right way to do this is.
#3 Updated by David Brown over 7 years ago
I have a concrete implementation suggestion for this feature. Since art can support multiple end-paths, I suggest making the execution of a specific end-path contingent on a particular trigger path. This keeps the current default behavior plus allows selective endpaths. I'm imagining something like the following, though certainly you guys can come up with something better.
xxx : [ a, b, c]
yyy : [ d,e,f ]
trigger_paths : [xxx]
end_paths: [ yyy:xxx]
#5 Updated by Brendan Kiburg over 7 years ago
The g-2 experiment also wants to note that we desire this functionality.
Our current approach involves running art in two steps: One step where art produces that makes an intermediate file that outputs only the events we wish to analyze. In a second step, we read in the intermediate file and run the analyzer on all of those events.
This implementation of SelectEvents for analyzer modules would be a welcome addition for our purposes.