diff --git a/RecoEgamma/EgammaTools/plugins/EGExtraInfoModifierFromDB.cc b/RecoEgamma/EgammaTools/plugins/EGExtraInfoModifierFromDB.cc index 635bd4c5a3b54..8c3459a60c172 100644 --- a/RecoEgamma/EgammaTools/plugins/EGExtraInfoModifierFromDB.cc +++ b/RecoEgamma/EgammaTools/plugins/EGExtraInfoModifierFromDB.cc @@ -93,6 +93,7 @@ class EGExtraInfoModifierFromDB : public ModifyObjectValueBase { edm::InputTag vtxTag_; edm::EDGetTokenT vtxToken_; edm::Handle vtxH_; + bool applyExtraHighEnergyProtection_; const edm::EventSetup* iSetup_; @@ -112,6 +113,7 @@ EGExtraInfoModifierFromDB::EGExtraInfoModifierFromDB(const edm::ParameterSet& co bunchspacing_ = 450; autoDetectBunchSpacing_ = conf.getParameter("autoDetectBunchSpacing"); + applyExtraHighEnergyProtection_ = conf.getParameter("applyExtraHighEnergyProtection"); rhoTag_ = conf.getParameter("rhoCollection"); vtxTag_ = conf.getParameter("vertexCollection"); @@ -531,7 +533,9 @@ void EGExtraInfoModifierFromDB::modifyObject(reco::GsfElectron& ele) const { // CODE FOR STANDARD BDT double weight = 0.; if ( eOverP > 0.025 && - std::abs(ep-ecor) < 15.*std::sqrt( momentumError*momentumError + sigmacor*sigmacor ) ) { + std::abs(ep-ecor) < 15.*std::sqrt( momentumError*momentumError + sigmacor*sigmacor ) && + (!applyExtraHighEnergyProtection_ || ((momentumError < 10.*ep) || (ecor < 200.))) + ) { // protection against crazy track measurement weight = ep_forestH_weight_->GetResponse(eval_ep); if(weight>1.) diff --git a/RecoEgamma/EgammaTools/python/regressionModifier_cfi.py b/RecoEgamma/EgammaTools/python/regressionModifier_cfi.py index eca55470acbbf..aaebd3989b6de 100644 --- a/RecoEgamma/EgammaTools/python/regressionModifier_cfi.py +++ b/RecoEgamma/EgammaTools/python/regressionModifier_cfi.py @@ -3,6 +3,7 @@ regressionModifier = \ cms.PSet( modifierName = cms.string('EGExtraInfoModifierFromDB'), autoDetectBunchSpacing = cms.bool(True), + applyExtraHighEnergyProtection = cms.bool(False), bunchSpacingTag = cms.InputTag("bunchSpacingProducer"), manualBunchSpacing = cms.int32(50), rhoCollection = cms.InputTag("fixedGridRhoFastjetAll"),