00001 //------------------------------------------------- 00002 // 00011 // 00012 // $Date: 2007/03/23 18:51:35 $ 00013 // $Revision: 1.2 $ 00014 // 00015 // Author : 00016 // H. Sakulin CERN EP 00017 // 00018 // Migrated to CMSSW: 00019 // I. Mikulec 00020 // 00021 //-------------------------------------------------- 00022 #ifndef L1TriggerGlobalMuonTrigger_L1MuGMTEtaProjectionUnit_h 00023 #define L1TriggerGlobalMuonTrigger_L1MuGMTEtaProjectionUnit_h 00024 00025 //--------------- 00026 // C++ Headers -- 00027 //--------------- 00028 00029 #include <vector> 00030 #include <bitset> 00031 00032 //---------------------- 00033 // Base Class Headers -- 00034 //---------------------- 00035 00036 00037 //------------------------------------ 00038 // Collaborating Class Declarations -- 00039 //------------------------------------ 00040 00041 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTConfig.h" 00042 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTMatrix.h" 00043 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuRegionalCand.h" 00044 00045 class L1MuGMTMipIsoAU; 00046 class L1MuGMTCand; 00047 00048 00049 // --------------------- 00050 // -- Class Interface -- 00051 // --------------------- 00052 00053 00054 class L1MuGMTEtaProjectionUnit { 00055 00056 public: 00057 00059 L1MuGMTEtaProjectionUnit(const L1MuGMTMipIsoAU& miau, int id); 00060 00062 virtual ~L1MuGMTEtaProjectionUnit(); 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 bool isSelected(int idx) const { return m_eta_select[idx]; } 00078 00079 private: 00080 00081 void load(); 00082 00083 private: 00084 typedef std::bitset<14> TEtaBits; 00085 00086 const L1MuGMTMipIsoAU& m_MIAU; 00087 00088 // index: (0..31: 16*isFWD + 8*isISO + 4* isRPC + nr ) 00089 int m_id; 00090 00091 const L1MuRegionalCand* m_mu; 00092 00093 int m_ieta; // region index of central region 00094 float m_feta; // fine grain eta inside central region 00095 00096 TEtaBits m_eta_select; 00097 }; 00098 00099 #endif