2 #ifndef RecoParticleFlow_PFClusterProducer_PFRecHitCaloNavigatorWithTime_h 3 #define RecoParticleFlow_PFClusterProducer_PFRecHitCaloNavigatorWithTime_h 28 template <
typename D,
typename T,
bool ownsTopo = true>
44 std::unique_ptr<reco::PFRecHitCollection>&
hits,
118 std::unique_ptr<reco::PFRecHitCollection>&
hits,
122 double sigma2 = 10000.0;
129 return a.detId() <
b.rawId();
132 if (found_hit !=
hits->end() &&
133 ((found_hit->detId() ==
id.rawId()) ||
137 const double deltaTime =
hit.time() - found_hit->time();
138 if (deltaTime * deltaTime <
sigmaCut2_ * sigma2) {
T getParameter(std::string const &) const
~PFRecHitCaloNavigatorWithTime() override
uint32_t cc[maxCellsPerHit]
ParameterSet const & getParameterSet(std::string const &) const
void associateNeighbour(const DetId &id, reco::PFRecHit &hit, std::unique_ptr< reco::PFRecHitCollection > &hits, edm::RefProd< reco::PFRecHitCollection > &refProd, short eta, short phi)
Particle flow rechit (rechit + geometry and topology information). See clustering algorithm in PFClus...
std::unique_ptr< CaloRecHitResolutionProvider > _timeResolutionCalc
std::unique_ptr< const T > topology_
void associateNeighbours(reco::PFRecHit &hit, std::unique_ptr< reco::PFRecHitCollection > &hits, edm::RefProd< reco::PFRecHitCollection > &refProd) override
Power< A, B >::type pow(const A &a, const B &b)
PFRecHitCaloNavigatorWithTime(const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)