Description: EDProducer of ElectronSeed objects
Implementation: <Notes on="" implementation>="">
Definition at line 36 of file ElectronSeedProducer.cc.
Definition at line 185 of file ElectronSeedProducer.cc.
References allowHGCal_, applyHOverECut_, hgcalTestNeighbor_cfi::detector, EcalBarrel, EcalEndcap, PVValHelper::eta, hcalHelper_, hgcClusterTools_, mps_fire::i, EcalTools::isHGCalDet(), LogDebug, maxHOverEBarrel_, maxHOverEEndcaps_, edm::RefVector< C, T, F >::push_back(), SCEtCut_, edm::RefVector< C, T, F >::size(), and HLT_2024v12_cff::superClusters.
Referenced by produce().
192 auto const& scl = (*superClusters)[
i];
193 double sclEta =
EleRelPoint(scl.position(), beamSpotPosition).
eta();
194 if (scl.energy() / cosh(sclEta) >
SCEtCut_) {
196 bool hoeVeto =
false;
197 double had =
hcalHelper_->hcalESum(scl, 0, hcalCuts);
198 double scle = scl.energy();
199 int det_group = scl.seed()->hitsAndFractions()[0].first.det();
200 int detector = scl.seed()->hitsAndFractions()[0].first.subdetId();
206 float had_fraction =
hgcClusterTools_->getClusterHadronFraction(*(scl.seed()));
217 LogDebug(
"ElectronSeedProducer") <<
"Filtered out " << sclRefs.
size() <<
" superclusters from "
std::unique_ptr< ElectronHcalHelper > hcalHelper_
size_type size() const
Size of the RefVector.
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
std::unique_ptr< hgcal::ClusterTools > hgcClusterTools_
Definition at line 131 of file ElectronSeedProducer.cc.
References allowHGCal_, beamSpotTag_, cutsFromDB_, MillePedeFileConverter_cfg::e, filterClusters(), edm::EventSetup::getData(), hcalCutsToken_, hcalHelper_, hgcClusterTools_, mps_fire::i, edm::Ref< C, T, F >::id(), initialSeeds_, LogDebug, matcher_, eostools::move(), fileCollector::seed, HLT_2024v12_cff::seeds, and superClusters_.
132 LogDebug(
"ElectronSeedProducer") <<
"[ElectronSeedProducer::produce] entering ";
139 std::vector<TrajectorySeedCollection const*> initialSeedCollections;
140 std::unique_ptr<TrajectorySeedCollection> initialSeedCollectionPtr =
nullptr;
153 initialSeedCollections.clear();
155 initialSeedCollections.push_back(&
e.get(
seeds));
158 auto seeds = std::make_unique<ElectronSeedCollection>();
159 auto const& beamSpotPosition =
e.get(
beamSpotTag_).position();
162 for (
unsigned int i = 0;
i < 2;
i++) {
171 LogDebug(
"ElectronSeedProducer") <<
"new seed with " <<
seed.nHits() <<
" hits" 172 <<
", charge " <<
seed.getCharge() <<
" and cluster energy " 173 << superCluster->energy() <<
" PID " << superCluster.
id();
ProductID id() const
Accessor for product ID.
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
edm::ESGetToken< HcalPFCuts, HcalPFCutsRcd > hcalCutsToken_
std::unique_ptr< ElectronHcalHelper > hcalHelper_
std::unique_ptr< ElectronSeedGenerator > matcher_
edm::EDGetTokenT< reco::SuperClusterCollection > superClusters_[2]
edm::EDGetTokenT< reco::BeamSpot > beamSpotTag_
reco::SuperClusterRefVector filterClusters(math::XYZPoint const &beamSpotPosition, const edm::Handle< reco::SuperClusterCollection > &superClusters, HcalPFCuts const *hcalCuts) const
std::unique_ptr< hgcal::ClusterTools > hgcClusterTools_
std::vector< edm::EDGetTokenT< TrajectorySeedCollection > > initialSeeds_