CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Static Private Attributes | Friends
QCriterion Class Referenceabstract

#include <QTest.h>

Inheritance diagram for QCriterion:
SimpleTest CheckVariance Comp2Ref2DChi2 Comp2RefChi2 Comp2RefEqualH Comp2RefKolmogorov CompareLastFilledBin CompareToMedian ContentSigma ContentsWithinExpected ContentsXRange ContentsYRange CSC01 DeadChannel FixedFlatOccupancy1d MeanWithinExpected NoisyChannel

Public Member Functions

std::string algoName () const
 get algorithm name More...
 
virtual std::vector< DQMChannelgetBadChannels () const
 
std::string getMessage () const
 get message attached to test More...
 
std::string getName () const
 get name of quality test More...
 
int getStatus () const
 (class should be created by DQMStore class) More...
 
void setErrorProb (float prob)
 
void setWarningProb (float prob)
 set probability limit for warning and error (default: 90% and 50%) More...
 

Protected Member Functions

void init ()
 initialize values More...
 
 QCriterion (std::string qtname)
 
virtual float runTest (const MonitorElement *me)
 
float runTest (const MonitorElement *me, QReport &qr, DQMNet::QValue &qv)
 
void setAlgoName (std::string name)
 set algorithm name More...
 
virtual void setMessage ()=0
 set message after test has run More...
 
void setVerbose (int verbose)
 probability limits for warnings, errors More...
 
virtual ~QCriterion ()=default
 

Protected Attributes

std::string algoName_
 name of quality test More...
 
float errorProb_
 
std::string message_
 quality test status More...
 
float prob_
 name of algorithm More...
 
std::string qtname_
 
int status_
 
int verbose_
 
float warningProb_
 message attached to test More...
 

Static Private Attributes

static const float ERROR_PROB_THRESHOLD = 0.50
 
static const float WARNING_PROB_THRESHOLD = 0.90
 default "probability" values for setting warnings & errors when running tests More...
 

Friends

class DQMStore
 for creating and deleting class instances More...
 
class MonitorElement
 for running the test More...
 

Detailed Description

Base class for quality tests run on Monitoring Elements;

Currently supporting the following tests:

Definition at line 49 of file QTest.h.

Constructor & Destructor Documentation

QCriterion::QCriterion ( std::string  qtname)
inlineprotected

Definition at line 72 of file QTest.h.

References init(), eostools::move(), qtname_, runTest(), and ~QCriterion().

72 { qtname_ = std::move(qtname); init(); }
std::string qtname_
Definition: QTest.h:113
void init()
initialize values
Definition: QTest.cc:18
def move(src, dest)
Definition: eostools.py:510
virtual QCriterion::~QCriterion ( )
protectedvirtualdefault

Referenced by QCriterion().

Member Function Documentation

std::string QCriterion::algoName ( ) const
inline

get algorithm name

Definition at line 62 of file QTest.h.

References algoName_.

62 { return algoName_; }
std::string algoName_
name of quality test
Definition: QTest.h:114
virtual std::vector<DQMChannel> QCriterion::getBadChannels ( ) const
inlinevirtual

get vector of channels that failed test (not relevant for all quality tests!)

Reimplemented in SimpleTest.

Definition at line 68 of file QTest.h.

Referenced by SimpleTest::getBadChannels(), and runTest().

69  { return std::vector<DQMChannel>(); }
std::string QCriterion::getMessage ( ) const
inline

get message attached to test

Definition at line 58 of file QTest.h.

References message_.

58 { return message_; }
std::string message_
quality test status
Definition: QTest.h:117
std::string QCriterion::getName ( void  ) const
inline

get name of quality test

Definition at line 60 of file QTest.h.

References qtname_.

Referenced by MonitorElement::addQReport(), plotting.Plot::draw(), and MonitorElement::runQTests().

60 { return qtname_; }
std::string qtname_
Definition: QTest.h:113
int QCriterion::getStatus ( ) const
inline

(class should be created by DQMStore class)

get test status (see Core/interface/DQMDefinitions.h)

Definition at line 56 of file QTest.h.

References status_.

56 { return status_; }
int status_
Definition: QTest.h:116
void QCriterion::init ( void  )
protected

initialize values

Definition at line 18 of file QTest.cc.

References dqm::qstatus::DID_NOT_RUN.

Referenced by QCriterion().

19 {
22  setAlgoName("NO_ALGORITHM");
24  message_ = "NO_MESSAGE";
25  verbose_ = 0; // 0 = silent, 1 = algorithmic failures, 2 = info
26 }
void setAlgoName(std::string name)
set algorithm name
Definition: QTest.h:80
int verbose_
Definition: QTest.h:120
int status_
Definition: QTest.h:116
float errorProb_
Definition: QTest.h:118
static const int DID_NOT_RUN
static const float ERROR_PROB_THRESHOLD
Definition: QTest.h:125
std::string message_
quality test status
Definition: QTest.h:117
float warningProb_
message attached to test
Definition: QTest.h:118
static const float WARNING_PROB_THRESHOLD
default "probability" values for setting warnings & errors when running tests
Definition: QTest.h:124
float QCriterion::runTest ( const MonitorElement me)
protectedvirtual
float QCriterion::runTest ( const MonitorElement me,
QReport qr,
DQMNet::QValue qv 
)
inlineprotected

Definition at line 82 of file QTest.h.

References algoName_, DQMNet::QValue::algorithm, QReport::badChannels_, DQMNet::QValue::code, gather_cfg::cout, dqm::qstatus::ERROR, errorProb_, getBadChannels(), DQMNet::QValue::message, message_, prob_, QReport::qcriterion_, DQMNet::QValue::qtname, qtname_, DQMNet::QValue::qtresult, runTest(), setMessage(), status_, dqm::qstatus::STATUS_OK, verbose_, dqm::qstatus::WARNING, and warningProb_.

82  {
83  assert(qr.qcriterion_ == this);
84  assert(qv.qtname == qtname_);
85 
86  prob_ = runTest(me); // this runTest goes to SimpleTest derivates
87 
91 
92  setMessage(); // this goes to SimpleTest derivates
93 
94  if (verbose_==2) std::cout << " Message = " << message_ << std::endl;
95  if (verbose_==2) std::cout << " Name = " << qtname_ <<
96  " / Algorithm = " << algoName_ <<
97  " / Status = " << status_ <<
98  " / Prob = " << prob_ << std::endl;
99 
100  qv.code = status_;
101  qv.message = message_;
102  qv.qtname = qtname_;
103  qv.algorithm = algoName_;
104  qv.qtresult = prob_;
106 
107  return prob_;
108  }
QCriterion * qcriterion_
Definition: QReport.h:51
std::string algorithm
Definition: DQMNet.h:94
int verbose_
Definition: QTest.h:120
int status_
Definition: QTest.h:116
std::string algoName_
name of quality test
Definition: QTest.h:114
static const int WARNING
virtual std::vector< DQMChannel > getBadChannels() const
Definition: QTest.h:68
std::string qtname_
Definition: QTest.h:113
float errorProb_
Definition: QTest.h:118
float prob_
name of algorithm
Definition: QTest.h:115
std::string qtname
Definition: DQMNet.h:93
std::string message_
quality test status
Definition: QTest.h:117
virtual void setMessage()=0
set message after test has run
virtual float runTest(const MonitorElement *me)
Definition: QTest.cc:28
std::vector< DQMChannel > badChannels_
Definition: QReport.h:52
std::string message
Definition: DQMNet.h:92
static const int STATUS_OK
float qtresult
Definition: DQMNet.h:91
float warningProb_
message attached to test
Definition: QTest.h:118
static const int ERROR
void QCriterion::setAlgoName ( std::string  name)
inlineprotected
void QCriterion::setErrorProb ( float  prob)
inline
virtual void QCriterion::setMessage ( )
protectedpure virtual

set message after test has run

Implemented in CompareLastFilledBin, CompareToMedian, Comp2Ref2DChi2, Comp2RefChi2, and SimpleTest.

Referenced by runTest().

void QCriterion::setVerbose ( int  verbose)
inlineprotected

probability limits for warnings, errors

Definition at line 119 of file QTest.h.

References verbose, and verbose_.

Referenced by DQMStore::createQTest().

119 { verbose_ = verbose; }
bool verbose
int verbose_
Definition: QTest.h:120
void QCriterion::setWarningProb ( float  prob)
inline

Friends And Related Function Documentation

friend class DQMStore
friend

for creating and deleting class instances

Definition at line 128 of file QTest.h.

friend class MonitorElement
friend

for running the test

Definition at line 130 of file QTest.h.

Member Data Documentation

std::string QCriterion::algoName_
protected

name of quality test

Definition at line 114 of file QTest.h.

Referenced by algoName(), runTest(), setAlgoName(), CompareToMedian::setMessage(), and CompareLastFilledBin::setMessage().

const float QCriterion::ERROR_PROB_THRESHOLD = 0.50
staticprivate

Definition at line 125 of file QTest.h.

float QCriterion::errorProb_
protected
std::string QCriterion::message_
protected
float QCriterion::prob_
protected

name of algorithm

Definition at line 115 of file QTest.h.

Referenced by runTest(), CompareToMedian::setMessage(), and CompareLastFilledBin::setMessage().

std::string QCriterion::qtname_
protected
int QCriterion::status_
protected

Definition at line 116 of file QTest.h.

Referenced by getStatus(), and runTest().

int QCriterion::verbose_
protected

Definition at line 120 of file QTest.h.

Referenced by runTest(), and setVerbose().

const float QCriterion::WARNING_PROB_THRESHOLD = 0.90
staticprivate

default "probability" values for setting warnings & errors when running tests

Definition at line 124 of file QTest.h.

float QCriterion::warningProb_
protected

message attached to test

Definition at line 118 of file QTest.h.

Referenced by runTest(), Comp2RefChi2::setMessage(), Comp2Ref2DChi2::setMessage(), and setWarningProb().