43 for(
unsigned iME(0); iME <
mes_.size(); iME++){
44 TAxis* axis(
mes_[iME]->getTH1()->GetXaxis());
45 if(axis->IsVariableBinSize())
77 throw cms::Exception(
"InvalidCall") <<
"MESet type incompatible" << std::endl;
89 time_t tHigh(
tLow_ + width);
93 int dtPerBin(width / nbinsX);
96 if(_t >=
tLow_ && _t < tHigh)
99 dBin = (_t - tHigh) / dtPerBin + 1;
103 for(
unsigned iME(0); iME <
mes_.size(); iME++){
107 int iMax(nbinsX + 1);
108 while(--iMax > 0 && !filled){
117 for(
int iy(1); iy <= me->
getNbinsY(); iy++)
125 if(iMax > maxBin) maxBin = iMax;
128 if(_t <
tLow_ - (nbinsX - maxBin) * dtPerBin)
return false;
130 dBin = (_t - dtPerBin -
tLow_) / dtPerBin;
133 int start(dBin > 0 ? dBin + 1 : nbinsX + dBin);
134 int end(dBin > 0 ? nbinsX + 1 : 0);
135 int step(dBin > 0 ? 1 : -1);
137 tLow_ += dBin * dtPerBin;
138 tHigh += dBin * dtPerBin;
140 for(
unsigned iME(0); iME <
mes_.size(); iME++){
147 for(
int ix(start); (dBin > 0 ? (ix < end) : (ix >
end)); ix +=
step){
170 for(
int iy(1); iy <= me->
getNbinsY(); iy++){
171 int orig(me->
getTH1()->GetBin(ix, iy));
172 int dest(me->
getTH1()->GetBin(ix - dBin, iy));
BinService::ObjectType otype
void setBinContent(int binx, double content)
set content of bin (1-D)
void fill(DetId const &, double, double _wy=1., double _w=1.)
BinService::AxisSpecs * yaxis
MonitorElement::Kind kind
int getNbinsY(void) const
get # of bins in Y-axis
BinService::AxisSpecs * xaxis
std::vector< MonitorElement * > mes_
MESetTrend(std::string const &, MEData const &, bool _readOnly=false)
unsigned findOffset(ObjectType, const DetId &) const
BinService::BinningType btype
void setBinError(int binx, double error)
set uncertainty on content of bin (1-D)
void setEntries(double nentries)
set # of entries
unsigned int offset(bool)
virtual void fill_(unsigned, int, double)
void conversion(EventAux const &from, EventAuxiliary &to)
double getBinError(int binx) const
get uncertainty on content of bin (1-D) - See TH1::GetBinError for details
static BinService const * binService_
BinService::AxisSpecs * zaxis
double getBinContent(int binx) const
get content of bin (1-D)
double getBinEntries(int bin) const
get # of bin entries (for profiles)
void setBinEntries(int bin, double nentries)
set # of bin entries (to be used for profiles)