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>
18 
19 namespace edm {
20  class Event;
21  class EventSetup;
22 } // namespace edm
23 
24 namespace ticl {
25  template <typename TILES>
27  public:
29  : algo_verbosity_(conf.getParameter<int>("algo_verbosity")) {}
31 
32  struct Inputs {
33  const edm::Event& ev;
35  const std::vector<reco::CaloCluster>& layerClusters;
36  const std::vector<float>& mask;
38  const TILES& tiles;
39  const std::vector<TICLSeedingRegion>& regions;
40  const tensorflow::Session* tfSession;
41 
42  Inputs(const edm::Event& eV,
43  const edm::EventSetup& eS,
44  const std::vector<reco::CaloCluster>& lC,
45  const std::vector<float>& mS,
46  const edm::ValueMap<std::pair<float, float>>& lT,
47  const TILES& tL,
48  const std::vector<TICLSeedingRegion>& rG,
49  const tensorflow::Session* tS)
50  : ev(eV), es(eS), layerClusters(lC), mask(mS), layerClustersTime(lT), tiles(tL), regions(rG), tfSession(tS) {}
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 
58 
59  protected:
61  };
62 } // namespace ticl
63 
64 #endif
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, const tensorflow::Session *tS)
PatternRecognitionAlgoBaseT(const edm::ParameterSet &conf, edm::ConsumesCollector)
static std::string const input
Definition: EdmProvDump.cc:47
const edm::ValueMap< std::pair< float, float > > & layerClustersTime
const std::vector< TICLSeedingRegion > & regions
HLT enums.
Definition: Common.h:8
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