17 #include <TEfficiency.h>
19 #include "dqm_core/exceptions.h"
20 #include "dqm_core/AlgorithmManager.h"
21 #include "dqm_core/Result.h"
35 : m_name(
"GatherData")
57 execute(
const std::string&
name,
const TObject&
data,
const dqm_core::AlgorithmConfig& )
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" );
69 std::map<std::string,double>
tags;
71 tags[
"Mean"] =
h->GetMean();
72 tags[
"MeanError"] =
h->GetMeanError();
73 tags[
"RMS"] =
h->GetRMS();
74 tags[
"RMSError"] =
h->GetRMSError();
78 tags[
"XMean"] =
g->GetMean(1);
79 tags[
"YMean"] =
g->GetMean(2);
80 tags[
"XRMS"] =
g->GetRMS(1);
81 tags[
"YRMS"] =
g->GetRMS(2);
85 tags[
"Mean"] =
e->GetCopyPassedHisto()->GetMean();
86 tags[
"MeanError"] =
e->GetCopyPassedHisto()->GetMeanError();
87 tags[
"RMS"] =
e->GetCopyPassedHisto()->GetRMS();
88 tags[
"RMSError"] =
e->GetCopyPassedHisto()->GetRMSError();
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";