#include <CheckMean.h>
|
| virtual double | getWarningLimit (const dqm_core::AlgorithmConfig &config, std::string limitName) |
| virtual double | getErrorLimit (const dqm_core::AlgorithmConfig &config, std::string limitName) |
Definition at line 16 of file CheckMean.h.
◆ CheckMean()
| dqm_algorithms::CheckMean::CheckMean |
( |
| ) |
|
Definition at line 30 of file CheckMean.cxx.
34{
35 dqm_core::AlgorithmManager::instance().registerAlgorithm(
m_name,
this );
36}
◆ ~CheckMean()
| dqm_algorithms::CheckMean::~CheckMean |
( |
| ) |
|
|
virtual |
◆ clone()
| dqm_core::Algorithm * dqm_algorithms::CheckMean::clone |
( |
| ) |
|
|
virtual |
◆ execute()
| dqm_core::Result * dqm_algorithms::CheckMean::execute |
( |
const std::string & | name, |
|
|
const TObject & | data, |
|
|
const dqm_core::AlgorithmConfig & | config ) |
|
virtual |
Definition at line 54 of file CheckMean.cxx.
56{
57 dqm_core::Result::Status
status(dqm_core::Result::Undefined);
58
59
60 const TH1*
h =
dynamic_cast<const TH1*
>( &
data );
61 if( h == 0 ) {
62 throw dqm_core::BadConfig( ERS_HERE, name, "Cannot cast data to type TH1" );
63 }
64
65 const TH1*
ref =
dynamic_cast<const TH1*
>(
config.getReference() );
67 throw dqm_core::BadConfig( ERS_HERE, name, "Cannot obtain reference of type TH1" );
68 }
69
70
71 const double mean_data =
h->GetMean();
72 const double mean_ref =
ref->GetMean();
73
74 const double mean_data_err =
h->GetMeanError();
75 const double mean_ref_err =
ref->GetMeanError();
76
79
80 const double s = ( mean_data - mean_ref );
81 const double s2 =
s*
s;
82 const double e2 = mean_data_err*mean_data_err + mean_ref_err*mean_ref_err;
83
85
86
87
88
89
90
91
92 if(
chi2 < chi2_warn ) {
93 status = dqm_core::Result::Green;
94 }
95 else if(
chi2 < chi2_err ) {
96 status = dqm_core::Result::Yellow;
97 }
98 else {
99 status = dqm_core::Result::Red;
100 }
101
102
103 return new dqm_core::Result( status );
104}
const boost::regex ref(r_ef)
char data[hepevt_bytes_allocation_ATLAS]
virtual double getWarningLimit(const dqm_core::AlgorithmConfig &config, std::string limitName)
virtual double getErrorLimit(const dqm_core::AlgorithmConfig &config, std::string limitName)
double chi2(TH1 *h0, TH1 *h1)
double e2(const xAOD::CaloCluster &cluster)
return the uncorrected cluster energy in 2nd sampling
◆ getErrorLimit()
| double dqm_algorithms::CheckMean::getErrorLimit |
( |
const dqm_core::AlgorithmConfig & | config, |
|
|
std::string | limitName ) |
|
protectedvirtual |
Definition at line 145 of file CheckMean.cxx.
147{
148 std::map<std::string,double> rdmap =
config.getRedThresholds();
149 std::map<std::string,double>::const_iterator
i = rdmap.find( limitName );
150 if( i == rdmap.end() ) {
151 throw dqm_core::BadConfig( ERS_HERE, std::move(limitName), "Cannot find red threshold" );
152 }
153
155}
◆ getWarningLimit()
| double dqm_algorithms::CheckMean::getWarningLimit |
( |
const dqm_core::AlgorithmConfig & | config, |
|
|
std::string | limitName ) |
|
protectedvirtual |
Definition at line 131 of file CheckMean.cxx.
133{
134 std::map<std::string,double> grmap =
config.getGreenThresholds();
135 std::map<std::string,double>::const_iterator
i = grmap.find( limitName );
136 if( i == grmap.end() ) {
137 throw dqm_core::BadConfig( ERS_HERE, std::move(limitName), "Cannot find green threshold" );
138 }
139
141}
◆ printDescription()
| void dqm_algorithms::CheckMean::printDescription |
( |
std::ostream & | out | ) |
|
|
virtual |
Definition at line 108 of file CheckMean.cxx.
110{
114 message +=
"Description: Checks the mean of a TH1 against the mean of a reference TH1\n";
115 message +=
" by assessing a chi2 defined by the two means and their errors\n";
116 message +=
"Parameters: none\n";
120
122}
◆ m_limitName
| std::string dqm_algorithms::CheckMean::m_limitName |
|
protected |
◆ m_name
| std::string dqm_algorithms::CheckMean::m_name |
|
protected |
The documentation for this class was generated from the following files: