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  return (i.second < j.second);
15 }
16 
18 private:
19  static constexpr unsigned kNSides_ = 2;
20 
21 public:
23 
25 
26  /* dR-algorithms */
27  bool isPertinent(const l1t::HGCalTriggerCell& tc, const l1t::HGCalCluster& clu, double distXY) const;
28 
29  void clusterizeDR(const std::vector<edm::Ptr<l1t::HGCalTriggerCell>>& triggerCellsPtrs,
31 
32  /* NN-algorithms */
33  void mergeClusters(l1t::HGCalCluster& main_cluster, const l1t::HGCalCluster& secondary_cluster) const;
34 
35  void NNKernel(const std::vector<edm::Ptr<l1t::HGCalTriggerCell>>& reshuffledTriggerCells,
37  const HGCalTriggerGeometryBase& triggerGeometry);
38 
39  void clusterizeNN(const std::vector<edm::Ptr<l1t::HGCalTriggerCell>>& triggerCellsPtrs,
41  const HGCalTriggerGeometryBase& triggerGeometry);
42 
43  /* FW-algorithms */
44  void clusterizeDRNN(const std::vector<edm::Ptr<l1t::HGCalTriggerCell>>& triggerCellsPtrs,
46  const HGCalTriggerGeometryBase& triggerGeometry);
47 
48 private:
53  double dr_;
55  double calibSF_;
56  std::vector<double> layerWeights_;
59 
61  const std::vector<edm::Ptr<l1t::HGCalTriggerCell>>& triggerCellsPtrs,
63 
64  bool areTCneighbour(uint32_t detIDa, uint32_t detIDb, const HGCalTriggerGeometryBase& triggerGeometry);
65 
66  void removeUnconnectedTCinCluster(l1t::HGCalCluster& cluster, const HGCalTriggerGeometryBase& triggerGeometry);
67 
68  void calibratePt(l1t::HGCalCluster& cluster);
69 };
70 
71 #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:50
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:49
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:52
HGCalClusteringImpl::applyLayerWeights_
bool applyLayerWeights_
Definition: HGCalClusteringImpl.h:57
BXVector
Definition: BXVector.h:15
HGCalClusteringImpl::calibSF_
double calibSF_
Definition: HGCalClusteringImpl.h:55
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
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
bsc_activity_cfg.clusters
clusters
Definition: bsc_activity_cfg.py:36
edm::ParameterSet
Definition: ParameterSet.h:47
HGCalClusteringImpl::triggerTools_
HGCalTriggerTools triggerTools_
Definition: HGCalClusteringImpl.h:58
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:19
edm::EventSetup
Definition: EventSetup.h:57
HGCalCluster.h
HGCalClusteringImpl::clusteringAlgorithmType_
std::string clusteringAlgorithmType_
Definition: HGCalClusteringImpl.h:54
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:24
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:51
ParameterSet.h
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
HGCalClusteringImpl::layerWeights_
std::vector< double > layerWeights_
Definition: HGCalClusteringImpl.h:56
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:17
HGCalClusteringImpl::dr_
double dr_
Definition: HGCalClusteringImpl.h:53