ATLAS Offline Software
Loading...
Searching...
No Matches
dqm_algorithms::AFP_SiTEfficiency Class Reference

#include <AFP_SiTEfficiency.h>

Inheritance diagram for dqm_algorithms::AFP_SiTEfficiency:
Collaboration diagram for dqm_algorithms::AFP_SiTEfficiency:

Public Member Functions

 AFP_SiTEfficiency ()
 ~AFP_SiTEfficiency ()
AFP_SiTEfficiencyclone () override
dqm_core::Result * execute (const std::string &name, const TObject &object, const dqm_core::AlgorithmConfig &config) override
void printDescriptionTo (std::ostream &out) override

Detailed Description

Definition at line 21 of file AFP_SiTEfficiency.h.

Constructor & Destructor Documentation

◆ AFP_SiTEfficiency()

dqm_algorithms::AFP_SiTEfficiency::AFP_SiTEfficiency ( )

Definition at line 22 of file AFP_SiTEfficiency.cxx.

22 {
23 dqm_core::AlgorithmManager::instance().registerAlgorithm( "AFP_SiTEfficiency", this );
24}

◆ ~AFP_SiTEfficiency()

dqm_algorithms::AFP_SiTEfficiency::~AFP_SiTEfficiency ( )

Definition at line 26 of file AFP_SiTEfficiency.cxx.

26 {
27}

Member Function Documentation

◆ clone()

dqm_algorithms::AFP_SiTEfficiency * dqm_algorithms::AFP_SiTEfficiency::clone ( )
override

Definition at line 30 of file AFP_SiTEfficiency.cxx.

◆ execute()

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

Definition at line 35 of file AFP_SiTEfficiency.cxx.

37 {
38 if ( !object.IsA()->InheritsFrom( "TEfficiency" ) ) {
39 throw dqm_core::BadConfig( ERS_HERE, name, "does not inherit from TEfficiency" );
40 }
41
42 auto histogram = static_cast<const TEfficiency*>( &object );
43
44 auto gthreshold = static_cast<uint32_t>( dqm_algorithms::tools::GetFromMap( "NEfficiency", config.getGreenThresholds() ) );
45 auto rthreshold = static_cast<uint32_t>( dqm_algorithms::tools::GetFromMap( "NEfficiency", config.getRedThresholds() ) );
46 float efficiency = 0;
47
48 TH1* h_total = histogram->GetCopyTotalHisto();
49 TH1* h_passed = histogram->GetCopyPassedHisto();
50
51 float n_total = float ( h_total->GetEntries() );
52 float n_passed = float ( h_passed->GetEntries() );
53 efficiency = n_passed/n_total*100;
54
55 auto result = new dqm_core::Result();
56
57 // publish problematic bins
58 result->tags_[ "Plane efficiency = " ] = efficiency;
59
60 if ( efficiency == 0 )
61 result->status_ = dqm_core::Result::Undefined;
62 else if ( efficiency > gthreshold )
63 result->status_ = dqm_core::Result::Green;
64 else if ( ( efficiency <= gthreshold ) && (efficiency > rthreshold) )
65 result->status_ = dqm_core::Result::Yellow;
66 else
67 result->status_ = dqm_core::Result::Red;
68
69 return result;
70}
std::string histogram
Definition chains.cxx:52
void efficiency(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")
const T & GetFromMap(const std::string &pname, const std::map< std::string, T > &params)
setEventNumber uint32_t
#define IsA
Declare the TObject style functions.

◆ printDescriptionTo()

void dqm_algorithms::AFP_SiTEfficiency::printDescriptionTo ( std::ostream & out)
override

Definition at line 72 of file AFP_SiTEfficiency.cxx.

72 {
73 out << "AFP_SiTEfficiency: Print out if general plane efficiency is less than limit"<< std::endl;
74}

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