Go to the documentation of this file. 1 #ifndef RecoLocalCalo_HGCalRecProducers_HGCalClusteringAlgoBase_h
2 #define RecoLocalCalo_HGCalRecProducers_HGCalClusteringAlgoBase_h
20 std::vector<size_t>
idx(
v.size());
24 std::sort(
idx.begin(),
idx.end(), [&
v](
size_t i1,
size_t i2) {
return v[
i1] >
v[
i2]; });
32 std::vector<size_t>
idx(
v.size(), 0);
36 auto maxidx = std::max_element(
37 idx.begin(),
idx.end(), [&
v](
size_t i1,
size_t i2) {
return v[
i1].data.rho <
v[
i2].data.rho; });
56 virtual std::vector<reco::BasicCluster>
getClusters(
bool) = 0;
57 virtual void reset() = 0;
virtual std::vector< reco::BasicCluster > getClusters(bool)=0
virtual ~HGCalClusteringAlgoBase()
virtual void populate(const HGCRecHitCollection &hits)=0
std::vector< size_t > sorted_indices(const std::vector< T > &v)
VerbosityLevel verbosity_
unsigned int lastLayerFH_
std::vector< reco::BasicCluster > clusters_v_
unsigned int lastLayerEE_
unsigned int firstLayerBH_
HGCalClusteringAlgoBase(VerbosityLevel v, reco::CaloCluster::AlgoId algo)
std::map< DetId, float > Density
void setVerbosity(VerbosityLevel the_verbosity)
reco::CaloCluster::AlgoId algoId_
void setAlgoId(reco::CaloCluster::AlgoId algo, bool isNose=false)
hgcal::RecHitTools rhtools_
virtual hgcal_clustering::Density getDensity()=0
size_t max_index(const std::vector< T > &v)
virtual void getEventSetupPerAlgorithm(const edm::EventSetup &es)
virtual void makeClusters()=0
void getEventSetup(const edm::EventSetup &es)