333 std::vector<std::string> filterNames;
335 for (
unsigned int iF=0;iF!=nF;iF++){
337 filters_.insert(std::make_pair(filterNames[iF],
new Filter(filterNames[iF],pset, iC)));
341 std::vector<std::string> selectionNames;
342 std::map<std::string, std::vector<std::string> > selectionFilters;
344 for (
unsigned int iS=0;iS!=nS;iS++){
350 selectionFilters[selectionNames[iS]]=pset.
getParameter<std::vector<std::string> >(
"filterOrder");
361 for (std::vector<std::string>::iterator fOrS=sIt->second.begin();fOrS!=sIt->second.end();++fOrS)
366 if (fOrS->find(
"_OR_") != std::string::npos){
371 std::map<std::string, std::vector<std::string> >
::iterator s=selectionFilters.find(*fOrS);
372 if (s==selectionFilters.end()){
374 if ((*fOrS)[0] !=
'!'){
375 edm::LogError(
"SelectionHelper")<<
"unresolved filter/selection name: "<<*fOrS;
381 std::vector<std::string>::iterator newLoc=sIt->second.erase(fOrS);
383 sIt->second.insert(newLoc,s->second.begin(),s->second.end());
404 std::vector<std::string> & listOfFilters=selectionFilters[sName];
405 for (std::vector<std::string>::iterator fIt=listOfFilters.begin();fIt!=listOfFilters.end();++fIt)
409 if (fOsName[0]==
'!'){
411 fOsName = fOsName.substr(1);
413 std::map<std::string, Filter*>::iterator filterInstance=
filters_.find(fOsName);
414 if (filterInstance==
filters_.end()){
416 bool replaceBySelection=
false;
419 if (fOsName == sit->name_){
421 replaceBySelection=
true;
424 if (!replaceBySelection){
431 selection.
filters_.push_back(
SFilter(filterInstance->second,inverted));
437 sIt->printDetailledPrintoutHeader();
edm::ParameterSet selectionPSet_
T getParameter(std::string const &) const
std::vector< FilterSelection >::iterator iterator
std::vector< FilterSelection > selections_
std::vector< SFilter > filters_
edm::ParameterSet filtersPSet_
size_t getParameterSetNames(std::vector< std::string > &output, bool trackiness=true) const
std::map< std::string, Filter * > filters_