16 if (typeMulticluster ==
"dRC3d") {
19 }
else if (typeMulticluster ==
"DBSCANC3d") {
22 }
else if (typeMulticluster.find(
"Histo") != std::string::npos) {
26 std::make_unique<HGCalHistoClusteringImpl>(conf.
getParameterSet(
"C3d_parameters"));
28 throw cms::Exception(
"HGCTriggerParameterError") <<
"Unknown Multiclustering type '" << typeMulticluster <<
"'";
44 std::vector<edm::Ptr<l1t::HGCalCluster>> clustersPtrs;
45 for (
unsigned i = 0;
i < collHandle->
size(); ++
i) {
47 clustersPtrs.push_back(ptr);
51 std::vector<std::pair<GlobalPoint, double>> seedPositionsEnergy;
88 "HGCalBackendLayer2Processor3DClustering");
T getParameter(std::string const &) const
unsigned size(int bx) const
std::unique_ptr< HGCalMulticlusteringImpl > multiclustering_
std::unique_ptr< HGCalHistoSeedingImpl > multiclusteringHistoSeeding_
edm::ESHandle< HGCalTriggerGeometryBase > triggerGeometry_
void run(const edm::Handle< l1t::HGCalClusterBxCollection > &collHandle, l1t::HGCalMulticlusterBxCollection &collCluster3D, const edm::EventSetup &es) override
HGCalBackendLayer2Processor3DClustering(const edm::ParameterSet &conf)
std::unique_ptr< HGCalHistoClusteringImpl > multiclusteringHistoClustering_
ParameterSet const & getParameterSet(std::string const &) const
MulticlusterType multiclusteringAlgoType_
#define DEFINE_EDM_PLUGIN(factory, type, name)