Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-07-16 02:43:03

0001 #ifndef L1Trigger_Phase2L1GMT_SAMuonCleaner_h
0002 #define L1Trigger_Phase2L1GMT_SAMuonCleaner_h
0003 
0004 #include "DataFormats/L1TMuonPhase2/interface/SAMuon.h"
0005 
0006 class SAMuonCleaner {
0007 public:
0008   SAMuonCleaner() = default;
0009   ~SAMuonCleaner() = default;
0010 
0011   std::vector<l1t::SAMuon> cleanTFMuons(const std::vector<l1t::SAMuon>& muons);
0012 
0013 private:
0014   std::vector<l1t::SAMuon> cleanTF(const std::vector<l1t::SAMuon>& tfMuons);
0015   void overlapCleanTrack(l1t::SAMuon& source, const l1t::SAMuon& other, bool eq);
0016   void overlapCleanTrackInter(l1t::SAMuon& source, const l1t::SAMuon& other);
0017   std::vector<l1t::SAMuon> interTFClean(const std::vector<l1t::SAMuon>& bmtf,
0018                                         const std::vector<l1t::SAMuon>& omtf,
0019                                         const std::vector<l1t::SAMuon>& emtf);
0020   void swap(std::vector<l1t::SAMuon>&, int i, int j);
0021   void sort(std::vector<l1t::SAMuon>& in);
0022 };
0023 
0024 #endif