CMS 3D CMS Logo

PatternRecognitionAlgoBase.h
Go to the documentation of this file.
1 // Author: Felice Pantaleo - felice.pantaleo@cern.ch
2 // Date: 09/2018
3 
4 #ifndef RecoHGCal_TICL_PatternRecognitionAlgoBase_H__
5 #define RecoHGCal_TICL_PatternRecognitionAlgoBase_H__
6 
7 #include <memory>
8 #include <vector>
9 #include <functional>
10 #include <algorithm>
21 
22 namespace edm {
23  class Event;
24  class EventSetup;
25 } // namespace edm
26 
27 namespace ticl {
28  template <typename TILES>
30  public:
32  : algo_verbosity_(conf.getParameter<int>("algo_verbosity")) {}
34 
35  struct Inputs {
36  const edm::Event& ev;
38  const std::vector<reco::CaloCluster>& layerClusters;
39  const std::vector<float>& mask;
41  const TILES& tiles;
42  const std::vector<TICLSeedingRegion>& regions;
43  Inputs(const edm::Event& eV,
44  const edm::EventSetup& eS,
45  const std::vector<reco::CaloCluster>& lC,
46  const std::vector<float>& mS,
47  const edm::ValueMap<std::pair<float, float>>& lT,
48  const TILES& tL,
49  const std::vector<TICLSeedingRegion>& rG)
50  : ev(eV), es(eS), layerClusters(lC), mask(mS), layerClustersTime(lT), tiles(tL), regions(rG) {}
51  };
52 
53  virtual void makeTracksters(const Inputs& input,
54  std::vector<Trackster>& result,
55  std::unordered_map<int, std::vector<int>>& seedToTracksterAssociation) = 0;
56 
57  virtual void filter(std::vector<Trackster>& output,
58  const std::vector<Trackster>& inTracksters,
59  const Inputs& input,
60  std::unordered_map<int, std::vector<int>>& seedToTracksterAssociation) = 0;
61 
62  protected:
64  };
65 } // namespace ticl
66 
67 #endif
PatternRecognitionAlgoBaseT(const edm::ParameterSet &conf, edm::ConsumesCollector)
static std::string const input
Definition: EdmProvDump.cc:50
const edm::ValueMap< std::pair< float, float > > & layerClustersTime
const std::vector< TICLSeedingRegion > & regions
Inputs(const edm::Event &eV, const edm::EventSetup &eS, const std::vector< reco::CaloCluster > &lC, const std::vector< float > &mS, const edm::ValueMap< std::pair< float, float >> &lT, const TILES &tL, const std::vector< TICLSeedingRegion > &rG)
HLT enums.
Definition: Common.h:10
virtual void filter(std::vector< Trackster > &output, const std::vector< Trackster > &inTracksters, const Inputs &input, std::unordered_map< int, std::vector< int >> &seedToTracksterAssociation)=0
Definition: output.py:1
virtual void makeTracksters(const Inputs &input, std::vector< Trackster > &result, std::unordered_map< int, std::vector< int >> &seedToTracksterAssociation)=0
const std::vector< reco::CaloCluster > & layerClusters