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 
19 
21 
31 
33 class L1GtParameters;
34 class L1GtBoardMaps;
35 
37 class L1GtTriggerMask;
38 
39 class TriggerMenu;
40 
41 // class declaration
42 
44 public:
45  explicit L1TGlobalProducer(const edm::ParameterSet&);
46  ~L1TGlobalProducer() override;
47 
48  void produce(edm::Event&, const edm::EventSetup&) override;
49 
50  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
51 
52 private:
54 
57  unsigned long long m_l1GtParCacheID;
58 
59  // trigger menu
60  std::unique_ptr<TriggerMenu> m_l1GtMenu;
61  unsigned long long m_l1GtMenuCacheID;
62 
63  // number of physics triggers
64  unsigned int m_numberPhysTriggers;
65 
66  // number of DAQ partitions
67  unsigned int m_numberDaqPartitions;
68 
69  // number of objects of each type
70  int m_nrL1Mu;
71  int m_nrL1EG;
72  int m_nrL1Tau;
73 
74  int m_nrL1Jet;
75 
76  // ... the rest of the objects are global
79 
82 
85 
87  unsigned int m_bstLengthBytes;
88 
91  unsigned long long m_l1GtBMCacheID;
92 
95  unsigned long long m_l1GtPfAlgoCacheID;
96 
97  const std::vector<std::vector<double>>* m_prescaleFactorsAlgoTrig;
98  std::vector<std::vector<double>> m_initialPrescaleFactorsAlgoTrig;
99 
102 
104 
107  unsigned long long m_l1GtTmAlgoCacheID;
108 
110  unsigned long long m_l1GtTmVetoAlgoCacheID;
111 
112  const std::vector<unsigned int>* m_triggerMaskAlgoTrig;
113  std::vector<unsigned int> m_initialTriggerMaskAlgoTrig;
114 
115  const std::vector<int>* m_triggerMaskVetoAlgoTrig;
117 
118  std::unique_ptr<l1t::GlobalBoard> m_uGtBrd;
119 
123 
133 
137 
140 
143 
146 
152 
155 
159 
162 
164  unsigned int m_prescaleSet;
165 
170 
174 
179 
184 
188 };
189 
190 #endif /*L1TGlobalProducer_h*/
L1TGlobalProducer::m_jetInputToken
edm::EDGetTokenT< BXVector< l1t::Jet > > m_jetInputToken
Definition: L1TGlobalProducer.h:131
L1TGlobalProducer
Definition: L1TGlobalProducer.h:43
L1TGlobalProducer::m_l1GtPfAlgoCacheID
unsigned long long m_l1GtPfAlgoCacheID
Definition: L1TGlobalProducer.h:95
L1TGlobalProducer::m_uGtBrd
std::unique_ptr< l1t::GlobalBoard > m_uGtBrd
Definition: L1TGlobalProducer.h:118
L1TGlobalProducer::m_verbosity
int m_verbosity
verbosity level
Definition: L1TGlobalProducer.h:176
L1TGlobalProducer::m_l1GtBM
const L1GtBoardMaps * m_l1GtBM
board maps - cache only the record
Definition: L1TGlobalProducer.h:90
L1GtPrescaleFactors
Definition: L1GtPrescaleFactors.h:32
GlobalBoard.h
L1TUtmTriggerMenuRcd.h
L1TGlobalProducer::m_prescaleFactorsAlgoTrig
const std::vector< std::vector< double > > * m_prescaleFactorsAlgoTrig
Definition: L1TGlobalProducer.h:97
L1TGlobalProducer::m_numberPhysTriggers
unsigned int m_numberPhysTriggers
Definition: L1TGlobalProducer.h:64
L1TGlobalProducer::m_requireMenuToMatchAlgoBlkInput
bool m_requireMenuToMatchAlgoBlkInput
Definition: L1TGlobalProducer.h:181
L1TGlobalProducer::m_algoblkInputTag
edm::InputTag m_algoblkInputTag
Definition: L1TGlobalProducer.h:182
L1TGlobalProducer::m_extInputToken
edm::EDGetTokenT< BXVector< GlobalExtBlk > > m_extInputToken
Definition: L1TGlobalProducer.h:136
L1TGlobalProducer::m_l1GtParCacheID
unsigned long long m_l1GtParCacheID
Definition: L1TGlobalProducer.h:57
L1TGlobalProducer::m_l1GtPrescalesVetosFract
const l1t::PrescalesVetosFractHelper * m_l1GtPrescalesVetosFract
prescale factors
Definition: L1TGlobalProducer.h:94
L1TGlobalProducer::m_totalBxInEvent
int m_totalBxInEvent
total number of Bx's in the event coming from EventSetup
Definition: L1TGlobalProducer.h:81
L1TGlobalProducer::m_nrL1Mu
int m_nrL1Mu
Definition: L1TGlobalProducer.h:70
GlobalParamsHelper.h
L1TGlobalProducer::m_initialTriggerMaskAlgoTrig
std::vector< unsigned int > m_initialTriggerMaskAlgoTrig
Definition: L1TGlobalProducer.h:113
edm::EDGetTokenT
Definition: EDGetToken.h:33
L1TGlobalParametersRcd.h
L1TGlobalProducer::produce
void produce(edm::Event &, const edm::EventSetup &) override
Definition: L1TGlobalProducer.cc:241
L1GtParameters
Definition: L1GtParameters.h:33
L1GtBoardMaps
Definition: L1GtBoardMaps.h:33
L1TGlobalProducer::m_jetInputTag
edm::InputTag m_jetInputTag
Definition: L1TGlobalProducer.h:127
L1TGlobalProducer::m_l1GtStablePar
const L1TGlobalParameters * m_l1GtStablePar
cached stuff
Definition: L1TGlobalProducer.h:56
EDProducer.h
L1TGlobalProducer::m_psBstLengthBytes
int m_psBstLengthBytes
length of BST record (in bytes) from parameter set
Definition: L1TGlobalProducer.h:161
L1TGlobalProducer::m_l1GtTmAlgoCacheID
unsigned long long m_l1GtTmAlgoCacheID
Definition: L1TGlobalProducer.h:107
L1TGlobalProducer::m_l1GtTmVetoAlgoCacheID
unsigned long long m_l1GtTmVetoAlgoCacheID
Definition: L1TGlobalProducer.h:110
L1TGlobalProducer::m_muInputTag
edm::InputTag m_muInputTag
input tag for muon collection from GMT
Definition: L1TGlobalProducer.h:121
L1TGlobalProducer::m_l1GtTmAlgo
const L1GtTriggerMask * m_l1GtTmAlgo
trigger masks & veto masks
Definition: L1TGlobalProducer.h:106
parallelization.uint
uint
Definition: parallelization.py:124
ESGetToken.h
L1TGlobalProducer::m_prescalesFile
std::string m_prescalesFile
CSV file for prescales.
Definition: L1TGlobalProducer.h:101
L1TGlobalProducer::m_sumInputTag
edm::InputTag m_sumInputTag
Definition: L1TGlobalProducer.h:128
L1TGlobalProducer::m_tauInputToken
edm::EDGetTokenT< BXVector< l1t::Tau > > m_tauInputToken
Definition: L1TGlobalProducer.h:130
L1TGlobalProducer::m_l1GtStableParToken
edm::ESGetToken< L1TGlobalParameters, L1TGlobalParametersRcd > m_l1GtStableParToken
Definition: L1TGlobalProducer.h:185
L1TGlobalProducer::m_produceL1GtObjectMapRecord
bool m_produceL1GtObjectMapRecord
logical flag to produce the L1 GT object map record
Definition: L1TGlobalProducer.h:142
L1TGlobalProducer::m_algorithmTriggersUnprescaled
bool m_algorithmTriggersUnprescaled
Definition: L1TGlobalProducer.h:169
PrescalesVetosFractHelper.h
L1TGlobalParameters
Definition: L1TGlobalParameters.h:7
L1TGlobalProducer::m_l1GtPrescaleVetosToken
edm::ESGetToken< L1TGlobalPrescalesVetosFract, L1TGlobalPrescalesVetosFractRcd > m_l1GtPrescaleVetosToken
Definition: L1TGlobalProducer.h:187
L1TGlobalProducer::m_produceL1GtDaqRecord
bool m_produceL1GtDaqRecord
logical flag to produce the L1 GT DAQ readout record
Definition: L1TGlobalProducer.h:139
L1TGlobalProducer::m_writePsbL1GtDaqRecord
bool m_writePsbL1GtDaqRecord
logical flag to write the PSB content in the L1 GT DAQ record
Definition: L1TGlobalProducer.h:145
L1TGlobalProducer::m_l1GtTmVetoAlgo
const L1GtTriggerMask * m_l1GtTmVetoAlgo
Definition: L1TGlobalProducer.h:109
L1TGlobalProducer::m_isDebugEnabled
bool m_isDebugEnabled
Definition: L1TGlobalProducer.h:178
L1TGlobalProducer::m_initialPrescaleFactorsAlgoTrig
std::vector< std::vector< double > > m_initialPrescaleFactorsAlgoTrig
Definition: L1TGlobalProducer.h:98
L1TGlobalProducer::~L1TGlobalProducer
~L1TGlobalProducer() override
Definition: L1TGlobalProducer.cc:236
L1GtTriggerMask
Definition: L1GtTriggerMask.h:33
L1TGlobalProducer::m_triggerMaskVetoAlgoTrig
const std::vector< int > * m_triggerMaskVetoAlgoTrig
Definition: L1TGlobalProducer.h:115
L1TGlobalProducer::m_extInputTag
edm::InputTag m_extInputTag
input tag for external conditions
Definition: L1TGlobalProducer.h:135
L1TGlobalProducer::m_l1GtMenuCacheID
unsigned long long m_l1GtMenuCacheID
Definition: L1TGlobalProducer.h:61
L1TGlobalProducer::m_alternativeNrBxBoardDaq
unsigned int m_alternativeNrBxBoardDaq
Definition: L1TGlobalProducer.h:158
L1TGlobalProducer::m_L1DataBxInEvent
int m_L1DataBxInEvent
Bx expected in Data coming to GT.
Definition: L1TGlobalProducer.h:154
L1TGlobalProducer::m_nrL1Tau
int m_nrL1Tau
Definition: L1TGlobalProducer.h:72
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
L1TGlobalPrescalesVetosFractRcd.h
L1TGlobalPrescalesVetosFract.h
L1TUtmTriggerMenu.h
l1t::PrescalesVetosFractHelper
Definition: PrescalesVetosFractHelper.h:32
L1TGlobalParameters.h
edm::ParameterSet
Definition: ParameterSet.h:47
Event.h
L1TGlobalProducer::m_tauInputTag
edm::InputTag m_tauInputTag
Definition: L1TGlobalProducer.h:126
L1TGlobalProducer::m_l1GtMenu
std::unique_ptr< TriggerMenu > m_l1GtMenu
Definition: L1TGlobalProducer.h:60
L1TGlobalProducer::m_initialTriggerMaskVetoAlgoTrig
std::vector< int > m_initialTriggerMaskVetoAlgoTrig
Definition: L1TGlobalProducer.h:116
edm::stream::EDProducer
Definition: EDProducer.h:38
edm::EventSetup
Definition: EventSetup.h:58
edm::EDGetToken
Definition: EDGetToken.h:35
L1TGlobalProducer::m_algorithmTriggersUnmasked
bool m_algorithmTriggersUnmasked
Definition: L1TGlobalProducer.h:173
L1TGlobalProducer::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: L1TGlobalProducer.cc:37
L1TGlobalProducer::m_muInputToken
edm::EDGetTokenT< BXVector< l1t::Muon > > m_muInputToken
Definition: L1TGlobalProducer.h:122
L1TGlobalProducer::m_nrL1EG
int m_nrL1EG
Definition: L1TGlobalProducer.h:71
L1TGlobalProducer::m_sumInputToken
edm::EDGetTokenT< BXVector< l1t::EtSum > > m_sumInputToken
Definition: L1TGlobalProducer.h:132
edm::ESGetToken< L1TGlobalParameters, L1TGlobalParametersRcd >
InputTag.h
L1TGlobalProducer::m_emulateBxInEvent
int m_emulateBxInEvent
Definition: L1TGlobalProducer.h:151
L1TGlobalProducer::m_printL1Menu
bool m_printL1Menu
Definition: L1TGlobalProducer.h:177
L1TGlobalProducer::L1TGlobalProducer
L1TGlobalProducer(const edm::ParameterSet &)
Definition: L1TGlobalProducer.cc:84
L1TGlobalProducer::m_ifCaloEtaNumberBits
int m_ifCaloEtaNumberBits
Definition: L1TGlobalProducer.h:78
L1TGlobalProducer::m_bstLengthBytes
unsigned int m_bstLengthBytes
length of BST record (in bytes) from event setup
Definition: L1TGlobalProducer.h:87
L1TGlobalProducer::m_getPrescaleColumnFromData
bool m_getPrescaleColumnFromData
Definition: L1TGlobalProducer.h:180
L1TGlobalProducer::m_prescaleSet
unsigned int m_prescaleSet
prescale set used
Definition: L1TGlobalProducer.h:164
TriggerMenu
Definition: TriggerMenu.h:48
L1TGlobalProducer::m_nrL1Jet
int m_nrL1Jet
Definition: L1TGlobalProducer.h:74
Frameworkfwd.h
L1TGlobalProducer::m_egInputToken
edm::EDGetTokenT< BXVector< l1t::EGamma > > m_egInputToken
Definition: L1TGlobalProducer.h:129
EventSetup.h
L1TGlobalProducer::m_algoblkInputToken
edm::EDGetToken m_algoblkInputToken
Definition: L1TGlobalProducer.h:183
L1TGlobalProducer::m_l1GtBMCacheID
unsigned long long m_l1GtBMCacheID
Definition: L1TGlobalProducer.h:91
L1TGlobalProducer::m_numberDaqPartitions
unsigned int m_numberDaqPartitions
Definition: L1TGlobalProducer.h:67
L1TGlobalProducer::m_currentLumi
uint m_currentLumi
Definition: L1TGlobalProducer.h:103
ParameterSet.h
edm::Event
Definition: Event.h:73
L1TGlobalProducer::m_l1GtMenuToken
edm::ESGetToken< L1TUtmTriggerMenu, L1TUtmTriggerMenuRcd > m_l1GtMenuToken
Definition: L1TGlobalProducer.h:186
L1TGlobalProducer::m_triggerMaskAlgoTrig
const std::vector< unsigned int > * m_triggerMaskAlgoTrig
Definition: L1TGlobalProducer.h:112
edm::InputTag
Definition: InputTag.h:15
L1TGlobalProducer::m_ifMuEtaNumberBits
int m_ifMuEtaNumberBits
Definition: L1TGlobalProducer.h:77
L1TGlobalProducer::m_activeBoardsGtDaq
uint16_t m_activeBoardsGtDaq
active boards in L1 GT DAQ record
Definition: L1TGlobalProducer.h:84
L1TGlobalProducer::m_egInputTag
edm::InputTag m_egInputTag
input tag for calorimeter collections from GCT
Definition: L1TGlobalProducer.h:125