File indexing completed on 2024-09-07 04:37:30
0001 #ifndef RecoHGCal_TICL_LinkingAlgoBase_H__
0002 #define RecoHGCal_TICL_LinkingAlgoBase_H__
0003
0004 #include <vector>
0005 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0006 #include "FWCore/Framework/interface/Event.h"
0007 #include "FWCore/Framework/interface/EventSetup.h"
0008 #include "DataFormats/HGCalReco/interface/Trackster.h"
0009 #include "DataFormats/HGCalReco/interface/TICLCandidate.h"
0010 #include "DataFormats/TrackReco/interface/Track.h"
0011 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0012 #include "DataFormats/MuonReco/interface/Muon.h"
0013 #include "MagneticField/Engine/interface/MagneticField.h"
0014 #include "TrackingTools/GeomPropagators/interface/Propagator.h"
0015 #include "RecoLocalCalo/HGCalRecAlgos/interface/RecHitTools.h"
0016 #include "Geometry/HGCalCommonData/interface/HGCalDDDConstants.h"
0017
0018 namespace edm {
0019 class Event;
0020 class EventSetup;
0021 }
0022
0023 namespace ticl {
0024 class LinkingAlgoBase {
0025 public:
0026 LinkingAlgoBase(const edm::ParameterSet& conf) : algo_verbosity_(conf.getParameter<int>("algo_verbosity")) {}
0027
0028 virtual ~LinkingAlgoBase() {}
0029
0030 virtual void initialize(const HGCalDDDConstants* hgcons,
0031 const hgcal::RecHitTools rhtools,
0032 const edm::ESHandle<MagneticField> bfieldH,
0033 const edm::ESHandle<Propagator> propH) = 0;
0034
0035 virtual void linkTracksters(const edm::Handle<std::vector<reco::Track>> tkH,
0036 const edm::Handle<edm::ValueMap<float>> tkTime_h,
0037 const edm::Handle<edm::ValueMap<float>> tkTimeErr_h,
0038 const edm::Handle<edm::ValueMap<float>> tkTimeQual_h,
0039 const std::vector<reco::Muon>& muons,
0040 const edm::Handle<std::vector<Trackster>> tsH,
0041 const bool useMTDTiming,
0042 std::vector<TICLCandidate>& resultTracksters,
0043 std::vector<TICLCandidate>& resultFromTracks) = 0;
0044
0045 static void fillPSetDescription(edm::ParameterSetDescription& desc) { desc.add<int>("algo_verbosity", 0); };
0046
0047 protected:
0048 int algo_verbosity_;
0049 };
0050 }
0051
0052 #endif