57execute(
const std::string& name,
const TObject&
data,
const dqm_core::AlgorithmConfig& )
59 dqm_core::Result::Status status(dqm_core::Result::Undefined);
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();
91 dqm_core::Result*
result =
new dqm_core::Result( status );