45 const TObject&
object,
46 const dqm_core::AlgorithmConfig&
config )
50 if(
object.
IsA()->InheritsFrom(
"TH1" ) ) {
53 throw dqm_core::BadConfig( ERS_HERE, name,
"dimension > 2 " );
56 throw dqm_core::BadConfig( ERS_HERE, name,
"does not inherit from TH1" );
65 if (
histogram->GetEntries() < minstat ) {
66 dqm_core::Result *
result =
new dqm_core::Result(dqm_core::Result::Undefined);
77 catch( dqm_core::Exception & ex ) {
78 throw dqm_core::BadConfig( ERS_HERE, name, ex.what(), ex );
82 std::vector<bin3> badbinstrip;
83 for (
int k = range[0]; k <= range[1]; ++k ) {
84 for (
int l = range[2]; l <= range[3]; ++l ) {
85 double binvalue =
histogram->GetBinContent(k,l);
86 if (binvalue== ignoreval)
continue;
89 if(binvalue > RANGE_D && binvalue < RANGE_U )
continue;
91 badbinstrip.push_back(onebin);
96 dqm_core::Result*
result =
new dqm_core::Result();
99 for(
unsigned int i=0;i<badbinstrip.size();i++){
102 sprintf(tmp,
"%i-(eta,phi)=(%0.3f,%0.3f)",
count,badbinstrip[i].m_eta,badbinstrip[i].m_phi);
103 std::string tag = tmp;
104 result->tags_[tag] = badbinstrip[i].m_value;
107 if(
count>Nmaxpublish)
break;
112 if(
count>rthreshold )
result->status_ = dqm_core::Result::Red;
113 else if (
count>gthreshold)
result->status_ = dqm_core::Result::Yellow;
114 else result->status_ = dqm_core::Result::Green;
static dqm_algorithms::BinContentComp myInstance