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 88 uint32_t streamId = 0,
89 uint32_t moduleId = 0);
104 static bool CheckBinLabels(
const TAxis* a1,
const TAxis * a2);
112 {
return data_.
flags; }
162 template <
typename T>
165 int checkArray[
sizeof(int64_t) -
sizeof(
T) + 1];
183 void Fill(
double x,
double yw);
184 void Fill(
double x,
double y,
double zw);
185 void Fill(
double x,
double y,
double z,
double w);
186 void ShiftFillLast(
double y,
double ye = 0., int32_t xscale = 1);
218 std::vector<QReport *> getQReports()
const;
221 std::vector<QReport *> getQWarnings()
const;
224 std::vector<QReport *> getQErrors()
const;
228 std::vector<QReport *> getQOthers()
const;
235 void incompatible(
const char *
func)
const;
236 TH1 *accessRootObject(
const char *func,
int reqdim)
const;
240 double getMean(
int axis = 1)
const;
241 double getMeanError(
int axis = 1)
const;
242 double getRMS(
int axis = 1)
const;
243 double getRMSError(
int axis = 1)
const;
244 int getNbinsX()
const;
245 int getNbinsY()
const;
246 int getNbinsZ()
const;
247 double getBinContent(
int binx)
const;
248 double getBinContent(
int binx,
int biny)
const;
249 double getBinContent(
int binx,
int biny,
int binz)
const;
250 double getBinError(
int binx)
const;
251 double getBinError(
int binx,
int biny)
const;
252 double getBinError(
int binx,
int biny,
int binz)
const;
253 double getEntries()
const;
254 double getBinEntries(
int bin)
const;
257 double getYmin()
const;
258 double getYmax()
const;
263 void setBinContent(
int binx,
double content);
264 void setBinContent(
int binx,
int biny,
double content);
265 void setBinContent(
int binx,
int biny,
int binz,
double content);
266 void setBinError(
int binx,
double error);
267 void setBinError(
int binx,
int biny,
double error);
268 void setBinError(
int binx,
int biny,
int binz,
double error);
269 void setBinEntries(
int bin,
double nentries);
270 void setEntries(
double nentries);
272 void setAxisRange(
double xmin,
double xmax,
int axis = 1);
274 void setAxisTimeDisplay(
int value,
int axis = 1);
275 void setAxisTimeFormat(
const char *
format =
"",
int axis = 1);
278 void setAxisTimeOffset(
double toffset,
const char *
option=
"local",
int axis = 1);
282 #endif // DQM_ROOT_METHODS 287 {
return refvalue_ !=
nullptr; }
316 TAxis *getAxis(
const char *func,
int axis)
const;
322 void disableSoftReset();
323 void addProfiles(TProfile *h1, TProfile *h2, TProfile *sum,
float c1,
float c2);
324 void addProfiles(TProfile2D *h1, TProfile2D *h2, TProfile2D *sum,
float c1,
float c2);
325 void copyFunctions(TH1 *from, TH1 *
to);
326 void copyFrom(TH1 *from);
333 void updateQReportStats();
336 TObject *getRootObject()
const;
338 TH1F *getTH1F()
const;
339 TH1S *getTH1S()
const;
340 TH1D *getTH1D()
const;
341 TH2F *getTH2F()
const;
342 TH2S *getTH2S()
const;
343 TH2D *getTH2D()
const;
344 TH3F *getTH3F()
const;
345 TProfile *getTProfile()
const;
346 TProfile2D *getTProfile2D()
const;
348 TObject *getRefRootObject()
const;
349 TH1 *getRefTH1()
const;
350 TH1F *getRefTH1F()
const;
351 TH1S *getRefTH1S()
const;
352 TH1D *getRefTH1D()
const;
353 TH2F *getRefTH2F()
const;
354 TH2S *getRefTH2S()
const;
355 TH2D *getRefTH2D()
const;
356 TH3F *getRefTH3F()
const;
357 TProfile *getRefTProfile()
const;
358 TProfile2D *getRefTProfile2D()
const;
362 assert(
kind() == DQM_KIND_INT);
368 assert(
kind() == DQM_KIND_REAL);
374 assert(
kind() == DQM_KIND_STRING);
382 tags.push_back(data_.
tag);
387 {
return data_.
tag; }
389 const uint32_t
run()
const {
return data_.
run;}
395 #endif // DQMSERVICES_CORE_MONITOR_ELEMENT_H
static const uint32_t DQM_PROP_REPORT_WARN
int64_t getIntValue() const
static const uint32_t DQM_PROP_TYPE_TH1S
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)
const std::string & getPathname() const
get pathname of parent folder
double getFloatValue() const
uint32_t flags() const
Get the object flags.
void setLumi(uint32_t ls)
bool isSoftResetEnabled() const
whether soft-reset is enabled; default is false
bool hasError() const
true if at least of one of the quality tests returned an error
static const uint32_t DQM_PROP_TAGGED
const std::string & getName() const
get name of ME
static const uint32_t DQM_PROP_EFFICIENCY_PLOT
bool hasOtherReport() const
true if at least of one of the tests returned some other (non-ok) status
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
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)
bool wasUpdated() const
true if ME was updated in last monitoring cycle
static const uint32_t DQM_PROP_ACCUMULATE
void update()
Mark the object updated.
const uint32_t getTag() const
void setLumiFlag()
this ME is meant to be stored for each luminosity section
static const uint32_t DQM_PROP_TYPE_INT
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
bool hasWarning() const
true if at least of one of the quality tests returned a warning
bool resetMe() const
true if ME should be reset at end of monitoring cycle
void resetUpdate()
reset "was updated" flag
bool markedToDelete() const
true if ME is marked for deletion
static const uint32_t DQM_PROP_REPORT_ERROR
static const uint32_t DQM_PROP_REPORT_OTHER
static const uint32_t DQM_PROP_TYPE_TH1D
void Fill(unsigned int x)
const std::string & getStringValue() const
bin
set the eta bin as selection string.
const std::string getFullname() const
get full name of ME including Pathname
const uint32_t lumi() const
void Fill(unsigned long x)
bool isEfficiency() const
static bool setOrder(const CoreObject &a, const CoreObject &b)
const uint32_t moduleId() const
DQMNet::TagList getTags() const
static const uint32_t DQM_PROP_TYPE_TH2S
void Fill(unsigned char x)
std::vector< uint32_t > TagList
auto zw(V v) -> Vec2< typename std::remove_reference< decltype(v[0])>::type >
bool getLumiFlag() const
true if ME is meant to be stored for each luminosity section
static const uint32_t DQM_PROP_TYPE_STRING
void Reset(std::vector< TH2F > &depth)
const uint32_t streamId() const
static const uint32_t DQM_PROP_NEW
static const uint32_t DQM_PROP_TYPE_MASK
static const uint32_t DQM_PROP_LUMI
static const uint32_t DQM_PROP_TYPE_REAL
Kind kind() const
Get the type of the monitor element.
static const uint32_t DQM_PROP_TYPE_INVALID
static const uint32_t DQM_PROP_TYPE_TPROF2D
static const uint32_t DQM_PROP_TYPE_TH2F
bool isAccumulateEnabled() const
whether ME contents should be accumulated over multiple monitoring periods; default: false ...
const uint32_t run() const