1 #ifndef art_Framework_Core_Observer_h 2 #define art_Framework_Core_Observer_h 18 class ModuleDescription;
42 "Events are selected based on the trigger-path entries provided in\n" 43 "the 'SelectEvents' and 'RejectEvents' parameters. For example, a\n" 44 "configuration of\n\n" 45 " SelectEvents: [A, B]\n" 46 " RejectEvents: [C, D]\n\n" 47 "would accept events that satisfy trigger-path criteria A or B and\n" 48 "fail criteria C or D. In other words, the event is accepted if " 50 "following Boolean expression evaluates to true:\n\n" 51 " (A || B) and not (C || D)\n\n" 52 "For the majority of cases, a trigger-path criterion may be:\n\n" 53 " 1. A trigger-path name in the current process (e.g. tp)\n" 54 " 2. A negated trigger-path name in the current process (e.g. " 56 " 3. A trigger-path name from a previous process (e.g. " 57 "\"previousProcess:tp\")\n\n" 58 "More complicated expressions are allowed--see\n" 60 "https://cdcvs.fnal.gov/redmine/projects/art/wiki/" 61 "Filtering_events\n\n" 62 "The default 'SelectEvents' and `RejectEvents` lists are empty,\n" 63 "which is equivalent to selecting all events."},
64 std::vector<std::string>{}};
66 std::vector<std::string>{}};
70 explicit Observer(std::vector<std::string>
const& select_paths,
71 std::vector<std::string>
const& reject_paths);
79 std::optional<detail::ProcessAndEventSelectors>
selectors_;
80 std::optional<detail::ProcessAndEventSelectors>
rejectors_;
std::string const & processName() const
Handle< TriggerResults > getTriggerResults(Event const &e) const
bool wantAllEvents() const noexcept
std::string process_name_
fhicl::Sequence< std::string > rejectEvents
bool wantEvent(ScheduleID id, Event const &e) const
Observer & operator=(Observer const &)=delete
fhicl::ParameterSetID selector_config_id_
std::optional< detail::ProcessAndEventSelectors > rejectors_
Observer(Observer const &)=delete
std::optional< detail::ProcessAndEventSelectors > selectors_
fhicl::Sequence< std::string > selectEvents