Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef _TrackCleaner_h_
0002 #define _TrackCleaner_h_
0003 
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 
0006 #include "RecoPixelVertexing/PixelTrackFitting/interface/TracksWithHits.h"
0007 #include "RecoPixelVertexing/PixelTrackFitting/interface/PixelTrackCleaner.h"
0008 
0009 #include <utility>
0010 #include <vector>
0011 
0012 class TrackerGeometry;
0013 class TrackerTopology;
0014 
0015 class TrackCleaner : public PixelTrackCleaner {
0016 public:
0017   explicit TrackCleaner(const TrackerTopology *tTopo);
0018   ~TrackCleaner() override;
0019 
0020   TracksWithRecHits cleanTracks(const TracksWithRecHits &tracksWithRecHits) const override;
0021 
0022 private:
0023   bool areSame(const TrackingRecHit *a, const TrackingRecHit *b) const;
0024   bool isCompatible(const DetId &i1, const DetId &i2) const;
0025   bool canBeMerged(const std::vector<const TrackingRecHit *> &recHitsA,
0026                    const std::vector<const TrackingRecHit *> &recHitsB) const;
0027 
0028   std::vector<const TrackingRecHit *> ttrhs(const SeedingHitSet &h) const;
0029 
0030   const TrackerTopology *tTopo_;
0031 };
0032 
0033 #endif