Back to home page

Project CMSSW displayed by LXR

 
 

    


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 }  // namespace ticl
0024 
0025 typedef edmplugin::PluginFactory<ticl::TracksterMomentumPluginBase*(const edm::ParameterSet&,
0026                                                                     edm::ConsumesCollector&& iC)>
0027     TracksterMomentumPluginFactory;
0028 
0029 #endif