Skip to content

Commit

Permalink
Merge pull request #15830 from mbandrews/LowStats81X
Browse files Browse the repository at this point in the history
Fix low stat behavior of Qt Summaries
  • Loading branch information
cmsbuild committed Sep 17, 2016
2 parents d31c134 + fc732e8 commit 6fb7cb1
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 8 deletions.
2 changes: 1 addition & 1 deletion DQM/EcalMonitorClient/src/OccupancyClient.cc
Expand Up @@ -211,7 +211,7 @@ namespace ecaldqm
meanFED = meanFEDEE;
rmsFED = rmsFEDEE;
}
float threshold( meanFED < nRMS*rmsFED ? 10. : meanFED - nRMS*rmsFED );
float threshold( meanFED < nRMS*rmsFED ? minHits_ : meanFED - nRMS*rmsFED );
if ( meanFED > 1000. && Nrhentries[iDCC] < threshold )
meQualitySummary.setBinContent( id, meQualitySummary.maskMatches(id, mask, statusManager_) ? kMBad : kBad );
}
Expand Down
15 changes: 9 additions & 6 deletions DQM/EcalMonitorClient/src/SummaryClient.cc
Expand Up @@ -115,10 +115,6 @@ namespace ecaldqm
// Initialize individual Quality Summaries
// NOTE: These represent quality over *cumulative* statistics
int integrity(sIntegrity ? sIntegrity->getBinContent(id) : kUnknown);
if(integrity == kMUnknown){
qItr->setBinContent(integrity);
if ( onlineMode_ ) continue;
}
int presample(sPresample ? sPresample->getBinContent(id) : kUnknown);
int hotcell(sHotCell ? sHotCell->getBinContent(id) : kUnknown);
int timing(sTiming ? sTiming->getBinContent(id) : kUnknown);
Expand All @@ -136,6 +132,13 @@ namespace ecaldqm
status = kBad;
else if(integrity == kUnknown && presample == kUnknown && timing == kUnknown && rawdata == kUnknown && trigprim == kUnknown)
status = kUnknown;
// Skip channels with no/low integrity statistics (based on digi occupancy)
// Normally, ensures Global Quality and Report Summaries are not filled when stats are still low / channel masked / ECAL not in run
// However, problematic FEDs can sometimes drop hits so check that channel is not flagged as BAD elsewhere
if( status != kBad && (integrity == kUnknown || integrity == kMUnknown)) {
qItr->setBinContent(integrity);
if ( onlineMode_ ) continue;
}
qItr->setBinContent(status);

// Keep running count of good/bad channels/towers
Expand All @@ -160,7 +163,7 @@ namespace ecaldqm
} // qItr channel loop

// search clusters of bad towers
if(onlineMode_){
/*if(onlineMode_){
// EB
for(int iz(-1); iz < 2; iz += 2){
Expand Down Expand Up @@ -220,7 +223,7 @@ namespace ecaldqm
} // ix
} // iz
} // cluster search
} // cluster search */

// Fill Report Summaries
double nBad(0.);
Expand Down
2 changes: 1 addition & 1 deletion DQM/EcalMonitorClient/src/TrigPrimClient.cc
Expand Up @@ -157,7 +157,7 @@ namespace ecaldqm
meanFED = meanFEDEE;
rmsFED = rmsFEDEE;
}
float threshold( meanFED < nRMS*rmsFED ? 10. : meanFED - nRMS*rmsFED );
float threshold( meanFED < nRMS*rmsFED ? minEntries_ : meanFED - nRMS*rmsFED );
if ( meanFED > 100. && Nentries[iDCC] < threshold )
meEmulQualitySummary.setBinContent( ttid, meEmulQualitySummary.maskMatches(ttid, mask, statusManager_) ? kMBad : kBad );
}
Expand Down

0 comments on commit 6fb7cb1

Please sign in to comment.