ATLAS Offline Software
Loading...
Searching...
No Matches
dqm_algorithms::BlackBin Struct Reference

#include <BlackBin.h>

Inheritance diagram for dqm_algorithms::BlackBin:
Collaboration diagram for dqm_algorithms::BlackBin:

Public Member Functions

 BlackBin ()
BlackBinclone ()
dqm_core::Result * execute (const std::string &, const TObject &, const dqm_core::AlgorithmConfig &)
void printDescription (std::ostream &out)

Detailed Description

Definition at line 18 of file BlackBin.h.

Constructor & Destructor Documentation

◆ BlackBin()

dqm_algorithms::BlackBin::BlackBin ( )

Definition at line 23 of file BlackBin.cxx.

25{
26 dqm_core::AlgorithmManager::instance().registerAlgorithm("BlackBin", this);
27}

Member Function Documentation

◆ clone()

dqm_algorithms::BlackBin * dqm_algorithms::BlackBin::clone ( )

Definition at line 30 of file BlackBin.cxx.

31{
32
33 return new BlackBin();
34}

◆ execute()

dqm_core::Result * dqm_algorithms::BlackBin::execute ( const std::string & name,
const TObject & object,
const dqm_core::AlgorithmConfig & config )

Definition at line 38 of file BlackBin.cxx.

41{
42 const TH2 * histogram;
43
44 if( object.IsA()->InheritsFrom( "TH2" ) ) {
45 histogram = static_cast<const TH2*>(&object);
46 if (histogram->GetDimension() > 3 ){
47 throw dqm_core::BadConfig( ERS_HERE, name, "dimension > 3 " );
48 }
49 } else {
50 throw dqm_core::BadConfig( ERS_HERE, name, "does not inherit from TH2" );
51 }
52
53 // Unused, so commented out: (Why does this algorithm not take a threshold?)
54 // double bin_threshold;
55 // double gthreshold;
56 // double rthreshold;
57 int xbin;
58 int ybin;
59 try {
60 xbin = (int)dqm_algorithms::tools::GetFirstFromMap( "XBin", config.getParameters());
61 ybin = (int)dqm_algorithms::tools::GetFirstFromMap( "YBin", config.getParameters());
62 }
63 catch ( dqm_core::Exception & ex ) {
64 //out << "Some of the parameters are missing!" << std::endl;
65 throw dqm_core::BadConfig( ERS_HERE, name, ex.what(), ex );
66 }
67
68 //Get the bin content of the histogram
69 double binContents= histogram -> GetBinContent(xbin,ybin);
70
71 dqm_core::Result* result = new dqm_core::Result();
72 result->tags_["BinContent"] = binContents;
73 if(binContents>0){
74 result->status_ = dqm_core::Result::Disabled;
75 }
76 else {
77 result->status_ = dqm_core::Result::Green;
78 }
79
80 return result;
81}
std::string histogram
Definition chains.cxx:52
double GetFirstFromMap(const std::string &paramName, const std::map< std::string, double > &params)
#define IsA
Declare the TObject style functions.

◆ printDescription()

void dqm_algorithms::BlackBin::printDescription ( std::ostream & out)

Definition at line 84 of file BlackBin.cxx.

85{
86
87 out<<"Black bin: Returns status -1 (black) if bin has no contents\n" << std::endl;
88
89 out<<"Mandatory parameter: XBin: The label of the X bin that you would like to check\n"<<std::endl;
90
91 out<<"Mandatory parameter: YBin: The label of the Y bin that you would like to check\n"<<std::endl;
92
93}

The documentation for this struct was generated from the following files: