Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:19:58

0001 //-------------------------------------------------
0002 //
0003 /** \class L1MuGMTSorter
0004  *  L1 Global Muon Trigger Sorter.
0005 */
0006 //
0007 //
0008 //   Author :
0009 //   N. Neumeister            CERN EP
0010 //
0011 //   Migrated to CMSSW:
0012 //   I. Mikulec
0013 //
0014 //--------------------------------------------------
0015 #ifndef L1TriggerGlobalMuonTrigger_L1MuGMTSorter_h
0016 #define L1TriggerGlobalMuonTrigger_L1MuGMTSorter_h
0017 
0018 //---------------
0019 // C++ Headers --
0020 //---------------
0021 
0022 #include <vector>
0023 
0024 //----------------------
0025 // Base Class Headers --
0026 //----------------------
0027 
0028 //------------------------------------
0029 // Collaborating Class Declarations --
0030 //------------------------------------
0031 
0032 class L1MuGlobalMuonTrigger;
0033 class L1MuGMTExtendedCand;
0034 
0035 //              ---------------------
0036 //              -- Class Interface --
0037 //              ---------------------
0038 
0039 class L1MuGMTSorter {
0040 public:
0041   /// constructor
0042   L1MuGMTSorter(const L1MuGlobalMuonTrigger&);
0043 
0044   /// destructor
0045   virtual ~L1MuGMTSorter();
0046 
0047   /// run Sorter
0048   virtual void run();
0049 
0050   /// reset Sorter
0051   virtual void reset();
0052 
0053   /// print results after sorting
0054   void print();
0055 
0056   /// return number of found muon candidates after sorter
0057   inline int numberOfCands() const { return m_MuonCands.size(); }
0058 
0059   /// return std::vector with all muon candidates
0060   inline const std::vector<const L1MuGMTExtendedCand*>& Cands() const { return m_MuonCands; }
0061 
0062 private:
0063   const L1MuGlobalMuonTrigger& m_gmt;
0064   std::vector<const L1MuGMTExtendedCand*> m_MuonCands;
0065 };
0066 
0067 #endif