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)
252 for (
unsigned iME(0); iME <
mes_.size(); ++iME)
262 for (
unsigned iME(0); iME <
mes_.size(); ++iME)
276 int nbinsX(
h->GetNbinsX());
278 double x(
h->GetXaxis()->GetBinCenter(_bin % (nbinsX + 2)));
283 double y(
h->GetYaxis()->GetBinCenter(_bin / (nbinsX + 2)));
298 int nbinsX(
h->GetNbinsX());
300 double x(
h->GetXaxis()->GetBinCenter(_bin % (nbinsX + 2)));
314 me->
Fill(_x, _wy, _w);
319 if (
iME ==
unsigned(-1))
328 throw cms::Exception(
"InvalidOperation") <<
"MESet::ConstBin::Ctor: const_iterator only available for MESet of " 335 <<
"MESet::ConstBin::Ctor: ME " <<
iME <<
" does not exist for MESet " <<
meSet_->
getPath();
338 iBin = me->getNbinsX() + 3;
360 if (iME ==
unsigned(-1))
378 if (iME ==
unsigned(-1))
387 int nbinsX(me->getNbinsX());
392 me = meSet->getME(iME);
393 nbinsX = me->getNbinsX();
399 if (bin % (nbinsX + 2) == nbinsX + 1) {
401 bin / (nbinsX + 2) == me->getNbinsY()) {
403 me = meSet->getME(iME);
409 nbinsX = me->getNbinsX();
445 if (
bin_.
iBin / (me->getNbinsX() + 2) >= me->getNbinsY())
464 if (
bin_.
iBin / (me->getNbinsX() + 2) <= 1)
483 if (
bin_.
iBin % (me->getNbinsX() + 2) <= 1)
502 if (
bin_.
iBin % (me->getNbinsX() + 2) >= me->getNbinsX())
virtual std::string const & getPath() const
MonitorElement::Kind kind_
virtual MonitorElement const * getME(unsigned _iME) const
MonitorElement::Kind getKind() const
virtual void setAxisTitle(std::string const &, int=1)
const_iterator & operator++()
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
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
ObjectType getObject(ObjectType, unsigned)
virtual bool maskMatches(DetId const &, uint32_t, StatusManager const *) const
unsigned ttId(DetId const &)
void disableSoftReset(MonitorElement *me)
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
void softReset(MonitorElement *me)
ConstBin & operator=(ConstBin const &)
virtual void fill_(unsigned, int, double)
std::string formPath(PathReplacements const &) const
bin
set the eta bin as selection string.
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.)
virtual void recoverStats()
void setMESet(MESet const &_meSet)
binning::ObjectType otype_
const_iterator & toNextChannel()
virtual MESet & operator=(MESet const &)
binning::BinningType btype_
std::vector< MonitorElement * > mes_