17 #include "dqm_core/exceptions.h" 
   18 #include "dqm_core/AlgorithmConfig.h" 
   19 #include "dqm_core/AlgorithmManager.h" 
   20 #include "dqm_core/Result.h" 
   55   if( 
object.
IsA()->InheritsFrom( 
"TH2" ) ) {
 
   57     if (
hist->GetDimension() != 2 ){
 
   58       throw dqm_core::BadConfig( ERS_HERE, 
name, 
"dimension != 2 " );
 
   61     throw dqm_core::BadConfig( ERS_HERE, 
name, 
"does not inherit from TH2" );
 
   73   catch ( dqm_core::Exception & ex ) {
 
   74     throw dqm_core::BadConfig( ERS_HERE, 
name, ex.what(), ex );
 
   81   TH1* projection = 
hist->ProjectionX();
 
   84   std::map<std::string,double> 
tags; 
 
   90   for(
int iBin=1;iBin<=projection->GetNbinsX();iBin++)
 
   92       if( projection->GetBinContent(iBin)*
thresh > 
hist->GetBinContent(iBin,centralBin)  ) 
 
   94           result->status_ = dqm_core::Result::Yellow;
 
   98           if(iBin < 10) slNum = 
"0" + slNum; 
 
  100           tags[slNum] = 
hist->GetBinContent(iBin,centralBin)*1.0 / projection->GetBinContent(iBin) ;
 
  103   tags[
"howmanybad"] = howmanybad;
 
  128   message += 
"Description: for each SL x-slice (set of y-bins for the same x value) check that the central y bin has at least 'thresh' percent(ratio) of the sum of values in the SL \n";