CMS 3D CMS Logo

TracksterLinkingAlgoBase.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>
27 
28 namespace edm {
29  class Event;
30  class EventSetup;
31 } // namespace edm
32 
33 namespace ticl {
35  public:
37  : algo_verbosity_(conf.getParameter<int>("algo_verbosity")) {}
39 
40  struct Inputs {
41  const edm::Event& ev;
43  const std::vector<reco::CaloCluster>& layerClusters;
46 
47  Inputs(const edm::Event& eV,
48  const edm::EventSetup& eS,
49  const std::vector<reco::CaloCluster>& lC,
50  const edm::ValueMap<std::pair<float, float>>& lT,
52  : ev(eV), es(eS), layerClusters(lC), layerClustersTime(lT), tracksters(tS) {}
53  };
54 
55  virtual void linkTracksters(const Inputs& input,
56  std::vector<Trackster>& resultTracksters,
57  std::vector<std::vector<unsigned int>>& linkedResultTracksters,
58  std::vector<std::vector<unsigned int>>& linkedTracksterIdToInputTracksterId) = 0;
59 
60  virtual void initialize(const HGCalDDDConstants* hgcons,
61  const hgcal::RecHitTools rhtools,
62  const edm::ESHandle<MagneticField> bfieldH,
63  const edm::ESHandle<Propagator> propH) = 0;
64 
65  static void fillPSetDescription(edm::ParameterSetDescription& desc) { desc.add<int>("algo_verbosity", 0); };
66 
67  protected:
68  int algo_verbosity_;
69  };
70 } // namespace ticl
71 
72 #endif
TracksterLinkingAlgoBase(const edm::ParameterSet &conf, edm::ConsumesCollector)
const std::vector< reco::CaloCluster > & layerClusters
Inputs(const edm::Event &eV, const edm::EventSetup &eS, const std::vector< reco::CaloCluster > &lC, const edm::ValueMap< std::pair< float, float >> &lT, const MultiVectorManager< Trackster > &tS)
static std::string const input
Definition: EdmProvDump.cc:50
virtual void linkTracksters(const Inputs &input, std::vector< Trackster > &resultTracksters, std::vector< std::vector< unsigned int >> &linkedResultTracksters, std::vector< std::vector< unsigned int >> &linkedTracksterIdToInputTracksterId)=0
static void fillPSetDescription(edm::ParameterSetDescription &desc)
HLT enums.
Definition: Common.h:10
const MultiVectorManager< Trackster > & tracksters
virtual void initialize(const HGCalDDDConstants *hgcons, const hgcal::RecHitTools rhtools, const edm::ESHandle< MagneticField > bfieldH, const edm::ESHandle< Propagator > propH)=0
const edm::ValueMap< std::pair< float, float > > & layerClustersTime