File indexing completed on 2023-03-17 11:18:03
0001
0002
0003 #ifndef RecoHGCal_TICL_TracksterTrackPluginBase_H__
0004 #define RecoHGCal_TICL_TracksterTrackPluginBase_H__
0005
0006 #include "DataFormats/Candidate/interface/Candidate.h"
0007 #include "DataFormats/VertexReco/interface/Vertex.h"
0008 #include "DataFormats/CaloRecHit/interface/CaloCluster.h"
0009 #include "DataFormats/HGCalReco/interface/Trackster.h"
0010 #include "DataFormats/HGCalReco/interface/TICLCandidate.h"
0011 #include "FWCore/Framework/interface/ConsumesCollector.h"
0012 #include "FWCore/Framework/interface/Event.h"
0013 #include "FWCore/PluginManager/interface/PluginFactory.h"
0014
0015 namespace ticl {
0016 class TracksterTrackPluginBase {
0017 public:
0018 TracksterTrackPluginBase(const edm::ParameterSet&, edm::ConsumesCollector&& iC) {}
0019 typedef reco::Candidate::LorentzVector LorentzVector;
0020 virtual ~TracksterTrackPluginBase() {}
0021 virtual void setTrack(const std::vector<const Trackster*>& tracksters,
0022 std::vector<TICLCandidate>& ticl_cands,
0023 edm::Event& event) const = 0;
0024 };
0025 }
0026
0027 typedef edmplugin::PluginFactory<ticl::TracksterTrackPluginBase*(const edm::ParameterSet&, edm::ConsumesCollector&& iC)>
0028 TracksterTrackPluginFactory;
0029
0030 #endif