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;
167 if (filter.
inverted()) cumulative+=
"not";
168 cumulative+=filter->
name();
171 if (accept[filter->
name()]){
179 bool goodForAllButThisOne=
true;
180 for (std::map<std::string,bool>::iterator decision=accept.begin(); decision!=accept.end();++decision){
181 if (decision->first==filter->
name())
continue;
182 if (!decision->second) {
183 goodForAllButThisOne=
false;
194 (*passedProduct)[iFlow]=
true;
195 majorGlobalAccept=
true;
208 iEvent.
put(passedProduct);
210 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
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
std::vector< SFilter >::iterator iterator
T get(const Candidate &c)
std::vector< std::string > flows_