diff --git a/RecoEgamma/EgammaTools/plugins/EGRegressionModifierV3.cc b/RecoEgamma/EgammaTools/plugins/EGRegressionModifierV3.cc index 6075df61c4d8e..0f90dc4b6908b 100644 --- a/RecoEgamma/EgammaTools/plugins/EGRegressionModifierV3.cc +++ b/RecoEgamma/EgammaTools/plugins/EGRegressionModifierV3.cc @@ -61,6 +61,7 @@ class EGRegressionModifierV3 : public ModifyObjectValueBase { edm::EDGetTokenT rhoToken_; bool useClosestToCentreSeedCrysDef_; + bool useBuggedHOverE_; //this allows us to use the regression corrected H/E which is incorrect wrong float maxRawEnergyForLowPtEBSigma_; float maxRawEnergyForLowPtEESigma_; edm::ESGetToken caloGeomToken_; @@ -74,6 +75,7 @@ EGRegressionModifierV3::EGRegressionModifierV3(const edm::ParameterSet& conf, ed rhoValue_(0.), rhoToken_(cc.consumes(conf.getParameter("rhoTag"))), useClosestToCentreSeedCrysDef_(conf.getParameter("useClosestToCentreSeedCrysDef")), + useBuggedHOverE_(conf.getParameter("useBuggedHOverE")), maxRawEnergyForLowPtEBSigma_(conf.getParameter("maxRawEnergyForLowPtEBSigma")), maxRawEnergyForLowPtEESigma_(conf.getParameter("maxRawEnergyForLowPtEESigma")) { if (conf.exists("eleRegs")) { @@ -219,7 +221,8 @@ std::array EGRegressionModifierV3::getRegData(const reco::GsfElectron data[2] = superClus->phiWidth(); data[3] = superClus->seed()->energy() / rawEnergy; data[4] = ssFull5x5.e5x5 / rawEnergy; - data[5] = ele.hcalOverEcalBc(); + //the full5x5 is not regression corrected and thus is the correct one to use + data[5] = useBuggedHOverE_ ? ele.hcalOverEcalBc() : ele.full5x5_hcalOverEcalBc(); data[6] = rhoValue_; data[7] = seedClus->eta() - superClus->position().Eta(); data[8] = reco::deltaPhi(seedClus->phi(), superClus->position().Phi()); diff --git a/RecoEgamma/EgammaTools/python/regressionModifier_cfi.py b/RecoEgamma/EgammaTools/python/regressionModifier_cfi.py index 519ce20144f20..bcf66c37c06bf 100644 --- a/RecoEgamma/EgammaTools/python/regressionModifier_cfi.py +++ b/RecoEgamma/EgammaTools/python/regressionModifier_cfi.py @@ -4,6 +4,7 @@ modifierName = cms.string('EGRegressionModifierV3'), rhoTag = cms.InputTag('fixedGridRhoFastjetAllTmp'), useClosestToCentreSeedCrysDef = cms.bool(False), + useBuggedHOverE = cms.bool(False), maxRawEnergyForLowPtEBSigma = cms.double(-1), maxRawEnergyForLowPtEESigma = cms.double(1200.), eleRegs = cms.PSet( @@ -94,6 +95,7 @@ modifierName = cms.string('EGRegressionModifierV3'), rhoTag = cms.InputTag('fixedGridRhoFastjetAllTmp'), useClosestToCentreSeedCrysDef = cms.bool(False), + useBuggedHOverE = cms.bool(False), maxRawEnergyForLowPtEBSigma = cms.double(-1), maxRawEnergyForLowPtEESigma = cms.double(1200.), eleRegs = cms.PSet(