CMS 3D CMS Logo

HGCalHistoSeedingImpl.h
Go to the documentation of this file.
1 #ifndef __L1Trigger_L1THGCal_HGCalHistoSeedingImpl_h__
2 #define __L1Trigger_L1THGCal_HGCalHistoSeedingImpl_h__
3 
8 
13 
15 public:
17 
19 
20  float dR(const l1t::HGCalCluster& clu, const GlobalPoint& seed) const;
21 
22  void findHistoSeeds(const std::vector<edm::Ptr<l1t::HGCalCluster>>& clustersPtr,
23  std::vector<std::pair<GlobalPoint, double>>& seedPositionsEnergy);
24 
25 private:
27 
28  typedef std::map<std::array<int, 3>, float> Histogram;
29 
30  Histogram fillHistoClusters(const std::vector<edm::Ptr<l1t::HGCalCluster>>& clustersPtrs);
31 
32  Histogram fillSmoothPhiHistoClusters(const Histogram& histoClusters, const vector<unsigned>& binSums);
33 
34  Histogram fillSmoothRPhiHistoClusters(const Histogram& histoClusters);
35 
36  std::vector<std::pair<GlobalPoint, double>> computeMaxSeeds(const Histogram& histoClusters);
37 
38  std::vector<std::pair<GlobalPoint, double>> computeSecondaryMaxSeeds(const Histogram& histoClusters);
39 
40  std::vector<std::pair<GlobalPoint, double>> computeInterpolatedMaxSeeds(const Histogram& histoClusters);
41 
42  std::vector<std::pair<GlobalPoint, double>> computeThresholdSeeds(const Histogram& histoClusters);
43 
46 
47  unsigned nBinsRHisto_ = 36;
48  unsigned nBinsPhiHisto_ = 216;
49  std::vector<unsigned> binsSumsHisto_;
50  double histoThreshold_ = 20.;
51  std::vector<double> neighbour_weights_;
52 
54 
55  static constexpr unsigned neighbour_weights_size_ = 9;
56  static constexpr double kROverZMin_ = 0.09;
57  static constexpr double kROverZMax_ = 0.52;
58 };
59 
60 #endif
std::vector< std::pair< GlobalPoint, double > > computeInterpolatedMaxSeeds(const Histogram &histoClusters)
std::vector< unsigned > binsSumsHisto_
void eventSetup(const edm::EventSetup &)
Histogram fillSmoothPhiHistoClusters(const Histogram &histoClusters, const vector< unsigned > &binSums)
static unsigned neighbour_weights_size_
Histogram fillSmoothRPhiHistoClusters(const Histogram &histoClusters)
float dR(const l1t::HGCalCluster &clu, const GlobalPoint &seed) const
std::map< std::array< int, 3 >, float > Histogram
std::vector< std::pair< GlobalPoint, double > > computeMaxSeeds(const Histogram &histoClusters)
HGCalTriggerTools triggerTools_
std::vector< std::pair< GlobalPoint, double > > computeSecondaryMaxSeeds(const Histogram &histoClusters)
void findHistoSeeds(const std::vector< edm::Ptr< l1t::HGCalCluster >> &clustersPtr, std::vector< std::pair< GlobalPoint, double >> &seedPositionsEnergy)
std::vector< std::pair< GlobalPoint, double > > computeThresholdSeeds(const Histogram &histoClusters)
std::vector< double > neighbour_weights_
Histogram fillHistoClusters(const std::vector< edm::Ptr< l1t::HGCalCluster >> &clustersPtrs)
#define constexpr
HGCalHistoSeedingImpl(const edm::ParameterSet &conf)
void eventSetup(const edm::EventSetup &es)