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
tmtt::DupFitTrkKiller
Definition: DupFitTrkKiller.h:19
L1fittedTrack.h
tmtt::DupFitTrkKiller::settings_
const Settings * settings_
Definition: DupFitTrkKiller.h:52
tmtt::DupFitTrkKiller::filter
std::list< const L1fittedTrack * > filter(const std::list< L1fittedTrack > &vecTracks) const
Definition: DupFitTrkKiller.cc:18
tmtt::DupFitTrkKiller::DupAlgoName
DupAlgoName
Definition: DupFitTrkKiller.h:21
tmtt::DupFitTrkKiller::filterAlg2
std::list< const L1fittedTrack * > filterAlg2(const std::list< L1fittedTrack > &tracks) const
Definition: DupFitTrkKiller.cc:210
tmtt::DupFitTrkKiller::DupAlgoName::None
tmtt::DupFitTrkKiller::DupAlgoName::Algo2
tmtt::DupFitTrkKiller::DupAlgoName::Algo1
tracks
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
Definition: CAHitNtupletGeneratorKernelsImpl.h:159
tmtt::DupFitTrkKiller::printDuplicateTracks
void printDuplicateTracks(const std::list< const L1fittedTrack * > &tracks) const
Definition: DupFitTrkKiller.cc:247
tmtt::Settings
Definition: Settings.h:17
tmtt::DupFitTrkKiller::filterAlg1
std::list< const L1fittedTrack * > filterAlg1(const std::list< L1fittedTrack > &tracks) const
Definition: DupFitTrkKiller.cc:49
tmtt
=== This is the base class for the linearised chi-squared track fit algorithms.
Definition: Array2D.h:16
tmtt::DupFitTrkKiller::DupFitTrkKiller
DupFitTrkKiller(const Settings *settings)
Definition: DupFitTrkKiller.cc:13
tmtt::DupFitTrkKiller::dupTrkAlg_
DupAlgoName dupTrkAlg_
Definition: DupFitTrkKiller.h:53