31 if(
object.
IsA()->InheritsFrom(
"TH1" ) ) {
34 throw dqm_core::BadConfig( ERS_HERE, name,
"does not inherit from TH1" );
43 dqm_core::Result *
result =
new dqm_core::Result(dqm_core::Result::Undefined);
44 result->tags_[
"InsufficientEffectiveEntries"] =
histogram->GetEffectiveEntries();
48 TObject* ro =
config.getReference();
49 const TObject* firstReference=0;
50 TObject* secondReference=0;
53 }
catch ( dqm_core::Exception & ex ) {
54 throw dqm_core::BadRefHist(ERS_HERE,name,
" Could not retreive reference");
58 const TH1* refhist =
dynamic_cast<const TH1*
>(firstReference);
60 throw dqm_core::BadRefHist( ERS_HERE,
"Dimension", name );
63 if ((
histogram->GetDimension() != refhist->GetDimension()) || (
histogram->GetNbinsX() != refhist->GetNbinsX()) || (
histogram->GetNbinsY() != refhist->GetNbinsY()) || refhist->GetNbinsZ() !=
histogram->GetNbinsZ() ) {
64 throw dqm_core::BadRefHist( ERS_HERE,
"number of bins", name );
77 dqm_core::Result*
result =
new dqm_core::Result();
83 for(
int i=range[0]; i< range[1]; i++){
84 double binContent =
histogram->GetBinContent(i);
85 double refContent = refhist->GetBinContent(i);
86 double binErr =
histogram->GetBinError(i);
88 if(std::abs(binContent - refContent) < binErr && check_bin_err){
93 double diff = binContent - refContent;
94 double adiff = std::abs(
diff);
106 resulthisto->SetBinContent(i, binContent);
107 if (publish &&
count< maxpublish){
114 result->object_ = boost::shared_ptr<TObject>(resulthisto);
119 if(
count >= rthreshold){
120 result->status_ = dqm_core::Result::Red;
121 }
else if(
count <= gthreshold){
122 result->status_ = dqm_core::Result::Green;
124 result->status_ = dqm_core::Result::Yellow;
void diff(const Jet &rJet1, const Jet &rJet2, std::map< std::string, double > varDiff)
Difference between jets - Non-Class function required by trigger.