53 virtual void endJob()
override ;
75 selections_(0), plotter_(0), ntupler_(0)
81 if (iConfig.
exists(
"InputTags"))
92 if (!plotPset.
empty()){
101 if (!ntPset.
empty()){
111 produces<std::vector<bool> >();
131 bool majorGlobalAccept=
false;
133 std::auto_ptr<std::vector<bool> > passedProduct(
new std::vector<bool>(
flows_.size(),
false));
134 bool filledOnce=
false;
140 unsigned int iFlow=0;
150 bool globalAccept=
true;
166 cumulative+=separator+filter.
name(); separator=
"_";
168 if (accept[filter.
name()]){
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())
continue;
179 if (!decision->second) {
180 goodForAllButThisOne=
false;
191 (*passedProduct)[iFlow]=
true;
192 majorGlobalAccept=
true;
205 iEvent.
put(passedProduct);
207 return majorGlobalAccept;
T getParameter(std::string const &) const
#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)
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
virtual void endJob() override
virtual unsigned int registerleaves(edm::ProducerBase *producer)=0
const std::string & name()
virtual bool filter(edm::Event &, const edm::EventSetup &) override
std::vector< Filter * >::iterator iterator
virtual void beginJob() override
ConfigurableAnalysis(const edm::ParameterSet &)
std::vector< Selection >::iterator iterator
virtual void fill(edm::Event &iEvent)=0
virtual void fill(std::string subDir, const edm::Event &iEvent)=0
virtual void complete()=0
virtual void setDir(std::string dir)=0
T get(const Candidate &c)
std::vector< std::string > flows_