CMS 3D CMS Logo

HGCalHistoClusteringImpl.h
Go to the documentation of this file.
1 #ifndef __L1Trigger_L1THGCal_HGCalHistoClusteringImpl_h__
2 #define __L1Trigger_L1THGCal_HGCalHistoClusteringImpl_h__
3 
8 
13 
15 public:
17 
23  throw cms::Exception("Configuration")
24  << "The per-layer dR values go up to " << (dr_byLayer_coefficientA_.size() - 1) << "(A) and "
25  << (dr_byLayer_coefficientB_.size() - 1) << "(B), while layers go up to " << triggerTools_.lastLayerBH()
26  << "\n";
27  }
28  }
29 
30  float dR(const l1t::HGCalCluster& clu, const GlobalPoint& seed) const;
31 
33  const std::vector<std::pair<GlobalPoint, double>>& seedPositionsEnergy,
34  const HGCalTriggerGeometryBase& triggerGeometry,
36  l1t::HGCalClusterBxCollection& rejected_clusters) const;
37 
38 private:
40 
41  std::vector<l1t::HGCalMulticluster> clusterSeedMulticluster(
42  const std::vector<edm::Ptr<l1t::HGCalCluster>>& clustersPtrs,
43  const std::vector<std::pair<GlobalPoint, double>>& seeds,
44  std::vector<l1t::HGCalCluster>& rejected_clusters) const;
45 
46  void finalizeClusters(std::vector<l1t::HGCalMulticluster>&,
47  const std::vector<l1t::HGCalCluster>&,
50  const HGCalTriggerGeometryBase&) const;
51 
52  double dr_;
53  std::vector<double> dr_byLayer_coefficientA_;
54  std::vector<double> dr_byLayer_coefficientB_;
56 
59 
62  std::unique_ptr<HGCalTriggerClusterIdentificationBase> id_;
63 
64  static constexpr double kMidRadius_ = 2.3;
65 };
66 
67 #endif
std::unique_ptr< HGCalTriggerClusterIdentificationBase > id_
float dR(const l1t::HGCalCluster &clu, const GlobalPoint &seed) const
void finalizeClusters(std::vector< l1t::HGCalMulticluster > &, const std::vector< l1t::HGCalCluster > &, l1t::HGCalMulticlusterBxCollection &, l1t::HGCalClusterBxCollection &, const HGCalTriggerGeometryBase &) const
void setGeometry(const HGCalTriggerGeometryBase *const)
static constexpr double kMidRadius_
void setGeometry(const HGCalTriggerGeometryBase *const geom)
std::vector< double > dr_byLayer_coefficientB_
void clusterizeHisto(const std::vector< edm::Ptr< l1t::HGCalCluster >> &clustersPtr, const std::vector< std::pair< GlobalPoint, double >> &seedPositionsEnergy, const HGCalTriggerGeometryBase &triggerGeometry, l1t::HGCalMulticlusterBxCollection &multiclusters, l1t::HGCalClusterBxCollection &rejected_clusters) const
unsigned lastLayerBH() const
void setGeometry(const HGCalTriggerGeometryBase *const geom)
HGCalHistoClusteringImpl(const edm::ParameterSet &conf)
ClusterAssociationStrategy cluster_association_strategy_
std::vector< l1t::HGCalMulticluster > clusterSeedMulticluster(const std::vector< edm::Ptr< l1t::HGCalCluster >> &clustersPtrs, const std::vector< std::pair< GlobalPoint, double >> &seeds, std::vector< l1t::HGCalCluster > &rejected_clusters) const
std::vector< double > dr_byLayer_coefficientA_