Description: Produces the result from the HBENoiseFilter
Implementation: Use the HcalNoiseSummary to make cuts on an event-by-event basis
Definition at line 41 of file HBHENoiseFilterResultProducer.cc.
Definition at line 115 of file HBHENoiseFilterResultProducer.cc.
References electrons_cff::bool, bunchSpacing_, decisionMap_, defaultDecision_, DEFINE_FWK_MODULE, Exception, edm::Event::getByToken(), HcalNoiseSummary::goodJetFoundInLowBVRegion(), HcalNoiseSummary::HasBadRBXRechitR45Loose(), HcalNoiseSummary::HasBadRBXRechitR45Tight(), HcalNoiseSummary::HasBadRBXTS4TS5(), HBHENoiseFilterResultProducer(), IgnoreTS4TS5ifJetInLowBVRegion_, HcalNoiseSummary::isolatedNoiseSumE(), HcalNoiseSummary::isolatedNoiseSumEt(), edm::HandleBase::isValid(), HcalNoiseSummary::maxHPDHits(), HcalNoiseSummary::maxHPDNoOtherHits(), HcalNoiseSummary::maxZeros(), minHPDHits_, minHPDNoOtherHits_, minIsolatedNoiseSumE_, minIsolatedNoiseSumEt_, minNumIsolatedNoiseChannels_, minZeros_, eostools::move(), noisetoken_, HcalNoiseSummary::numIsolatedNoiseChannels(), edm::errors::ProductNotFound, edm::Event::put(), heppy_report::summary, and useBunchSpacingProducer_.
Referenced by JSONExport.JsonExport::export(), HTMLExport.HTMLExport::export(), and HTMLExport.HTMLExportStatic::export().
128 bool goodJetFoundInLowBVRegion =
false;
130 goodJetFoundInLowBVRegion =
summary.goodJetFoundInLowBVRegion();
136 const bool failRun1 = failCommon || (
summary.HasBadRBXTS4TS5() &&
137 !goodJetFoundInLowBVRegion);
140 const bool failRun2Loose = failCommon || (
summary.HasBadRBXRechitR45Loose() &&
141 !goodJetFoundInLowBVRegion);
142 decisionMap_[
"HBHENoiseFilterResultRun2Loose"] = failRun2Loose;
144 const bool failRun2Tight = failCommon || (
summary.HasBadRBXRechitR45Tight() &&
145 !goodJetFoundInLowBVRegion);
146 decisionMap_[
"HBHENoiseFilterResultRun2Tight"] = failRun2Tight;
149 std::unique_ptr<bool> pOut;
150 for (std::map<std::string, bool>::const_iterator it =
decisionMap_.begin();
153 pOut = std::unique_ptr<bool>(
new bool(!it->second));
161 unsigned int bunchspacing = 0;
163 bunchspacing = *bunchSpacingH;
164 if( bunchspacing == 50 ){
175 throw cms::Exception(
"Invalid HBHENoiseFilterResultProducer parameter \"defaultDecision\"");
176 pOut = std::unique_ptr<bool>(
new bool(!it->second));
183 pOut = std::unique_ptr<bool>(
new bool(!failIsolation));
184 iEvent.
put(
std::move(pOut),
"HBHEIsoNoiseFilterResult");
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
double minIsolatedNoiseSumE_
std::map< std::string, bool > decisionMap_
bool useBunchSpacingProducer_
bool IgnoreTS4TS5ifJetInLowBVRegion_
int minNumIsolatedNoiseChannels_
edm::EDGetTokenT< unsigned int > bunchSpacing_
double minIsolatedNoiseSumEt_
edm::EDGetTokenT< HcalNoiseSummary > noisetoken_
std::string defaultDecision_