19 if (typeMulticluster ==
"dRC3d") {
22 }
else if (typeMulticluster ==
"DBSCANC3d") {
25 }
else if (typeMulticluster ==
"Histo") {
32 throw cms::Exception(
"HGCTriggerParameterError") <<
"Unknown Multiclustering type '" << typeMulticluster <<
"'";
35 for (
const auto& interpretationPset : conf.
getParameter<std::vector<edm::ParameterSet>>(
"energy_interpretations")) {
36 std::unique_ptr<HGCalTriggerClusterInterpreterBase> interpreter{
38 interpreter->initialize(interpretationPset);
44 std::pair<l1t::HGCalMulticlusterBxCollection, l1t::HGCalClusterBxCollection>& be_output,
54 auto& collCluster3D = be_output.first;
55 auto& rejectedClusters = be_output.second;
58 std::vector<edm::Ptr<l1t::HGCalCluster>> clustersPtrs;
59 for (
unsigned i = 0;
i < collHandle->
size(); ++
i) {
61 clustersPtrs.push_back(ptr);
65 std::vector<std::pair<GlobalPoint, double>> seedPositionsEnergy;
78 clustersPtrs, seedPositionsEnergy, *
triggerGeometry_, collCluster3D, rejectedClusters);
87 interpreter->eventSetup(es);
88 interpreter->interpret(collCluster3D);
110 "HGCalBackendLayer2Processor3DClustering");