CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/L1Trigger/GlobalMuonTrigger/src/L1MuGMTMipIsoAU.h

Go to the documentation of this file.
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