CMS 3D CMS Logo

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 class HGCGraph {
15 public:
17  const std::vector<TICLSeedingRegion> &regions,
18  int nEtaBins,
19  int nPhiBins,
20  const std::vector<reco::CaloCluster> &layerClusters,
21  const std::vector<float> &mask,
22  const edm::ValueMap<std::pair<float, float>> &layerClustersTime,
23  int deltaIEta,
24  int deltaIPhi,
25  float minCosThetai,
26  float maxCosPointing,
27  float etaLimitIncreaseWindow,
28  int missing_layers,
29  int maxNumberOfLayers,
30  float maxDeltaTime);
31 
32  bool areTimeCompatible(int innerIdx,
33  int outerIdx,
34  const edm::ValueMap<std::pair<float, float>> &layerClustersTime,
35  float maxDeltaTime);
36 
37  std::vector<HGCDoublet> &getAllDoublets() { return allDoublets_; }
38  void findNtuplets(std::vector<HGCDoublet::HGCntuplet> &foundNtuplets,
39  std::vector<int> &seedIndices,
40  const unsigned int minClustersPerNtuplet,
41  const bool outInDFS,
42  const unsigned int maxOutInHops);
43  void clear() {
44  allDoublets_.clear();
45  theRootDoublets_.clear();
47  allDoublets_.shrink_to_fit();
48  theRootDoublets_.shrink_to_fit();
49  isOuterClusterOfDoublets_.shrink_to_fit();
50  }
53 
54 private:
55  std::vector<HGCDoublet> allDoublets_;
56  std::vector<unsigned int> theRootDoublets_;
57  std::vector<std::vector<int>> isOuterClusterOfDoublets_;
59 };
60 
61 #endif
personalPlayback.level
level
Definition: personalPlayback.py:22
HGCGraph::theRootDoublets_
std::vector< unsigned int > theRootDoublets_
Definition: HGCGraph.h:56
Common.h
TICLGenericTile
Definition: TICLLayerTile.h:57
HGCGraph::VerbosityLevel
VerbosityLevel
Definition: HGCGraph.h:52
HGCGraph::verbosity_
int verbosity_
Definition: HGCGraph.h:58
HGCGraph::setVerbosity
void setVerbosity(int level)
Definition: HGCGraph.h:51
HGCGraph::areTimeCompatible
bool areTimeCompatible(int innerIdx, int outerIdx, const edm::ValueMap< std::pair< float, float >> &layerClustersTime, float maxDeltaTime)
Definition: HGCGraph.cc:192
HGCGraph::None
Definition: HGCGraph.h:52
HGCGraph
Definition: HGCGraph.h:14
HGCGraph::clear
void clear()
Definition: HGCGraph.h:43
HGCGraph::allDoublets_
std::vector< HGCDoublet > allDoublets_
Definition: HGCGraph.h:55
TICLLayerTile.h
HGCGraph::isOuterClusterOfDoublets_
std::vector< std::vector< int > > isOuterClusterOfDoublets_
Definition: HGCGraph.h:57
HGCGraph::Basic
Definition: HGCGraph.h:52
h
HGCGraph::makeAndConnectDoublets
void makeAndConnectDoublets(const TICLLayerTiles &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 etaLimitIncreaseWindow, int missing_layers, int maxNumberOfLayers, float maxDeltaTime)
Definition: HGCGraph.cc:10
HGCDoublet.h
EMStep_cff.missing_layers
missing_layers
Definition: EMStep_cff.py:28
HGCGraph::Advanced
Definition: HGCGraph.h:52
HGCGraph::Guru
Definition: HGCGraph.h:52
HGCGraph::findNtuplets
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:206
TICLSeedingRegion.h
L1TMuonDQMOffline_cfi.nEtaBins
nEtaBins
Definition: L1TMuonDQMOffline_cfi.py:21
edm::ValueMap
Definition: ValueMap.h:107
AlignmentPI::regions
regions
Definition: AlignmentPayloadInspectorHelper.h:76
ecaldqm::binning::nPhiBins
Definition: MESetBinningUtils.h:69
HGCGraph::getAllDoublets
std::vector< HGCDoublet > & getAllDoublets()
Definition: HGCGraph.h:37
HGCGraph::Expert
Definition: HGCGraph.h:52