template<typename DET, PFLayer::Layer Layer, DetId::Detector det, unsigned subdet>
class PFHGCalRecHitCreator< DET, Layer, det, subdet >
Definition at line 26 of file PFHGCalRecHitCreator.h.
template<typename DET , PFLayer::Layer Layer, DetId::Detector det, unsigned subdet>
Implements PFRecHitCreatorBase.
Definition at line 34 of file PFHGCalRecHitCreator.h.
References HCALHighEnergyHPDFilter_cfi::energy, Exception, relativeConstraints::geom, edm::EventSetup::get(), edm::Event::getByToken(), hgcal::RecHitTools::getEventSetup(), CaloSubdetectorGeometry::getGeometry(), CaloGeometry::getSubdetectorGeometry(), mps_fire::i, keep, LogDebug, or, edm::ESHandle< T >::product(), PFRecHitCreatorBase::qualityTests_, TrackInfoProducer_cfi::rechits, PFHGCalRecHitCreator< DET, Layer, det, subdet >::recHitToken_, PFHGCalRecHitCreator< DET, Layer, det, subdet >::recHitTools_, and ntuplemaker::time.
53 unsigned skipped_rechits = 0;
54 for (
const auto& hgrh : rechits) {
55 const DET detid(hgrh.detid());
57 if (det != detid.det()
or (subdet != 0 and subdet != detid.subdetId())) {
59 <<
"det expected: " << det <<
" det gotten: " << detid.det() <<
" ; " 60 <<
"subdet expected: " << subdet <<
" subdet gotten: " << detid.subdetId() << std::endl;
63 double energy = hgrh.energy();
64 double time = hgrh.time();
70 LogDebug(
"PFHGCalRecHitCreator") <<
"warning detid " << detid.rawId() <<
" not found in geometry" << std::endl;
77 bool rcleaned =
false;
91 cleaned->push_back(rh);
93 edm::LogInfo(
"HGCalRecHitCreator") <<
"Skipped " << skipped_rechits <<
" out of " << rechits.size() <<
" rechits!" 95 edm::LogInfo(
"HGCalRecHitCreator") <<
"Created " <<
out->size() <<
" PFRecHits!" << std::endl;
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
hgcal::RecHitTools recHitTools_
std::vector< std::unique_ptr< PFRecHitQTestBase > > qualityTests_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
SeedingLayerSetsHits::SeedingLayer Layer
Particle flow rechit (rechit + geometry and topology information). See clustering algorithm in PFClus...
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
virtual std::shared_ptr< const CaloCellGeometry > getGeometry(const DetId &id) const
Get the cell geometry of a given detector id. Should return false if not found.
T const * product() const
edm::EDGetTokenT< HGCRecHitCollection > recHitToken_