CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/src/RecoPixelVertexing/PixelLowPtUtilities/interface/TrackCleaner.h

Go to the documentation of this file.
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     bool areSame(const TrackingRecHit * a,
00025                  const TrackingRecHit * b);
00026     bool isCompatible(const DetId & i1,
00027                       const DetId & i2);
00028     bool canBeMerged(std::vector<const TrackingRecHit *> recHitsA,
00029                      std::vector<const TrackingRecHit *> recHitsB);
00030 
00031     std::vector<const TrackingRecHit*> ttrhs(const SeedingHitSet & h) const;
00032 };
00033 
00034 #endif
00035