CMS 3D CMS Logo

L1TGlobalProducer.h
Go to the documentation of this file.
1 #ifndef L1TGlobalProducer_h
2 #define L1TGlobalProducer_h
3 
4 // Emulator for L1T Global
5 // author: Brian Winer Ohio State
6 
7 #include <string>
8 #include <vector>
9 #include <iostream>
10 #include <fstream>
11 
18 
20 
24 
25 
26 
28 class L1GtParameters;
29 class L1GtBoardMaps;
30 
32 class L1GtTriggerMask;
33 
34 class TriggerMenu;
35 
36 // class declaration
37 
39 {
40 
41 public:
42 
43  explicit L1TGlobalProducer(const edm::ParameterSet&);
44  ~L1TGlobalProducer() override;
45 
46  void produce(edm::Event&, const edm::EventSetup&) override;
47 
48  static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
49 
50 private:
51 
53 
56  unsigned long long m_l1GtParCacheID;
57 
58  // trigger menu
59  std::unique_ptr<TriggerMenu> m_l1GtMenu;
60  unsigned long long m_l1GtMenuCacheID;
61 
62  // number of physics triggers
63  unsigned int m_numberPhysTriggers;
64 
65  // number of DAQ partitions
66  unsigned int m_numberDaqPartitions;
67 
68  // number of objects of each type
69  int m_nrL1Mu;
70  int m_nrL1EG;
71  int m_nrL1Tau;
72 
73  int m_nrL1Jet;
74 
75  // ... the rest of the objects are global
78 
81 
84 
86  unsigned int m_bstLengthBytes;
87 
90  unsigned long long m_l1GtBMCacheID;
91 
94  unsigned long long m_l1GtPfAlgoCacheID;
95 
96  const std::vector<std::vector<int> >* m_prescaleFactorsAlgoTrig;
97  std::vector<std::vector<int> > m_initialPrescaleFactorsAlgoTrig;
98 
101 
104  unsigned long long m_l1GtTmAlgoCacheID;
105 
107  unsigned long long m_l1GtTmVetoAlgoCacheID;
108 
109  const std::vector<unsigned int>* m_triggerMaskAlgoTrig;
110  std::vector<unsigned int> m_initialTriggerMaskAlgoTrig;
111 
112  const std::vector<int>* m_triggerMaskVetoAlgoTrig;
114 
115  std::unique_ptr<l1t::GlobalBoard> m_uGtBrd;
116 
120 
130 
134 
137 
140 
143 
149 
152 
156 
159 
161  unsigned int m_prescaleSet;
162 
167 
171 
176 
177 
178 };
179 
180 
181 #endif /*L1TGlobalProducer_h*/
const L1GtBoardMaps * m_l1GtBM
board maps - cache only the record
edm::InputTag m_jetInputTag
unsigned int m_numberDaqPartitions
unsigned long long m_l1GtParCacheID
unsigned long long m_l1GtTmVetoAlgoCacheID
const std::vector< unsigned int > * m_triggerMaskAlgoTrig
int m_verbosity
verbosity level
std::string m_prescalesFile
CSV file for prescales.
uint16_t m_activeBoardsGtDaq
active boards in L1 GT DAQ record
edm::InputTag m_egInputTag
input tag for calorimeter collections from GCT
edm::EDGetTokenT< BXVector< l1t::Tau > > m_tauInputToken
int m_psBstLengthBytes
length of BST record (in bytes) from parameter set
bool m_produceL1GtObjectMapRecord
logical flag to produce the L1 GT object map record
int m_totalBxInEvent
total number of Bx&#39;s in the event coming from EventSetup
unsigned int m_numberPhysTriggers
const L1TGlobalParameters * m_l1GtStablePar
cached stuff
edm::EDGetTokenT< BXVector< GlobalExtBlk > > m_extInputToken
unsigned long long m_l1GtTmAlgoCacheID
~L1TGlobalProducer() override
std::vector< unsigned int > m_initialTriggerMaskAlgoTrig
const L1GtTriggerMask * m_l1GtTmAlgo
trigger masks & veto masks
const std::vector< int > * m_triggerMaskVetoAlgoTrig
unsigned int m_alternativeNrBxBoardDaq
edm::InputTag m_sumInputTag
edm::InputTag m_muInputTag
input tag for muon collection from GMT
edm::InputTag m_extInputTag
input tag for external conditions
unsigned long long m_l1GtMenuCacheID
edm::InputTag m_tauInputTag
bool m_writePsbL1GtDaqRecord
logical flag to write the PSB content in the L1 GT DAQ record
std::unique_ptr< TriggerMenu > m_l1GtMenu
std::vector< std::vector< int > > m_initialPrescaleFactorsAlgoTrig
std::vector< int > m_initialTriggerMaskVetoAlgoTrig
bool m_produceL1GtDaqRecord
logical flag to produce the L1 GT DAQ readout record
edm::EDGetTokenT< BXVector< l1t::Muon > > m_muInputToken
const L1GtTriggerMask * m_l1GtTmVetoAlgo
unsigned int m_prescaleSet
prescale set used
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
edm::EDGetTokenT< BXVector< l1t::EtSum > > m_sumInputToken
int m_L1DataBxInEvent
Bx expected in Data coming to GT.
L1TGlobalProducer(const edm::ParameterSet &)
unsigned long long m_l1GtBMCacheID
unsigned int m_bstLengthBytes
length of BST record (in bytes) from event setup
const l1t::PrescalesVetosHelper * m_l1GtPrescalesVetoes
prescale factors
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrig
unsigned long long m_l1GtPfAlgoCacheID
std::unique_ptr< l1t::GlobalBoard > m_uGtBrd
edm::EDGetTokenT< BXVector< l1t::Jet > > m_jetInputToken
edm::EDGetTokenT< BXVector< l1t::EGamma > > m_egInputToken
void produce(edm::Event &, const edm::EventSetup &) override