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