CMS 3D CMS Logo

HGCalClusteringImpl.h
Go to the documentation of this file.
1 #ifndef __L1Trigger_L1THGCal_HGCalClusteringImpl_h__
2 #define __L1Trigger_L1THGCal_HGCalClusteringImpl_h__
3 
4 #include <array>
5 #include <string>
12 
14  pair<edm::Ptr<l1t::HGCalTriggerCell>, float> j) {
15  return (i.second < j.second);
16 }
17 
19 private:
20  static constexpr unsigned kNSides_ = 2;
21 
22 public:
24 
26 
27  /* dR-algorithms */
28  bool isPertinent(const l1t::HGCalTriggerCell& tc, const l1t::HGCalCluster& clu, double distXY) const;
29 
30  void clusterizeDR(const std::vector<edm::Ptr<l1t::HGCalTriggerCell>>& triggerCellsPtrs,
32 
33  /* NN-algorithms */
34  void mergeClusters(l1t::HGCalCluster& main_cluster, const l1t::HGCalCluster& secondary_cluster) const;
35 
36  void NNKernel(const std::vector<edm::Ptr<l1t::HGCalTriggerCell>>& reshuffledTriggerCells,
38  const HGCalTriggerGeometryBase& triggerGeometry);
39 
40  void clusterizeNN(const std::vector<edm::Ptr<l1t::HGCalTriggerCell>>& triggerCellsPtrs,
42  const HGCalTriggerGeometryBase& triggerGeometry);
43 
44  /* FW-algorithms */
45  void clusterizeDRNN(const std::vector<edm::Ptr<l1t::HGCalTriggerCell>>& triggerCellsPtrs,
47  const HGCalTriggerGeometryBase& triggerGeometry);
48 
49 private:
54  double dr_;
56  double calibSF_;
57  std::vector<double> layerWeights_;
60 
62  const std::vector<edm::Ptr<l1t::HGCalTriggerCell>>& triggerCellsPtrs,
64 
65  bool areTCneighbour(uint32_t detIDa, uint32_t detIDb, const HGCalTriggerGeometryBase& triggerGeometry);
66 
67  void removeUnconnectedTCinCluster(l1t::HGCalCluster& cluster, const HGCalTriggerGeometryBase& triggerGeometry);
68 
69  void calibratePt(l1t::HGCalCluster& cluster);
70 };
71 
72 #endif
HGCalClusteringImpl::NNKernel
void NNKernel(const std::vector< edm::Ptr< l1t::HGCalTriggerCell >> &reshuffledTriggerCells, l1t::HGCalClusterBxCollection &clusters, const HGCalTriggerGeometryBase &triggerGeometry)
Definition: HGCalClusteringImpl.cc:126
HGCalTriggerTools.h
HGCalTriggerGeometryBase
Definition: HGCalTriggerGeometryBase.h:19
l1t::HGCalCluster
Definition: HGCalCluster.h:11
HGCalTriggerTools::eventSetup
void eventSetup(const edm::EventSetup &)
Definition: HGCalTriggerTools.cc:35
mps_fire.i
i
Definition: mps_fire.py:428
MessageLogger.h
HGCalClusteringImpl::siliconTriggerCellThreshold_
double siliconTriggerCellThreshold_
Definition: HGCalClusteringImpl.h:51
HGCalClusteringImpl::isPertinent
bool isPertinent(const l1t::HGCalTriggerCell &tc, const l1t::HGCalCluster &clu, double distXY) const
Definition: HGCalClusteringImpl.cc:27
HGCalClusteringImpl::HGCalClusteringImpl
HGCalClusteringImpl(const edm::ParameterSet &conf)
Definition: HGCalClusteringImpl.cc:8
HGCalClusteringImpl::siliconSeedThreshold_
double siliconSeedThreshold_
Definition: HGCalClusteringImpl.h:50
distanceSorter
bool distanceSorter(pair< edm::Ptr< l1t::HGCalTriggerCell >, float > i, pair< edm::Ptr< l1t::HGCalTriggerCell >, float > j)
Definition: HGCalClusteringImpl.h:13
mps_check.array
array
Definition: mps_check.py:216
HGCalClusteringImpl::scintillatorTriggerCellThreshold_
double scintillatorTriggerCellThreshold_
Definition: HGCalClusteringImpl.h:53
HGCalClusteringImpl::applyLayerWeights_
bool applyLayerWeights_
Definition: HGCalClusteringImpl.h:58
BXVector
Definition: BXVector.h:15
HGCalClusteringImpl::calibSF_
double calibSF_
Definition: HGCalClusteringImpl.h:56
HGCalClusteringImpl::calibratePt
void calibratePt(l1t::HGCalCluster &cluster)
Definition: HGCalClusteringImpl.cc:397
HGCalTriggerGeometryBase.h
HGCalClusteringImpl::mergeClusters
void mergeClusters(l1t::HGCalCluster &main_cluster, const l1t::HGCalCluster &secondary_cluster) const
Definition: HGCalClusteringImpl.cc:117
l1t::HGCalTriggerCell
Definition: HGCalTriggerCell.h:14
HGCalClusteringImpl::clusterizeNN
void clusterizeNN(const std::vector< edm::Ptr< l1t::HGCalTriggerCell >> &triggerCellsPtrs, l1t::HGCalClusterBxCollection &clusters, const HGCalTriggerGeometryBase &triggerGeometry)
Definition: HGCalClusteringImpl.cc:232
HGCalClusteringImpl::removeUnconnectedTCinCluster
void removeUnconnectedTCinCluster(l1t::HGCalCluster &cluster, const HGCalTriggerGeometryBase &triggerGeometry)
Definition: HGCalClusteringImpl.cc:353
bsc_activity_cfg.clusters
clusters
Definition: bsc_activity_cfg.py:36
edm::ParameterSet
Definition: ParameterSet.h:47
HGCalClusteringImpl::triggerTools_
HGCalTriggerTools triggerTools_
Definition: HGCalClusteringImpl.h:59
HGCalClusteringImpl::areTCneighbour
bool areTCneighbour(uint32_t detIDa, uint32_t detIDb, const HGCalTriggerGeometryBase &triggerGeometry)
Definition: HGCalClusteringImpl.cc:342
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
HGCalClusteringImpl::kNSides_
static constexpr unsigned kNSides_
Definition: HGCalClusteringImpl.h:20
edm::EventSetup
Definition: EventSetup.h:58
HGCalCluster.h
HGCalClusteringImpl::clusteringAlgorithmType_
std::string clusteringAlgorithmType_
Definition: HGCalClusteringImpl.h:55
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::Ptr
Definition: AssociationVector.h:31
HGCalClusteringImpl::clusterizeDR
void clusterizeDR(const std::vector< edm::Ptr< l1t::HGCalTriggerCell >> &triggerCellsPtrs, l1t::HGCalClusterBxCollection &clusters)
Definition: HGCalClusteringImpl.cc:42
HGCalClusteringImpl::eventSetup
void eventSetup(const edm::EventSetup &es)
Definition: HGCalClusteringImpl.h:25
HGCalTriggerTools
Definition: HGCalTriggerTools.h:32
HGCalTriggerCell.h
HGCalClusteringImpl::triggerCellReshuffling
void triggerCellReshuffling(const std::vector< edm::Ptr< l1t::HGCalTriggerCell >> &triggerCellsPtrs, std::array< std::vector< std::vector< edm::Ptr< l1t::HGCalTriggerCell >>>, kNSides_ > &reshuffledTriggerCells)
Definition: HGCalClusteringImpl.cc:104
HGCalClusteringImpl::scintillatorSeedThreshold_
double scintillatorSeedThreshold_
Definition: HGCalClusteringImpl.h:52
ParameterSet.h
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
HGCalClusteringImpl::layerWeights_
std::vector< double > layerWeights_
Definition: HGCalClusteringImpl.h:57
HGCalClusteringImpl::clusterizeDRNN
void clusterizeDRNN(const std::vector< edm::Ptr< l1t::HGCalTriggerCell >> &triggerCellsPtrs, l1t::HGCalClusterBxCollection &clusters, const HGCalTriggerGeometryBase &triggerGeometry)
Definition: HGCalClusteringImpl.cc:250
HGCalClusteringImpl
Definition: HGCalClusteringImpl.h:18
HGCalClusteringImpl::dr_
double dr_
Definition: HGCalClusteringImpl.h:54