17 #include "dqm_core/exceptions.h"
18 #include "dqm_core/AlgorithmConfig.h"
19 #include "dqm_core/AlgorithmManager.h"
20 #include "dqm_core/Result.h"
35 : m_name(
"MUCTPISLAnyHit")
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" );
70 catch ( dqm_core::Exception & ex ) {
71 throw dqm_core::BadConfig( ERS_HERE,
name, ex.what(), ex );
77 TH1* projection =
hist->ProjectionY();
80 std::map<std::string,double>
tags;
86 for(
int iBin=1;iBin<=projection->GetNbinsX();iBin++)
88 if( projection->GetBinContent(iBin) <
thresh )
90 result->status_ = dqm_core::Result::Yellow;
94 tags[
"howmanybad"] = howmanybad;
109 message +=
"Description: Makes the ProjectionY of the 2D input histo. If any bin content is below the given threshold => warning.\n";
110 message +=
"Optional Parameters: thresh = if any bin content in the ProjectionY is below this value => warning\n";