77 if (iConfig.
exists(
"InputTags"))
91 if (!plotPset.empty()) {
98 if (!ntPset.
empty()) {
107 produces<std::vector<bool>>();
121 bool majorGlobalAccept =
false;
123 auto passedProduct = std::make_unique<std::vector<bool>>(
flows_.size(),
false);
124 bool filledOnce =
false;
130 unsigned int iFlow = 0;
131 for (; iFlow !=
flows_.size(); ++iFlow) {
147 bool globalAccept =
true;
155 plotter_->fill(fullContent, iEvent);
166 cumulative += filter->
name();
169 if (accept[filter->
name()]) {
174 globalAccept =
false;
176 bool goodForAllButThisOne =
true;
177 for (std::map<std::string, bool>::iterator decision = accept.begin(); decision != accept.end(); ++decision) {
178 if (decision->first == filter->
name())
180 if (!decision->second) {
181 goodForAllButThisOne =
false;
193 (*passedProduct)[iFlow] =
true;
194 majorGlobalAccept =
true;
210 return majorGlobalAccept;
~ConfigurableAnalysis() override=default
std::vector< FilterSelection >::iterator iterator
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
#define DEFINE_FWK_MODULE(type)
bool exists(std::string const ¶meterName) const
checks if a parameter exists
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
std::vector< SFilter >::iterator iterator
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
const std::string & name()
bool filter(edm::Event &, const edm::EventSetup &) override
ProducesCollector producesCollector()
std::unique_ptr< NTupler > ntupler_
T getParameter(std::string const &) const
ConfigurableAnalysis(const edm::ParameterSet &)
static std::string const separator(":")
std::unique_ptr< Plotter > plotter_
std::unique_ptr< FilterSelections > selections_
std::vector< std::string > flows_