CMS 3D CMS Logo

PatternRecognitionbyCA.h
Go to the documentation of this file.
1 // Author: Felice Pantaleo,Marco Rovere - felice.pantaleo@cern.ch, marco.rovere@cern.ch
2 // Date: 09/2018
3 
4 #ifndef __RecoHGCal_TICL_PRbyCA_H__
5 #define __RecoHGCal_TICL_PRbyCA_H__
6 #include <memory> // unique_ptr
10 #include "HGCGraph.h"
11 
12 namespace ticl {
13  template <typename TILES>
15  public:
17  ~PatternRecognitionbyCA() override;
18 
20  std::vector<Trackster>& result,
21  std::unordered_map<int, std::vector<int>>& seedToTracksterAssociation) override;
22 
23  void filter(std::vector<Trackster>& output,
24  const std::vector<Trackster>& inTracksters,
26  std::unordered_map<int, std::vector<int>>& seedToTracksterAssociation) override;
27 
28  void energyRegressionAndID(const std::vector<reco::CaloCluster>& layerClusters,
29  const tensorflow::Session*,
30  std::vector<Trackster>& result);
31  void emptyTrackstersFromSeedsTRK(std::vector<Trackster>& tracksters,
32  std::unordered_map<int, std::vector<int>>& seedToTracksterAssociation,
33  const edm::ProductID& collectionID) const;
34 
36 
37  private:
38  void mergeTrackstersTRK(const std::vector<Trackster>&,
39  const std::vector<reco::CaloCluster>&,
40  std::vector<Trackster>&,
41  std::unordered_map<int, std::vector<int>>& seedToTracksterAssociation) const;
43  const std::unique_ptr<HGCGraphT<TILES>> theGraph_;
46  const bool out_in_dfs_;
47  const unsigned int max_out_in_hops_;
48  const float min_cos_theta_;
49  const float min_cos_pointing_;
52  const int skip_layers_;
54  bool check_missing_layers_ = false;
55  const unsigned int shower_start_max_layer_;
56  const unsigned int min_layers_per_trackster_;
57  const std::vector<int> filter_on_categories_;
58  const double pid_threshold_;
62  const float max_delta_time_;
66  const bool computeLocalTime_;
67 
69  const std::vector<double> siblings_maxRSquared_;
70  };
71 
72 } // namespace ticl
73 #endif
const std::unique_ptr< HGCGraphT< TILES > > theGraph_
void filter(std::vector< Trackster > &output, const std::vector< Trackster > &inTracksters, const typename PatternRecognitionAlgoBaseT< TILES >::Inputs &input, std::unordered_map< int, std::vector< int >> &seedToTracksterAssociation) override
void mergeTrackstersTRK(const std::vector< Trackster > &, const std::vector< reco::CaloCluster > &, std::vector< Trackster > &, std::unordered_map< int, std::vector< int >> &seedToTracksterAssociation) const
void emptyTrackstersFromSeedsTRK(std::vector< Trackster > &tracksters, std::unordered_map< int, std::vector< int >> &seedToTracksterAssociation, const edm::ProductID &collectionID) const
const std::vector< double > siblings_maxRSquared_
void makeTracksters(const typename PatternRecognitionAlgoBaseT< TILES >::Inputs &input, std::vector< Trackster > &result, std::unordered_map< int, std::vector< int >> &seedToTracksterAssociation) override
static std::string const input
Definition: EdmProvDump.cc:50
const std::vector< int > filter_on_categories_
const unsigned int min_layers_per_trackster_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeomToken_
void energyRegressionAndID(const std::vector< reco::CaloCluster > &layerClusters, const tensorflow::Session *, std::vector< Trackster > &result)
PatternRecognitionbyCA(const edm::ParameterSet &conf, edm::ConsumesCollector iC)
static void fillPSetDescription(edm::ParameterSetDescription &iDesc)
Definition: Common.h:10
const unsigned int shower_start_max_layer_
Definition: output.py:1
const float root_doublet_max_distance_from_seed_squared_