CMS 3D CMS Logo

L1MuGlobalMuonTrigger.h
Go to the documentation of this file.
1 //---------------------------------------------
2 //
3 // \class L1MuGlobalMuonTrigger
4 //
5 // Description: L1 Global Muon Trigger
6 //
7 //
8 //
9 // Author :
10 // Ivan Mikulec HEPHY Vienna
11 //
12 //--------------------------------------------------
13 #ifndef L1TriggerGlobalMuonTrigger_L1MuGlobalMuonTrigger_h
14 #define L1TriggerGlobalMuonTrigger_L1MuGlobalMuonTrigger_h
15 
16 //---------------
17 // C++ Headers --
18 //---------------
19 
20 //----------------------
21 // Base Class Headers --
22 //----------------------
24 
25 //------------------------------------
26 // Collaborating Class Declarations --
27 //------------------------------------
34 
35 class L1MuGMTConfig;
36 class L1MuGMTPSB;
37 class L1MuGMTMatcher;
39 class L1MuGMTMipIsoAU;
40 class L1MuGMTMerger;
41 class L1MuGMTSorter;
42 
44 
45 class L1MuGMTDebugBlock;
46 
47 //---------------------
48 //-- Class Interface --
49 //---------------------
50 class L1MuGlobalMuonTrigger : public edm::one::EDProducer<edm::one::SharedResources> {
51 public:
53  ~L1MuGlobalMuonTrigger() override;
54  void beginJob() override;
55 
56  void produce(edm::Event&, const edm::EventSetup&) override;
57 
58  void reset();
59 
61  inline const L1MuGMTPSB* Data() const { return m_PSB; }
62 
64  inline const L1MuGMTMatcher* Matcher(int id) const { return m_Matcher[id]; }
65 
67  inline const L1MuGMTCancelOutUnit* CancelOutUnit(int id) const { return m_CancelOutUnit[id]; }
68 
70  inline const L1MuGMTMipIsoAU* MipIsoAU(int id) const { return m_MipIsoAU[id]; }
71 
73  inline const L1MuGMTMerger* Merger(int id) const { return m_Merger[id]; }
74 
76  inline const L1MuGMTSorter* Sorter() const { return m_Sorter; }
77 
81  std::unique_ptr<L1MuGMTReadoutCollection> getReadoutCollection();
82 
85 
88 
89 private:
96 
97  std::vector<L1MuGMTExtendedCand> m_ExtendedCands;
98  std::vector<L1MuGMTReadoutRecord*> m_ReadoutRingbuffer;
99 
102 
104 
106 
107  unsigned long long m_L1MuGMTScalesCacheID;
108  unsigned long long m_L1MuTriggerScalesCacheID;
109  unsigned long long m_L1MuTriggerPtScaleCacheID;
110  unsigned long long m_L1MuGMTParametersCacheID;
111  unsigned long long m_L1MuGMTChannelMaskCacheID;
112  unsigned long long m_L1CaloGeometryCacheID;
113 };
114 
115 #endif // L1TriggerGlobalMuonTrigger_L1MuGlobalMuonTrigger_h
unsigned long long m_L1MuTriggerScalesCacheID
std::vector< L1MuGMTReadoutRecord * > m_ReadoutRingbuffer
unsigned long long m_L1MuGMTChannelMaskCacheID
const L1MuGMTMatcher * Matcher(int id) const
return pointer to Matcher
std::vector< L1MuGMTExtendedCand > m_ExtendedCands
const L1MuGMTSorter * Sorter() const
return pointer to Sorter
void produce(edm::Event &, const edm::EventSetup &) override
L1MuGlobalMuonTrigger(const edm::ParameterSet &)
unsigned long long m_L1CaloGeometryCacheID
unsigned long long m_L1MuTriggerPtScaleCacheID
L1MuGMTMipIsoAU * m_MipIsoAU[2]
const L1MuGMTPSB * Data() const
return pointer to PSB
const L1MuGMTCancelOutUnit * CancelOutUnit(int id) const
return pointer to Cancel Out Unit
std::unique_ptr< L1MuGMTReadoutCollection > getReadoutCollection()
const L1MuGMTMerger * Merger(int id) const
return pointer to Merger
L1MuGMTMatcher * m_Matcher[2]
L1MuGMTMerger * m_Merger[2]
unsigned long long m_L1MuGMTScalesCacheID
const L1MuGMTMipIsoAU * MipIsoAU(int id) const
return pointer to MIP & ISO bit assignment unit
L1MuGMTCancelOutUnit * m_CancelOutUnit[4]
static L1MuGMTConfig * m_config
unsigned long long m_L1MuGMTParametersCacheID
static L1MuGMTDebugBlock * m_db
L1MuGMTDebugBlock * DebugBlockForFill() const
for debug: return the debug block (in order to fill it)
L1MuGMTReadoutRecord * currentReadoutRecord() const
return a reference to the current record in the ring buffer