From d8ad893fdc61c08fad799e50b284fb0024b99622 Mon Sep 17 00:00:00 2001 From: "A.R.Sahasransu" Date: Thu, 14 Apr 2022 03:40:46 +0200 Subject: [PATCH] Change tracks to optional requirement in HLTDisplacedEgammaFilter --- .../plugins/HLTDisplacedEgammaFilter.cc | 34 ++++++++++++------- .../Egamma/plugins/HLTDisplacedEgammaFilter.h | 1 + 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/HLTrigger/Egamma/plugins/HLTDisplacedEgammaFilter.cc b/HLTrigger/Egamma/plugins/HLTDisplacedEgammaFilter.cc index a47e6bc6283b6..c68819dd294e7 100644 --- a/HLTrigger/Egamma/plugins/HLTDisplacedEgammaFilter.cc +++ b/HLTrigger/Egamma/plugins/HLTDisplacedEgammaFilter.cc @@ -36,11 +36,14 @@ HLTDisplacedEgammaFilter::HLTDisplacedEgammaFilter(const edm::ParameterSet& iCon sMaj_max = iConfig.getParameter("sMaj_max"); seedTimeMin = iConfig.getParameter("seedTimeMin"); seedTimeMax = iConfig.getParameter("seedTimeMax"); + useTrackVeto = iConfig.getParameter("useTrackVeto"); inputToken_ = consumes(inputTag_); rechitsEBToken_ = consumes(rechitsEB); rechitsEEToken_ = consumes(rechitsEE); - inputTrkToken_ = consumes(inputTrk); + if (useTrackVeto) { + inputTrkToken_ = consumes(inputTrk); + } } HLTDisplacedEgammaFilter::~HLTDisplacedEgammaFilter() = default; @@ -61,6 +64,7 @@ void HLTDisplacedEgammaFilter::fillDescriptions(edm::ConfigurationDescriptions& desc.add("sMaj_max", 999.0); desc.add("seedTimeMin", -25.0); desc.add("seedTimeMax", 25.0); + desc.add("useTrackVeto", true); desc.add("maxTrackCut", 0); desc.add("trackPtCut", 3.0); desc.add("trackdRCut", 0.5); @@ -86,7 +90,9 @@ bool HLTDisplacedEgammaFilter::hltFilter(edm::Event& iEvent, // get hold of collection of objects edm::Handle tracks; - iEvent.getByToken(inputTrkToken_, tracks); + if (useTrackVeto) { + iEvent.getByToken(inputTrkToken_, tracks); + } // get the EcalRecHit edm::Handle rechitsEB_; @@ -128,19 +134,21 @@ bool HLTDisplacedEgammaFilter::hltFilter(edm::Event& iEvent, //Track Veto - int nTrk = 0; - for (auto const& it : *tracks) { - if (it.pt() < trkPtCut) - continue; - LorentzVector trkP4(it.px(), it.py(), it.pz(), it.p()); - double dR = ROOT::Math::VectorUtil::DeltaR(trkP4, ref->p4()); - if (dR < trkdRCut) - nTrk++; + if (useTrackVeto) { + int nTrk = 0; + for (auto const& it : *tracks) { + if (it.pt() < trkPtCut) + continue; + LorentzVector trkP4(it.px(), it.py(), it.pz(), it.p()); + double dR = ROOT::Math::VectorUtil::DeltaR(trkP4, ref->p4()); + if (dR < trkdRCut) + nTrk++; + if (nTrk > maxTrkCut) + break; + } if (nTrk > maxTrkCut) - break; + continue; } - if (nTrk > maxTrkCut) - continue; n++; // std::cout << "Passed eta: " << ref->eta() << std::endl; diff --git a/HLTrigger/Egamma/plugins/HLTDisplacedEgammaFilter.h b/HLTrigger/Egamma/plugins/HLTDisplacedEgammaFilter.h index 9de00cfd8e24e..d12f90d1a0eb7 100644 --- a/HLTrigger/Egamma/plugins/HLTDisplacedEgammaFilter.h +++ b/HLTrigger/Egamma/plugins/HLTDisplacedEgammaFilter.h @@ -46,6 +46,7 @@ class HLTDisplacedEgammaFilter : public HLTFilter { double sMaj_max; double seedTimeMin; double seedTimeMax; + bool useTrackVeto; edm::InputTag inputTrk; edm::EDGetTokenT inputTrkToken_;