32 m_eventCache(config, consumesCollector())
34 const std::vector<std::string> & expressions = config.
getParameter<std::vector<std::string>>(
"triggerConditions");
51 desc.
add<
bool>(
"l1tIgnoreMaskAndPrescale",
false);
58 desc.
add<
bool>(
"throw",
true);
62 descriptions.
add(
"triggerResultsFilter", desc);
67 if (expressions.empty()) {
69 }
else if (expressions.size() == 1) {
70 parse( expressions[0] );
72 std::stringstream expression;
73 expression <<
"(" << expressions[0] <<
")";
74 for (
unsigned int i = 1;
i < expressions.size(); ++
i)
75 expression <<
" OR (" << expressions[
i] <<
")";
76 parse( expression.str() );
86 edm::LogWarning(
"Configuration") <<
"Couldn't parse trigger results expression \"" << expression <<
"\"";
T getParameter(std::string const &) const
void setComment(std::string const &value)
bool configurationUpdated() const
void parse(const std::string &expression)
parse the logical expression into functionals
Evaluator * parse(const T &text)
triggerExpression::Data m_eventCache
cache some data from the Event for faster access by the m_expression
TriggerResultsFilter(const edm::ParameterSet &)
def setup(process, global_tag, zero_tesla=False)
#define DEFINE_FWK_MODULE(type)
triggerExpression::Evaluator * m_expression
evaluator for the trigger condition
ParameterDescriptionNode * addOptionalNode(ParameterDescriptionNode const &node, bool writeToCfi)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
bool setEvent(const edm::Event &event, const edm::EventSetup &setup)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
~TriggerResultsFilter() override
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
bool filter(edm::Event &, const edm::EventSetup &) override