1 #ifndef DQMSERVICES_CORE_MONITOR_ELEMENT_H 2 # define DQMSERVICES_CORE_MONITOR_ELEMENT_H 14 # include "TProfile.h" 15 # include "TProfile2D.h" 16 # include "TObjString.h" 18 # include <sys/time.h> 27 # ifndef DQM_ROOT_METHODS 28 # define DQM_ROOT_METHODS 1 90 uint32_t streamId = 0,
91 uint32_t moduleId = 0);
106 static bool CheckBinLabels(
const TAxis* a1,
const TAxis * a2);
114 {
return data_.
flags; }
164 template <
typename T>
167 int checkArray[
sizeof(int64_t) -
sizeof(
T) + 1];
185 void Fill(
double x,
double yw);
186 void Fill(
double x,
double y,
double zw);
187 void Fill(
double x,
double y,
double z,
double w);
188 void ShiftFillLast(
double y,
double ye = 0., int32_t xscale = 1);
220 std::vector<QReport *> getQReports(
void)
const;
223 std::vector<QReport *> getQWarnings(
void)
const;
226 std::vector<QReport *> getQErrors(
void)
const;
230 std::vector<QReport *> getQOthers(
void)
const;
233 void runQTests(
void);
237 void incompatible(
const char *
func)
const;
238 TH1 *accessRootObject(
const char *func,
int reqdim)
const;
242 double getMean(
int axis = 1)
const;
243 double getMeanError(
int axis = 1)
const;
244 double getRMS(
int axis = 1)
const;
245 double getRMSError(
int axis = 1)
const;
246 int getNbinsX(
void)
const;
247 int getNbinsY(
void)
const;
248 int getNbinsZ(
void)
const;
249 double getBinContent(
int binx)
const;
250 double getBinContent(
int binx,
int biny)
const;
251 double getBinContent(
int binx,
int biny,
int binz)
const;
252 double getBinError(
int binx)
const;
253 double getBinError(
int binx,
int biny)
const;
254 double getBinError(
int binx,
int biny,
int binz)
const;
255 double getEntries(
void)
const;
256 double getBinEntries(
int bin)
const;
259 double getYmin(
void)
const;
260 double getYmax(
void)
const;
265 void setBinContent(
int binx,
double content);
266 void setBinContent(
int binx,
int biny,
double content);
267 void setBinContent(
int binx,
int biny,
int binz,
double content);
268 void setBinError(
int binx,
double error);
269 void setBinError(
int binx,
int biny,
double error);
270 void setBinError(
int binx,
int biny,
int binz,
double error);
271 void setBinEntries(
int bin,
double nentries);
272 void setEntries(
double nentries);
274 void setAxisRange(
double xmin,
double xmax,
int axis = 1);
276 void setAxisTimeDisplay(
int value,
int axis = 1);
277 void setAxisTimeFormat(
const char *
format =
"",
int axis = 1);
280 void setAxisTimeOffset(
double toffset,
const char *
option=
"local",
int axis = 1);
284 #endif // DQM_ROOT_METHODS 289 {
return refvalue_ != 0; }
318 TAxis *getAxis(
const char *func,
int axis)
const;
322 void softReset(
void);
324 void disableSoftReset(
void);
325 void addProfiles(TProfile *h1, TProfile *h2, TProfile *sum,
float c1,
float c2);
326 void addProfiles(TProfile2D *h1, TProfile2D *h2, TProfile2D *sum,
float c1,
float c2);
327 void copyFunctions(TH1 *from, TH1 *
to);
328 void copyFrom(TH1 *from);
335 void updateQReportStats(
void);
338 TObject *getRootObject(
void)
const;
339 TH1 *getTH1(
void)
const;
340 TH1F *getTH1F(
void)
const;
341 TH1S *getTH1S(
void)
const;
342 TH1D *getTH1D(
void)
const;
343 TH2F *getTH2F(
void)
const;
344 TH2S *getTH2S(
void)
const;
345 TH2D *getTH2D(
void)
const;
346 TH3F *getTH3F(
void)
const;
347 TProfile *getTProfile(
void)
const;
348 TProfile2D *getTProfile2D(
void)
const;
350 TObject *getRefRootObject(
void)
const;
351 TH1 *getRefTH1(
void)
const;
352 TH1F *getRefTH1F(
void)
const;
353 TH1S *getRefTH1S(
void)
const;
354 TH1D *getRefTH1D(
void)
const;
355 TH2F *getRefTH2F(
void)
const;
356 TH2S *getRefTH2S(
void)
const;
357 TH2D *getRefTH2D(
void)
const;
358 TH3F *getRefTH3F(
void)
const;
359 TProfile *getRefTProfile(
void)
const;
360 TProfile2D *getRefTProfile2D(
void)
const;
364 assert(
kind() == DQM_KIND_INT);
370 assert(
kind() == DQM_KIND_REAL);
376 assert(
kind() == DQM_KIND_STRING);
384 tags.push_back(data_.
tag);
389 {
return data_.
tag; }
391 const uint32_t
run(
void)
const {
return data_.
run;}
392 const uint32_t
lumi(
void)
const {
return data_.
lumi;}
397 #endif // DQMSERVICES_CORE_MONITOR_ELEMENT_H
static const uint32_t DQM_PROP_REPORT_WARN
const std::string & getName(void) const
get name of ME
void resetUpdate(void)
reset "was updated" flag
static const uint32_t DQM_PROP_TYPE_TH1S
bool markedToDelete(void) const
true if ME is marked for deletion
static const uint32_t DQM_PROP_TYPE_TPROF
def create(alignables, pedeDump, additionalData, outputFile, config)
static const uint32_t DQM_PROP_TYPE_TH2D
std::vector< QReport > qreports_
void Fill(unsigned short x)
void setLumi(uint32_t ls)
bool hasError(void) const
true if at least of one of the quality tests returned an error
static const uint32_t DQM_PROP_TAGGED
static const uint32_t DQM_PROP_EFFICIENCY_PLOT
static const uint32_t DQM_PROP_TYPE_TH3F
static const uint32_t DQM_PROP_RESET
const std::string * dirname
static const uint32_t DQM_PROP_TYPE_TH1F
void update(void)
Mark the object updated.
static const uint32_t DQM_PROP_MARKTODELETE
bool operator<(const MonitorElement &x) const
Compare monitor elements, for ordering in sets.
void Fill(unsigned long long x)
const uint32_t getTag(void) const
bool wasUpdated(void) const
true if ME was updated in last monitoring cycle
static const uint32_t DQM_PROP_ACCUMULATE
bool getLumiFlag(void) const
true if ME is meant to be stored for each luminosity section
const uint32_t lumi(void) const
const std::string & getPathname(void) const
get pathname of parent folder
bool hasWarning(void) const
true if at least of one of the quality tests returned a warning
static const uint32_t DQM_PROP_TYPE_INT
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
DQMNet::TagList getTags(void) const
double getFloatValue(void) const
static const uint32_t DQM_PROP_REPORT_ERROR
std::vector< QReport >::const_iterator QReportIterator
static const uint32_t DQM_PROP_REPORT_OTHER
Kind kind(void) const
Get the type of the monitor element.
static const uint32_t DQM_PROP_TYPE_TH1D
uint32_t flags(void) const
Get the object flags.
const std::string getFullname(void) const
get full name of ME including Pathname
const std::string & getStringValue(void) const
bool isAccumulateEnabled(void) const
whether ME contents should be accumulated over multiple monitoring periods; default: false ...
const uint32_t streamId(void) const
void Fill(unsigned int x)
bin
set the eta bin as selection string.
std::vector< uint32_t > TagList
void Fill(unsigned long x)
bool isEfficiency(void) const
int64_t getIntValue(void) const
bool hasOtherReport(void) const
true if at least of one of the tests returned some other (non-ok) status
bool resetMe(void) const
true if ME should be reset at end of monitoring cycle
const uint32_t moduleId(void) const
static bool setOrder(const CoreObject &a, const CoreObject &b)
bool isSoftResetEnabled(void) const
whether soft-reset is enabled; default is false
static const uint32_t DQM_PROP_TYPE_TH2S
void Fill(unsigned char x)
const uint32_t run(void) const
auto zw(V v) -> Vec2< typename std::remove_reference< decltype(v[0])>::type >
void setEfficiencyFlag(void)
static const uint32_t DQM_PROP_TYPE_STRING
void Reset(std::vector< TH2F > &depth)
static const uint32_t DQM_PROP_NEW
void setLumiFlag(void)
this ME is meant to be stored for each luminosity section
static const uint32_t DQM_PROP_TYPE_MASK
static const uint32_t DQM_PROP_LUMI
static const uint32_t DQM_PROP_TYPE_REAL
static const uint32_t DQM_PROP_TYPE_INVALID
static const uint32_t DQM_PROP_TYPE_TPROF2D
static const uint32_t DQM_PROP_TYPE_TH2F