CMS 3D CMS Logo

LinkingAlgoBase.h
Go to the documentation of this file.
1 #ifndef RecoHGCal_TICL_LinkingAlgoBase_H__
2 #define RecoHGCal_TICL_LinkingAlgoBase_H__
3 
4 #include <vector>
17 
18 namespace edm {
19  class Event;
20  class EventSetup;
21 } // namespace edm
22 
23 namespace ticl {
25  public:
26  LinkingAlgoBase(const edm::ParameterSet& conf) : algo_verbosity_(conf.getParameter<int>("algo_verbosity")) {}
27 
28  virtual ~LinkingAlgoBase(){};
29 
30  virtual void initialize(const HGCalDDDConstants* hgcons,
31  const hgcal::RecHitTools rhtools,
32  const edm::ESHandle<MagneticField> bfieldH,
33  const edm::ESHandle<Propagator> propH) = 0;
34 
35  virtual void linkTracksters(const edm::Handle<std::vector<reco::Track>> tkH,
36  const edm::Handle<edm::ValueMap<float>> tkTime_h,
37  const edm::Handle<edm::ValueMap<float>> tkTimeErr_h,
38  const edm::Handle<edm::ValueMap<float>> tkTimeQual_h,
39  const std::vector<reco::Muon>& muons,
40  const edm::Handle<std::vector<Trackster>> tsH,
41  const bool useMTDTiming,
42  std::vector<TICLCandidate>& resultTracksters,
43  std::vector<TICLCandidate>& resultFromTracks) = 0;
44 
45  static void fillPSetDescription(edm::ParameterSetDescription& desc) { desc.add<int>("algo_verbosity", 0); };
46 
47  protected:
48  int algo_verbosity_;
49  };
50 } // namespace ticl
51 
52 #endif
LinkingAlgoBase(const edm::ParameterSet &conf)
virtual void initialize(const HGCalDDDConstants *hgcons, const hgcal::RecHitTools rhtools, const edm::ESHandle< MagneticField > bfieldH, const edm::ESHandle< Propagator > propH)=0
muons
the two sets of parameters below are mutually exclusive, depending if RECO or ALCARECO is used the us...
Definition: DiMuonV_cfg.py:214
static void fillPSetDescription(edm::ParameterSetDescription &desc)
HLT enums.
Definition: Common.h:8
virtual void linkTracksters(const edm::Handle< std::vector< reco::Track >> tkH, const edm::Handle< edm::ValueMap< float >> tkTime_h, const edm::Handle< edm::ValueMap< float >> tkTimeErr_h, const edm::Handle< edm::ValueMap< float >> tkTimeQual_h, const std::vector< reco::Muon > &muons, const edm::Handle< std::vector< Trackster >> tsH, const bool useMTDTiming, std::vector< TICLCandidate > &resultTracksters, std::vector< TICLCandidate > &resultFromTracks)=0