5 :
MESet(_seed), current_(
nullptr), sets_(), replCandidates_(_replCandidates) {
7 std::map<std::string, unsigned>
indices;
11 std::function<bool(typename ReplCandidates::const_iterator &)> setReplacements(
12 [&setReplacements, &replacements, &indices,
this](
typename ReplCandidates::const_iterator &_rItr) {
13 unsigned &
index(indices[_rItr->first]);
14 replacements[_rItr->first] = _rItr->second[
index];
22 }
else if (setReplacements(_rItr))
25 if (index != _rItr->second.size())
37 bool last(setReplacements(rItr));
52 for (
unsigned iS(0); iS <
sets_.size(); ++iS) {
62 for (
unsigned iS(0); iS <
sets_.size(); ++iS)
67 for (
unsigned iS(0); iS <
sets_.size(); ++iS)
72 MESetMulti const *pRhs(dynamic_cast<MESetMulti const *>(&_rhs));
76 for (
unsigned iS(0); iS < pRhs->
sets_.size(); ++iS) {
98 for (
unsigned iS(0); iS <
sets_.size(); ++iS)
105 for (
unsigned iS(0); iS <
sets_.size(); ++iS)
114 for (
unsigned iS(0); iS <
sets_.size(); ++iS)
121 for (
unsigned iS(0); iS <
sets_.size(); ++iS)
126 for (
unsigned iS(0); iS <
sets_.size(); ++iS)
131 if (_iSet >=
sets_.size())
132 throw_(
"MESetMulti index out of range");
142 typename PathReplacements::const_iterator rItr(_replacements.find(cItr->first));
143 if (rItr == _replacements.end())
144 throw_(cItr->first +
" not given in the key for getIndex");
145 unsigned nC(cItr->second.size());
147 for (; iR != nC; ++iR)
148 if (rItr->second == cItr->second[iR])
151 throw_(rItr->second +
" not found in replacement candidates");
void reset(double=0., double=0., double=0.) override
void clear() const override
virtual MESet * clone(std::string const &="") const
std::map< std::string, std::vector< std::string > > ReplCandidates
MESet * clone(std::string const &="") const override
void throw_(std::string const &_message) const
void resetAll(double=0., double=0., double=0.) override
std::string formPath(PathReplacements const &) const
void book(DQMStore::IBooker &) override
std::vector< MESet * > sets_
bool retrieve(DQMStore::IGetter &, std::string *=0) const override
MESetMulti(MESet const &, ReplCandidates const &)
virtual MESet & operator=(MESet const &)
ReplCandidates replCandidates_
MESet & operator=(MESet const &) override
std::map< std::string, std::string > PathReplacements
unsigned getIndex(PathReplacements const &) const