CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
HGCGraph.h
Go to the documentation of this file.
1 // Author: Felice Pantaleo - felice.pantaleo@cern.ch
2 // Date: 11/2018
3 
4 #ifndef __RecoHGCal_TICL_HGCGraph_H__
5 #define __RecoHGCal_TICL_HGCGraph_H__
6 
7 #include <vector>
8 
12 #include "HGCDoublet.h"
13 
14 template <typename TILES>
15 class HGCGraphT {
16 public:
17  void makeAndConnectDoublets(const TILES &h,
18  const std::vector<TICLSeedingRegion> &regions,
19  int nEtaBins,
20  int nPhiBins,
21  const std::vector<reco::CaloCluster> &layerClusters,
22  const std::vector<float> &mask,
23  const edm::ValueMap<std::pair<float, float>> &layerClustersTime,
24  int deltaIEta,
25  int deltaIPhi,
26  float minCosThetai,
27  float maxCosPointing,
28  float root_doublet_max_distance_from_seed_squared,
29  float etaLimitIncreaseWindow,
30  int skip_layers,
32  float maxDeltaTime);
33 
34  bool areTimeCompatible(int innerIdx,
35  int outerIdx,
36  const edm::ValueMap<std::pair<float, float>> &layerClustersTime,
37  float maxDeltaTime);
38 
39  std::vector<HGCDoublet> &getAllDoublets() { return allDoublets_; }
40  void findNtuplets(std::vector<HGCDoublet::HGCntuplet> &foundNtuplets,
41  std::vector<int> &seedIndices,
42  const unsigned int minClustersPerNtuplet,
43  const bool outInDFS,
44  const unsigned int maxOutInHops);
45  void clear() {
46  allDoublets_.clear();
47  theRootDoublets_.clear();
49  allDoublets_.shrink_to_fit();
50  theRootDoublets_.shrink_to_fit();
51  isOuterClusterOfDoublets_.shrink_to_fit();
52  }
55 
56 private:
57  std::vector<HGCDoublet> allDoublets_;
58  std::vector<unsigned int> theRootDoublets_;
59  std::vector<std::vector<int>> isOuterClusterOfDoublets_;
61 };
62 
63 #endif
std::vector< std::vector< int > > isOuterClusterOfDoublets_
Definition: HGCGraph.h:59
auto const & foundNtuplets
void setVerbosity(int level)
Definition: HGCGraph.h:53
VerbosityLevel
Definition: HGCGraph.h:54
constexpr uint32_t maxNumberOfLayers
Definition: CAConstants.h:45
std::vector< HGCDoublet > allDoublets_
Definition: HGCGraph.h:57
std::vector< HGCDoublet > & getAllDoublets()
Definition: HGCGraph.h:39
std::vector< unsigned int > theRootDoublets_
Definition: HGCGraph.h:58
void clear()
Definition: HGCGraph.h:45
bool areTimeCompatible(int innerIdx, int outerIdx, const edm::ValueMap< std::pair< float, float >> &layerClustersTime, float maxDeltaTime)
Definition: HGCGraph.cc:211
int verbosity_
Definition: HGCGraph.h:60
void makeAndConnectDoublets(const TILES &h, const std::vector< TICLSeedingRegion > &regions, int nEtaBins, int nPhiBins, const std::vector< reco::CaloCluster > &layerClusters, const std::vector< float > &mask, const edm::ValueMap< std::pair< float, float >> &layerClustersTime, int deltaIEta, int deltaIPhi, float minCosThetai, float maxCosPointing, float root_doublet_max_distance_from_seed_squared, float etaLimitIncreaseWindow, int skip_layers, int maxNumberOfLayers, float maxDeltaTime)
Definition: HGCGraph.cc:12
void findNtuplets(std::vector< HGCDoublet::HGCntuplet > &foundNtuplets, std::vector< int > &seedIndices, const unsigned int minClustersPerNtuplet, const bool outInDFS, const unsigned int maxOutInHops)
Definition: HGCGraph.cc:226
tuple level
Definition: testEve_cfg.py:47
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4