00001 #ifndef _TrackCleaner_h_ 00002 #define _TrackCleaner_h_ 00003 00004 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00005 00006 #include "RecoPixelVertexing/PixelTrackFitting/interface/TracksWithHits.h" 00007 #include "RecoPixelVertexing/PixelTrackFitting/interface/PixelTrackCleaner.h" 00008 00009 #include <utility> 00010 #include <vector> 00011 00012 class TrackerGeometry; 00013 00014 class TrackCleaner : public PixelTrackCleaner 00015 { 00016 public: 00017 TrackCleaner (const edm::ParameterSet& ps); 00018 virtual ~TrackCleaner(); 00019 00020 virtual TracksWithRecHits cleanTracks 00021 (const TracksWithRecHits & tracksWithRecHits); 00022 00023 private: 00024 int getLayer(const DetId & id); 00025 bool hasCommonDetUnit (std::vector<const TrackingRecHit *> recHitsA, 00026 std::vector<const TrackingRecHit *> recHitsB, 00027 std::vector<DetId> detIds); 00028 bool hasCommonLayer (std::vector<const TrackingRecHit *> recHitsA, 00029 std::vector<const TrackingRecHit *> recHitsB, 00030 std::vector<int> detLayers); 00031 }; 00032 00033 #endif 00034