File indexing completed on 2024-04-06 12:28:28
0001 #ifndef RecoTracker_PixelLowPtUtilities_TrackCleaner_h
0002 #define RecoTracker_PixelLowPtUtilities_TrackCleaner_h
0003
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005
0006 #include "RecoTracker/PixelTrackFitting/interface/TracksWithHits.h"
0007 #include "RecoTracker/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