CMS 3D CMS Logo

L1MuDTEtaProcessor.h

Go to the documentation of this file.
00001 //-------------------------------------------------
00002 //
00019 //
00020 //--------------------------------------------------
00021 #ifndef L1MUDT_ETA_PROCESSOR_H
00022 #define L1MUDT_ETA_PROCESSOR_H
00023 
00024 //---------------
00025 // C++ Headers --
00026 //---------------
00027 
00028 #include <vector>
00029 
00030 //----------------------
00031 // Base Class Headers --
00032 //----------------------
00033 
00034 //------------------------------------
00035 // Collaborating Class Declarations --
00036 //------------------------------------
00037 
00038 #include <DataFormats/Common/interface/Handle.h>
00039 #include <FWCore/Framework/interface/Event.h>
00040 #include <FWCore/Framework/interface/ESHandle.h>
00041 #include <FWCore/Framework/interface/EventSetup.h>
00042 #include "L1Trigger/DTTrackFinder/src/L1MuDTAddressArray.h"
00043 class L1MuDTTrackSegEta;
00044 class L1MuDTTrackFinder;
00045 class L1MuDTTrack;
00046 class L1MuDTEtaPatternLut;
00047 class L1MuDTQualPatternLut;
00048 
00049 //              ---------------------
00050 //              -- Class Interface --
00051 //              ---------------------
00052 
00053 class L1MuDTEtaProcessor {
00054 
00055   public:
00056 
00058     L1MuDTEtaProcessor(const L1MuDTTrackFinder&, int id );
00059 
00061     virtual ~L1MuDTEtaProcessor();
00062 
00064     inline int id() const { return m_epid; }
00065     
00067     virtual void run(int bx, const edm::Event& e, const edm::EventSetup& c);
00068 
00070     virtual void reset();
00071 
00073     void print() const;
00074 
00076     inline const L1MuDTTrackFinder& tf() const { return m_tf; }
00077 
00079     inline int eta(int id) const { return m_eta[id]; }
00080     
00082     inline bool fineBit(int id) const { return m_fine[id]; }
00083      
00084   private:
00085     
00087     void receiveData(int bx, const edm::Event& e);
00088     
00090     void receiveAddresses();
00091     
00093     void runEtaTrackFinder(const edm::EventSetup& c);
00094     
00096     void runEtaMatchingUnit(const edm::EventSetup& c);
00097     
00099     void assign(); 
00100 
00102     static int quality(int id, int stat);     
00103 
00104   private:
00105 
00106     const L1MuDTTrackFinder&                  m_tf;
00107     int                                       m_epid;
00108 
00109     int                                       m_eta[12];
00110     bool                                      m_fine[12];
00111     
00112     std::vector<int>                          m_foundPattern;    
00113     int                                       m_pattern[12];
00114 
00115     int                                       m_address[12];
00116     L1MuDTTrack*                              m_TrackCand[12];    
00117     L1MuDTTrack*                              m_TracKCand[12];    
00118     std::vector<const L1MuDTTrackSegEta*>     m_tseta;
00119     
00120     edm::ESHandle< L1MuDTEtaPatternLut >  theEtaPatternLUT;  // ETF look-up table
00121     edm::ESHandle< L1MuDTQualPatternLut > theQualPatternLUT; // EMU look-up tables
00122  
00123 };
00124 
00125 #endif

Generated on Tue Jun 9 17:40:01 2009 for CMSSW by  doxygen 1.5.4