ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
DataQuality
dqm_algorithms
summary
FractionSummary.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_algorithms/summary/FractionSummary.h
>
9
#include <dqm_core/AlgorithmManager.h>
10
11
12
static
dqm_algorithms::summary::FractionSummary
myInstance
;
13
dqm_algorithms::summary::FractionSummary::FractionSummary
()
14
{
15
m_fractionRed
= 0.1;
16
m_fractionYellow
= 0.1;
17
dqm_core::AlgorithmManager::instance().registerSummaryMaker(
"FractionSummary"
,
this
);
18
}
19
20
dqm_algorithms::summary::FractionSummary
*
21
dqm_algorithms::summary::FractionSummary::clone
()
22
{
23
return
new
FractionSummary
();
24
}
25
26
dqm_core::Result*
27
dqm_algorithms::summary::FractionSummary::execute
(
const
std::string&,
28
const
dqm_core::Result&,
29
const
dqm_core::ParametersMap&
map
)
30
{
31
int
g = 0 ,
y
= 0 ,
r
= 0 , u = 0;
32
dqm_core::ParametersMap::const_iterator iter =
map
.begin();
33
for
( ; iter !=
map
.end() ; ++iter)
34
{
35
dqm_core::Result::Status mystatus = iter->second->getResult().get()->status_;
36
if
(mystatus == dqm_core::Result::Green) { ++g; }
37
else
if
(mystatus == dqm_core::Result::Yellow) { ++
y
; }
38
else
if
(mystatus == dqm_core::Result::Red) { ++
r
; }
39
else
{ ++u; }
40
}
41
const
int
total = g +
y
+
r
+ u;
42
const
double
RedFraction = total ? ((double)
r
/ total) : 0;
// avoid to divide by zero (should never happen)
43
const
double
YellowFraction = total ? ((double)
y
/ total) : 0;
// avoid to divide by zero (should never happen)
44
45
dqm_core::Result* result =
new
dqm_core::Result(dqm_core::Result::Undefined);
46
result->tags_[
"NGreens"
] = g;
47
result->tags_[
"NYellows"
] =
y
;
48
result->tags_[
"NReds"
] =
r
;
49
result->tags_[
"NUndefineds"
] = u;
50
result->tags_[
"RedThresh"
] =
m_fractionRed
;
51
result->tags_[
"YellowThresh"
] =
m_fractionYellow
;
52
if
(RedFraction >
m_fractionRed
)
53
{
54
result->status_ = dqm_core::Result::Red;
55
}
56
else
if
(YellowFraction >
m_fractionYellow
)
57
{
58
result->status_ = dqm_core::Result::Yellow;
59
}
60
else
if
(g > u)
61
{
62
result->status_ = dqm_core::Result::Green;
63
}
64
// otherwise the status remains undefined, as constructed above
65
return
result;
66
}
myInstance
static dqm_algorithms::AutoencoderExampleAlgorithm myInstance
Definition
AutoencoderExampleAlgorithm.cxx:30
FractionSummary.h
file declares the dqm_algorithms::summary::NeutralSumamry class.
y
#define y
dqm_algorithms::summary::FractionSummary
Declares the FractionSummary SummaryMaker.
Definition
FractionSummary.h:26
dqm_algorithms::summary::FractionSummary::m_fractionYellow
float m_fractionYellow
Definition
FractionSummary.h:33
dqm_algorithms::summary::FractionSummary::m_fractionRed
float m_fractionRed
Definition
FractionSummary.h:32
dqm_algorithms::summary::FractionSummary::clone
FractionSummary * clone()
Definition
FractionSummary.cxx:21
dqm_algorithms::summary::FractionSummary::FractionSummary
FractionSummary()
Definition
FractionSummary.cxx:13
dqm_algorithms::summary::FractionSummary::execute
virtual dqm_core::Result * execute(const std::string &, const dqm_core::Result &, const dqm_core::ParametersMap &map)
Definition
FractionSummary.cxx:27
map
STL class.
r
int r
Definition
globals.cxx:22
Generated on
for ATLAS Offline Software by
1.17.0