Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:26:46

0001 #ifndef PixelTrackFitting_PixelTrackCleaner_H
0002 #define PixelTrackFitting_PixelTrackCleaner_H
0003 
0004 /**
0005 class PixelTrackCleaner:
0006 Discards reconstructed tracks that reflects one real track.
0007 **/
0008 
0009 #include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilter.h"
0010 
0011 #include "RecoPixelVertexing/PixelTrackFitting/interface/TracksWithHits.h"
0012 #include <cassert>
0013 
0014 class PixelTrackCleaner {
0015 protected:
0016   explicit PixelTrackCleaner(bool fast = false) : fast_(fast) {}
0017 
0018 public:
0019   using Record = TrajectoryFilter::Record;
0020 
0021   virtual ~PixelTrackCleaner() {}
0022 
0023   bool fast() const { return fast_; }
0024 
0025   // used by HI?
0026   typedef pixeltrackfitting::TracksWithRecHits TracksWithRecHits;
0027   virtual TracksWithRecHits cleanTracks(const TracksWithRecHits& tracksWithRecHits) const {
0028     assert(false);
0029     return TracksWithRecHits();
0030   }
0031 
0032   // fast
0033   using TracksWithTTRHs = pixeltrackfitting::TracksWithTTRHs;
0034   virtual void cleanTracks(TracksWithTTRHs& tracksWithRecHits) const { assert(false); }
0035 
0036 private:
0037   const bool fast_;
0038 };
0039 
0040 #endif