Implements PFRecHitCreatorBase.
Definition at line 36 of file PFHFRecHitCreator.h.
References a, funct::abs(), cms::cuda::assert(), b, PFRecHitCreatorBase::beginEvent(), Options::const, hcalRecHitTable_cff::depth, ALCARECOPPSCalTrackBasedSel_cff::detid, HBHEDarkening_cff::energy, geomToken_, CaloSubdetectorGeometry::getGeometry(), edm::EventSetup::getHandle(), CaloGeometry::getSubdetectorGeometry(), DetId::Hcal, HcalForward, PFLayer::HF_EM, PFLayer::HF_HAD, HFCalib_, iEvent, runTheMatrix::keep, nano_mu_digi_cff::layer, longFibre_Cut, longFibre_Fraction, pfDeepBoostedJetPreprocessParams_cfi::lower_bound, eostools::move(), MillePedeFileConverter_cfg::out, PFRecHitCreatorBase::qualityTests_, recHitToken_, reco::PFRecHit::setEnergy(), reco::PFRecHit::setTime(), shortFibre_Cut, shortFibre_Fraction, jetUpdater_cfi::sort, l1ctLayer2EG_cff::sorter, thresh_HF_, and hcalRecHitTable_cff::time.
52 for (
const auto& erh : *recHitHandle) {
60 auto energy = erh.energy();
61 auto time = erh.time();
71 <<
"warning detid " <<
detid.rawId() <<
" not found in geometry" << std::endl;
81 bool rcleaned =
false;
86 if (!qtest->test(rh, erh, rcleaned)) {
103 for (
auto&
hit : tmpOut) {
106 if (
detid.depth() == 1) {
107 double lONG =
hit.energy();
112 return a.detId() <
b.rawId();
114 if (found_hit != tmpOut.end() && found_hit->detId() == shortID.rawId()) {
115 double sHORT = found_hit->energy();
117 double energy = lONG - sHORT;
124 out->push_back(newHit);
133 out->push_back(newHit);
137 double sHORT =
hit.energy();
141 return a.detId() <
b.rawId();
144 if (found_hit != tmpOut.end() && found_hit->detId() == longID.rawId()) {
145 double lONG = found_hit->energy();
160 out->push_back(newHit);
168 out->push_back(newHit);
virtual CellMayOwnPtr getGeometry(const DetId &id) const
Get the cell geometry of a given detector id. Should return false if not found.
std::vector< std::unique_ptr< PFRecHitQTestBase > > qualityTests_
edm::EDGetTokenT< edm::SortedCollection< HFRecHit > > recHitToken_
std::vector< PFRecHit > PFRecHitCollection
collection of PFRecHit objects
Log< level::Error, false > LogError
Particle flow rechit (rechit + geometry and topology information). See clustering algorithm in PFClus...
double shortFibre_Fraction
Abs< T >::type abs(const T &t)
void beginEvent(const edm::Event &event, const edm::EventSetup &setup)
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geomToken_
void setTime(double time)
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
void setEnergy(float energy)
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
double longFibre_Fraction