diff --git a/RecoHI/HiJetAlgos/interface/VoronoiSubtractor.h b/RecoHI/HiJetAlgos/interface/VoronoiSubtractor.h index 144545cddb084..73eb75564b275 100644 --- a/RecoHI/HiJetAlgos/interface/VoronoiSubtractor.h +++ b/RecoHI/HiJetAlgos/interface/VoronoiSubtractor.h @@ -25,6 +25,7 @@ class VoronoiSubtractor : public PileUpSubtractor { edm::EDGetTokenT > srcVor_; std::vector droppedCandidates_; bool dropZeroTowers_; + bool addNegative_; bool addNegativesFromCone_; double infinitesimalPt_; double rParam_; diff --git a/RecoHI/HiJetAlgos/python/HiCaloJetParameters_cff.py b/RecoHI/HiJetAlgos/python/HiCaloJetParameters_cff.py index a9883c74c5fe0..48279ccd94701 100644 --- a/RecoHI/HiJetAlgos/python/HiCaloJetParameters_cff.py +++ b/RecoHI/HiJetAlgos/python/HiCaloJetParameters_cff.py @@ -21,6 +21,7 @@ puWidth = cms.double(0.8), nExclude = cms.uint32(2), dropZeros = cms.bool(True), + addNegative = cms.bool(True), addNegativesFromCone = cms.bool(False), infinitesimalPt = cms.double(0.005) ) diff --git a/RecoHI/HiJetAlgos/python/HiPFJetParameters_cff.py b/RecoHI/HiJetAlgos/python/HiPFJetParameters_cff.py index 2fb455a1fd94b..32c4f9e2758e4 100644 --- a/RecoHI/HiJetAlgos/python/HiPFJetParameters_cff.py +++ b/RecoHI/HiJetAlgos/python/HiPFJetParameters_cff.py @@ -21,6 +21,7 @@ puWidth = cms.double(0.8), nExclude = cms.uint32(2), dropZeros = cms.bool(True), + addNegative = cms.bool(True), addNegativesFromCone = cms.bool(False), infinitesimalPt = cms.double(0.005) ) diff --git a/RecoHI/HiJetAlgos/python/HiRecoJets_cff.py b/RecoHI/HiJetAlgos/python/HiRecoJets_cff.py index d0877d22406f1..f153be23c431b 100644 --- a/RecoHI/HiJetAlgos/python/HiRecoJets_cff.py +++ b/RecoHI/HiJetAlgos/python/HiRecoJets_cff.py @@ -25,7 +25,7 @@ voronoiBackgroundCalo = cms.EDProducer('VoronoiBackgroundProducer', src = cms.InputTag('towerMaker'), tableLabel = cms.string("UETable_Calo"), - doEqualize = cms.bool(True), + doEqualize = cms.bool(False), equalizeThreshold0 = cms.double(5.0), equalizeThreshold1 = cms.double(35.0), equalizeR = cms.double(0.4), diff --git a/RecoHI/HiJetAlgos/python/HiRecoPFJets_cff.py b/RecoHI/HiJetAlgos/python/HiRecoPFJets_cff.py index bb0c88d96d883..0291b35bd87f5 100644 --- a/RecoHI/HiJetAlgos/python/HiRecoPFJets_cff.py +++ b/RecoHI/HiJetAlgos/python/HiRecoPFJets_cff.py @@ -14,7 +14,7 @@ voronoiBackgroundPF = cms.EDProducer('VoronoiBackgroundProducer', src = cms.InputTag('particleFlowTmp'), tableLabel = cms.string("UETable_PF"), - doEqualize = cms.bool(True), + doEqualize = cms.bool(False), equalizeThreshold0 = cms.double(5.0), equalizeThreshold1 = cms.double(35.0), equalizeR = cms.double(0.3), diff --git a/RecoHI/HiJetAlgos/src/VoronoiSubtractor.cc b/RecoHI/HiJetAlgos/src/VoronoiSubtractor.cc index 9121c7310c57b..f9faa4de441cd 100644 --- a/RecoHI/HiJetAlgos/src/VoronoiSubtractor.cc +++ b/RecoHI/HiJetAlgos/src/VoronoiSubtractor.cc @@ -15,6 +15,7 @@ VoronoiSubtractor::VoronoiSubtractor(const edm::ParameterSet& iConfig, edm::Cons srcCand_(iC.consumes(iConfig.getParameter("src"))), srcVor_(iC.consumes >(iConfig.getParameter("bkg"))), dropZeroTowers_(iConfig.getParameter("dropZeros")), + addNegative_(iConfig.getParameter("addNegative")), addNegativesFromCone_(iConfig.getParameter("addNegativesFromCone")), infinitesimalPt_(iConfig.getParameter("infinitesimalPt")), rParam_(iConfig.getParameter("rParam")) @@ -68,8 +69,8 @@ void VoronoiSubtractor::offsetCorrectJets() fastjet::PseudoJet candidate(ref->px(),ref->py(),ref->pz(),ref->energy()); double orpt = candidate.perp(); unsubtracted += candidate; - if(voronoi.pt() > 0){ - candidate.reset_PtYPhiM(voronoi.pt(),ref->rapidity(),ref->phi(),ref->mass()); + if(addNegative_ || voronoi.pt() > 0){ + candidate.reset_PtYPhiM(addNegative_ ? voronoi.pt_subtracted() : voronoi.pt(),ref->rapidity(),ref->phi(),ref->mass()); LogDebug("VoronoiSubtractor")<<"candidate "<