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 102 static bool CheckBinLabels(
const TAxis* a1,
const TAxis * a2);
110 {
return data_.
flags; }
160 template <
typename T>
163 int checkArray[
sizeof(int64_t) -
sizeof(
T) + 1];
181 void Fill(
double x,
double yw);
182 void Fill(
double x,
double y,
double zw);
183 void Fill(
double x,
double y,
double z,
double w);
184 void ShiftFillLast(
double y,
double ye = 0., int32_t xscale = 1);
216 std::vector<QReport *> getQReports()
const;
219 std::vector<QReport *> getQWarnings()
const;
222 std::vector<QReport *> getQErrors()
const;
226 std::vector<QReport *> getQOthers()
const;
233 void incompatible(
const char *
func)
const;
234 TH1 *accessRootObject(
const char *func,
int reqdim)
const;
238 double getMean(
int axis = 1)
const;
239 double getMeanError(
int axis = 1)
const;
240 double getRMS(
int axis = 1)
const;
241 double getRMSError(
int axis = 1)
const;
242 int getNbinsX()
const;
243 int getNbinsY()
const;
244 int getNbinsZ()
const;
245 double getBinContent(
int binx)
const;
246 double getBinContent(
int binx,
int biny)
const;
247 double getBinContent(
int binx,
int biny,
int binz)
const;
248 double getBinError(
int binx)
const;
249 double getBinError(
int binx,
int biny)
const;
250 double getBinError(
int binx,
int biny,
int binz)
const;
251 double getEntries()
const;
252 double getBinEntries(
int bin)
const;
255 double getYmin()
const;
256 double getYmax()
const;
261 void setBinContent(
int binx,
double content);
262 void setBinContent(
int binx,
int biny,
double content);
263 void setBinContent(
int binx,
int biny,
int binz,
double content);
264 void setBinError(
int binx,
double error);
265 void setBinError(
int binx,
int biny,
double error);
266 void setBinError(
int binx,
int biny,
int binz,
double error);
267 void setBinEntries(
int bin,
double nentries);
268 void setEntries(
double nentries);
270 void setAxisRange(
double xmin,
double xmax,
int axis = 1);
272 void setAxisTimeDisplay(
int value,
int axis = 1);
273 void setAxisTimeFormat(
const char *
format =
"",
int axis = 1);
276 void setAxisTimeOffset(
double toffset,
const char *
option=
"local",
int axis = 1);
280 #endif // DQM_ROOT_METHODS 285 {
return refvalue_ !=
nullptr; }
314 TAxis *getAxis(
const char *func,
int axis)
const;
320 void disableSoftReset();
321 void addProfiles(TProfile *h1, TProfile *h2, TProfile *sum,
float c1,
float c2);
322 void addProfiles(TProfile2D *h1, TProfile2D *h2, TProfile2D *sum,
float c1,
float c2);
323 void copyFunctions(TH1 *from, TH1 *
to);
324 void copyFrom(TH1 *from);
331 void updateQReportStats();
334 TObject *getRootObject()
const;
336 TH1F *getTH1F()
const;
337 TH1S *getTH1S()
const;
338 TH1D *getTH1D()
const;
339 TH2F *getTH2F()
const;
340 TH2S *getTH2S()
const;
341 TH2D *getTH2D()
const;
342 TH3F *getTH3F()
const;
343 TProfile *getTProfile()
const;
344 TProfile2D *getTProfile2D()
const;
346 TObject *getRefRootObject()
const;
347 TH1 *getRefTH1()
const;
348 TH1F *getRefTH1F()
const;
349 TH1S *getRefTH1S()
const;
350 TH1D *getRefTH1D()
const;
351 TH2F *getRefTH2F()
const;
352 TH2S *getRefTH2S()
const;
353 TH2D *getRefTH2D()
const;
354 TH3F *getRefTH3F()
const;
355 TProfile *getRefTProfile()
const;
356 TProfile2D *getRefTProfile2D()
const;
360 assert(
kind() == DQM_KIND_INT);
366 assert(
kind() == DQM_KIND_REAL);
372 assert(
kind() == DQM_KIND_STRING);
380 tags.push_back(data_.
tag);
385 {
return data_.
tag; }
387 const uint32_t
run()
const {
return data_.
run;}
392 #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)
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