ATLAS Offline Software
Loading...
Searching...
No Matches
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
9#include <dqm_core/AlgorithmManager.h>
10
11
14{
15 m_fractionRed = 0.1;
16 m_fractionYellow = 0.1;
17 dqm_core::AlgorithmManager::instance().registerSummaryMaker("FractionSummary",this);
18}
19
25
26dqm_core::Result*
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}
static dqm_algorithms::BinContentComp myInstance
file declares the dqm_algorithms::summary::NeutralSumamry class.
#define y
Declares the FractionSummary SummaryMaker.
virtual dqm_core::Result * execute(const std::string &, const dqm_core::Result &, const dqm_core::ParametersMap &map)
STL class.
int r
Definition globals.cxx:22