CMS 3D CMS Logo

L1MuBMEtaProcessor.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
17 //
18 //--------------------------------------------------
19 #ifndef L1MUBM_ETA_PROCESSOR_H
20 #define L1MUBM_ETA_PROCESSOR_H
21 
22 //---------------
23 // C++ Headers --
24 //---------------
25 
26 #include <vector>
27 
28 //----------------------
29 // Base Class Headers --
30 //----------------------
31 
32 //------------------------------------
33 // Collaborating Class Declarations --
34 //------------------------------------
35 
47 
50 
51 class L1MuBMTrackSegEta;
52 class L1MuBMTrackFinder;
53 class L1MuBMTrack;
56 class L1MuDTTFMasks;
57 
58 // ---------------------
59 // -- Class Interface --
60 // ---------------------
61 
63 
64  public:
65 
68 
70  virtual ~L1MuBMEtaProcessor();
71 
73  inline int id() const { return m_epid; }
74 
76  virtual void run(int bx, const edm::Event& e, const edm::EventSetup& c);
77 
79  virtual void reset();
80 
82  void print() const;
83 
85  inline const L1MuBMTrackFinder& tf() const { return m_tf; }
86 
88  inline int eta(int id) const { return m_eta[id]; }
89 
91  inline bool fineBit(int id) const { return m_fine[id]; }
92 
93  private:
94 
96  void receiveData(int bx, const edm::Event& e, const edm::EventSetup& c);
97 
99  void receiveAddresses();
100 
102  void runEtaTrackFinder(const edm::EventSetup& c);
103 
105  void runEtaMatchingUnit(const edm::EventSetup& c);
106 
108  void assign();
109 
111  static int quality(int id, int stat);
112 
113  private:
114 
116  int m_epid;
117 
118  int m_mask;
119 
120  int m_eta[12];
121  bool m_fine[12];
122 
123  std::vector<int> m_foundPattern;
124  int m_pattern[12];
125 
126  int m_address[12];
129  std::vector<const L1MuBMTrackSegEta*> m_tseta;
130 
131  //edm::ESHandle< L1MuDTEtaPatternLut > theEtaPatternLUT; // ETF look-up table
132  //edm::ESHandle< L1MuDTQualPatternLut > theQualPatternLUT; // EMU look-up tables
133  //edm::ESHandle< L1MuDTTFMasks > msks;
136  L1MuDTEtaPatternLut theEtaPatternLUT; // ETF look-up table
138 
140 
141 };
142 
143 #endif
const L1MuBMTrackFinder & tf() const
return reference to barrel MTTF
edm::ESHandle< L1TMuonBarrelParams > bmtfParamsHandle
const L1MuBMTrackFinder & m_tf
virtual void run(int bx, const edm::Event &e, const edm::EventSetup &c)
run the Eta Processor
L1MuDTQualPatternLut theQualPatternLUT
L1MuBMTrack * m_TrackCand[12]
void receiveData(int bx, const edm::Event &e, const edm::EventSetup &c)
receive data (eta trigger primitives)
L1MuBMTrack * m_TracKCand[12]
bool fineBit(int id) const
return fine bit, index [0,11]
virtual void reset()
reset the Eta Processor
void runEtaMatchingUnit(const edm::EventSetup &c)
run Eta Matching Unit (EMU)
void print() const
print muon candidates found by the Eta Processor
std::vector< int > m_foundPattern
L1MuDTEtaPatternLut theEtaPatternLUT
L1MuBMEtaProcessor(const L1MuBMTrackFinder &, int id, edm::ConsumesCollector &&iC)
constructor
int id() const
return Eta Processor identifier (0-11)
edm::EDGetTokenT< L1MuDTChambThContainer > m_DTDigiToken
void assign()
assign eta and etaFineBit
void runEtaTrackFinder(const edm::EventSetup &c)
run Eta Track Finder (ETF)
static int quality(int id, int stat)
get quality code; id [0,26], stat [1,3]
void receiveAddresses()
receive addresses (from 6 Sector Processors)
int eta(int id) const
return eta values, index [0,11]
std::vector< const L1MuBMTrackSegEta * > m_tseta
virtual ~L1MuBMEtaProcessor()
destructor