00001 //------------------------------------------------- 00002 // 00013 // 00014 // $Date: 2007/03/23 18:51:35 $ 00015 // $Revision: 1.2 $ 00016 // 00017 // Author : 00018 // H. Sakulin CERN EP 00019 // 00020 // Migrated to CMSSW: 00021 // I. Mikulec 00022 // 00023 //-------------------------------------------------- 00024 #ifndef L1TriggerGlobalMuonTrigger_L1MuGMTMipIsoAU_h 00025 #define L1TriggerGlobalMuonTrigger_L1MuGMTMipIsoAU_h 00026 00027 //--------------- 00028 // C++ Headers -- 00029 //--------------- 00030 00031 #include <vector> 00032 00033 //---------------------- 00034 // Base Class Headers -- 00035 //---------------------- 00036 00037 //------------------------------------ 00038 // Collaborating Class Declarations -- 00039 //------------------------------------ 00040 00041 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTConfig.h" 00042 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuRegionalCand.h" 00043 00044 class L1MuGlobalMuonTrigger; 00045 class L1MuGMTCand; 00046 class L1MuGMTPhiProjectionUnit; 00047 class L1MuGMTEtaProjectionUnit; 00048 00049 // --------------------- 00050 // -- Class Interface -- 00051 // --------------------- 00052 00053 00054 class L1MuGMTMipIsoAU { 00055 00056 public: 00057 00059 L1MuGMTMipIsoAU(const L1MuGlobalMuonTrigger& gmt, int id); 00060 00062 virtual ~L1MuGMTMipIsoAU(); 00063 00065 void run(); 00066 00068 void reset(); 00069 00071 void print() const; 00072 00074 inline int id() const { return m_id; } 00075 00077 inline const L1MuRegionalCand* muon(int idx) const { return m_muons[idx]; } 00078 00080 inline bool MIP(int idx) const { return m_MIP[idx]; } 00081 00083 inline bool ISO(int idx) const { return m_ISO[idx]; } 00084 00085 const L1MuGlobalMuonTrigger& GMT () const { return m_gmt; }; 00086 private: 00087 00088 void load(); 00089 void assignMIP(); 00090 void assignISO(); 00091 00092 private: 00093 const L1MuGlobalMuonTrigger& m_gmt; 00094 int m_id; 00095 00096 std::vector<const L1MuRegionalCand*> m_muons; 00097 00098 std::vector<bool> m_MIP; 00099 std::vector<bool> m_ISO; 00100 00101 std::vector<L1MuGMTPhiProjectionUnit*> m_MIP_PPUs; 00102 std::vector<L1MuGMTEtaProjectionUnit*> m_MIP_EPUs; 00103 00104 std::vector<L1MuGMTPhiProjectionUnit*> m_ISO_PPUs; 00105 std::vector<L1MuGMTEtaProjectionUnit*> m_ISO_EPUs; 00106 }; 00107 00108 #endif 00109 00110 00111 00112 00113