36 if (
path_.empty() ||
path_.find(
"/") == std::string::npos ||
38 throw_(_path +
" cannot be used for ME path name");
48 throw_(
"Unsupported MonitorElement kind");
93 unsigned nME(
mes_.size());
94 for (
unsigned iME(0); iME < nME; iME++)
109 unsigned nME(
mes_.size());
112 for (
unsigned iME(0); iME < nME; iME++)
118 if (_content != 0. || _err != 0. || _entries != 0.)
121 for (
unsigned iME(0); iME < nME; iME++) {
122 TH1 *
h(
mes_[iME]->getTH1());
127 int nbinsX(h->GetNbinsX());
128 int nbinsY(h->GetNbinsY());
130 for (
int ix(1); ix <=
nbinsX; ix++) {
131 for (
int iy(1); iy <=
nbinsY; iy++) {
132 int bin(h->GetBin(ix, iy));
133 h->SetBinContent(
bin, _content);
134 h->SetBinError(
bin, _err);
136 static_cast<TProfile *
>(
h)->SetBinEntries(
bin, _entries);
139 static_cast<TProfile2D *
>(
h)->SetBinEntries(
bin, _entries);
146 h->SetEntries(_entries);
153 for (
typename MESet::PathReplacements::const_iterator repItr(_replacements.begin()); repItr != _replacements.end();
156 pattern += repItr->first;
159 TPRegexp re(pattern);
161 re.Substitute(path, repItr->second,
"g");
189 if (searchNeighborsInTower) {
191 for (std::vector<DetId>::iterator idItr(ids.begin()); idItr != ids.end(); ++idItr)
192 if ((_statusManager->
getStatus(idItr->rawId()) & _mask) != 0)
200 for (
int ix(1); ix <= 5; ix++) {
201 for (
int iy(1); iy <= 5; iy++) {
202 int iix((scId.
ix() - 1) * 5 + ix);
203 int iiy((scId.
iy() - 1) * 5 + iy);
213 if ((_statusManager->
getStatus(scId.rawId()) & _mask) != 0)
216 if (searchNeighborsInTower) {
217 for (
int ix(1); ix <= 5; ix++) {
218 for (
int iy(1); iy <= 5; iy++) {
219 int iix((scId.ix() - 1) * 5 + ix);
220 int iiy((scId.iy() - 1) * 5 + iy);
223 if ((_statusManager->
getStatus(
EEDetId(iix, iiy, scId.zside()).rawId()) & _mask) != 0)
234 for (std::vector<DetId>::iterator idItr(ids.begin()); idItr != ids.end(); ++idItr)
235 if ((_statusManager->
getStatus(idItr->rawId()) & _mask) != 0)
258 double x(
h->GetXaxis()->GetBinCenter(_bin % (
nbinsX + 2)));
263 double y(
h->GetYaxis()->GetBinCenter(_bin / (
nbinsX + 2)));
280 double x(
h->GetXaxis()->GetBinCenter(_bin % (
nbinsX + 2)));
294 me->
Fill(_x, _wy, _w);
299 if (
iME ==
unsigned(-1))
308 throw cms::Exception(
"InvalidOperation") <<
"MESet::ConstBin::Ctor: const_iterator only available for MESet of " 315 <<
"MESet::ConstBin::Ctor: ME " <<
iME <<
" does not exist for MESet " <<
meSet_->
getPath();
318 iBin =
me->getNbinsX() + 3;
340 if (iME ==
unsigned(-1))
358 if (iME ==
unsigned(-1))
372 me = meSet->getME(iME);
381 bin / (
nbinsX + 2) ==
me->getNbinsY()) {
383 me = meSet->getME(iME);
425 if (
bin_.
iBin / (
me->getNbinsX() + 2) >=
me->getNbinsY())
482 if (
bin_.
iBin % (
me->getNbinsX() + 2) >=
me->getNbinsX())
virtual std::string const & getPath() const
MonitorElement::Kind kind_
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
virtual MonitorElement const * getME(unsigned _iME) const
MonitorElement::Kind getKind() const
virtual void setAxisTitle(std::string const &, int=1)
const_iterator & operator++()
virtual void clear() const
uint32_t getStatus(uint32_t) const
binning::ObjectType otype
constexpr uint32_t rawId() const
get the raw id
virtual MESet * clone(std::string const &="") const
static constexpr TimeType INVALID
ObjectType getObject(ObjectType, unsigned)
virtual bool maskMatches(DetId const &, uint32_t, StatusManager const *) const
unsigned ttId(DetId const &)
binning::ObjectType getObjType() const
void throw_(std::string const &_message) const
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
EcalTrigTowerConstituentsMap const * getTrigTowerMap()
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
virtual void reset(double=0., double=0., double=0.)
EcalTrigTowerDetId tower() const
get the HCAL/trigger iphi of this crystal
ConstBin & operator=(ConstBin const &)
virtual void fill_(unsigned, int, double)
std::string formPath(PathReplacements const &) const
bool isEcalScDetId(DetId const &)
MESet const * getMESet() const
int findBin2D(ObjectType, BinningType, DetId const &)
unsigned findPlotIndex(ObjectType, DetId const &)
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
binning::BinningType getBinType() const
virtual void resetAll(double=0., double=0., double=0.)
void setMESet(MESet const &_meSet)
binning::ObjectType otype_
const_iterator & toNextChannel()
virtual MESet & operator=(MESet const &)
binning::BinningType btype_
virtual TH1 * getTH1() const
std::vector< MonitorElement * > mes_