Static Public Member Functions | |
static void | fillDescriptions (ConfigurationDescriptions &) |
Static Public Member Functions inherited from edm::global::EDFilterBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Private Attributes | |
edm::propagate_const< std::unique_ptr< pathStatusExpression::Evaluator > > | evaluator_ |
bool | verbose_ |
Additional Inherited Members | |
Public Types inherited from edm::global::EDFilterBase | |
typedef EDFilterBase | ModuleType |
Public Types inherited from edm::ProducerBase | |
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >> |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes () |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag const &tag) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
Allows one to filter based on the results of Paths. One configures the filter with a text string that is a logical expression of path names. When the referenced Paths complete, the PathStatus product for each Path is retrieved from the Event. If the PathStatus holds the value "Pass", then the corresponding operand in the logical expression evaluates to "true", otherwise it evaluates to false. The overall logical expression is then evaluated and its result is the filter return value.
The logical expression syntax is very intuitive. The operands are path names. The allowed operators in order of precedence are "not", "and", and "or". Parentheses can be used. The syntax requires operators and pathnames be separated by at least one space or parenthesis. Extra space between operators, path names, or parentheses is ignored. A path name cannot be the same as an operator name. For example, a valid expression would be:
path1 and not (path2 or not path3)
Note that this works only for Paths in the current process. It does not work for EndPaths or Paths from prior processes.
Definition at line 70 of file PathStatusFilter.cc.
|
explicit |
Definition at line 341 of file PathStatusFilter.cc.
References edm::EDConsumerBase::consumesCollector(), evaluator_, Exception, edm::pathStatusExpression::ShuntingYardAlgorithm::finish(), edm::ParameterSet::getParameter(), MillePedeFileConverter_cfg::out, AlCaHLTBitMon_QueryRunRegistry::string, and verbose_.
|
static |
Definition at line 386 of file PathStatusFilter.cc.
References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), edm::ParameterSetDescription::addUntracked(), and AlCaHLTBitMon_QueryRunRegistry::string.
|
finalvirtual |
Implements edm::global::EDFilterBase.
Definition at line 396 of file PathStatusFilter.cc.
References DEFINE_FWK_MODULE, and evaluator_.
|
private |
Definition at line 77 of file PathStatusFilter.cc.
Referenced by filter(), and PathStatusFilter().
|
private |
Definition at line 78 of file PathStatusFilter.cc.
Referenced by PathStatusFilter().