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>
19 
20 namespace edm {
21  class Event;
22  class EventSetup;
23 } // namespace edm
24 
25 namespace ticl {
26  template <typename TILES>
28  public:
30  : algo_verbosity_(conf.getParameter<int>("algo_verbosity")) {}
32 
33  struct Inputs {
34  const edm::Event& ev;
36  const std::vector<reco::CaloCluster>& layerClusters;
37  const std::vector<float>& mask;
39  const TILES& tiles;
40  const std::vector<TICLSeedingRegion>& regions;
41  const tensorflow::Session* tfSession;
42 
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  const tensorflow::Session* tS)
51  : ev(eV), es(eS), layerClusters(lC), mask(mS), layerClustersTime(lT), tiles(tL), regions(rG), tfSession(tS) {}
52  };
53 
54  virtual void makeTracksters(const Inputs& input,
55  std::vector<Trackster>& result,
56  std::unordered_map<int, std::vector<int>>& seedToTracksterAssociation) = 0;
57 
58  protected:
60  };
61 } // namespace ticl
62 
63 #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:50
const edm::ValueMap< std::pair< float, float > > & layerClustersTime
const std::vector< TICLSeedingRegion > & regions
HLT enums.
Definition: Common.h:10
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