CMS 3D CMS Logo

Public Member Functions | Protected Member Functions | Protected Attributes | Static Private Attributes | Friends

QCriterion Class Reference

#include <QTest.h>

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

List of all members.

Public Member Functions

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

Protected Member Functions

void init (void)
 initialize values
 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
virtual void setMessage (void)=0
 set message after test has run
void setVerbose (int verbose)
 probability limits for warnings, errors
virtual ~QCriterion (void)

Protected Attributes

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

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

Friends

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

Detailed Description

Base class for quality tests run on Monitoring Elements;

Currently supporting the following tests:

Definition at line 44 of file QTest.h.


Constructor & Destructor Documentation

QCriterion::QCriterion ( std::string  qtname) [inline, protected]

Definition at line 67 of file QTest.h.

References init(), and qtname_.

{ qtname_ = qtname; init(); }
virtual QCriterion::~QCriterion ( void  ) [inline, protected, virtual]

Definition at line 71 of file QTest.h.

{}

Member Function Documentation

std::string QCriterion::algoName ( void  ) const [inline]

get algorithm name

Definition at line 57 of file QTest.h.

References algoName_.

{ return algoName_; }
virtual std::vector<DQMChannel> QCriterion::getBadChannels ( void  ) const [inline, virtual]

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

Reimplemented in SimpleTest.

Definition at line 63 of file QTest.h.

Referenced by runTest().

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

get message attached to test

Definition at line 53 of file QTest.h.

References message_.

{ return message_; }
std::string QCriterion::getName ( void  ) const [inline]

get name of quality test

Definition at line 55 of file QTest.h.

References qtname_.

Referenced by MonitorElement::addQReport(), and MonitorElement::runQTests().

{ return qtname_; }
int QCriterion::getStatus ( void  ) const [inline]

(class should be created by DQMStore class)

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

Definition at line 51 of file QTest.h.

References status_.

{ return status_; }
void QCriterion::init ( void  ) [protected]

initialize values

Definition at line 17 of file QTest.cc.

References dqm::qstatus::DID_NOT_RUN.

Referenced by QCriterion().

{
  errorProb_ = ERROR_PROB_THRESHOLD;
  warningProb_ = WARNING_PROB_THRESHOLD;
  setAlgoName("NO_ALGORITHM");
  status_ = dqm::qstatus::DID_NOT_RUN;
  message_ = "NO_MESSAGE";
  verbose_ = 0; // 0 = silent, 1 = algorithmic failures, 2 = info
}
float QCriterion::runTest ( const MonitorElement me) [protected, virtual]

Reimplemented in Comp2RefEqualH, Comp2RefChi2, Comp2RefKolmogorov, ContentsXRange, ContentsYRange, DeadChannel, NoisyChannel, ContentsWithinExpected, MeanWithinExpected, FixedFlatOccupancy1d, CSC01, and CompareToMedian.

Definition at line 27 of file QTest.cc.

References raiseDQMError().

Referenced by MonitorElement::runQTests(), and runTest().

{
  raiseDQMError("QCriterion", "virtual runTest method called" );
  return 0.;
}
float QCriterion::runTest ( const MonitorElement me,
QReport qr,
DQMNet::QValue qv 
) [inline, protected]

Definition at line 77 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_.

                                                                           {
      assert(qr.qcriterion_ == this);
      assert(qv.qtname == qtname_);

      prob_ = runTest(me); // this runTest goes to SimpleTest derivates

      if (prob_ < errorProb_) status_ = dqm::qstatus::ERROR;
      else if (prob_ < warningProb_) status_ = dqm::qstatus::WARNING;
      else status_ = dqm::qstatus::STATUS_OK;

      setMessage(); // this goes to SimpleTest derivates
     
      if (verbose_==2) std::cout << " Message = " << message_ << std::endl;
      if (verbose_==2) std::cout << " Name = " << qtname_ << 
              " / Algorithm = " << algoName_ << 
              " / Status = " << status_ << 
              " / Prob = " << prob_ << std::endl;

      qv.code = status_;
      qv.message = message_;
      qv.qtname = qtname_;
      qv.algorithm = algoName_;
      qv.qtresult = prob_;
      qr.badChannels_ = getBadChannels();

      return prob_;
    }
void QCriterion::setAlgoName ( std::string  name) [inline, protected]
void QCriterion::setErrorProb ( float  prob) [inline]
virtual void QCriterion::setMessage ( void  ) [protected, pure virtual]

set message after test has run

Implemented in SimpleTest, Comp2RefChi2, and CompareToMedian.

Referenced by runTest().

void QCriterion::setVerbose ( int  verbose) [inline, protected]

probability limits for warnings, errors

Definition at line 114 of file QTest.h.

References validate_alignment_devdb10_cfg::verbose, and verbose_.

Referenced by DQMStore::createQTest().

void QCriterion::setWarningProb ( float  prob) [inline]

Friends And Related Function Documentation

friend class DQMStore [friend]

for creating and deleting class instances

Definition at line 123 of file QTest.h.

friend class MonitorElement [friend]

for running the test

Definition at line 125 of file QTest.h.


Member Data Documentation

std::string QCriterion::algoName_ [protected]

name of quality test

Definition at line 109 of file QTest.h.

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

const float QCriterion::ERROR_PROB_THRESHOLD = 0.50 [static, private]

Definition at line 120 of file QTest.h.

float QCriterion::errorProb_ [protected]

Definition at line 113 of file QTest.h.

Referenced by runTest(), setErrorProb(), and Comp2RefChi2::setMessage().

std::string QCriterion::message_ [protected]

quality test status

Definition at line 112 of file QTest.h.

Referenced by getMessage(), runTest(), SimpleTest::setMessage(), CompareToMedian::setMessage(), and Comp2RefChi2::setMessage().

float QCriterion::prob_ [protected]

name of algorithm

Definition at line 110 of file QTest.h.

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

std::string QCriterion::qtname_ [protected]

Definition at line 108 of file QTest.h.

Referenced by getName(), QCriterion(), runTest(), and CompareToMedian::setMessage().

int QCriterion::status_ [protected]

Definition at line 111 of file QTest.h.

Referenced by getStatus(), and runTest().

int QCriterion::verbose_ [protected]

Definition at line 115 of file QTest.h.

Referenced by runTest(), and setVerbose().

const float QCriterion::WARNING_PROB_THRESHOLD = 0.90 [static, private]

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

Definition at line 119 of file QTest.h.

float QCriterion::warningProb_ [protected]

message attached to test

Definition at line 113 of file QTest.h.

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