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

#include <GatherData.h>

Inheritance diagram for dqm_algorithms::GatherData:
Collaboration diagram for dqm_algorithms::GatherData:

Public Member Functions

 GatherData ()
virtual ~GatherData ()
virtual dqm_core::Algorithm * clone ()
virtual dqm_core::Result * execute (const std::string &name, const TObject &data, const dqm_core::AlgorithmConfig &config)
virtual void printDescription (std::ostream &out)

Protected Attributes

std::string m_name

Detailed Description

Definition at line 16 of file GatherData.h.

Constructor & Destructor Documentation

◆ GatherData()

dqm_algorithms::GatherData::GatherData ( )

Definition at line 33 of file GatherData.cxx.

35 : m_name("GatherData")
36{
37 dqm_core::AlgorithmManager::instance().registerAlgorithm( m_name, this );
38}

◆ ~GatherData()

dqm_algorithms::GatherData::~GatherData ( )
virtual

Definition at line 41 of file GatherData.cxx.

43{
44}

Member Function Documentation

◆ clone()

dqm_core::Algorithm * dqm_algorithms::GatherData::clone ( )
virtual

Definition at line 48 of file GatherData.cxx.

50{
51 return new GatherData(*this);
52}

◆ execute()

dqm_core::Result * dqm_algorithms::GatherData::execute ( const std::string & name,
const TObject & data,
const dqm_core::AlgorithmConfig & config )
virtual

Definition at line 56 of file GatherData.cxx.

58{
59 dqm_core::Result::Status status(dqm_core::Result::Undefined);
60
61 // Cast to the type of TObject to assess
62 const TH1* h = dynamic_cast<const TH1*>( &data );
63 const TGraph* g = dynamic_cast<const TGraph*>( &data );
64 const TEfficiency* e = dynamic_cast<const TEfficiency*>( &data );
65 if( h == 0 && g == 0 && e==0 ) {
66 throw dqm_core::BadConfig( ERS_HERE, name, "Cannot cast data to type TH1, TGraph, or TEfficiency" );
67 }
68
69 std::map<std::string,double> tags;
70 if( h != 0 ) {
71 tags["Mean"] = h->GetMean();
72 tags["MeanError"] = h->GetMeanError();
73 tags["RMS"] = h->GetRMS();
74 tags["RMSError"] = h->GetRMSError();
75 }
76
77 if( g != 0 ) {
78 tags["XMean"] = g->GetMean(1);
79 tags["YMean"] = g->GetMean(2);
80 tags["XRMS"] = g->GetRMS(1);
81 tags["YRMS"] = g->GetRMS(2);
82 }
83
84 if ( e != 0 ) {
85 tags["Mean"] = e->GetCopyPassedHisto()->GetMean();
86 tags["MeanError"] = e->GetCopyPassedHisto()->GetMeanError();
87 tags["RMS"] = e->GetCopyPassedHisto()->GetRMS();
88 tags["RMSError"] = e->GetCopyPassedHisto()->GetRMSError();
89 }
90
91 dqm_core::Result* result = new dqm_core::Result( status );
92 result->tags_ = std::move(tags);
93
94 return result;
95}
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
std::vector< std::string > tags
Definition hcg.cxx:105
status
Definition merge.py:16

◆ printDescription()

void dqm_algorithms::GatherData::printDescription ( std::ostream & out)
virtual

Definition at line 99 of file GatherData.cxx.

101{
102 std::string message;
103 message += "\n";
104 message += "Algorithm: \"" + m_name + "\"\n";
105 message += "Description: Extracts data (ex., mean, RMS) from an object without performing\n";
106 message += " any assessment; the status is always \"Undefined\"\n";
107 message += "Parameters: none\n";
108 message += "Limits: none\n";
109 message += "\n";
110
111 out << message;
112}

Member Data Documentation

◆ m_name

std::string dqm_algorithms::GatherData::m_name
protected

Definition at line 30 of file GatherData.h.


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