322 std::vector<std::string> filterNames;
324 for (
unsigned int iF=0;iF!=nF;iF++){
326 filters_.insert(std::make_pair(filterNames[iF],
new Filter(filterNames[iF],pset, iC)));
330 std::vector<std::string> selectionNames;
331 std::map<std::string, std::vector<std::string> > selectionFilters;
333 for (
unsigned int iS=0;iS!=nS;iS++){
339 selectionFilters[selectionNames[iS]]=pset.
getParameter<std::vector<std::string> >(
"filterOrder");
350 for (std::vector<std::string>::iterator fOrS=sIt->second.begin();fOrS!=sIt->second.end();++fOrS)
355 if (fOrS->find(
"_OR_") != std::string::npos){
360 std::map<std::string, std::vector<std::string> >
::iterator s=selectionFilters.find(*fOrS);
361 if (s==selectionFilters.end()){
363 if ((*fOrS)[0] !=
'!'){
364 edm::LogError(
"SelectionHelper")<<
"unresolved filter/selection name: "<<*fOrS;
370 std::vector<std::string>::iterator newLoc=sIt->second.erase(fOrS);
372 sIt->second.insert(newLoc,s->second.begin(),s->second.end());
393 std::vector<std::string> & listOfFilters=selectionFilters[sName];
394 for (std::vector<std::string>::iterator fIt=listOfFilters.begin();fIt!=listOfFilters.end();++fIt)
398 if (fOsName[0]==
'!'){
400 fOsName = fOsName.substr(1);
402 std::map<std::string, Filter*>::iterator filterInstance=
filters_.find(fOsName);
403 if (filterInstance==
filters_.end()){
405 bool replaceBySelection=
false;
408 if (fOsName == sit->name_){
410 replaceBySelection=
true;
413 if (!replaceBySelection){
420 selection.
filters_.push_back(
SFilter(filterInstance->second,inverted));
426 sIt->printDetailledPrintoutHeader();
T getParameter(std::string const &) const
std::vector< Selection > selections_
std::map< std::string, Filter * > filters_
edm::ParameterSet filtersPSet_
std::vector< Selection >::iterator iterator
edm::ParameterSet selectionPSet_
size_t getParameterSetNames(std::vector< std::string > &output, bool trackiness=true) const
std::vector< SFilter > filters_