CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Protected Attributes
ecaldqm::MESetMulti Class Reference

#include <MESetMulti.h>

Inheritance diagram for ecaldqm::MESetMulti:
ecaldqm::MESet

Public Types

typedef std::map< std::string, std::vector< std::string > > ReplCandidates
 
- Public Types inherited from ecaldqm::MESet
typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 
typedef std::map< std::string, std::string > PathReplacements
 

Public Member Functions

const_iterator begin (EcalElectronicsMapping const *electronicsMap) const override
 
iterator begin (EcalElectronicsMapping const *electronicsMap) override
 
const_iterator beginChannel (EcalElectronicsMapping const *electronicsMap) const override
 
iterator beginChannel (EcalElectronicsMapping const *electronicsMap) override
 
void book (DQMStore::IBooker &, EcalElectronicsMapping const *) override
 
void clear () const override
 
MESetclone (std::string const &="") const override
 
const_iterator end (EcalElectronicsMapping const *electronicsMap) const override
 
iterator end (EcalElectronicsMapping const *electronicsMap) override
 
void fill (EcalDQMSetupObjects const edso, DetId const &_id, double _xyw=1., double _yw=1., double _w=1.) override
 
void fill (EcalDQMSetupObjects const edso, EcalElectronicsId const &_id, double _xyw=1., double _yw=1., double _w=1.) override
 
void fill (EcalDQMSetupObjects const edso, int _dcctccid, double _xyw=1., double _yw=1., double _w=1.) override
 
void fill (EcalDQMSetupObjects const edso, double _x, double _yw=1., double _w=1.) override
 
double getBinContent (EcalDQMSetupObjects const edso, DetId const &_id, int _bin=0) const override
 
double getBinContent (EcalDQMSetupObjects const edso, EcalElectronicsId const &_id, int _bin=0) const override
 
double getBinContent (EcalDQMSetupObjects const edso, int _dcctccid, int _bin=0) const override
 
double getBinEntries (EcalDQMSetupObjects const edso, DetId const &_id, int _bin=0) const override
 
double getBinEntries (EcalDQMSetupObjects const edso, EcalElectronicsId const &_id, int _bin=0) const override
 
double getBinEntries (EcalDQMSetupObjects const edso, int _dcctccid, int _bin=0) const override
 
double getBinError (EcalDQMSetupObjects const edso, DetId const &_id, int _bin=0) const override
 
double getBinError (EcalDQMSetupObjects const edso, EcalElectronicsId const &_id, int _bin=0) const override
 
double getBinError (EcalDQMSetupObjects const edso, int _dcctccid, int _bin=0) const override
 
MESetgetCurrent () const
 
unsigned getIndex (PathReplacements const &) const
 
MonitorElement const * getME (unsigned _iME) const override
 
MonitorElementgetME (unsigned _iME) override
 
unsigned getMultiplicity () const
 
std::string const & getPath () const override
 
bool isVariableBinning () const override
 
bool maskMatches (DetId const &_id, uint32_t _mask, StatusManager const *_statusManager, EcalTrigTowerConstituentsMap const *trigTowerMap) const override
 
 MESetMulti (MESet const &, ReplCandidates const &)
 
 MESetMulti (MESetMulti const &)
 
MESetoperator= (MESet const &) override
 
void reset (EcalElectronicsMapping const *, double=0., double=0., double=0.) override
 
void resetAll (double=0., double=0., double=0.) override
 
bool retrieve (EcalElectronicsMapping const *, DQMStore::IGetter &, std::string *=nullptr) const override
 
void setBinContent (EcalDQMSetupObjects const edso, DetId const &_id, double _content) override
 
void setBinContent (EcalDQMSetupObjects const edso, EcalElectronicsId const &_id, double _content) override
 
void setBinContent (EcalDQMSetupObjects const edso, int _dcctccid, double _content) override
 
void setBinContent (EcalDQMSetupObjects const edso, DetId const &_id, int _bin, double _content) override
 
void setBinContent (EcalDQMSetupObjects const edso, EcalElectronicsId const &_id, int _bin, double _content) override
 
void setBinContent (EcalDQMSetupObjects const edso, int _dcctccid, int _bin, double _content) override
 
void setBinEntries (EcalDQMSetupObjects const edso, DetId const &_id, double _entries) override
 
void setBinEntries (EcalDQMSetupObjects const edso, EcalElectronicsId const &_id, double _entries) override
 
void setBinEntries (EcalDQMSetupObjects const edso, int _dcctccid, double _entries) override
 
void setBinEntries (EcalDQMSetupObjects const edso, DetId const &_id, int _bin, double _entries) override
 
void setBinEntries (EcalDQMSetupObjects const edso, EcalElectronicsId const &_id, int _bin, double _entries) override
 
void setBinEntries (EcalDQMSetupObjects const edso, int _dcctccid, int _bin, double _entries) override
 
void setBinError (EcalDQMSetupObjects const edso, DetId const &_id, double _error) override
 
void setBinError (EcalDQMSetupObjects const edso, EcalElectronicsId const &_id, double _error) override
 
void setBinError (EcalDQMSetupObjects const edso, int _dcctccid, double _error) override
 
void setBinError (EcalDQMSetupObjects const edso, DetId const &_id, int _bin, double _error) override
 
void setBinError (EcalDQMSetupObjects const edso, EcalElectronicsId const &_id, int _bin, double _error) override
 
void setBinError (EcalDQMSetupObjects const edso, int _dcctccid, int _bin, double _error) override
 
void use (unsigned) const
 
 ~MESetMulti () override
 
- Public Member Functions inherited from ecaldqm::MESet
std::string formPath (PathReplacements const &) const
 
bool getBatchMode () const
 
binning::BinningType getBinType () const
 
MonitorElement::Kind getKind () const
 
bool getLumiFlag () const
 
binning::ObjectType getObjType () const
 
bool isActive () const
 
 MESet ()
 
 MESet (std::string const &, binning::ObjectType, binning::BinningType, MonitorElement::Kind)
 
 MESet (MESet const &)
 
virtual void setAxisTitle (std::string const &, int=1)
 
void setBatchMode ()
 
void setLumiFlag ()
 
virtual ~MESet ()
 

Protected Attributes

MESetcurrent_
 
ReplCandidates replCandidates_
 
std::vector< MESet * > sets_
 
- Protected Attributes inherited from ecaldqm::MESet
bool active_
 
bool batchMode_
 
binning::BinningType btype_
 
MonitorElement::Kind kind_
 
bool lumiFlag_
 
std::vector< MonitorElement * > mes_
 
binning::ObjectType otype_
 
std::string path_
 

Additional Inherited Members

- Protected Member Functions inherited from ecaldqm::MESet
virtual void checkME_ (unsigned _iME) const
 
virtual void fill_ (unsigned, int, double)
 
virtual void fill_ (unsigned, int, double, double)
 
virtual void fill_ (unsigned, double, double, double)
 
void throw_ (std::string const &_message) const
 

Detailed Description

Definition at line 13 of file MESetMulti.h.

Member Typedef Documentation

◆ ReplCandidates

typedef std::map<std::string, std::vector<std::string> > ecaldqm::MESetMulti::ReplCandidates

Definition at line 15 of file MESetMulti.h.

Constructor & Destructor Documentation

◆ MESetMulti() [1/2]

ecaldqm::MESetMulti::MESetMulti ( MESet const &  _seed,
ReplCandidates const &  _replCandidates 
)

Definition at line 4 of file MESetMulti.cc.

References ecaldqm::MESet::clone(), current_, ecaldqm::MESet::formPath(), dqmdumpme::indices, dqmdumpme::last, replCandidates_, and sets_.

Referenced by clone().

5  : MESet(_seed), current_(nullptr), sets_(), replCandidates_(_replCandidates) {
6  PathReplacements replacements;
7  std::map<std::string, unsigned> indices;
8  // recursive function to set replacements
9  // indices gives the multi index in each dimension
10  // dimensions are alphanumerically ordered from the use of std::map
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];
15  // one dimension set, go to next
16  ++_rItr;
17  if (_rItr == this->replCandidates_.end()) {
18  // this is the last dimension. Increment the index and retutn to the
19  // first
20  _rItr = this->replCandidates_.begin();
21  ++index;
22  } else if (setReplacements(_rItr))
23  ++index;
24 
25  if (index != _rItr->second.size())
26  return false;
27  // index has counted to the maximum of this dimension, carry over
28  index = 0;
29  return true;
30  });
31 
32  // [dim0 = 0, dim1 = 0] -> 0, [dim0 = 0, dim1 = 1] -> 1, ...
33  while (true) {
34  replacements.clear();
35  typename ReplCandidates::const_iterator rItr(replCandidates_.begin());
36  bool last(setReplacements(rItr));
37  sets_.push_back(_seed.clone(formPath(replacements)));
38  if (last)
39  break;
40  }
41 
42  current_ = sets_[0];
43  }
std::vector< MESet * > sets_
Definition: MESetMulti.h:183
ReplCandidates replCandidates_
Definition: MESetMulti.h:184
std::map< std::string, std::string > PathReplacements
Definition: MESet.h:46
std::string formPath(PathReplacements const &) const
Definition: MESet.cc:153

◆ MESetMulti() [2/2]

ecaldqm::MESetMulti::MESetMulti ( MESetMulti const &  _orig)

Definition at line 45 of file MESetMulti.cc.

References current_, and sets_.

46  : MESet(_orig), current_(nullptr), sets_(_orig.sets_.size(), nullptr), replCandidates_(_orig.replCandidates_) {
47  if (sets_.empty())
48  return;
49 
50  for (unsigned iS(0); iS < sets_.size(); ++iS) {
51  if (!_orig.sets_[iS])
52  continue;
53  sets_[iS] = _orig.sets_[iS]->clone();
54  if (_orig.sets_[iS] == _orig.current_)
55  current_ = sets_[iS];
56  }
57  }
std::vector< MESet * > sets_
Definition: MESetMulti.h:183
ReplCandidates replCandidates_
Definition: MESetMulti.h:184

◆ ~MESetMulti()

ecaldqm::MESetMulti::~MESetMulti ( )
override

Definition at line 59 of file MESetMulti.cc.

References sets_.

59  {
60  for (unsigned iS(0); iS < sets_.size(); ++iS)
61  delete sets_[iS];
62  }
std::vector< MESet * > sets_
Definition: MESetMulti.h:183

Member Function Documentation

◆ begin() [1/2]

const_iterator ecaldqm::MESetMulti::begin ( EcalElectronicsMapping const *  electronicsMap) const
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 162 of file MESetMulti.h.

References current_.

162  {
163  return const_iterator(electronicsMap, *current_);
164  }

◆ begin() [2/2]

iterator ecaldqm::MESetMulti::begin ( EcalElectronicsMapping const *  electronicsMap)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 171 of file MESetMulti.h.

References current_.

171  {
172  return iterator(electronicsMap, *current_);
173  }

◆ beginChannel() [1/2]

const_iterator ecaldqm::MESetMulti::beginChannel ( EcalElectronicsMapping const *  electronicsMap) const
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 168 of file MESetMulti.h.

References ecaldqm::MESet::beginChannel(), and current_.

Referenced by ecaldqm::LaserClient::producePlots(), ecaldqm::TestPulseClient::producePlots(), ecaldqm::PedestalClient::producePlots(), and ecaldqm::LedClient::producePlots().

168  {
169  return current_->beginChannel(electronicsMap);
170  }
virtual const_iterator beginChannel(EcalElectronicsMapping const *electronicsMap) const
Definition: MESet.h:358

◆ beginChannel() [2/2]

iterator ecaldqm::MESetMulti::beginChannel ( EcalElectronicsMapping const *  electronicsMap)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 177 of file MESetMulti.h.

References ecaldqm::MESet::beginChannel(), and current_.

177  {
178  return current_->beginChannel(electronicsMap);
179  }
virtual const_iterator beginChannel(EcalElectronicsMapping const *electronicsMap) const
Definition: MESet.h:358

◆ book()

void ecaldqm::MESetMulti::book ( DQMStore::IBooker _ibooker,
EcalElectronicsMapping const *  electronicsMap 
)
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 95 of file MESetMulti.cc.

References ecaldqm::MESet::active_, and sets_.

95  {
96  for (unsigned iS(0); iS < sets_.size(); ++iS)
97  sets_[iS]->book(_ibooker, electronicsMap);
98 
99  active_ = true;
100  }
std::vector< MESet * > sets_
Definition: MESetMulti.h:183
bool active_
Definition: MESet.h:161
void book(DQMStore::IBooker &, EcalElectronicsMapping const *) override
Definition: MESetMulti.cc:95

◆ clear()

void ecaldqm::MESetMulti::clear ( void  ) const
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 113 of file MESetMulti.cc.

References ecaldqm::MESet::active_, and sets_.

113  {
114  for (unsigned iS(0); iS < sets_.size(); ++iS)
115  sets_[iS]->clear();
116 
117  active_ = false;
118  }
std::vector< MESet * > sets_
Definition: MESetMulti.h:183
bool active_
Definition: MESet.h:161
void clear() const override
Definition: MESetMulti.cc:113

◆ clone()

MESet * ecaldqm::MESetMulti::clone ( std::string const &  _path = "") const
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 86 of file MESetMulti.cc.

References filterCSVwithJSON::copy, MESetMulti(), castor_dqm_sourceclient_file_cfg::path, ecaldqm::MESet::path_, and AlCaHLTBitMon_QueryRunRegistry::string.

86  {
88  if (!_path.empty())
89  path_ = _path;
90  MESet *copy(new MESetMulti(*this));
91  path_ = path;
92  return copy;
93  }
MESetMulti(MESet const &, ReplCandidates const &)
Definition: MESetMulti.cc:4
std::string path_
Definition: MESet.h:153

◆ end() [1/2]

const_iterator ecaldqm::MESetMulti::end ( EcalElectronicsMapping const *  electronicsMap) const
inlineoverridevirtual

◆ end() [2/2]

iterator ecaldqm::MESetMulti::end ( EcalElectronicsMapping const *  electronicsMap)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 174 of file MESetMulti.h.

References current_.

Referenced by Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().

174  {
175  return iterator(electronicsMap, *current_, -1, -1);
176  }

◆ fill() [1/4]

void ecaldqm::MESetMulti::fill ( EcalDQMSetupObjects const  edso,
DetId const &  _id,
double  _xyw = 1.,
double  _yw = 1.,
double  _w = 1. 
)
inlineoverridevirtual

◆ fill() [2/4]

void ecaldqm::MESetMulti::fill ( EcalDQMSetupObjects const  edso,
EcalElectronicsId const &  _id,
double  _xyw = 1.,
double  _yw = 1.,
double  _w = 1. 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 33 of file MESetMulti.h.

References current_, and ecaldqm::MESet::fill().

37  {
38  current_->fill(edso, _id, _xyw, _yw, _w);
39  }
virtual void fill(EcalDQMSetupObjects const, DetId const &, double=1., double=1., double=1.)
Definition: MESet.h:74

◆ fill() [3/4]

void ecaldqm::MESetMulti::fill ( EcalDQMSetupObjects const  edso,
int  _dcctccid,
double  _xyw = 1.,
double  _yw = 1.,
double  _w = 1. 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 40 of file MESetMulti.h.

References current_, and ecaldqm::MESet::fill().

41  {
42  current_->fill(edso, _dcctccid, _xyw, _yw, _w);
43  }
virtual void fill(EcalDQMSetupObjects const, DetId const &, double=1., double=1., double=1.)
Definition: MESet.h:74

◆ fill() [4/4]

void ecaldqm::MESetMulti::fill ( EcalDQMSetupObjects const  edso,
double  _x,
double  _yw = 1.,
double  _w = 1. 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 44 of file MESetMulti.h.

References current_, and ecaldqm::MESet::fill().

44  {
45  current_->fill(edso, _x, _yw, _w);
46  }
virtual void fill(EcalDQMSetupObjects const, DetId const &, double=1., double=1., double=1.)
Definition: MESet.h:74

◆ getBinContent() [1/3]

double ecaldqm::MESetMulti::getBinContent ( EcalDQMSetupObjects const  edso,
DetId const &  _id,
int  _bin = 0 
) const
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 111 of file MESetMulti.h.

References current_, and ecaldqm::MESet::getBinContent().

Referenced by ecaldqm::LaserClient::producePlots(), ecaldqm::TestPulseClient::producePlots(), ecaldqm::PedestalClient::producePlots(), ecaldqm::LedClient::producePlots(), and ecaldqm::CalibrationSummaryClient::producePlots().

111  {
112  return current_->getBinContent(edso, _id, _bin);
113  }
virtual double getBinContent(EcalDQMSetupObjects const, DetId const &, int=0) const
Definition: MESet.h:100

◆ getBinContent() [2/3]

double ecaldqm::MESetMulti::getBinContent ( EcalDQMSetupObjects const  edso,
EcalElectronicsId const &  _id,
int  _bin = 0 
) const
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 114 of file MESetMulti.h.

References current_, and ecaldqm::MESet::getBinContent().

114  {
115  return current_->getBinContent(edso, _id, _bin);
116  }
virtual double getBinContent(EcalDQMSetupObjects const, DetId const &, int=0) const
Definition: MESet.h:100

◆ getBinContent() [3/3]

double ecaldqm::MESetMulti::getBinContent ( EcalDQMSetupObjects const  edso,
int  _dcctccid,
int  _bin = 0 
) const
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 117 of file MESetMulti.h.

References current_, and ecaldqm::MESet::getBinContent().

117  {
118  return current_->getBinContent(edso, _dcctccid, _bin);
119  }
virtual double getBinContent(EcalDQMSetupObjects const, DetId const &, int=0) const
Definition: MESet.h:100

◆ getBinEntries() [1/3]

double ecaldqm::MESetMulti::getBinEntries ( EcalDQMSetupObjects const  edso,
DetId const &  _id,
int  _bin = 0 
) const
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 131 of file MESetMulti.h.

References current_, and ecaldqm::MESet::getBinEntries().

Referenced by ecaldqm::LaserClient::producePlots(), ecaldqm::TestPulseClient::producePlots(), ecaldqm::PedestalClient::producePlots(), and ecaldqm::LedClient::producePlots().

131  {
132  return current_->getBinEntries(edso, _id, _bin);
133  }
virtual double getBinEntries(EcalDQMSetupObjects const, DetId const &, int=0) const
Definition: MESet.h:108

◆ getBinEntries() [2/3]

double ecaldqm::MESetMulti::getBinEntries ( EcalDQMSetupObjects const  edso,
EcalElectronicsId const &  _id,
int  _bin = 0 
) const
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 134 of file MESetMulti.h.

References current_, and ecaldqm::MESet::getBinEntries().

134  {
135  return current_->getBinEntries(edso, _id, _bin);
136  }
virtual double getBinEntries(EcalDQMSetupObjects const, DetId const &, int=0) const
Definition: MESet.h:108

◆ getBinEntries() [3/3]

double ecaldqm::MESetMulti::getBinEntries ( EcalDQMSetupObjects const  edso,
int  _dcctccid,
int  _bin = 0 
) const
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 137 of file MESetMulti.h.

References current_, and ecaldqm::MESet::getBinEntries().

137  {
138  return current_->getBinEntries(edso, _dcctccid, _bin);
139  }
virtual double getBinEntries(EcalDQMSetupObjects const, DetId const &, int=0) const
Definition: MESet.h:108

◆ getBinError() [1/3]

double ecaldqm::MESetMulti::getBinError ( EcalDQMSetupObjects const  edso,
DetId const &  _id,
int  _bin = 0 
) const
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 121 of file MESetMulti.h.

References current_, and ecaldqm::MESet::getBinError().

Referenced by ecaldqm::LaserClient::producePlots(), ecaldqm::TestPulseClient::producePlots(), ecaldqm::PedestalClient::producePlots(), and ecaldqm::LedClient::producePlots().

121  {
122  return current_->getBinError(edso, _id, _bin);
123  }
virtual double getBinError(EcalDQMSetupObjects const, DetId const &, int=0) const
Definition: MESet.h:104

◆ getBinError() [2/3]

double ecaldqm::MESetMulti::getBinError ( EcalDQMSetupObjects const  edso,
EcalElectronicsId const &  _id,
int  _bin = 0 
) const
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 124 of file MESetMulti.h.

References current_, and ecaldqm::MESet::getBinError().

124  {
125  return current_->getBinError(edso, _id, _bin);
126  }
virtual double getBinError(EcalDQMSetupObjects const, DetId const &, int=0) const
Definition: MESet.h:104

◆ getBinError() [3/3]

double ecaldqm::MESetMulti::getBinError ( EcalDQMSetupObjects const  edso,
int  _dcctccid,
int  _bin = 0 
) const
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 127 of file MESetMulti.h.

References current_, and ecaldqm::MESet::getBinError().

127  {
128  return current_->getBinError(edso, _dcctccid, _bin);
129  }
virtual double getBinError(EcalDQMSetupObjects const, DetId const &, int=0) const
Definition: MESet.h:104

◆ getCurrent()

MESet* ecaldqm::MESetMulti::getCurrent ( ) const
inline

Definition at line 158 of file MESetMulti.h.

References current_.

158 { return current_; }

◆ getIndex()

unsigned ecaldqm::MESetMulti::getIndex ( PathReplacements const &  _replacements) const

Definition at line 140 of file MESetMulti.cc.

References edmMakeDummyCfis::base, replCandidates_, and ecaldqm::MESet::throw_().

Referenced by ecaldqm::PedestalWriter::PedestalWriter(), ecaldqm::PedestalClient::setParams(), ecaldqm::TestPulseClient::setParams(), ecaldqm::CalibrationSummaryClient::setParams(), ecaldqm::PedestalTask::setParams(), ecaldqm::TestPulseTask::setParams(), ecaldqm::ClusterTask::setParams(), and ecaldqm::TestPulseWriter::TestPulseWriter().

140  {
141  unsigned index(0);
142  unsigned base(1);
143  for (typename ReplCandidates::const_reverse_iterator cItr(replCandidates_.rbegin()); cItr != replCandidates_.rend();
144  ++cItr) {
145  typename PathReplacements::const_iterator rItr(_replacements.find(cItr->first));
146  if (rItr == _replacements.end())
147  throw_(cItr->first + " not given in the key for getIndex");
148  unsigned nC(cItr->second.size());
149  unsigned iR(0);
150  for (; iR != nC; ++iR)
151  if (rItr->second == cItr->second[iR])
152  break;
153  if (iR == nC)
154  throw_(rItr->second + " not found in replacement candidates");
155  index += iR * base;
156  base *= nC;
157  }
158 
159  return index;
160  }
void throw_(std::string const &_message) const
Definition: MESet.h:149
ReplCandidates replCandidates_
Definition: MESetMulti.h:184

◆ getME() [1/2]

MonitorElement const* ecaldqm::MESetMulti::getME ( unsigned  _iME) const
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 154 of file MESetMulti.h.

References current_, and ecaldqm::MESet::getME().

154 { return current_->getME(_iME); }
virtual MonitorElement const * getME(unsigned _iME) const
Definition: MESet.h:126

◆ getME() [2/2]

MonitorElement* ecaldqm::MESetMulti::getME ( unsigned  _iME)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 155 of file MESetMulti.h.

References current_, and ecaldqm::MESet::getME().

155 { return current_->getME(_iME); }
virtual MonitorElement const * getME(unsigned _iME) const
Definition: MESet.h:126

◆ getMultiplicity()

unsigned ecaldqm::MESetMulti::getMultiplicity ( ) const
inline

Definition at line 159 of file MESetMulti.h.

References sets_.

159 { return sets_.size(); }
std::vector< MESet * > sets_
Definition: MESetMulti.h:183

◆ getPath()

std::string const& ecaldqm::MESetMulti::getPath ( ) const
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 153 of file MESetMulti.h.

References current_, and ecaldqm::MESet::getPath().

153 { return current_->getPath(); }
virtual std::string const & getPath() const
Definition: MESet.h:120

◆ isVariableBinning()

bool ecaldqm::MESetMulti::isVariableBinning ( ) const
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 151 of file MESetMulti.h.

References current_, and ecaldqm::MESet::isVariableBinning().

151 { return current_->isVariableBinning(); }
virtual bool isVariableBinning() const
Definition: MESet.h:125

◆ maskMatches()

bool ecaldqm::MESetMulti::maskMatches ( DetId const &  _id,
uint32_t  _mask,
StatusManager const *  _statusManager,
EcalTrigTowerConstituentsMap const *  trigTowerMap 
) const
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 144 of file MESetMulti.h.

References current_, and ecaldqm::MESet::maskMatches().

Referenced by ecaldqm::LaserClient::producePlots(), ecaldqm::TestPulseClient::producePlots(), ecaldqm::PedestalClient::producePlots(), and ecaldqm::LedClient::producePlots().

147  {
148  return current_ && current_->maskMatches(_id, _mask, _statusManager, trigTowerMap);
149  }
virtual bool maskMatches(DetId const &, uint32_t, StatusManager const *, EcalTrigTowerConstituentsMap const *) const
Definition: MESet.cc:170

◆ operator=()

MESet & ecaldqm::MESetMulti::operator= ( MESet const &  _rhs)
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 64 of file MESetMulti.cc.

References current_, ecaldqm::MESet::operator=(), replCandidates_, and sets_.

64  {
65  for (unsigned iS(0); iS < sets_.size(); ++iS)
66  delete sets_[iS];
67  sets_.clear();
68  current_ = nullptr;
69 
70  MESetMulti const *pRhs(dynamic_cast<MESetMulti const *>(&_rhs));
71  if (pRhs) {
72  sets_.assign(pRhs->sets_.size(), nullptr);
73 
74  for (unsigned iS(0); iS < pRhs->sets_.size(); ++iS) {
75  sets_[iS] = pRhs->sets_[iS]->clone();
76  if (pRhs->sets_[iS] == pRhs->current_)
77  current_ = sets_[iS];
78  }
79 
80  replCandidates_ = pRhs->replCandidates_;
81  }
82 
83  return MESet::operator=(_rhs);
84  }
std::vector< MESet * > sets_
Definition: MESetMulti.h:183
MESetMulti(MESet const &, ReplCandidates const &)
Definition: MESetMulti.cc:4
virtual MESet & operator=(MESet const &)
Definition: MESet.cc:64
ReplCandidates replCandidates_
Definition: MESetMulti.h:184

◆ reset()

void ecaldqm::MESetMulti::reset ( EcalElectronicsMapping const *  electronicsMap,
double  _content = 0.,
double  _error = 0.,
double  _entries = 0. 
)
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 120 of file MESetMulti.cc.

References btvTracks_cfi::_content, and sets_.

123  {
124  for (unsigned iS(0); iS < sets_.size(); ++iS)
125  sets_[iS]->reset(electronicsMap, _content, _error, _entries);
126  }
std::vector< MESet * > sets_
Definition: MESetMulti.h:183
void reset(EcalElectronicsMapping const *, double=0., double=0., double=0.) override
Definition: MESetMulti.cc:120

◆ resetAll()

void ecaldqm::MESetMulti::resetAll ( double  _content = 0.,
double  _error = 0.,
double  _entries = 0. 
)
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 128 of file MESetMulti.cc.

References btvTracks_cfi::_content, and sets_.

128  {
129  for (unsigned iS(0); iS < sets_.size(); ++iS)
130  sets_[iS]->resetAll(_content, _error, _entries);
131  }
void resetAll(double=0., double=0., double=0.) override
Definition: MESetMulti.cc:128
std::vector< MESet * > sets_
Definition: MESetMulti.h:183

◆ retrieve()

bool ecaldqm::MESetMulti::retrieve ( EcalElectronicsMapping const *  electronicsMap,
DQMStore::IGetter _igetter,
std::string *  _failedPath = nullptr 
) const
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 102 of file MESetMulti.cc.

References ecaldqm::MESet::active_, and sets_.

104  {
105  for (unsigned iS(0); iS < sets_.size(); ++iS)
106  if (!sets_[iS]->retrieve(electronicsMap, _igetter, _failedPath))
107  return false;
108 
109  active_ = true;
110  return true;
111  }
bool retrieve(EcalElectronicsMapping const *, DQMStore::IGetter &, std::string *=nullptr) const override
Definition: MESetMulti.cc:102
std::vector< MESet * > sets_
Definition: MESetMulti.h:183
bool active_
Definition: MESet.h:161

◆ setBinContent() [1/6]

void ecaldqm::MESetMulti::setBinContent ( EcalDQMSetupObjects const  edso,
DetId const &  _id,
double  _content 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 48 of file MESetMulti.h.

References btvTracks_cfi::_content, current_, and ecaldqm::MESet::setBinContent().

Referenced by ecaldqm::LaserClient::producePlots(), ecaldqm::TestPulseClient::producePlots(), ecaldqm::PedestalClient::producePlots(), and ecaldqm::LedClient::producePlots().

48  {
49  current_->setBinContent(edso, _id, _content);
50  }
virtual void setBinContent(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:79

◆ setBinContent() [2/6]

void ecaldqm::MESetMulti::setBinContent ( EcalDQMSetupObjects const  edso,
EcalElectronicsId const &  _id,
double  _content 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 51 of file MESetMulti.h.

References btvTracks_cfi::_content, current_, and ecaldqm::MESet::setBinContent().

51  {
52  current_->setBinContent(edso, _id, _content);
53  }
virtual void setBinContent(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:79

◆ setBinContent() [3/6]

void ecaldqm::MESetMulti::setBinContent ( EcalDQMSetupObjects const  edso,
int  _dcctccid,
double  _content 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 54 of file MESetMulti.h.

References btvTracks_cfi::_content, current_, and ecaldqm::MESet::setBinContent().

54  {
55  current_->setBinContent(edso, _dcctccid, _content);
56  }
virtual void setBinContent(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:79

◆ setBinContent() [4/6]

void ecaldqm::MESetMulti::setBinContent ( EcalDQMSetupObjects const  edso,
DetId const &  _id,
int  _bin,
double  _content 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 57 of file MESetMulti.h.

References btvTracks_cfi::_content, current_, and ecaldqm::MESet::setBinContent().

57  {
58  current_->setBinContent(edso, _id, _bin, _content);
59  }
virtual void setBinContent(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:79

◆ setBinContent() [5/6]

void ecaldqm::MESetMulti::setBinContent ( EcalDQMSetupObjects const  edso,
EcalElectronicsId const &  _id,
int  _bin,
double  _content 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 60 of file MESetMulti.h.

References btvTracks_cfi::_content, current_, and ecaldqm::MESet::setBinContent().

63  {
64  current_->setBinContent(edso, _id, _bin, _content);
65  }
virtual void setBinContent(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:79

◆ setBinContent() [6/6]

void ecaldqm::MESetMulti::setBinContent ( EcalDQMSetupObjects const  edso,
int  _dcctccid,
int  _bin,
double  _content 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 66 of file MESetMulti.h.

References btvTracks_cfi::_content, current_, and ecaldqm::MESet::setBinContent().

66  {
67  current_->setBinContent(edso, _dcctccid, _bin, _content);
68  }
virtual void setBinContent(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:79

◆ setBinEntries() [1/6]

void ecaldqm::MESetMulti::setBinEntries ( EcalDQMSetupObjects const  edso,
DetId const &  _id,
double  _entries 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 89 of file MESetMulti.h.

References current_, and ecaldqm::MESet::setBinEntries().

89  {
90  current_->setBinEntries(edso, _id, _entries);
91  }
virtual void setBinEntries(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:93

◆ setBinEntries() [2/6]

void ecaldqm::MESetMulti::setBinEntries ( EcalDQMSetupObjects const  edso,
EcalElectronicsId const &  _id,
double  _entries 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 92 of file MESetMulti.h.

References current_, and ecaldqm::MESet::setBinEntries().

92  {
93  current_->setBinEntries(edso, _id, _entries);
94  }
virtual void setBinEntries(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:93

◆ setBinEntries() [3/6]

void ecaldqm::MESetMulti::setBinEntries ( EcalDQMSetupObjects const  edso,
int  _dcctccid,
double  _entries 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 95 of file MESetMulti.h.

References current_, and ecaldqm::MESet::setBinEntries().

95  {
96  current_->setBinEntries(edso, _dcctccid, _entries);
97  }
virtual void setBinEntries(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:93

◆ setBinEntries() [4/6]

void ecaldqm::MESetMulti::setBinEntries ( EcalDQMSetupObjects const  edso,
DetId const &  _id,
int  _bin,
double  _entries 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 98 of file MESetMulti.h.

References current_, and ecaldqm::MESet::setBinEntries().

98  {
99  current_->setBinEntries(edso, _id, _bin, _entries);
100  }
virtual void setBinEntries(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:93

◆ setBinEntries() [5/6]

void ecaldqm::MESetMulti::setBinEntries ( EcalDQMSetupObjects const  edso,
EcalElectronicsId const &  _id,
int  _bin,
double  _entries 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 101 of file MESetMulti.h.

References current_, and ecaldqm::MESet::setBinEntries().

104  {
105  current_->setBinEntries(edso, _id, _bin, _entries);
106  }
virtual void setBinEntries(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:93

◆ setBinEntries() [6/6]

void ecaldqm::MESetMulti::setBinEntries ( EcalDQMSetupObjects const  edso,
int  _dcctccid,
int  _bin,
double  _entries 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 107 of file MESetMulti.h.

References current_, and ecaldqm::MESet::setBinEntries().

107  {
108  current_->setBinEntries(edso, _dcctccid, _bin, _entries);
109  }
virtual void setBinEntries(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:93

◆ setBinError() [1/6]

void ecaldqm::MESetMulti::setBinError ( EcalDQMSetupObjects const  edso,
DetId const &  _id,
double  _error 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 70 of file MESetMulti.h.

References current_, and ecaldqm::MESet::setBinError().

70  {
71  current_->setBinError(edso, _id, _error);
72  }
virtual void setBinError(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:86

◆ setBinError() [2/6]

void ecaldqm::MESetMulti::setBinError ( EcalDQMSetupObjects const  edso,
EcalElectronicsId const &  _id,
double  _error 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 73 of file MESetMulti.h.

References current_, and ecaldqm::MESet::setBinError().

73  {
74  current_->setBinError(edso, _id, _error);
75  }
virtual void setBinError(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:86

◆ setBinError() [3/6]

void ecaldqm::MESetMulti::setBinError ( EcalDQMSetupObjects const  edso,
int  _dcctccid,
double  _error 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 76 of file MESetMulti.h.

References current_, and ecaldqm::MESet::setBinError().

76  {
77  current_->setBinError(edso, _dcctccid, _error);
78  }
virtual void setBinError(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:86

◆ setBinError() [4/6]

void ecaldqm::MESetMulti::setBinError ( EcalDQMSetupObjects const  edso,
DetId const &  _id,
int  _bin,
double  _error 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 79 of file MESetMulti.h.

References current_, and ecaldqm::MESet::setBinError().

79  {
80  current_->setBinError(edso, _id, _bin, _error);
81  }
virtual void setBinError(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:86

◆ setBinError() [5/6]

void ecaldqm::MESetMulti::setBinError ( EcalDQMSetupObjects const  edso,
EcalElectronicsId const &  _id,
int  _bin,
double  _error 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 82 of file MESetMulti.h.

References current_, and ecaldqm::MESet::setBinError().

82  {
83  current_->setBinError(edso, _id, _bin, _error);
84  }
virtual void setBinError(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:86

◆ setBinError() [6/6]

void ecaldqm::MESetMulti::setBinError ( EcalDQMSetupObjects const  edso,
int  _dcctccid,
int  _bin,
double  _error 
)
inlineoverridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 85 of file MESetMulti.h.

References current_, and ecaldqm::MESet::setBinError().

85  {
86  current_->setBinError(edso, _dcctccid, _bin, _error);
87  }
virtual void setBinError(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:86

◆ use()

void ecaldqm::MESetMulti::use ( unsigned  _iSet) const

Definition at line 133 of file MESetMulti.cc.

References current_, sets_, and ecaldqm::MESet::throw_().

Referenced by ecaldqm::LaserClient::producePlots(), ecaldqm::TestPulseClient::producePlots(), ecaldqm::PedestalClient::producePlots(), ecaldqm::LedClient::producePlots(), and ecaldqm::CalibrationSummaryClient::producePlots().

133  {
134  if (_iSet >= sets_.size())
135  throw_("MESetMulti index out of range");
136 
137  current_ = sets_[_iSet];
138  }
void throw_(std::string const &_message) const
Definition: MESet.h:149
std::vector< MESet * > sets_
Definition: MESetMulti.h:183

Member Data Documentation

◆ current_

MESet* ecaldqm::MESetMulti::current_
mutableprotected

◆ replCandidates_

ReplCandidates ecaldqm::MESetMulti::replCandidates_
protected

Definition at line 184 of file MESetMulti.h.

Referenced by getIndex(), MESetMulti(), and operator=().

◆ sets_

std::vector<MESet *> ecaldqm::MESetMulti::sets_
protected