6 #include "dqm_core/AlgorithmConfig.h"
7 #include "dqm_core/AlgorithmManager.h"
27 const TObject &
object,
28 const dqm_core::AlgorithmConfig &
config)
33 if(
object.
IsA()->InheritsFrom(
"TH1" ) ) {
36 throw dqm_core::BadConfig( ERS_HERE,
name,
"does not inherit from TH1" );
42 int refBinX=-1, refBinY=-1, refBinZ=-1;
48 catch ( dqm_core::Exception & ex ) {
49 throw dqm_core::BadConfig( ERS_HERE,
name, ex.what(), ex );
61 int maxBinX=-1, maxBinY=-1, maxBinZ=-1;
62 histogram->GetMaximumBin(maxBinX,maxBinY,maxBinZ);
66 result->tags_[
"MaxBin_xIndex"] = maxBinX;
67 if (
dim>1)
result->tags_[
"MaxBin_yIndex"] = maxBinY;
68 if (
dim>2)
result->tags_[
"MaxBin_zIndex"] = maxBinZ;
71 bool match = (maxBinX == refBinX);
72 if (
dim>1)
match &= (maxBinY == refBinY);
73 if (
dim>2)
match &= (maxBinZ == refBinZ);
84 out<<
"MaximumBin : Finds a bin with the maximum content and checks if the bin index matches the expectation"<< std::endl;
85 out<<
"Mandatory parameter : RefBinX : Bin x-index where the maximum is expected"<< std::endl;
86 out<<
"Optional parameter : RefBinY : Bin y-index where the maximum is expected"<< std::endl;
87 out<<
"Optional parameter : RefBinZ : Bin z-index where the maximum is expected"<< std::endl;
88 out<<
"Optional Parameter : MinStat : Minimum histogram statistics needed to perform Algorithm\n"<< std::endl;