CMS 3D CMS Logo

DupFitTrkKiller.h
Go to the documentation of this file.
1 #ifndef L1Trigger_TrackFindingTMTT_DupFitTrkKiller_h
2 #define L1Trigger_TrackFindingTMTT_DupFitTrkKiller_h
3 
5 
6 #include <list>
7 #include <iostream>
8 
15 namespace tmtt {
16 
17  class Settings;
18 
20  public:
21  enum class DupAlgoName { None = 0, Algo1 = 1, Algo2 = 2 };
22 
26  DupFitTrkKiller(const Settings* settings);
27 
31  std::list<const L1fittedTrack*> filter(const std::list<L1fittedTrack>& vecTracks) const;
32 
33  private:
39  std::list<const L1fittedTrack*> filterAlg1(const std::list<L1fittedTrack>& tracks) const;
40 
46  std::list<const L1fittedTrack*> filterAlg2(const std::list<L1fittedTrack>& tracks) const;
47 
48  // Debug printout of which tracks are duplicates.
49  void printDuplicateTracks(const std::list<const L1fittedTrack*>& tracks) const;
50 
51  private:
52  const Settings* settings_; // Configuration parameters.
53  DupAlgoName dupTrkAlg_; // Specifies choice of algorithm for duplicate track removal.
54  };
55 
56 } // namespace tmtt
57 
58 #endif
DupFitTrkKiller(const Settings *settings)
auto const & tracks
cannot be loose
=== This is the base class for the linearised chi-squared track fit algorithms.
Definition: Array2D.h:16
const Settings * settings_
std::list< const L1fittedTrack * > filter(const std::list< L1fittedTrack > &vecTracks) const
std::list< const L1fittedTrack * > filterAlg1(const std::list< L1fittedTrack > &tracks) const
std::list< const L1fittedTrack * > filterAlg2(const std::list< L1fittedTrack > &tracks) const
void printDuplicateTracks(const std::list< const L1fittedTrack *> &tracks) const