ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
DataQuality
dqm_algorithms
summary
WorstCaseSummary.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
8
#include <dqm_core/AlgorithmManager.h>
9
#include <dqm_core/Result.h>
10
#include <dqm_core/Parameter.h>
11
#include <
dqm_algorithms/summary/WorstCaseSummary.h
>
12
13
static
dqm_algorithms::summary::WorstCaseSummary
myInstance
;
14
15
dqm_algorithms::summary::WorstCaseSummary::WorstCaseSummary
()
16
{
17
dqm_core::AlgorithmManager::instance().registerSummaryMaker(
"WorstCaseSummary"
,
this
);
18
}
19
20
dqm_algorithms::summary::WorstCaseSummary::~WorstCaseSummary
()
21
{
22
}
23
24
dqm_algorithms::summary::WorstCaseSummary
*
25
dqm_algorithms::summary::WorstCaseSummary::clone
()
26
{
27
return
new
WorstCaseSummary
();
28
}
29
30
dqm_core::Result*
31
dqm_algorithms::summary::WorstCaseSummary::execute
(
const
std::string & ,
32
const
dqm_core::Result &,
33
const
dqm_core::ParametersMap &
map
)
34
{
35
dqm_core::ParametersMap::const_iterator iter;
36
unsigned
int
black=0;
37
unsigned
int
red
=0;
38
unsigned
int
yellow
=0;
39
unsigned
int
green
=0;
40
unsigned
int
undefined
= 0;
41
unsigned
int
skipped = 0;
42
43
for
(iter=
map
.begin();iter!=
map
.end();++iter){
44
//If weight is 0 skip this result. Allow to "turn off"
45
// results in summary makers
46
if
( iter->second->getWeight() == 0 )
47
{
48
ERS_DEBUG(2,
"Skip result (weight 0): "
<<iter->first);
49
++skipped;
50
continue
;
51
}
52
dqm_core::Result::Status status=iter->second->getResult().get()->status_;
53
if
(status==dqm_core::Result::Red) {
54
++
red
;
55
}
else
if
(status==dqm_core::Result::Yellow) {
56
++
yellow
;
57
}
else
if
(status==dqm_core::Result::Green) {
58
++
green
;
59
}
else
if
(status==dqm_core::Result::Disabled) {
60
++black;
61
}
else
{
62
++
undefined
;
63
}
64
}
65
66
dqm_core::Result *newresult =
new
dqm_core::Result();
67
68
if
(black ==
map
.size() ) {
69
newresult->status_=dqm_core::Result::Disabled;
70
return
newresult;
71
}
72
73
74
if
(
red
> 0 ) {
75
newresult->status_=dqm_core::Result::Red;
76
}
else
if
(
yellow
> 0 ) {
77
newresult->status_=dqm_core::Result::Yellow;
78
}
else
if
(
green
> 0 ) {
79
newresult->status_=dqm_core::Result::Green;
80
}
else
{
81
newresult->status_=dqm_core::Result::Undefined;
82
}
83
newresult->tags_.insert(std::make_pair(
"NumRed"
,(
double
)
red
));
84
newresult->tags_.insert(std::make_pair(
"NumYellow"
,(
double
)
yellow
));
85
newresult->tags_.insert(std::make_pair(
"NumGreen"
,(
double
)
green
));
86
newresult->tags_.insert(std::make_pair(
"NumUndefined"
,(
double
)
undefined
));
87
newresult->tags_.insert(std::make_pair(
"NumDisabled"
,(
double
)black));
88
newresult->tags_.insert(std::make_pair(
"NumExcluded"
,(
double
)skipped));
89
return
newresult;
90
}
91
myInstance
static dqm_algorithms::AutoencoderExampleAlgorithm myInstance
Definition
AutoencoderExampleAlgorithm.cxx:30
green
@ green
Definition
BinsDiffFromStripMedian.h:18
red
@ red
Definition
BinsDiffFromStripMedian.h:18
yellow
@ yellow
Definition
BinsDiffFromStripMedian.h:18
HitType::undefined
@ undefined
Definition
FPGATrackSimHit.h:39
WorstCaseSummary.h
file declares the dqm_algorithms::summary::WorstCaseSummary class.
map
STL class.
dqm_algorithms::summary::WorstCaseSummary
A simple summary This summary maker calculates result for a region as the worst result of childs.
Definition
WorstCaseSummary.h:30
dqm_algorithms::summary::WorstCaseSummary::~WorstCaseSummary
~WorstCaseSummary()
Definition
WorstCaseSummary.cxx:20
dqm_algorithms::summary::WorstCaseSummary::execute
dqm_core::Result * execute(const std::string &, const dqm_core::Result &, const dqm_core::ParametersMap &)
Definition
WorstCaseSummary.cxx:31
dqm_algorithms::summary::WorstCaseSummary::WorstCaseSummary
WorstCaseSummary()
Definition
WorstCaseSummary.cxx:15
dqm_algorithms::summary::WorstCaseSummary::clone
WorstCaseSummary * clone()
Definition
WorstCaseSummary.cxx:25
Generated on
for ATLAS Offline Software by
1.17.0