CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Attributes | Private Member Functions
ecaldqm::MESetEcal Class Reference

#include <MESetEcal.h>

Inheritance diagram for ecaldqm::MESetEcal:
ecaldqm::MESet ecaldqm::MESetDet0D ecaldqm::MESetDet1D ecaldqm::MESetDet2D ecaldqm::MESetProjection ecaldqm::MESetTrend

Public Member Functions

void book (DQMStore::IBooker &) override
 
MESetclone (std::string const &="") const override
 
void fill (DetId const &, double=1., double=1., double=1.) override
 
void fill (EcalElectronicsId const &, double=1., double=1., double=1.) override
 
void fill (int, double=1., double=1., double=1.) override
 
void fill (double, double=1., double=1.) override
 
virtual int findBin (DetId const &, double, double=0.) const
 
virtual int findBin (EcalElectronicsId const &, double, double=0.) const
 
virtual int findBin (int, double, double=0.) const
 
std::vector< std::string > generatePaths () const
 
double getBinContent (DetId const &, int) const override
 
double getBinContent (EcalElectronicsId const &, int) const override
 
double getBinContent (int, int) const override
 
double getBinEntries (DetId const &, int) const override
 
double getBinEntries (EcalElectronicsId const &, int) const override
 
double getBinEntries (int, int) const override
 
double getBinError (DetId const &, int) const override
 
double getBinError (EcalElectronicsId const &, int) const override
 
double getBinError (int, int) const override
 
bool isVariableBinning () const override
 
 MESetEcal (std::string const &, binning::ObjectType, binning::BinningType, MonitorElement::Kind, unsigned, binning::AxisSpecs const *=0, binning::AxisSpecs const *=0, binning::AxisSpecs const *=0)
 
 MESetEcal (MESetEcal const &)
 
MESetoperator= (MESet const &) override
 
bool retrieve (DQMStore::IGetter &, std::string *=0) const override
 
void setBinContent (DetId const &, int, double) override
 
void setBinContent (EcalElectronicsId const &, int, double) override
 
void setBinContent (int, int, double) override
 
void setBinEntries (DetId const &, int, double) override
 
void setBinEntries (EcalElectronicsId const &, int, double) override
 
void setBinEntries (int, int, double) override
 
void setBinError (DetId const &, int, double) override
 
void setBinError (EcalElectronicsId const &, int, double) override
 
void setBinError (int, int, double) override
 
 ~MESetEcal () override
 
- Public Member Functions inherited from ecaldqm::MESet
virtual const_iterator begin () const
 
virtual iterator begin ()
 
virtual const_iterator beginChannel () const
 
virtual iterator beginChannel ()
 
virtual void clear () const
 
virtual const_iterator end () const
 
virtual iterator end ()
 
std::string formPath (PathReplacements const &) const
 
bool getBatchMode () const
 
binning::BinningType getBinType () const
 
MonitorElement::Kind getKind () const
 
bool getLumiFlag () const
 
virtual MonitorElement const * getME (unsigned _iME) const
 
virtual MonitorElementgetME (unsigned _iME)
 
binning::ObjectType getObjType () const
 
virtual std::string const & getPath () const
 
bool isActive () const
 
virtual bool maskMatches (DetId const &, uint32_t, StatusManager const *) const
 
 MESet ()
 
 MESet (std::string const &, binning::ObjectType, binning::BinningType, MonitorElement::Kind)
 
 MESet (MESet const &)
 
virtual void recoverStats ()
 
virtual void reset (double=0., double=0., double=0.)
 
virtual void resetAll (double=0., double=0., double=0.)
 
virtual void setAxisTitle (std::string const &, int=1)
 
void setBatchMode ()
 
virtual void setBinContent (DetId const &, double)
 
virtual void setBinContent (EcalElectronicsId const &, double)
 
virtual void setBinContent (int, double)
 
virtual void setBinEntries (DetId const &, double)
 
virtual void setBinEntries (EcalElectronicsId const &, double)
 
virtual void setBinEntries (int, double)
 
virtual void setBinError (DetId const &, double)
 
virtual void setBinError (EcalElectronicsId const &, double)
 
virtual void setBinError (int, double)
 
void setLumiFlag ()
 
virtual void softReset ()
 
virtual ~MESet ()
 

Protected Attributes

unsigned logicalDimensions_
 
binning::AxisSpecs const * xaxis_
 
binning::AxisSpecs const * yaxis_
 
binning::AxisSpecs const * zaxis_
 
- 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_
 

Private Member Functions

template<class Bookable >
void doBook_ (Bookable &)
 

Additional Inherited Members

- Public Types inherited from ecaldqm::MESet
typedef std::map< std::string, std::string > PathReplacements
 
- 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 15 of file MESetEcal.h.

Constructor & Destructor Documentation

ecaldqm::MESetEcal::MESetEcal ( std::string const &  _fullPath,
binning::ObjectType  _otype,
binning::BinningType  _btype,
MonitorElement::Kind  _kind,
unsigned  _logicalDimensions,
binning::AxisSpecs const *  _xaxis = 0,
binning::AxisSpecs const *  _yaxis = 0,
binning::AxisSpecs const *  _zaxis = 0 
)

Definition at line 11 of file MESetEcal.cc.

References ecaldqm::MESet::btype_, ecaldqm::binning::kUser, logicalDimensions_, ecaldqm::MESet::throw_(), xaxis_, and yaxis_.

Referenced by clone().

11  :
12  MESet(_fullPath, _otype, _btype, _kind),
13  logicalDimensions_(_logicalDimensions),
14  xaxis_(_xaxis ? new binning::AxisSpecs(*_xaxis) : nullptr),
15  yaxis_(_yaxis ? new binning::AxisSpecs(*_yaxis) : nullptr),
16  zaxis_(_zaxis ? new binning::AxisSpecs(*_zaxis) : nullptr)
17  {
18  if(btype_ == binning::kUser && ((logicalDimensions_ > 0 && !xaxis_) || (logicalDimensions_ > 1 && !yaxis_)))
19  throw_("Need axis specifications");
20  }
void throw_(std::string const &_message) const
Definition: MESet.h:124
binning::AxisSpecs const * zaxis_
Definition: MESetEcal.h:70
binning::AxisSpecs const * xaxis_
Definition: MESetEcal.h:68
binning::AxisSpecs const * yaxis_
Definition: MESetEcal.h:69
binning::BinningType btype_
Definition: MESet.h:133
unsigned logicalDimensions_
Definition: MESetEcal.h:67
ecaldqm::MESetEcal::MESetEcal ( MESetEcal const &  _orig)

Definition at line 22 of file MESetEcal.cc.

22  :
23  MESet(_orig),
24  logicalDimensions_(_orig.logicalDimensions_),
25  xaxis_(_orig.xaxis_ ? new binning::AxisSpecs(*_orig.xaxis_) : nullptr),
26  yaxis_(_orig.yaxis_ ? new binning::AxisSpecs(*_orig.yaxis_) : nullptr),
27  zaxis_(_orig.zaxis_ ? new binning::AxisSpecs(*_orig.zaxis_) : nullptr)
28  {
29  }
binning::AxisSpecs const * zaxis_
Definition: MESetEcal.h:70
binning::AxisSpecs const * xaxis_
Definition: MESetEcal.h:68
binning::AxisSpecs const * yaxis_
Definition: MESetEcal.h:69
unsigned logicalDimensions_
Definition: MESetEcal.h:67
ecaldqm::MESetEcal::~MESetEcal ( )
override

Definition at line 31 of file MESetEcal.cc.

References xaxis_, yaxis_, and zaxis_.

32  {
33  delete xaxis_;
34  delete yaxis_;
35  delete zaxis_;
36  }
binning::AxisSpecs const * zaxis_
Definition: MESetEcal.h:70
binning::AxisSpecs const * xaxis_
Definition: MESetEcal.h:68
binning::AxisSpecs const * yaxis_
Definition: MESetEcal.h:69

Member Function Documentation

void ecaldqm::MESetEcal::book ( DQMStore::IBooker _ibooker)
overridevirtual

Reimplemented from ecaldqm::MESet.

Reimplemented in ecaldqm::MESetTrend.

Definition at line 69 of file MESetEcal.cc.

References ecaldqm::MESet::active_, DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), DQMStore::IBooker::bookFloat(), DQMStore::IBooker::bookProfile(), DQMStore::IBooker::bookProfile2D(), ecaldqm::MESet::btype_, DQMStore::IBooker::cd(), ecaldqm::MESet::clear(), popcon2dropbox::copy(), MonitorElement::DQM_KIND_REAL, MonitorElement::DQM_KIND_TH1F, MonitorElement::DQM_KIND_TH2F, MonitorElement::DQM_KIND_TPROFILE, MonitorElement::DQM_KIND_TPROFILE2D, ecaldqm::binning::AxisSpecs::edges, generatePaths(), ecaldqm::binning::getBinning(), ecaldqm::binning::getObject(), MonitorElement::getTH1(), ecaldqm::binning::AxisSpecs::high, mps_fire::i, ecaldqm::MESet::kind_, tablePrinter::labels, ecaldqm::binning::AxisSpecs::labels, logicalDimensions_, ecaldqm::binning::AxisSpecs::low, ecaldqm::MESet::lumiFlag_, SiStripPI::max, ecaldqm::MESet::mes_, dataset::name, ecaldqm::binning::AxisSpecs::nbins, pileupCalc::nbins, ecaldqm::MESet::otype_, callgraph::path, MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::IBooker::setCurrentFolder(), MonitorElement::setLumiFlag(), SiPixelPhase1DigisV_cfi::specs, AlCaHLTBitMon_QueryRunRegistry::string, ecaldqm::MESet::throw_(), fftjetcommon_cfi::title, ecaldqm::binning::AxisSpecs::title, xaxis_, yaxis_, trackingPlots::zaxis, and zaxis_.

Referenced by ecaldqm::MESetDet2D::book(), ecaldqm::MESetDet1D::book(), and ecaldqm::MESetTrend::book().

70  {
71  using namespace std;
72 
73  clear();
74 
75  vector<string> mePaths(generatePaths());
76 
77  for(unsigned iME(0); iME < mePaths.size(); iME++){
78  string& path(mePaths[iME]);
79  if(path.find('%') != string::npos)
80  throw_("book() called with incompletely formed path [" + path + "]");
81 
82  binning::ObjectType actualObject(binning::getObject(otype_, iME));
83 
84  binning::AxisSpecs xaxis, yaxis, zaxis;
85 
86  bool isHistogram(logicalDimensions_ > 0);
87  bool isMap(logicalDimensions_ > 1);
88 
89  if(isHistogram){
90 
91  if(xaxis_) xaxis = *xaxis_;
92  if(yaxis_) yaxis = *yaxis_;
93  if(zaxis_) zaxis = *zaxis_;
94 
95  if(xaxis.nbins == 0){ // uses preset
96  binning::AxisSpecs xdef(binning::getBinning(actualObject, btype_, isMap, 1, iME));
97  if(xaxis.labels || !xaxis.title.empty()){ // PSet specifies title / label only
98  std::string* labels(xaxis.labels);
99  std::string title(xaxis.title);
100  xaxis = xdef;
101  delete [] xaxis.labels;
102  xaxis.labels = labels;
103  xaxis.title = title;
104  }
105  else
106  xaxis = xdef;
107  }
108 
109  if(isMap && yaxis.nbins == 0){
110  binning::AxisSpecs ydef(binning::getBinning(actualObject, btype_, isMap, 2, iME));
111  if(yaxis.labels || !yaxis.title.empty()){ // PSet specifies title / label only
112  std::string* labels(yaxis.labels);
113  std::string title(yaxis.title);
114  yaxis = ydef;
115  delete [] yaxis.labels;
116  yaxis.labels = labels;
117  yaxis.title = title;
118  }
119  else
120  yaxis = ydef;
121  }
122 
123  if(yaxis.high - yaxis.low < 1.e-10){
124  yaxis.low = -numeric_limits<double>::max();
125  yaxis.high = numeric_limits<double>::max();
126  }
127 
128  if(zaxis.high - zaxis.low < 1.e-10){
129  zaxis.low = -numeric_limits<double>::max();
130  zaxis.high = numeric_limits<double>::max();
131  }
132  }
133 
134  size_t slashPos(path.find_last_of('/'));
135  string name(path.substr(slashPos + 1));
136  _ibooker.cd();
137  _ibooker.setCurrentFolder(path.substr(0, slashPos));
138 
139  MonitorElement* me(nullptr);
140 
141  switch(kind_) {
143  me = _ibooker.bookFloat(name);
144 
145  break;
146 
148  if(xaxis.edges)
149  me = _ibooker.book1D(name, name, xaxis.nbins, xaxis.edges);
150  else
151  me = _ibooker.book1D(name, name, xaxis.nbins, xaxis.low, xaxis.high);
152 
153  break;
154 
156  if(xaxis.edges){
157  // DQMStore bookProfile interface uses double* for bin edges
158  double* edges(new double[xaxis.nbins + 1]);
159  std::copy(xaxis.edges, xaxis.edges + xaxis.nbins + 1, edges);
160  me = _ibooker.bookProfile(name, name, xaxis.nbins, edges, yaxis.low, yaxis.high, "");
161  delete [] edges;
162  }
163  else
164  me = _ibooker.bookProfile(name, name, xaxis.nbins, xaxis.low, xaxis.high, yaxis.low, yaxis.high, "");
165 
166  break;
167 
169  if(xaxis.edges || yaxis.edges) {
170  binning::AxisSpecs* specs[] = {&xaxis, &yaxis};
171  for(int iSpec(0); iSpec < 2; iSpec++){
172  if(!specs[iSpec]->edges){
173  specs[iSpec]->edges = new float[specs[iSpec]->nbins + 1];
174  int nbins(specs[iSpec]->nbins);
175  double low(specs[iSpec]->low), high(specs[iSpec]->high);
176  for(int i(0); i < nbins + 1; i++)
177  specs[iSpec]->edges[i] = low + (high - low) / nbins * i;
178  }
179  }
180  me = _ibooker.book2D(name, name, xaxis.nbins, xaxis.edges, yaxis.nbins, yaxis.edges);
181  }
182  else
183  me = _ibooker.book2D(name, name, xaxis.nbins, xaxis.low, xaxis.high, yaxis.nbins, yaxis.low, yaxis.high);
184 
185  break;
186 
188  if(zaxis.edges) {
189  zaxis.low = zaxis.edges[0];
190  zaxis.high = zaxis.edges[zaxis.nbins];
191  }
192  if(xaxis.edges || yaxis.edges)
193  throw_("Variable bin size for 2D profile not implemented");
194  me = _ibooker.bookProfile2D(name, name, xaxis.nbins, xaxis.low, xaxis.high, yaxis.nbins, yaxis.low, yaxis.high, zaxis.low, zaxis.high, "");
195 
196  break;
197 
198  default :
199  break;
200  }
201 
202  if(!me)
203  throw_("ME could not be booked");
204 
205  if(isHistogram){
206  me->setAxisTitle(xaxis.title, 1);
207  me->setAxisTitle(yaxis.title, 2);
208  if(isMap) me->setAxisTitle(zaxis.title, 3);
209 
210  if(xaxis.labels){
211  for(int iBin(1); iBin <= xaxis.nbins; ++iBin)
212  me->setBinLabel(iBin, xaxis.labels[iBin - 1], 1);
213  }
214  if(yaxis.labels){
215  for(int iBin(1); iBin <= yaxis.nbins; ++iBin)
216  me->setBinLabel(iBin, yaxis.labels[iBin - 1], 2);
217  }
218  if(zaxis.labels){
219  for(int iBin(1); iBin <= zaxis.nbins; ++iBin)
220  me->setBinLabel(iBin, zaxis.labels[iBin - 1], 3);
221  }
222 
223  /* FIX: In ROOT 6.0.12 bit 20 is used by ROOT (bit 19 was already in use in 6.0.x). Talking with the ROOT team, users
224  should never use SetBit for their own purpose since those bits are reserved for ROOT internally.
225  See https://github.com/cms-sw/cmssw/issues/21423 for some alternative ways of attaching
226  additional information to a TH1
227 
228  // For plot tagging in RenderPlugin; default values are 1 for both
229  // bits 19 - 23 are free in TH1::fBits
230  // can only pack object + logical dimensions into 5 bits (4 bits for object, 1 bit for dim (1 -> dim >= 2))
231  me->getTH1()->SetBit(uint32_t(actualObject + 1) << 20);
232  if(isMap) me->getTH1()->SetBit(0x1 << 19);
233  */
234 
235  // The render plugin requires some metadata in order to set the correct rendering for each plot.
236  // The original solution was to use bits number 19 to 23 in TH1::fBits, but these were meant for ROOT's internal usage and eventually started breaking things, see: https://github.com/cms-sw/cmssw/issues/21423
237  // The current solution is to use the UniqueID field in the parent TObject, which is expected to work if there is no TRef pointing to the TObject.
238 
239  // To check that indeed there is no such TRef, one can use TestBit(kIsReferenced), e.g.
240  // std::cout << "Need to set unique ID at path = " << path << "; for this path, TestBit(kIsReferenced) is: " << (me->getTH1()->TestBit(kIsReferenced)? "true": "false") << std::endl; // should always output false for the solution to work
241 
242  // Originally, bit 19 in TH1::fBits was set to isMap, while bits 20-23 contained (actualObject+1).
243  // The idea is to make sure that both these variables are easily recoverable in the render plugin,
244  // as in this solution, where isMap is the last bit.
245  me->getTH1()->SetUniqueID(uint32_t(2*(actualObject + 1) + (isMap? 1: 0)));
246  }
247 
248  if(lumiFlag_) me->setLumiFlag();
249 
250  mes_.push_back(me);
251  }
252 
253  active_ = true;
254  }
MonitorElement::Kind kind_
Definition: MESet.h:134
def copy(args, dbName)
virtual void clear() const
Definition: MESet.cc:93
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:113
ObjectType getObject(ObjectType, unsigned)
AxisSpecs getBinning(ObjectType, BinningType, bool, int, unsigned)
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:268
void throw_(std::string const &_message) const
Definition: MESet.h:124
MonitorElement * bookProfile2D(Args &&...args)
Definition: DQMStore.h:114
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
bool lumiFlag_
Definition: MESet.h:135
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:109
binning::AxisSpecs const * zaxis_
Definition: MESetEcal.h:70
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
binning::AxisSpecs const * xaxis_
Definition: MESetEcal.h:68
std::vector< std::string > generatePaths() const
Definition: MESetEcal.cc:572
MonitorElement * bookFloat(Args &&...args)
Definition: DQMStore.h:105
binning::AxisSpecs const * yaxis_
Definition: MESetEcal.h:69
binning::BinningType btype_
Definition: MESet.h:133
unsigned logicalDimensions_
Definition: MESetEcal.h:67
MESet * ecaldqm::MESetEcal::clone ( std::string const &  _path = "") const
overridevirtual

Reimplemented from ecaldqm::MESet.

Reimplemented in ecaldqm::MESetTrend, and ecaldqm::MESetProjection.

Definition at line 59 of file MESetEcal.cc.

References popcon2dropbox::copy(), MESetEcal(), callgraph::path, ecaldqm::MESet::path_, and AlCaHLTBitMon_QueryRunRegistry::string.

60  {
62  if(!_path.empty()) path_ = _path;
63  MESet* copy(new MESetEcal(*this));
64  path_ = path;
65  return copy;
66  }
def copy(args, dbName)
MESetEcal(std::string const &, binning::ObjectType, binning::BinningType, MonitorElement::Kind, unsigned, binning::AxisSpecs const *=0, binning::AxisSpecs const *=0, binning::AxisSpecs const *=0)
Definition: MESetEcal.cc:11
std::string path_
Definition: MESet.h:131
template<class Bookable >
void ecaldqm::MESetEcal::doBook_ ( Bookable &  )
private
void ecaldqm::MESetEcal::fill ( DetId const &  _id,
double  _x = 1.,
double  _wy = 1.,
double  _w = 1. 
)
overridevirtual

Reimplemented from ecaldqm::MESet.

Reimplemented in ecaldqm::MESetTrend, and ecaldqm::MESetProjection.

Definition at line 286 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::checkME_(), ecaldqm::MESet::fill_(), ecaldqm::binning::findPlotIndex(), and ecaldqm::MESet::otype_.

287  {
288  if(!active_) return;
289 
290  unsigned iME(binning::findPlotIndex(otype_, _id));
291  checkME_(iME);
292 
293  fill_(iME, _x, _wy, _w);
294  }
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
virtual void fill_(unsigned, int, double)
Definition: MESet.cc:278
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
void ecaldqm::MESetEcal::fill ( EcalElectronicsId const &  _id,
double  _x = 1.,
double  _wy = 1.,
double  _w = 1. 
)
overridevirtual

Reimplemented from ecaldqm::MESet.

Reimplemented in ecaldqm::MESetTrend.

Definition at line 297 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::checkME_(), ecaldqm::MESet::fill_(), ecaldqm::binning::findPlotIndex(), and ecaldqm::MESet::otype_.

298  {
299  if(!active_) return;
300 
301  unsigned iME(binning::findPlotIndex(otype_, _id));
302  checkME_(iME);
303 
304  fill_(iME, _x, _wy, _w);
305  }
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
virtual void fill_(unsigned, int, double)
Definition: MESet.cc:278
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
void ecaldqm::MESetEcal::fill ( int  _dcctccid,
double  _x = 1.,
double  _wy = 1.,
double  _w = 1. 
)
overridevirtual

Reimplemented from ecaldqm::MESet.

Reimplemented in ecaldqm::MESetTrend, and ecaldqm::MESetProjection.

Definition at line 308 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::btype_, ecaldqm::MESet::checkME_(), ecaldqm::MESet::fill_(), ecaldqm::binning::findPlotIndex(), and ecaldqm::MESet::otype_.

309  {
310  if(!active_) return;
311 
312  unsigned iME(binning::findPlotIndex(otype_, _dcctccid, btype_));
313  checkME_(iME);
314 
315  fill_(iME, _x, _wy, _w);
316  }
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
virtual void fill_(unsigned, int, double)
Definition: MESet.cc:278
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
binning::BinningType btype_
Definition: MESet.h:133
void ecaldqm::MESetEcal::fill ( double  _x,
double  _wy = 1.,
double  _w = 1. 
)
overridevirtual

Reimplemented from ecaldqm::MESet.

Reimplemented in ecaldqm::MESetTrend, and ecaldqm::MESetProjection.

Definition at line 319 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::fill_(), and ecaldqm::MESet::mes_.

320  {
321  if(!active_) return;
322 
323  if(mes_.size() != 1) return;
324 
325  fill_(0, _x, _wy, _w);
326  }
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
virtual void fill_(unsigned, int, double)
Definition: MESet.cc:278
bool active_
Definition: MESet.h:138
int ecaldqm::MESetEcal::findBin ( DetId const &  _id,
double  _x,
double  _y = 0. 
) const
virtual

Reimplemented in ecaldqm::MESetDet1D, and ecaldqm::MESetTrend.

Definition at line 533 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::checkME_(), ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

534  {
535  if(!active_) return -1;
536 
537  unsigned iME(binning::findPlotIndex(otype_, _id));
538  checkME_(iME);
539 
540  return mes_[iME]->getTH1()->FindBin(_x, _y);
541  }
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
int ecaldqm::MESetEcal::findBin ( EcalElectronicsId const &  _id,
double  _x,
double  _y = 0. 
) const
virtual

Reimplemented in ecaldqm::MESetDet1D, and ecaldqm::MESetTrend.

Definition at line 544 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::checkME_(), ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

545  {
546  if(!active_) return -1;
547 
548  unsigned iME(binning::findPlotIndex(otype_, _id));
549  checkME_(iME);
550 
551  return mes_[iME]->getTH1()->FindBin(_x, _y);
552  }
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
int ecaldqm::MESetEcal::findBin ( int  _dcctccid,
double  _x,
double  _y = 0. 
) const
virtual

Reimplemented in ecaldqm::MESetDet1D, and ecaldqm::MESetTrend.

Definition at line 555 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::btype_, ecaldqm::MESet::checkME_(), ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

556  {
557  if(!active_) return -1;
558 
559  unsigned iME(binning::findPlotIndex(otype_, _dcctccid, btype_));
560  checkME_(iME);
561 
562  return mes_[iME]->getTH1()->FindBin(_x, _y);
563  }
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
binning::BinningType btype_
Definition: MESet.h:133
std::vector< std::string > ecaldqm::MESetEcal::generatePaths ( ) const

Definition at line 572 of file MESetEcal.cc.

References ecaldqm::binning::channelName(), ecaldqm::MESet::formPath(), ecaldqm::binning::getNObjects(), ecaldqm::binning::getObject(), ecaldqm::binning::kEB, ecaldqm::binning::kEBMEM, ecaldqm::kEBmLow, ecaldqm::binning::kEBSM, ecaldqm::binning::kEBSMMEM, ecaldqm::binning::kEE, ecaldqm::binning::kEEm, ecaldqm::binning::kEEMEM, ecaldqm::kEEmHigh, ecaldqm::binning::kEEp, ecaldqm::kEEpLow, ecaldqm::binning::kEESM, ecaldqm::binning::kEESMMEM, ecaldqm::binning::kSM, ecaldqm::binning::kSMMEM, ecaldqm::memDCCId(), GetRecoTauVFromDQM_MC_cff::obj, ecaldqm::MESet::otype_, callgraph::path, and ecaldqm::MESet::path_.

Referenced by book(), and retrieve().

573  {
574  using namespace std;
575 
576  vector<string> paths(0);
577 
578  unsigned nME(binning::getNObjects(otype_));
579 
580  for(unsigned iME(0); iME < nME; iME++) {
582 
583  string path(path_);
584  map<string, string> replacements;
585 
586  switch(obj){
587  case binning::kEB:
588  case binning::kEBMEM:
589  replacements["subdet"] = "EcalBarrel";
590  replacements["prefix"] = "EB";
591  replacements["suffix"] = "";
592  replacements["subdetshort"] = "EB";
593  replacements["subdetshortsig"] = "EB";
594  replacements["supercrystal"] = "trigger tower";
595  break;
596  case binning::kEE:
597  case binning::kEEMEM:
598  replacements["subdet"] = "EcalEndcap";
599  replacements["prefix"] = "EE";
600  replacements["subdetshort"] = "EE";
601  replacements["subdetshortsig"] = "EE";
602  replacements["supercrystal"] = "super crystal";
603  break;
604  case binning::kEEm:
605  replacements["subdet"] = "EcalEndcap";
606  replacements["prefix"] = "EE";
607  replacements["suffix"] = " EE -";
608  replacements["subdetshort"] = "EE";
609  replacements["subdetshortsig"] = "EEM";
610  replacements["supercrystal"] = "super crystal";
611  break;
612  case binning::kEEp:
613  replacements["subdet"] = "EcalEndcap";
614  replacements["prefix"] = "EE";
615  replacements["suffix"] = " EE +";
616  replacements["subdetshort"] = "EE";
617  replacements["subdetshortsig"] = "EEP";
618  replacements["supercrystal"] = "super crystal";
619  break;
620  case binning::kSM:
621  if(iME <= kEEmHigh || iME >= kEEpLow){
622  replacements["subdet"] = "EcalEndcap";
623  replacements["prefix"] = "EE";
624  replacements["supercrystal"] = "super crystal";
625  }
626  else{
627  replacements["subdet"] = "EcalBarrel";
628  replacements["prefix"] = "EB";
629  replacements["supercrystal"] = "trigger tower";
630  }
631  replacements["sm"] = binning::channelName(iME + 1);
632  break;
633  case binning::kEBSM:
634  replacements["subdet"] = "EcalBarrel";
635  replacements["prefix"] = "EB";
636  replacements["sm"] = binning::channelName(iME + kEBmLow + 1);
637  replacements["supercrystal"] = "trigger tower";
638  break;
639  case binning::kEESM:
640  replacements["subdet"] = "EcalEndcap";
641  replacements["prefix"] = "EE";
642  replacements["sm"] = binning::channelName(iME <= kEEmHigh ? iME + 1 : iME + 37);
643  replacements["supercrystal"] = "super crystal";
644  break;
645  case binning::kSMMEM:
646  {
647  unsigned iDCC(memDCCId(iME) - 1);
648  //dccId(unsigned) skips DCCs without MEM
649  if(iDCC <= kEEmHigh || iDCC >= kEEpLow){
650  replacements["subdet"] = "EcalEndcap";
651  replacements["prefix"] = "EE";
652  }
653  else{
654  replacements["subdet"] = "EcalBarrel";
655  replacements["prefix"] = "EB";
656  }
657  replacements["sm"] = binning::channelName(iDCC + 1);
658  }
659  break;
660  case binning::kEBSMMEM:
661  {
662  unsigned iDCC(memDCCId(iME + 4) - 1);
663  replacements["subdet"] = "EcalBarrel";
664  replacements["prefix"] = "EB";
665  replacements["sm"] = binning::channelName(iDCC + 1);
666  }
667  break;
668  case binning::kEESMMEM:
669  {
670  unsigned iDCC(memDCCId(iME < 4 ? iME : iME + 36) - 1);
671  replacements["subdet"] = "EcalEndcap";
672  replacements["prefix"] = "EE";
673  replacements["sm"] = binning::channelName(iDCC + 1);
674  }
675  default:
676  break;
677  }
678 
679  paths.push_back(formPath(replacements));
680  }
681 
682  return paths;
683  }
unsigned getNObjects(ObjectType)
ObjectType getObject(ObjectType, unsigned)
std::string channelName(uint32_t, BinningType _btype=kDCC)
std::string formPath(PathReplacements const &) const
Definition: MESet.cc:163
unsigned memDCCId(unsigned)
binning::ObjectType otype_
Definition: MESet.h:132
std::string path_
Definition: MESet.h:131
double ecaldqm::MESetEcal::getBinContent ( DetId const &  _id,
int  _bin 
) const
overridevirtual

Reimplemented from ecaldqm::MESet.

Reimplemented in ecaldqm::MESetProjection.

Definition at line 431 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::checkME_(), ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

432  {
433  if(!active_) return 0.;
434 
435  unsigned iME(binning::findPlotIndex(otype_, _id));
436  checkME_(iME);
437 
438  return mes_[iME]->getBinContent(_bin);
439  }
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
double ecaldqm::MESetEcal::getBinContent ( EcalElectronicsId const &  _id,
int  _bin 
) const
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 442 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::checkME_(), ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

443  {
444  if(!active_) return 0.;
445 
446  unsigned iME(binning::findPlotIndex(otype_, _id));
447  checkME_(iME);
448 
449  return mes_[iME]->getBinContent(_bin);
450  }
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
double ecaldqm::MESetEcal::getBinContent ( int  _dcctccid,
int  _bin 
) const
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 453 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::btype_, ecaldqm::MESet::checkME_(), ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

454  {
455  if(!active_) return 0.;
456 
457  unsigned iME(binning::findPlotIndex(otype_, _dcctccid, btype_));
458  checkME_(iME);
459 
460  return mes_[iME]->getBinContent(_bin);
461  }
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
binning::BinningType btype_
Definition: MESet.h:133
double ecaldqm::MESetEcal::getBinEntries ( DetId const &  _id,
int  _bin 
) const
overridevirtual

Reimplemented from ecaldqm::MESet.

Reimplemented in ecaldqm::MESetProjection.

Definition at line 497 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::checkME_(), MonitorElement::DQM_KIND_TPROFILE, MonitorElement::DQM_KIND_TPROFILE2D, ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::kind_, ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

498  {
499  if(!active_) return 0.;
501 
502  unsigned iME(binning::findPlotIndex(otype_, _id));
503  checkME_(iME);
504 
505  return mes_[iME]->getBinEntries(_bin);
506  }
MonitorElement::Kind kind_
Definition: MESet.h:134
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
double ecaldqm::MESetEcal::getBinEntries ( EcalElectronicsId const &  _id,
int  _bin 
) const
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 509 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::checkME_(), MonitorElement::DQM_KIND_TPROFILE, MonitorElement::DQM_KIND_TPROFILE2D, ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::kind_, ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

510  {
511  if(!active_) return 0.;
513 
514  unsigned iME(binning::findPlotIndex(otype_, _id));
515  checkME_(iME);
516 
517  return mes_[iME]->getBinEntries(_bin);
518  }
MonitorElement::Kind kind_
Definition: MESet.h:134
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
double ecaldqm::MESetEcal::getBinEntries ( int  _dcctccid,
int  _bin 
) const
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 521 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::btype_, ecaldqm::MESet::checkME_(), MonitorElement::DQM_KIND_TPROFILE, MonitorElement::DQM_KIND_TPROFILE2D, ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::kind_, ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

522  {
523  if(!active_) return 0.;
525 
526  unsigned iME(binning::findPlotIndex(otype_, _dcctccid, btype_));
527  checkME_(iME);
528 
529  return mes_[iME]->getBinEntries(_bin);
530  }
MonitorElement::Kind kind_
Definition: MESet.h:134
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
binning::BinningType btype_
Definition: MESet.h:133
double ecaldqm::MESetEcal::getBinError ( DetId const &  _id,
int  _bin 
) const
overridevirtual

Reimplemented from ecaldqm::MESet.

Reimplemented in ecaldqm::MESetProjection.

Definition at line 464 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::checkME_(), ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

465  {
466  if(!active_) return 0.;
467 
468  unsigned iME(binning::findPlotIndex(otype_, _id));
469  checkME_(iME);
470 
471  return mes_[iME]->getBinError(_bin);
472  }
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
double ecaldqm::MESetEcal::getBinError ( EcalElectronicsId const &  _id,
int  _bin 
) const
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 475 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::checkME_(), ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

476  {
477  if(!active_) return 0.;
478 
479  unsigned iME(binning::findPlotIndex(otype_, _id));
480  checkME_(iME);
481 
482  return mes_[iME]->getBinError(_bin);
483  }
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
double ecaldqm::MESetEcal::getBinError ( int  _dcctccid,
int  _bin 
) const
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 486 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::btype_, ecaldqm::MESet::checkME_(), ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

487  {
488  if(!active_) return 0.;
489 
490  unsigned iME(binning::findPlotIndex(otype_, _dcctccid, btype_));
491  checkME_(iME);
492 
493  return mes_[iME]->getBinError(_bin);
494  }
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
binning::BinningType btype_
Definition: MESet.h:133
bool ecaldqm::MESetEcal::isVariableBinning ( ) const
overridevirtual

Reimplemented from ecaldqm::MESet.

Reimplemented in ecaldqm::MESetTrend.

Definition at line 566 of file MESetEcal.cc.

References ecaldqm::binning::AxisSpecs::edges, xaxis_, yaxis_, and zaxis_.

567  {
568  return (xaxis_ && xaxis_->edges) || (yaxis_ && yaxis_->edges) || (zaxis_ && zaxis_->edges);
569  }
binning::AxisSpecs const * zaxis_
Definition: MESetEcal.h:70
binning::AxisSpecs const * xaxis_
Definition: MESetEcal.h:68
binning::AxisSpecs const * yaxis_
Definition: MESetEcal.h:69
MESet & ecaldqm::MESetEcal::operator= ( MESet const &  _rhs)
overridevirtual

Reimplemented from ecaldqm::MESet.

Reimplemented in ecaldqm::MESetTrend.

Definition at line 39 of file MESetEcal.cc.

References logicalDimensions_, ecaldqm::MESet::operator=(), xaxis_, yaxis_, and zaxis_.

Referenced by ecaldqm::MESetTrend::operator=().

40  {
41  delete xaxis_;
42  delete yaxis_;
43  delete zaxis_;
44  xaxis_ = nullptr;
45  yaxis_ = nullptr;
46  zaxis_ = nullptr;
47 
48  MESetEcal const* pRhs(dynamic_cast<MESetEcal const*>(&_rhs));
49  if(pRhs){
50  logicalDimensions_ = pRhs->logicalDimensions_;
51  if(pRhs->xaxis_) xaxis_ = new binning::AxisSpecs(*pRhs->xaxis_);
52  if(pRhs->yaxis_) yaxis_ = new binning::AxisSpecs(*pRhs->yaxis_);
53  if(pRhs->zaxis_) zaxis_ = new binning::AxisSpecs(*pRhs->zaxis_);
54  }
55  return MESet::operator=(_rhs);
56  }
MESetEcal(std::string const &, binning::ObjectType, binning::BinningType, MonitorElement::Kind, unsigned, binning::AxisSpecs const *=0, binning::AxisSpecs const *=0, binning::AxisSpecs const *=0)
Definition: MESetEcal.cc:11
binning::AxisSpecs const * zaxis_
Definition: MESetEcal.h:70
binning::AxisSpecs const * xaxis_
Definition: MESetEcal.h:68
virtual MESet & operator=(MESet const &)
Definition: MESet.cc:70
binning::AxisSpecs const * yaxis_
Definition: MESetEcal.h:69
unsigned logicalDimensions_
Definition: MESetEcal.h:67
bool ecaldqm::MESetEcal::retrieve ( DQMStore::IGetter _igetter,
std::string *  _failedPath = 0 
) const
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 257 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::clear(), generatePaths(), DQMStore::IGetter::get(), ecaldqm::MESet::mes_, callgraph::path, AlCaHLTBitMon_QueryRunRegistry::string, and ecaldqm::MESet::throw_().

258  {
259  clear();
260 
261  std::vector<std::string> mePaths(generatePaths());
262  if(mePaths.empty()){
263  if(_failedPath) _failedPath->clear();
264  return false;
265  }
266 
267  for(unsigned iME(0); iME < mePaths.size(); iME++){
268  std::string& path(mePaths[iME]);
269  if(path.find('%') != std::string::npos)
270  throw_("retrieve() called with incompletely formed path [" + path + "]");
271 
272  MonitorElement* me(_igetter.get(path));
273  if(me) mes_.push_back(me);
274  else{
275  clear();
276  if(_failedPath) *_failedPath = path;
277  return false;
278  }
279  }
280 
281  active_ = true;
282  return true;
283  }
virtual void clear() const
Definition: MESet.cc:93
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
void throw_(std::string const &_message) const
Definition: MESet.h:124
MonitorElement * get(std::string const &path)
Definition: DQMStore.cc:303
bool active_
Definition: MESet.h:138
std::vector< std::string > generatePaths() const
Definition: MESetEcal.cc:572
void ecaldqm::MESetEcal::setBinContent ( DetId const &  _id,
int  _bin,
double  _content 
)
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 329 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::checkME_(), ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

330  {
331  if(!active_) return;
332 
333  unsigned iME(binning::findPlotIndex(otype_, _id));
334  checkME_(iME);
335 
336  mes_[iME]->setBinContent(_bin, _content);
337  }
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
void ecaldqm::MESetEcal::setBinContent ( EcalElectronicsId const &  _id,
int  _bin,
double  _content 
)
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 340 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::checkME_(), ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

341  {
342  if(!active_) return;
343 
344  unsigned iME(binning::findPlotIndex(otype_, _id));
345  checkME_(iME);
346 
347  mes_[iME]->setBinContent(_bin, _content);
348  }
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
void ecaldqm::MESetEcal::setBinContent ( int  _dcctccid,
int  _bin,
double  _content 
)
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 351 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::btype_, ecaldqm::MESet::checkME_(), ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

352  {
353  if(!active_) return;
354 
355  unsigned iME(binning::findPlotIndex(otype_, _dcctccid, btype_));
356  checkME_(iME);
357 
358  mes_[iME]->setBinContent(_bin, _content);
359  }
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
binning::BinningType btype_
Definition: MESet.h:133
void ecaldqm::MESetEcal::setBinEntries ( DetId const &  _id,
int  _bin,
double  _entries 
)
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 395 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::checkME_(), MonitorElement::DQM_KIND_TPROFILE, MonitorElement::DQM_KIND_TPROFILE2D, ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::kind_, ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

396  {
397  if(!active_) return;
399 
400  unsigned iME(binning::findPlotIndex(otype_, _id));
401  checkME_(iME);
402 
403  mes_[iME]->setBinEntries(_bin, _entries);
404  }
MonitorElement::Kind kind_
Definition: MESet.h:134
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
void ecaldqm::MESetEcal::setBinEntries ( EcalElectronicsId const &  _id,
int  _bin,
double  _entries 
)
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 407 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::checkME_(), MonitorElement::DQM_KIND_TPROFILE, MonitorElement::DQM_KIND_TPROFILE2D, ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::kind_, ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

408  {
409  if(!active_) return;
411 
412  unsigned iME(binning::findPlotIndex(otype_, _id));
413  checkME_(iME);
414 
415  mes_[iME]->setBinEntries(_bin, _entries);
416  }
MonitorElement::Kind kind_
Definition: MESet.h:134
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
void ecaldqm::MESetEcal::setBinEntries ( int  _dcctccid,
int  _bin,
double  _entries 
)
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 419 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::btype_, ecaldqm::MESet::checkME_(), MonitorElement::DQM_KIND_TPROFILE, MonitorElement::DQM_KIND_TPROFILE2D, ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::kind_, ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

420  {
421  if(!active_) return;
423 
424  unsigned iME(binning::findPlotIndex(otype_, _dcctccid, btype_));
425  checkME_(iME);
426 
427  mes_[iME]->setBinEntries(_bin, _entries);
428  }
MonitorElement::Kind kind_
Definition: MESet.h:134
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
binning::BinningType btype_
Definition: MESet.h:133
void ecaldqm::MESetEcal::setBinError ( DetId const &  _id,
int  _bin,
double  _error 
)
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 362 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::checkME_(), ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

363  {
364  if(!active_) return;
365 
366  unsigned iME(binning::findPlotIndex(otype_, _id));
367  checkME_(iME);
368 
369  mes_[iME]->setBinError(_bin, _error);
370  }
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
void ecaldqm::MESetEcal::setBinError ( EcalElectronicsId const &  _id,
int  _bin,
double  _error 
)
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 373 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::checkME_(), ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

374  {
375  if(!active_) return;
376 
377  unsigned iME(binning::findPlotIndex(otype_, _id));
378  checkME_(iME);
379 
380  mes_[iME]->setBinError(_bin, _error);
381  }
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
void ecaldqm::MESetEcal::setBinError ( int  _dcctccid,
int  _bin,
double  _error 
)
overridevirtual

Reimplemented from ecaldqm::MESet.

Definition at line 384 of file MESetEcal.cc.

References ecaldqm::MESet::active_, ecaldqm::MESet::btype_, ecaldqm::MESet::checkME_(), ecaldqm::binning::findPlotIndex(), ecaldqm::MESet::mes_, and ecaldqm::MESet::otype_.

385  {
386  if(!active_) return;
387 
388  unsigned iME(binning::findPlotIndex(otype_, _dcctccid, btype_));
389  checkME_(iME);
390 
391  mes_[iME]->setBinError(_bin, _error);
392  }
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:115
std::vector< MonitorElement * > mes_
Definition: MESet.h:129
unsigned findPlotIndex(ObjectType, DetId const &)
bool active_
Definition: MESet.h:138
binning::ObjectType otype_
Definition: MESet.h:132
binning::BinningType btype_
Definition: MESet.h:133

Member Data Documentation

unsigned ecaldqm::MESetEcal::logicalDimensions_
protected

Definition at line 67 of file MESetEcal.h.

Referenced by book(), MESetEcal(), and operator=().

binning::AxisSpecs const* ecaldqm::MESetEcal::xaxis_
protected
binning::AxisSpecs const* ecaldqm::MESetEcal::yaxis_
protected

Definition at line 69 of file MESetEcal.h.

Referenced by book(), isVariableBinning(), MESetEcal(), operator=(), and ~MESetEcal().

binning::AxisSpecs const* ecaldqm::MESetEcal::zaxis_
protected

Definition at line 70 of file MESetEcal.h.

Referenced by book(), isVariableBinning(), operator=(), and ~MESetEcal().