1 #ifndef DQMSERVICES_CORE_Q_CRITERION_H
2 # define DQMSERVICES_CORE_Q_CRITERION_H
5 # include "TProfile2D.h"
64 {
return std::vector<DQMChannel>(); }
93 " / Prob = " <<
prob_ << std::endl;
196 message <<
"chi2/Ndof = " <<
chi2_ <<
"/" <<
Ndof_
216 static std::string
getAlgoName(
void) {
return "Comp2RefKolmogorov"; }
359 static std::string
getAlgoName(
void) {
return "ContentsWithinExpected"; }
371 if (fracTolerance >= 0.0)
398 static std::string
getAlgoName(
void) {
return "MeanWithinExpected"; }
402 void useRange(
double xmin,
double xmax);
403 void useSigma(
double expectedSigma);
479 #if 0 // FIXME: need to know what parameters to set before runTest!
491 ~FlatOccupancy1d(
void)
493 delete [] FailedBins[0];
494 delete [] FailedBins[1];
497 static std::string getAlgoName(
void) {
return "RuleFlatOccupancy1d"; }
499 void set_ExclusionMask(
double *mask) { ExclusionMask = mask; }
502 void set_S_fail(
double S) { S_fail = S; }
503 void set_S_pass(
double S) { S_pass = S; }
504 double get_FailedBins(
void) {
return *FailedBins[2]; }
505 int get_result() {
return result; }
510 double *ExclusionMask;
511 double epsilon_min, epsilon_max;
512 double S_fail, S_pass;
513 double *FailedBins[2];
540 static std::string
getAlgoName(
void) {
return "RuleFixedFlatOccupancy1d"; }
610 static std::string
getAlgoName(
void) {
return "CompareToMedian"; }
624 <<
"): Entry fraction within range = " <<
prob_;
646 #if 0 // FIXME: need to know what parameters to set before runTest!
647 class AllContentAlongDiagonal :
public SimpleTest
650 AllContentAlongDiagonal(const std::string &name) :
SimpleTest(name)
654 static std::string getAlgoName(
void) {
return "RuleAllContentAlongDiagonal"; }
657 void set_S_fail(
double S) { S_fail = S; }
658 void set_S_pass(
double S) { S_pass = S; }
659 double get_epsilon_obs() {
return epsilon_obs; }
660 double get_S_fail_obs() {
return S_fail_obs; }
661 double get_S_pass_obs() {
return S_pass_obs; }
662 int get_result() {
return result; }
670 double S_fail, S_pass;
672 double S_fail_obs, S_pass_obs;
677 #endif // DQMSERVICES_CORE_Q_CRITERION_H
ContentsWithinExpected ContentsWithinExpectedROOT
void setErrorProb(float prob)
float runTest(const MonitorElement *me)
std::string getMessage(void) const
get message attached to test
void set_epsilon_min(double epsilon)
FixedFlatOccupancy1d FixedFlatOccupancy1dROOT
static std::string getAlgoName(void)
double getAverage(int bin, const TH1 *h) const
Comp2RefEqualH(const std::string &name)
float runTest(const MonitorElement *me)
void setAlgoName(std::string name)
set algorithm name
std::string getName(void) const
get name of quality test
test that histogram contents are above Ymin
double ymin_
ymin - threshold
CSC01(const std::string &name)
float runTest(const MonitorElement *me)
SimpleTest(const std::string &name, bool keepBadChannels=false)
void set_ExclusionMask(double *mask)
float runTest(const MonitorElement *me)
void setUseEmptyBins(unsigned int useEmptyBins)
static std::string getAlgoName(void)
FlatOccupancy1d FlatOccupancy1dROOT
virtual void setAllowedXRange(double xmin, double xmax)
set allowed range in X-axis (default values: histogram's X-range)
float runTest(const MonitorElement *me, QReport &qr, DQMNet::QValue &qv)
FlatOccupancy1d RuleFlatOccupancy1d
std::string algoName_
name of quality test
Comp2RefChi2 Comp2RefChi2ROOT
static std::string getAlgoName(void)
void setRMSRange(double xmin, double xmax)
set expected value for mean
void useSigma(double expectedSigma)
virtual std::vector< DQMChannel > getBadChannels(void) const
get vector of channels that failed test (not always relevant!)
NoisyChannel NoisyChannelROOT
void setNumNeighbors(unsigned n)
static std::string getAlgoName(void)
Algorithm for testing if histogram's mean value is near expected value.
DeadChannel(const std::string &name)
float runTest(const MonitorElement *me)
ContentsXRange(const std::string &name)
Check if any channels are noisy compared to neighboring ones.
AllContentAlongDiagonal RuleAllContentAlongDiagonal
Comp2RefEqualH Comp2RefEqualHROOT
ContentsXRange ContentsXRangeROOT
CompareToMedian CompareToMedianROOT
virtual void setMessage(void)
set status & message after test has run
const T & max(const T &a, const T &b)
FixedFlatOccupancy1d RuleFixedFlatOccupancy1d
FixedFlatOccupancy1d(const std::string &name)
Comp2RefKolmogorov Comp2RefKolmogorovROOT
void set_Occupancy(double level)
static std::string getAlgoName(void)
void set_epsilon_max(double epsilon)
static std::string getAlgoName(void)
float prob_
name of algorithm
std::string algoName(void) const
get algorithm name
static const float ERROR_PROB_THRESHOLD
void setTolerance(float percentage)
unsigned int useEmptyBins_
static std::string getAlgoName(void)
void setMinimumEntries(unsigned n)
set minimum # of entries needed
float runTest(const MonitorElement *me)
MeanWithinExpected MeanWithinExpectedROOT
virtual std::vector< DQMChannel > getBadChannels(void) const
ContentsWithinExpected(const std::string &name)
void setExpectedMean(double mean)
AllContentAlongDiagonal AllContentAlongDiagonalROOT
void setUseEmptyBins(unsigned int useEmptyBins)
std::string message_
quality test status
void useRange(double xmin, double xmax)
static std::string getAlgoName(void)
void set_epsilon_max(double epsilon)
int getStatus(void) const
(class should be created by DQMStore class)
NoisyChannel(const std::string &name)
float runTest(const MonitorElement *me)
virtual float runTest(const MonitorElement *me)
void set_S_pass(double S)
std::vector< DQMChannel > badChannels_
void setWarningProb(float prob)
set probability limit for warning and error (default: 90% and 50%)
MeanWithinExpected(const std::string &name)
Comparison to reference using the Kolmogorov algorithm.
static std::string getAlgoName(void)
void init(void)
initialize values
void setVerbose(int verbose)
probability limits for warnings, errors
void setMeanRange(double xmin, double xmax)
set expected value for mean
static std::string getAlgoName(void)
float runTest(const MonitorElement *me)
void set_S_fail(double S)
DeadChannel DeadChannelROOT
QCriterion(std::string qtname)
std::vector< DQMChannel > badChannels_
static const int STATUS_OK
float runTest(const MonitorElement *me)
ContentsYRange(const std::string &name)
ContentsYRange ContentsYRangeROOT
virtual ~QCriterion(void)
void setMeanTolerance(float fracTolerance)
set (fractional) tolerance for mean
Comp2RefChi2(const std::string &name)
void setThreshold(double ymin)
set Ymin (inclusive) threshold for "dead" channel (default: 0)
void setMessage(void)
set status & message after test has run
void set_S_fail(double S)
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
~FixedFlatOccupancy1d(void)
virtual void setAllowedYRange(double ymin, double ymax)
void set_S_pass(double S)
unsigned int useEmptyBins_
float warningProb_
message attached to test
float runTest(const MonitorElement *me)
double get_FailedBins(void)
virtual void setMessage(void)=0
set message after test has run
static std::string getAlgoName(void)
float runTest(const MonitorElement *me)
static const float WARNING_PROB_THRESHOLD
default "probability" values for setting warnings & errors when running tests
Comp2RefKolmogorov(const std::string &name)