81 <<
"Useless configuration of the error/warning filter. Need to select on an error or a warning or both.\n";
105 unsigned int errorsBelowThreshold = 0;
106 unsigned int warningsBelowThreshold = 0;
108 for (
auto const&
summary : *errorsAndWarnings) {
112 int iSeverity =
summary.severity.getLevel();
117 errorsBelowThreshold++;
122 warningsBelowThreshold++;
125 return ((
atLeastOneEntry_ && (errorsBelowThreshold > 0 || warningsBelowThreshold > 0)) ||
130 for (
auto const&
summary : *errorsAndWarnings) {
148 unsigned int nError = 0;
149 unsigned int nWarning = 0;
150 for (
auto const&
summary : *errorsAndWarnings) {
197 desc.
add<
bool>(
"atLeastOneError");
198 desc.
add<
bool>(
"atLeastOneWarning");
199 desc.
add<
bool>(
"useThresholdsPerKind");
200 desc.
add<
unsigned int>(
"maxErrorKindsPerLumi", 999999);
201 desc.
add<
unsigned int>(
"maxWarningKindsPerLumi", 999999);
202 desc.
add<std::vector<std::string>>(
"avoidCategories");
203 descriptions.
add(
"logErrorFilter", desc);
T getParameter(std::string const &) const
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
bool useThresholdsPerKind_
std::vector< std::string > avoidCategories_
unsigned int maxErrorKindsPerLumi_
Handle< PROD > getHandle(EDGetTokenT< PROD > token) const
#define DEFINE_FWK_MODULE(type)
std::map< std::string, unsigned int > errorCounts_
~LogErrorFilter() override
unsigned int maxWarningKindsPerLumi_
bool filter(edm::Event &, edm::EventSetup const &) override
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
void add(std::string const &label, ParameterSetDescription const &psetDescription)
edm::EDGetTokenT< std::vector< edm::ErrorSummaryEntry > > harvesterToken_
LogErrorFilter(edm::ParameterSet const &)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
std::map< std::string, unsigned int > warningCounts_