40 const TObject &
object,
41 const dqm_core::AlgorithmConfig &
config)
44 if(
object.
IsA()->InheritsFrom(
"TH1" ) ) {
47 throw dqm_core::BadConfig( ERS_HERE, name,
"dimension > 2 " );
50 throw dqm_core::BadConfig( ERS_HERE, name,
"does not inherit from TH1" );
53 dqm_core::Result*
result =
new dqm_core::Result();
56 std::set<int> ignoredBins;
58 if (oneIgnoredBin > 0) {
59 ignoredBins.insert(oneIgnoredBin);
62 if (!ignoredBinsString.empty()) {
63 std::string IgnoredBin;
64 std::istringstream is(ignoredBinsString);
65 while (std::getline(is, IgnoredBin,
';')) {
66 ignoredBins.insert(std::stoi(IgnoredBin));
72 for (
int towerNum = range.at(0); towerNum <= range.at(1); ++towerNum ) {
73 double inputCont =
histogram->GetBinContent(towerNum);
74 if (ignoredBins.count(towerNum))
continue;
75 if (inputCont>worstStatus) worstStatus=inputCont;
79 result->tags_[
"BinContent"] = worstStatus;
80 if(worstStatus==2)
result->status_ = dqm_core::Result::Red;
81 else if(worstStatus==1)
result->status_ = dqm_core::Result::Yellow;
82 else if(worstStatus==0)
result->status_ = dqm_core::Result::Green;
84 result->status_ = dqm_core::Result::Disabled;
static dqm_algorithms::BinContentComp myInstance