Project

General

Profile

End-path module and trigger path disablement

The ability to disable end-path modules and trigger paths has been removed as of art 2.07.01.

The facility has been provided to disable, during running, trigger paths and end-path modules. This is done by means of a service PathSelection (source:art/Framework/Services/System/PathSelection.h) which provides the following functions:

bool setTriggerPathEnabled(std::string const & name, bool enable);
bool setEndPathModuleEnabled(std::string const & label, bool enable);
This service is activated by specifying an empty parameter set:
services.PathSelection: {}
in the configuration.

The appropriate place from which to call these functions would be from a user service, in the PreEvent callback slot. Note that trigger paths and end-path modules may be re-activated, but it is not possible to activate a path which was not configured at startup.

On a related note, limited module reconfiguration facilities are available by implementing a subclass of art::UserInteraction (source:art/Framework/Services/UserInteraction/UserInteraction.h). Any reconfiguration of filters or producers will produce incorrect provenance information.

An example of the combination of the two may be seen at source:test/Integration/InFlightConfiguration.h and source:test/Integration/InFlightConfiguration_service.cc, with configuration at source:test/Integration/fcl/InFlightConfiguration_02.fcl. Note that in a user implementation should cache the PathSelection service handle by value, as this implementation provides for a test of art behavior on incorrect configuration.