![]() |
![]() |
00001 #ifndef PixelTrackProducer_H 00002 #define PixelTrackProducer_H 00003 00004 #include "FWCore/Framework/interface/EDProducer.h" 00005 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00006 #include "RecoPixelVertexing/PixelTrackFitting/interface/TracksWithHits.h" 00007 00008 class PixelFitter; 00009 class PixelTrackCleaner; 00010 class PixelTrackFilter; 00011 class OrderedHitsGenerator; 00012 class TrackingRegionProducer; 00013 00014 namespace edm { class Event; class EventSetup; } 00015 00016 class PixelTrackProducer : public edm::EDProducer { 00017 00018 public: 00019 explicit PixelTrackProducer(const edm::ParameterSet& conf); 00020 00021 ~PixelTrackProducer(); 00022 00023 virtual void beginRun(edm::Run &run, const edm::EventSetup& es); 00024 virtual void endRun(edm::Run &run, const edm::EventSetup& es); 00025 00026 virtual void produce(edm::Event& ev, const edm::EventSetup& es); 00027 00028 private: 00029 00030 void store(edm::Event& ev, const pixeltrackfitting::TracksWithRecHits & selectedTracks); 00031 00032 edm::ParameterSet theConfig; 00033 00034 const PixelFitter * theFitter; 00035 const PixelTrackFilter * theFilter; 00036 PixelTrackCleaner * theCleaner; 00037 OrderedHitsGenerator * theGenerator; 00038 TrackingRegionProducer* theRegionProducer; 00039 }; 00040 #endif