CMS 3D CMS Logo

PurgeDuplicate.h
Go to the documentation of this file.
1 #ifndef L1Trigger_TrackFindingTracklet_interface_PurgeDuplicate_h
2 #define L1Trigger_TrackFindingTracklet_interface_PurgeDuplicate_h
3 
7 
8 #include <vector>
9 
10 // Run algorithm to remove duplicate tracks.
11 // Returns Track object that represent output at end of L1 track chain,
12 // (and are later converted to TTTrack). Duplicate Track objects are flagged,
13 // but only deleted if using the Hybrid algo.
14 // Also writes to memory the same tracks in more detailed Tracklet format,
15 // where duplicates are all deleted.
16 
17 namespace trklet {
18 
19  class Settings;
20  class Globals;
21  class MemoryBase;
22  class Stub;
23  class L1TStub;
24  class Track;
25  class Tracklet;
26 
27  class PurgeDuplicate : public ProcessBase {
28  public:
29  PurgeDuplicate(std::string name, Settings const& settings, Globals* global);
30 
31  ~PurgeDuplicate() override = default;
32 
33  void addOutput(MemoryBase* memory, std::string output) override;
34  void addInput(MemoryBase* memory, std::string input) override;
35 
36  void execute(std::vector<Track>& outputtracks_, unsigned int iSector);
37 
38  private:
39  double getPhiRes(Tracklet* curTracklet, const Stub* curStub);
40 
41  std::vector<Track*> inputtracks_;
42  std::vector<std::vector<const Stub*>> inputstublists_;
43  std::vector<std::vector<std::pair<int, int>>> inputstubidslists_;
44  std::vector<std::vector<std::pair<int, int>>> mergedstubidslists_;
45  std::vector<TrackFitMemory*> inputtrackfits_;
46  std::vector<Tracklet*> inputtracklets_;
47  std::vector<CleanTrackMemory*> outputtracklets_;
48  };
49 
50 }; // namespace trklet
51 #endif
double getPhiRes(Tracklet *curTracklet, const Stub *curStub)
std::vector< std::vector< std::pair< int, int > > > inputstubidslists_
void execute(std::vector< Track > &outputtracks_, unsigned int iSector)
std::vector< CleanTrackMemory * > outputtracklets_
~PurgeDuplicate() override=default
std::vector< Track * > inputtracks_
static std::string const input
Definition: EdmProvDump.cc:50
std::vector< TrackFitMemory * > inputtrackfits_
void addInput(MemoryBase *memory, std::string input) override
std::vector< Tracklet * > inputtracklets_
std::vector< std::vector< std::pair< int, int > > > mergedstubidslists_
void addOutput(MemoryBase *memory, std::string output) override
std::vector< std::vector< const Stub * > > inputstublists_
PurgeDuplicate(std::string name, Settings const &settings, Globals *global)