17 if (typeMulticluster ==
"dRC3d") {
20 }
else if (typeMulticluster ==
"DBSCANC3d") {
23 }
else if (typeMulticluster ==
"Histo") {
30 throw cms::Exception(
"HGCTriggerParameterError") <<
"Unknown Multiclustering type '" << typeMulticluster <<
"'";
33 for (
const auto& interpretationPset : conf.
getParameter<std::vector<edm::ParameterSet>>(
"energy_interpretations")) {
34 std::unique_ptr<HGCalTriggerClusterInterpreterBase> interpreter{
36 interpreter->initialize(interpretationPset);
53 std::vector<edm::Ptr<l1t::HGCalCluster>> clustersPtrs;
54 for (
unsigned i = 0;
i < collHandle->
size(); ++
i) {
56 clustersPtrs.push_back(ptr);
60 std::vector<std::pair<GlobalPoint, double>> seedPositionsEnergy;
82 interpreter->eventSetup(es);
83 interpreter->interpret(collCluster3D);
105 "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_
std::vector< std::unique_ptr< HGCalTriggerClusterInterpreterBase > > energy_interpreters_
#define DEFINE_EDM_PLUGIN(factory, type, name)