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 
26 class L1GtParameters;
27 class L1GtBoardMaps;
28 
30 class L1GtTriggerMask;
31 
32 class TriggerMenu;
33 
34 // class declaration
35 
37 public:
38  explicit L1TGlobalProducer(const edm::ParameterSet&);
39  ~L1TGlobalProducer() override;
40 
41  void produce(edm::Event&, const edm::EventSetup&) override;
42 
43  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
44 
45 private:
47 
50  unsigned long long m_l1GtParCacheID;
51 
52  // trigger menu
53  std::unique_ptr<TriggerMenu> m_l1GtMenu;
54  unsigned long long m_l1GtMenuCacheID;
55 
56  // number of physics triggers
57  unsigned int m_numberPhysTriggers;
58 
59  // number of DAQ partitions
60  unsigned int m_numberDaqPartitions;
61 
62  // number of objects of each type
63  int m_nrL1Mu;
64  int m_nrL1EG;
65  int m_nrL1Tau;
66 
67  int m_nrL1Jet;
68 
69  // ... the rest of the objects are global
72 
75 
78 
80  unsigned int m_bstLengthBytes;
81 
84  unsigned long long m_l1GtBMCacheID;
85 
88  unsigned long long m_l1GtPfAlgoCacheID;
89 
90  const std::vector<std::vector<int>>* m_prescaleFactorsAlgoTrig;
91  std::vector<std::vector<int>> m_initialPrescaleFactorsAlgoTrig;
92 
95 
97 
100  unsigned long long m_l1GtTmAlgoCacheID;
101 
103  unsigned long long m_l1GtTmVetoAlgoCacheID;
104 
105  const std::vector<unsigned int>* m_triggerMaskAlgoTrig;
106  std::vector<unsigned int> m_initialTriggerMaskAlgoTrig;
107 
108  const std::vector<int>* m_triggerMaskVetoAlgoTrig;
110 
111  std::unique_ptr<l1t::GlobalBoard> m_uGtBrd;
112 
116 
126 
130 
133 
136 
139 
145 
148 
152 
155 
157  unsigned int m_prescaleSet;
158 
163 
167 
172 
176 };
177 
178 #endif /*L1TGlobalProducer_h*/
const L1GtBoardMaps * m_l1GtBM
board maps - cache only the record
edm::InputTag m_jetInputTag
unsigned int m_numberDaqPartitions
edm::InputTag m_algoblkInputTag
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
edm::EDGetToken m_algoblkInputToken
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