Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:25:11

0001 // Base class for plugins that set the track reference(s) in the Trackster -> TICLCandidate conversion.
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 }  // namespace ticl
0026 
0027 typedef edmplugin::PluginFactory<ticl::TracksterTrackPluginBase*(const edm::ParameterSet&, edm::ConsumesCollector&& iC)>
0028     TracksterTrackPluginFactory;
0029 
0030 #endif