#include <DivideReference_BinContentComp.h>
◆ DivideReference_BinContentComp()
dqm_algorithms::DivideReference_BinContentComp::DivideReference_BinContentComp |
( |
| ) |
|
|
inline |
◆ clone()
◆ execute()
Definition at line 43 of file DivideReference.cxx.
47 if(
object.
IsA()->InheritsFrom(
"TH1" ) ) {
50 throw dqm_core::BadConfig( ERS_HERE,
name,
"does not inherit from TH1" );
55 if (
histogram->GetEffectiveEntries() < minstat ) {
57 result->tags_[
"InsufficientEffectiveEntries"] =
histogram->GetEffectiveEntries();
63 TObject* ro =
config.getReference();
64 const TObject* firstReference=0;
65 TObject* secondReference=0;
69 catch ( dqm_core::Exception & ex ) {
70 throw dqm_core::BadRefHist(ERS_HERE,
name,
" Could not retreive reference");
73 const TH1* refhist =
dynamic_cast<const TH1*
>(firstReference);
76 throw dqm_core::BadRefHist( ERS_HERE,
"Dimension",
name );
78 if ((
histogram->GetDimension() != refhist->GetDimension()) ||
79 (
histogram->GetNbinsX() != refhist->GetNbinsX()) ||
80 (
histogram->GetNbinsY() != refhist->GetNbinsY()) ||
81 refhist->GetNbinsZ() !=
histogram->GetNbinsZ() )
83 throw dqm_core::BadRefHist( ERS_HERE,
"number of bins",
name );
88 ERS_DEBUG(2,
"Running algorithm: "<<
m_name);
89 dqm_core::Algorithm* subalgorithm;
93 catch ( dqm_core::AlgorithmNotFound& ex )
95 ERS_DEBUG(2,
"Cannot find algorithm:"+
m_name);
96 throw dqm_core::BadConfig(ERS_HERE,
name,
"Cannot Find sub-algorithm:"+
m_name);
100 newConf.setReference( secondReference );
102 ERS_DEBUG(2,
"Sub algorithm returns:"<<*
result);
104 TObject* robject =
result->getObject();
107 ERS_DEBUG(2,
"Adding modified histogram in result");
112 ERS_DEBUG(2,
"Result already have an associated TObject, appending modified histogram");
113 if ( robject->IsA()->InheritsFrom(
"TCollection") )
115 static_cast<TCollection*
>(robject)->Add(
histogram );
119 TObjArray*
array =
new TObjArray( 2 );
120 array->AddAt( robject->Clone() , 0 );
125 ERS_DEBUG(2,
"Result now have a TObjArray of size:"<<
static_cast<TObjArray*
>(
result->getObject())->GetEntries());
◆ printDescription()
void dqm_algorithms::DivideReference::printDescription |
( |
std::ostream & |
out | ) |
|
|
inherited |
Definition at line 131 of file DivideReference.cxx.
132 out<<
"DivideReference_"+
m_name+
" : Performs the "+
m_name+
" algorithm after dividing the input histogram by the reference. I.e. performing: histogram /= Reference (see TH1::Divide). Adds to the output TObject list the modified input histogram."<<std::endl;
133 out<<
"Optional Parameter : MinStat : Minimum histogram statistics needed to perform Algorithm"<<std::endl;
◆ m_name
std::string dqm_algorithms::DivideReference::m_name |
|
privateinherited |
The documentation for this struct was generated from the following file: