CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
L1TGlobalProducer Class Reference

#include <L1TGlobalProducer.h>

Inheritance diagram for L1TGlobalProducer:
edm::stream::EDProducer<>

Public Member Functions

 L1TGlobalProducer (const edm::ParameterSet &)
 
void produce (edm::Event &, const edm::EventSetup &) override
 
 ~L1TGlobalProducer () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Private Attributes

uint16_t m_activeBoardsGtDaq
 active boards in L1 GT DAQ record More...
 
edm::InputTag m_algoblkInputTag
 
edm::EDGetToken m_algoblkInputToken
 
bool m_algorithmTriggersUnmasked
 
bool m_algorithmTriggersUnprescaled
 
unsigned int m_alternativeNrBxBoardDaq
 
unsigned int m_bstLengthBytes
 length of BST record (in bytes) from event setup More...
 
uint m_currentLumi
 
edm::InputTag m_egInputTag
 input tag for calorimeter collections from GCT More...
 
edm::EDGetTokenT< BXVector< l1t::EGamma > > m_egInputToken
 
int m_emulateBxInEvent
 
edm::InputTag m_extInputTag
 input tag for external conditions More...
 
edm::EDGetTokenT< BXVector< GlobalExtBlk > > m_extInputToken
 
bool m_getPrescaleColumnFromData
 
int m_ifCaloEtaNumberBits
 
int m_ifMuEtaNumberBits
 
std::vector< std::vector< int > > m_initialPrescaleFactorsAlgoTrig
 
std::vector< unsigned int > m_initialTriggerMaskAlgoTrig
 
std::vector< int > m_initialTriggerMaskVetoAlgoTrig
 
bool m_isDebugEnabled
 
edm::InputTag m_jetInputTag
 
edm::EDGetTokenT< BXVector< l1t::Jet > > m_jetInputToken
 
int m_L1DataBxInEvent
 Bx expected in Data coming to GT. More...
 
const L1GtBoardMapsm_l1GtBM
 board maps - cache only the record More...
 
unsigned long long m_l1GtBMCacheID
 
std::unique_ptr< TriggerMenum_l1GtMenu
 
unsigned long long m_l1GtMenuCacheID
 
unsigned long long m_l1GtParCacheID
 
unsigned long long m_l1GtPfAlgoCacheID
 
const l1t::PrescalesVetosHelperm_l1GtPrescalesVetoes
 prescale factors More...
 
const L1TGlobalParametersm_l1GtStablePar
 cached stuff More...
 
const L1GtTriggerMaskm_l1GtTmAlgo
 trigger masks & veto masks More...
 
unsigned long long m_l1GtTmAlgoCacheID
 
const L1GtTriggerMaskm_l1GtTmVetoAlgo
 
unsigned long long m_l1GtTmVetoAlgoCacheID
 
edm::InputTag m_muInputTag
 input tag for muon collection from GMT More...
 
edm::EDGetTokenT< BXVector< l1t::Muon > > m_muInputToken
 
int m_nrL1EG
 
int m_nrL1Jet
 
int m_nrL1Mu
 
int m_nrL1Tau
 
unsigned int m_numberDaqPartitions
 
unsigned int m_numberPhysTriggers
 
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrig
 
unsigned int m_prescaleSet
 prescale set used More...
 
std::string m_prescalesFile
 CSV file for prescales. More...
 
bool m_printL1Menu
 
bool m_produceL1GtDaqRecord
 logical flag to produce the L1 GT DAQ readout record More...
 
bool m_produceL1GtObjectMapRecord
 logical flag to produce the L1 GT object map record More...
 
int m_psBstLengthBytes
 length of BST record (in bytes) from parameter set More...
 
edm::InputTag m_sumInputTag
 
edm::EDGetTokenT< BXVector< l1t::EtSum > > m_sumInputToken
 
edm::InputTag m_tauInputTag
 
edm::EDGetTokenT< BXVector< l1t::Tau > > m_tauInputToken
 
int m_totalBxInEvent
 total number of Bx's in the event coming from EventSetup More...
 
const std::vector< unsigned int > * m_triggerMaskAlgoTrig
 
const std::vector< int > * m_triggerMaskVetoAlgoTrig
 
std::unique_ptr< l1t::GlobalBoardm_uGtBrd
 
int m_verbosity
 verbosity level More...
 
bool m_writePsbL1GtDaqRecord
 logical flag to write the PSB content in the L1 GT DAQ record More...
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Detailed Description

Definition at line 36 of file L1TGlobalProducer.h.

Constructor & Destructor Documentation

L1TGlobalProducer::L1TGlobalProducer ( const edm::ParameterSet parSet)
explicit

Definition at line 84 of file L1TGlobalProducer.cc.

References LogTrace, m_activeBoardsGtDaq, m_algoblkInputTag, m_algoblkInputToken, m_algorithmTriggersUnmasked, m_algorithmTriggersUnprescaled, m_alternativeNrBxBoardDaq, m_bstLengthBytes, m_currentLumi, m_egInputTag, m_egInputToken, m_emulateBxInEvent, m_extInputTag, m_extInputToken, m_getPrescaleColumnFromData, m_ifCaloEtaNumberBits, m_ifMuEtaNumberBits, m_initialPrescaleFactorsAlgoTrig, m_jetInputTag, m_jetInputToken, m_L1DataBxInEvent, m_l1GtBMCacheID, m_l1GtMenuCacheID, m_l1GtParCacheID, m_l1GtPfAlgoCacheID, m_l1GtTmAlgoCacheID, m_l1GtTmVetoAlgoCacheID, m_muInputTag, m_muInputToken, m_nrL1EG, m_nrL1Jet, m_nrL1Mu, m_nrL1Tau, m_numberDaqPartitions, m_numberPhysTriggers, m_produceL1GtDaqRecord, m_produceL1GtObjectMapRecord, m_sumInputTag, m_sumInputToken, m_tauInputTag, m_tauInputToken, m_totalBxInEvent, m_uGtBrd, and m_verbosity.

85  : m_muInputTag(parSet.getParameter<edm::InputTag>("MuonInputTag")),
86  m_egInputTag(parSet.getParameter<edm::InputTag>("EGammaInputTag")),
87  m_tauInputTag(parSet.getParameter<edm::InputTag>("TauInputTag")),
88  m_jetInputTag(parSet.getParameter<edm::InputTag>("JetInputTag")),
89  m_sumInputTag(parSet.getParameter<edm::InputTag>("EtSumInputTag")),
90  m_extInputTag(parSet.getParameter<edm::InputTag>("ExtInputTag")),
91 
92  m_produceL1GtDaqRecord(parSet.getParameter<bool>("ProduceL1GtDaqRecord")),
93  m_produceL1GtObjectMapRecord(parSet.getParameter<bool>("ProduceL1GtObjectMapRecord")),
94 
95  m_emulateBxInEvent(parSet.getParameter<int>("EmulateBxInEvent")),
96  m_L1DataBxInEvent(parSet.getParameter<int>("L1DataBxInEvent")),
97 
98  m_alternativeNrBxBoardDaq(parSet.getParameter<unsigned int>("AlternativeNrBxBoardDaq")),
99  m_psBstLengthBytes(parSet.getParameter<int>("BstLengthBytes")),
100 
101  m_prescaleSet(parSet.getParameter<unsigned int>("PrescaleSet")),
102 
103  m_algorithmTriggersUnprescaled(parSet.getParameter<bool>("AlgorithmTriggersUnprescaled")),
104  m_algorithmTriggersUnmasked(parSet.getParameter<bool>("AlgorithmTriggersUnmasked")),
105 
106  m_verbosity(parSet.getUntrackedParameter<int>("Verbosity")),
107  m_printL1Menu(parSet.getUntrackedParameter<bool>("PrintL1Menu")),
109  m_getPrescaleColumnFromData(parSet.getParameter<bool>("GetPrescaleColumnFromData")),
110  m_algoblkInputTag(parSet.getParameter<edm::InputTag>("AlgoBlkInputTag")) {
111  m_egInputToken = consumes<BXVector<EGamma>>(m_egInputTag);
112  m_tauInputToken = consumes<BXVector<Tau>>(m_tauInputTag);
113  m_jetInputToken = consumes<BXVector<Jet>>(m_jetInputTag);
114  m_sumInputToken = consumes<BXVector<EtSum>>(m_sumInputTag);
115  m_muInputToken = consumes<BXVector<Muon>>(m_muInputTag);
116  m_extInputToken = consumes<BXVector<GlobalExtBlk>>(m_extInputTag);
118  m_algoblkInputToken = consumes<BXVector<GlobalAlgBlk>>(m_algoblkInputTag);
119 
120  if (m_verbosity) {
121  LogTrace("L1TGlobalProducer") << "\nInput tag for muon collection from uGMT: " << m_muInputTag
122  << "\nInput tag for calorimeter jet collections from Cal: " << m_jetInputTag
123  << "\nInput tag for external conditions : " << m_extInputTag << std::endl;
124 
125  LogTrace("L1TGlobalProducer") << "\nProduce the L1 uGT DAQ readout record: " << m_produceL1GtDaqRecord
126  << "\nProduce the L1 uGT Object Map record: "
127  << m_produceL1GtObjectMapRecord << " \n"
128  << "\nNumber of BxInEvent to be emulated: " << m_emulateBxInEvent << " \n"
129  << "\nAlternative for number of BX in GT DAQ record: 0x" << std::hex
130  << m_alternativeNrBxBoardDaq << " \n"
131  << "\nRun algorithm triggers unprescaled: "
133  << "\nRun algorithm triggers unmasked (all enabled): " << m_algorithmTriggersUnmasked
134  << "\n"
135  << std::endl;
136  }
137 
138  if ((m_emulateBxInEvent > 0) && ((m_emulateBxInEvent % 2) == 0)) {
140 
141  if (m_verbosity) {
142  edm::LogWarning("L1TGlobalProducer")
143  << "\nWARNING: Number of bunch crossing to be emulated rounded to: " << m_emulateBxInEvent
144  << "\n The number must be an odd number!\n"
145  << std::endl;
146  }
147  }
148 
149  if ((m_L1DataBxInEvent > 0) && ((m_L1DataBxInEvent % 2) == 0)) {
151 
152  if (m_verbosity) {
153  edm::LogWarning("L1TGlobalProducer")
154  << "\nWARNING: Number of bunch crossing for incoming L1 Data rounded to: " << m_L1DataBxInEvent
155  << "\n The number must be an odd number!\n"
156  << std::endl;
157  }
158  } else if (m_L1DataBxInEvent < 0) {
159  m_L1DataBxInEvent = 1;
160 
161  if (m_verbosity) {
162  edm::LogWarning("L1TGlobalProducer")
163  << "\nWARNING: Number of bunch crossing for incoming L1 Data was changed to: " << m_L1DataBxInEvent
164  << "\n The number must be an odd positive number!\n"
165  << std::endl;
166  }
167  }
168 
169  // register products
171  produces<GlobalAlgBlkBxCollection>();
172  //blwEXT produces<GlobalExtBlkBxCollection>();
173  }
174 
176  produces<GlobalObjectMapRecord>();
177  }
178 
179  // create new uGt Board
180  m_uGtBrd = std::make_unique<GlobalBoard>();
181  m_uGtBrd->setVerbosity(m_verbosity);
182 
183  // initialize cached IDs
184 
185  //
186  m_l1GtParCacheID = 0ULL;
187  m_l1GtMenuCacheID = 0ULL;
188 
191 
192  m_nrL1Mu = 0;
193  m_nrL1EG = 0;
194  m_nrL1Tau = 0;
195 
196  m_nrL1Jet = 0;
197 
200 
201  //
202  m_l1GtParCacheID = 0ULL;
203 
204  m_totalBxInEvent = 0;
205 
207  m_bstLengthBytes = 0;
208 
209  //
210  m_l1GtBMCacheID = 0ULL;
211 
212  //
213  m_l1GtPfAlgoCacheID = 0ULL;
214 
215  m_l1GtTmAlgoCacheID = 0ULL;
216 
218 
219  m_currentLumi = 0;
220 
221  // Set default, initial, dummy prescale factor table
222  std::vector<std::vector<int>> temp_prescaleTable;
223 
224  temp_prescaleTable.push_back(std::vector<int>());
225  m_initialPrescaleFactorsAlgoTrig = temp_prescaleTable;
226 }
T getParameter(std::string const &) const
bool isDebugEnabled()
T getUntrackedParameter(std::string const &, T const &) const
edm::InputTag m_jetInputTag
unsigned int m_numberDaqPartitions
edm::InputTag m_algoblkInputTag
unsigned long long m_l1GtParCacheID
unsigned long long m_l1GtTmVetoAlgoCacheID
int m_verbosity
verbosity level
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
edm::EDGetTokenT< BXVector< GlobalExtBlk > > m_extInputToken
unsigned long long m_l1GtTmAlgoCacheID
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
std::vector< std::vector< int > > m_initialPrescaleFactorsAlgoTrig
bool m_produceL1GtDaqRecord
logical flag to produce the L1 GT DAQ readout record
edm::EDGetTokenT< BXVector< l1t::Muon > > m_muInputToken
#define LogTrace(id)
unsigned int m_prescaleSet
prescale set used
edm::EDGetTokenT< BXVector< l1t::EtSum > > m_sumInputToken
int m_L1DataBxInEvent
Bx expected in Data coming to GT.
unsigned long long m_l1GtBMCacheID
edm::EDGetToken m_algoblkInputToken
unsigned int m_bstLengthBytes
length of BST record (in bytes) from event setup
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
L1TGlobalProducer::~L1TGlobalProducer ( )
override

Definition at line 229 of file L1TGlobalProducer.cc.

229 {}

Member Function Documentation

void L1TGlobalProducer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 43 of file L1TGlobalProducer.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), edm::ParameterSetDescription::addUntracked(), HLT_2018_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

43  {
45  // These parameters are part of the L1T/HLT interface, avoid changing if possible::
46  desc.add<edm::InputTag>("MuonInputTag", edm::InputTag(""))
47  ->setComment("InputTag for Global Muon Trigger (required parameter: default value is invalid)");
48  desc.add<edm::InputTag>("EGammaInputTag", edm::InputTag(""))
49  ->setComment("InputTag for Calo Trigger EGamma (required parameter: default value is invalid)");
50  desc.add<edm::InputTag>("TauInputTag", edm::InputTag(""))
51  ->setComment("InputTag for Calo Trigger Tau (required parameter: default value is invalid)");
52  desc.add<edm::InputTag>("JetInputTag", edm::InputTag(""))
53  ->setComment("InputTag for Calo Trigger Jet (required parameter: default value is invalid)");
54  desc.add<edm::InputTag>("EtSumInputTag", edm::InputTag(""))
55  ->setComment("InputTag for Calo Trigger EtSum (required parameter: default value is invalid)");
56  desc.add<edm::InputTag>("ExtInputTag", edm::InputTag(""))
57  ->setComment("InputTag for external conditions (not required, but recommend to specify explicitly in config)");
58  desc.add<edm::InputTag>("AlgoBlkInputTag", edm::InputTag("gtDigis"))
59  ->setComment("InputTag for unpacked Algblk (required only if GetPrescaleColumnFromData set to true)");
60  desc.add<bool>("GetPrescaleColumnFromData", false)
61  ->setComment("Get prescale column from unpacked GlobalAlgBck. Otherwise use value specified in PrescaleSet");
62  desc.add<bool>("AlgorithmTriggersUnprescaled", false)
63  ->setComment("not required, but recommend to specify explicitly in config");
64  desc.add<bool>("AlgorithmTriggersUnmasked", false)
65  ->setComment("not required, but recommend to specify explicitly in config");
66  // These parameters have well defined default values and are not currently
67  // part of the L1T/HLT interface. They can be cleaned up or updated at will:
68  desc.add<bool>("ProduceL1GtDaqRecord", true);
69  desc.add<bool>("ProduceL1GtObjectMapRecord", true);
70  desc.add<int>("EmulateBxInEvent", 1);
71  desc.add<int>("L1DataBxInEvent", 5);
72  desc.add<unsigned int>("AlternativeNrBxBoardDaq", 0);
73  desc.add<int>("BstLengthBytes", -1);
74  desc.add<unsigned int>("PrescaleSet", 1);
75  desc.addUntracked<int>("Verbosity", 0);
76  desc.addUntracked<bool>("PrintL1Menu", false);
77  desc.add<std::string>("TriggerMenuLuminosity", "startup");
78  desc.add<std::string>("PrescaleCSVFile", "prescale_L1TGlobal.csv");
79  descriptions.add("L1TGlobalProducer", desc);
80 }
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void L1TGlobalProducer::produce ( edm::Event iEvent,
const edm::EventSetup evSetup 
)
override

Needs error checking that something exists at this bx.

Definition at line 234 of file L1TGlobalProducer.cc.

References edm::EventBase::bunchCrossing(), l1GtPatternGenerator_cfi::bx, l1t::TriggerMenuParser::corCaloTemplate(), l1t::TriggerMenuParser::corEnergySumTemplate(), l1t::TriggerMenuParser::corMuonTemplate(), gather_cfg::cout, data, TauDecayModes::dec, DEFINE_FWK_MODULE, edm::EventSetup::get(), edm::Event::getByToken(), l1t::TriggerMenuParser::gtAlgorithmAliasMap(), l1t::TriggerMenuParser::gtAlgorithmMap(), l1t::TriggerMenuParser::gtScaleDbKey(), l1t::TriggerMenuParser::gtScales(), l1t::TriggerMenuParser::gtTriggerMenuImplementation(), l1t::TriggerMenuParser::gtTriggerMenuInterface(), l1t::TriggerMenuParser::gtTriggerMenuName(), l1t::TriggerMenuParser::gtTriggerMenuUUID(), edm::HandleBase::isValid(), LogDebug, LogTrace, edm::EventBase::luminosityBlock(), m_algoblkInputToken, m_algorithmTriggersUnmasked, m_algorithmTriggersUnprescaled, m_currentLumi, m_egInputToken, m_emulateBxInEvent, m_extInputToken, m_getPrescaleColumnFromData, m_initialPrescaleFactorsAlgoTrig, m_initialTriggerMaskAlgoTrig, m_initialTriggerMaskVetoAlgoTrig, m_isDebugEnabled, m_jetInputToken, m_L1DataBxInEvent, m_l1GtMenu, m_l1GtMenuCacheID, m_l1GtParCacheID, m_l1GtPfAlgoCacheID, m_l1GtPrescalesVetoes, m_l1GtStablePar, m_muInputToken, m_nrL1EG, m_nrL1Jet, m_nrL1Mu, m_nrL1Tau, m_numberPhysTriggers, m_prescaleFactorsAlgoTrig, m_prescaleSet, m_printL1Menu, m_produceL1GtDaqRecord, m_produceL1GtObjectMapRecord, m_sumInputToken, m_tauInputToken, m_totalBxInEvent, m_triggerMaskAlgoTrig, m_triggerMaskVetoAlgoTrig, m_uGtBrd, m_verbosity, SiStripPI::max, eostools::move(), l1t::GlobalParamsHelper::numberChips(), l1t::GlobalParamsHelper::numberL1EG(), l1t::GlobalParamsHelper::numberL1Jet(), l1t::GlobalParamsHelper::numberL1Mu(), l1t::GlobalParamsHelper::numberL1Tau(), l1t::GlobalParamsHelper::numberPhysTriggers(), l1t::GlobalParamsHelper::orderOfChip(), l1t::TriggerMenuParser::parseCondFormats(), l1t::GlobalParamsHelper::pinsOnChip(), l1t::PrescalesVetosHelper::prescaleTable(), edm::print(), edm::ESHandle< T >::product(), edm::Event::put(), l1t::TriggerMenuParser::setGtNumberConditionChips(), l1t::TriggerMenuParser::setGtNumberPhysTriggers(), l1t::TriggerMenuParser::setGtOrderConditionChip(), l1t::TriggerMenuParser::setGtPinsOnConditionChip(), l1t::GlobalParamsHelper::totalBxInEvent(), l1t::PrescalesVetosHelper::triggerMaskVeto(), l1t::TriggerMenuParser::vecCaloTemplate(), l1t::TriggerMenuParser::vecCorrelationTemplate(), l1t::TriggerMenuParser::vecCorrelationWithOverlapRemovalTemplate(), l1t::TriggerMenuParser::vecEnergySumTemplate(), l1t::TriggerMenuParser::vecExternalTemplate(), and l1t::TriggerMenuParser::vecMuonTemplate().

234  {
235  // process event iEvent
236  // get / update the stable parameters from the EventSetup
237  // local cache & check on cacheIdentifier
238 
239  unsigned long long l1GtParCacheID = evSetup.get<L1TGlobalParametersRcd>().cacheIdentifier();
240 
241  if (m_l1GtParCacheID != l1GtParCacheID) {
243  evSetup.get<L1TGlobalParametersRcd>().get(l1GtStablePar);
244  m_l1GtStablePar = l1GtStablePar.product();
245  const GlobalParamsHelper* data = GlobalParamsHelper::readFromEventSetup(m_l1GtStablePar);
246 
247  // number of bx
249 
250  // number of physics triggers
252 
253  // number of objects of each type
254  m_nrL1Mu = data->numberL1Mu();
255 
256  // EG
257  m_nrL1EG = data->numberL1EG();
258 
259  // jets
260  m_nrL1Jet = data->numberL1Jet();
261 
262  // taus
263  m_nrL1Tau = data->numberL1Tau();
264 
265  if (m_L1DataBxInEvent < 1)
266  m_L1DataBxInEvent = 1;
267  int minL1DataBxInEvent = (m_L1DataBxInEvent + 1) / 2 - m_L1DataBxInEvent;
268  int maxL1DataBxInEvent = (m_L1DataBxInEvent + 1) / 2 - 1;
269 
270  // Initialize Board
271  m_uGtBrd->init(
272  m_numberPhysTriggers, m_nrL1Mu, m_nrL1EG, m_nrL1Tau, m_nrL1Jet, minL1DataBxInEvent, maxL1DataBxInEvent);
273 
274  //
275  m_l1GtParCacheID = l1GtParCacheID;
276  }
277 
278  if (m_emulateBxInEvent < 0) {
280  }
281 
282  if (m_emulateBxInEvent < 1)
283  m_emulateBxInEvent = 1;
284  int minEmulBxInEvent = (m_emulateBxInEvent + 1) / 2 - m_emulateBxInEvent;
285  int maxEmulBxInEvent = (m_emulateBxInEvent + 1) / 2 - 1;
286 
287  // get / update the trigger menu from the EventSetup
288  // local cache & check on cacheIdentifier
289  unsigned long long l1GtMenuCacheID = evSetup.get<L1TUtmTriggerMenuRcd>().cacheIdentifier();
290 
291  if (m_l1GtMenuCacheID != l1GtMenuCacheID) {
292  const GlobalParamsHelper* data = GlobalParamsHelper::readFromEventSetup(m_l1GtStablePar);
293 
295  evSetup.get<L1TUtmTriggerMenuRcd>().get(l1GtMenu);
296  const L1TUtmTriggerMenu* utml1GtMenu = l1GtMenu.product();
297 
298  // Instantiate Parser
300 
301  gtParser.setGtNumberConditionChips(data->numberChips());
302  gtParser.setGtPinsOnConditionChip(data->pinsOnChip());
303  gtParser.setGtOrderConditionChip(data->orderOfChip());
305 
306  //Parse menu into emulator classes
307  gtParser.parseCondFormats(utml1GtMenu);
308 
309  // transfer the condition map and algorithm map from parser to L1uGtTriggerMenu
310  m_l1GtMenu = std::make_unique<TriggerMenu>(gtParser.gtTriggerMenuName(),
311  data->numberChips(),
312  gtParser.vecMuonTemplate(),
313  gtParser.vecCaloTemplate(),
314  gtParser.vecEnergySumTemplate(),
315  gtParser.vecExternalTemplate(),
316  gtParser.vecCorrelationTemplate(),
318  gtParser.corMuonTemplate(),
319  gtParser.corCaloTemplate(),
320  gtParser.corEnergySumTemplate());
321 
322  m_l1GtMenu->setGtTriggerMenuInterface(gtParser.gtTriggerMenuInterface());
323  m_l1GtMenu->setGtTriggerMenuImplementation(gtParser.gtTriggerMenuImplementation());
324  m_l1GtMenu->setGtScaleDbKey(gtParser.gtScaleDbKey());
325  m_l1GtMenu->setGtScales(gtParser.gtScales());
326  m_l1GtMenu->setGtTriggerMenuUUID(gtParser.gtTriggerMenuUUID());
327 
328  m_l1GtMenu->setGtAlgorithmMap(gtParser.gtAlgorithmMap());
329  m_l1GtMenu->setGtAlgorithmAliasMap(gtParser.gtAlgorithmAliasMap());
330 
331  m_l1GtMenu->buildGtConditionMap();
332 
333  int printV = 2;
334  if (m_printL1Menu)
335  m_l1GtMenu->print(std::cout, printV);
336 
337  m_l1GtMenuCacheID = l1GtMenuCacheID;
338  }
339 
340  // get / update the board maps from the EventSetup
341  // local cache & check on cacheIdentifier
342 
343  /* *** Drop L1GtBoard Maps for now
344  typedef std::vector<L1GtBoard>::const_iterator CItBoardMaps;
345 
346  unsigned long long l1GtBMCacheID = evSetup.get<L1GtBoardMapsRcd>().cacheIdentifier();
347 */
348 
349  /* ** Drop board mapping for now
350  if (m_l1GtBMCacheID != l1GtBMCacheID) {
351 
352  edm::ESHandle< L1GtBoardMaps > l1GtBM;
353  evSetup.get< L1GtBoardMapsRcd >().get( l1GtBM );
354  m_l1GtBM = l1GtBM.product();
355 
356  m_l1GtBMCacheID = l1GtBMCacheID;
357 
358  }
359 
360 
361  // TODO need changes in CondFormats to cache the maps
362  const std::vector<L1GtBoard>& boardMaps = m_l1GtBM->gtBoardMaps();
363 */
364  // get / update the prescale factors from the EventSetup
365  // local cache & check on cacheIdentifier
366 
367  // Only get event record if not unprescaled and not unmasked
369  unsigned long long l1GtPfAlgoCacheID = evSetup.get<L1TGlobalPrescalesVetosRcd>().cacheIdentifier();
370 
371  if (m_l1GtPfAlgoCacheID != l1GtPfAlgoCacheID) {
372  edm::ESHandle<L1TGlobalPrescalesVetos> l1GtPrescalesVetoes;
373  evSetup.get<L1TGlobalPrescalesVetosRcd>().get(l1GtPrescalesVetoes);
374  const L1TGlobalPrescalesVetos* es = l1GtPrescalesVetoes.product();
375  m_l1GtPrescalesVetoes = PrescalesVetosHelper::readFromEventSetup(es);
376 
379 
380  m_l1GtPfAlgoCacheID = l1GtPfAlgoCacheID;
381  }
383  (m_currentLumi != iEvent.luminosityBlock())) { // get prescale column from unpacked data
384 
385  m_currentLumi = iEvent.luminosityBlock();
386 
388  iEvent.getByToken(m_algoblkInputToken, m_uGtAlgBlk);
389 
390  if (m_uGtAlgBlk.isValid() && !m_uGtAlgBlk->isEmpty(0)) {
391  std::vector<GlobalAlgBlk>::const_iterator algBlk = m_uGtAlgBlk->begin(0);
392  m_prescaleSet = static_cast<unsigned int>(algBlk->getPreScColumn());
393  } else {
394  m_prescaleSet = 1;
395  edm::LogError("L1TGlobalProduce")
396  << "Could not find valid algo block. Setting prescale column to 1" << std::endl;
397  }
398  }
399  } else {
400  // Set Prescale factors to initial dummy values
401  m_prescaleSet = 0;
405  }
406 
407  // get / update the trigger mask from the EventSetup
408  // local cache & check on cacheIdentifier
409 
410  /* **** For now Leave out Masks *****
411  unsigned long long l1GtTmAlgoCacheID =
412  evSetup.get<L1GtTriggerMaskAlgoTrigRcd>().cacheIdentifier();
413 
414  if (m_l1GtTmAlgoCacheID != l1GtTmAlgoCacheID) {
415 
416  edm::ESHandle< L1GtTriggerMask > l1GtTmAlgo;
417  evSetup.get< L1GtTriggerMaskAlgoTrigRcd >().get( l1GtTmAlgo );
418  m_l1GtTmAlgo = l1GtTmAlgo.product();
419 
420  m_triggerMaskAlgoTrig = m_l1GtTmAlgo->gtTriggerMask();
421 
422  m_l1GtTmAlgoCacheID = l1GtTmAlgoCacheID;
423 
424  }
425 */
426 
427  /* **** For now Leave out Veto Masks *****
428  unsigned long long l1GtTmVetoAlgoCacheID =
429  evSetup.get<L1GtTriggerMaskVetoAlgoTrigRcd>().cacheIdentifier();
430 
431  if (m_l1GtTmVetoAlgoCacheID != l1GtTmVetoAlgoCacheID) {
432 
433  edm::ESHandle< L1GtTriggerMask > l1GtTmVetoAlgo;
434  evSetup.get< L1GtTriggerMaskVetoAlgoTrigRcd >().get( l1GtTmVetoAlgo );
435  m_l1GtTmVetoAlgo = l1GtTmVetoAlgo.product();
436 
437  m_triggerMaskVetoAlgoTrig = m_l1GtTmVetoAlgo->gtTriggerMask();
438 
439  m_l1GtTmVetoAlgoCacheID = l1GtTmVetoAlgoCacheID;
440 
441  }
442 */
443 
444  // ****** Board Maps Need to be redone....hard code for now ******
445  // loop over blocks in the GT DAQ record receiving data, count them if they are active
446  // all board type are defined in CondFormats/L1TObjects/L1GtFwd
447  // &
448  // set the active flag for each object type received from GMT and GCT
449  // all objects in the GT system
450 
451  //
452  bool receiveMu = true;
453  bool receiveEG = true;
454  bool receiveTau = true;
455  bool receiveJet = true;
456  bool receiveEtSums = true;
457  bool receiveExt = true;
458 
459  /* *** Boards need redefining *****
460  for (CItBoardMaps
461  itBoard = boardMaps.begin();
462  itBoard != boardMaps.end(); ++itBoard) {
463 
464  int iPosition = itBoard->gtPositionDaqRecord();
465  if (iPosition > 0) {
466 
467  int iActiveBit = itBoard->gtBitDaqActiveBoards();
468  bool activeBoard = false;
469 
470  if (iActiveBit >= 0) {
471  activeBoard = m_activeBoardsGtDaq & (1 << iActiveBit);
472  }
473 
474  // use board if: in the record, but not in ActiveBoardsMap (iActiveBit < 0)
475  // in the record and ActiveBoardsMap, and active
476  if ((iActiveBit < 0) || activeBoard) {
477 
478 // ****** Decide what board manipulation (if any we want here)
479 
480  }
481  }
482 
483  }
484 */
485 
486  // Produce the Output Records for the GT
487  std::unique_ptr<GlobalAlgBlkBxCollection> uGtAlgRecord(
488  new GlobalAlgBlkBxCollection(0, minEmulBxInEvent, maxEmulBxInEvent));
489 
490  // * produce the GlobalObjectMapRecord
491  std::unique_ptr<GlobalObjectMapRecord> gtObjectMapRecord(new GlobalObjectMapRecord());
492 
493  // fill the boards not depending on the BxInEvent in the L1 GT DAQ record
494  // GMT, PSB and FDL depend on BxInEvent
495 
496  // fill in emulator the same bunch crossing (12 bits - hardwired number of bits...)
497  // and the same local bunch crossing for all boards
498  int bxCross = iEvent.bunchCrossing();
499  uint16_t bxCrossHw = 0;
500  if ((bxCross & 0xFFF) == bxCross) {
501  bxCrossHw = static_cast<uint16_t>(bxCross);
502  } else {
503  bxCrossHw = 0; // Bx number too large, set to 0!
504  if (m_verbosity) {
505  LogDebug("L1TGlobalProducer") << "\nBunch cross number [hex] = " << std::hex << bxCross
506  << "\n larger than 12 bits. Set to 0! \n"
507  << std::dec << std::endl;
508  }
509  }
510  LogDebug("L1TGlobalProducer") << "HW BxCross " << bxCrossHw << std::endl;
511 
512  // get the prescale factor from the configuration for now
513  // prescale set index counts from zero
514  unsigned int pfAlgoSetIndex = m_prescaleSet;
515 
516  auto max = (*m_prescaleFactorsAlgoTrig).size() - 1;
517  if (pfAlgoSetIndex > max) {
518  edm::LogWarning("L1TGlobalProducer") << "\nAttempting to access prescale algo set: " << m_prescaleSet
519  << "\nNumber of prescale algo sets available: 0.." << max
520  << "Setting former to latter." << std::endl;
521  pfAlgoSetIndex = max;
522  }
523 
524  const std::vector<int>& prescaleFactorsAlgoTrig = (*m_prescaleFactorsAlgoTrig).at(pfAlgoSetIndex);
525 
526  // For now, set masks according to prescale value of 0
528  for (unsigned int iAlgo = 0; iAlgo < prescaleFactorsAlgoTrig.size(); iAlgo++) {
529  unsigned int value = prescaleFactorsAlgoTrig[iAlgo];
530  value = (value == 0) ? 0 : 1;
531  m_initialTriggerMaskAlgoTrig.push_back(value);
532  }
534 
535  const std::vector<unsigned int>& triggerMaskAlgoTrig = *m_triggerMaskAlgoTrig;
536  const std::vector<int>& triggerMaskVetoAlgoTrig = *m_triggerMaskVetoAlgoTrig;
537 
538  LogDebug("L1TGlobalProducer") << "Size of prescale vector" << prescaleFactorsAlgoTrig.size() << std::endl;
539 
540  // Load the calorimeter input onto the uGt Board
541  m_uGtBrd->receiveCaloObjectData(iEvent,
546  receiveEG,
547  m_nrL1EG,
548  receiveTau,
549  m_nrL1Tau,
550  receiveJet,
551  m_nrL1Jet,
552  receiveEtSums);
553 
554  m_uGtBrd->receiveMuonObjectData(iEvent, m_muInputToken, receiveMu, m_nrL1Mu);
555 
556  m_uGtBrd->receiveExternalData(iEvent, m_extInputToken, receiveExt);
557 
558  // loop over BxInEvent
559  for (int iBxInEvent = minEmulBxInEvent; iBxInEvent <= maxEmulBxInEvent; ++iBxInEvent) {
560  // run GTL
561  LogDebug("L1TGlobalProducer") << "\nL1TGlobalProducer : running GTL for bx = " << iBxInEvent << "\n" << std::endl;
562 
563  // Run the GTL for this BX
564  m_uGtBrd->runGTL(iEvent,
565  evSetup,
566  m_l1GtMenu.get(),
568  iBxInEvent,
569  gtObjectMapRecord,
571  m_nrL1Mu,
572  m_nrL1EG,
573  m_nrL1Tau,
574  m_nrL1Jet);
575 
576  // run FDL
577  LogDebug("L1TGlobalProducer") << "\nL1TGlobalProducer : running FDL for bx = " << iBxInEvent << "\n" << std::endl;
578 
579  // Run the Final Decision Logic for this BX
580  m_uGtBrd->runFDL(iEvent,
581  iBxInEvent,
583  m_numberPhysTriggers,
584  prescaleFactorsAlgoTrig,
585  triggerMaskAlgoTrig,
586  triggerMaskVetoAlgoTrig,
589 
590  // Fill in the DAQ Records
592  m_uGtBrd->fillAlgRecord(iBxInEvent,
593  uGtAlgRecord,
595  m_l1GtMenu->gtTriggerMenuUUID(),
596  m_l1GtMenu->gtTriggerMenuImplementation());
597  }
598 
599  } //End Loop over Bx
600 
601  // Add explicit reset of Board
602  m_uGtBrd->reset();
603 
604  if (m_verbosity && m_isDebugEnabled) {
605  std::ostringstream myCoutStream;
606 
607  for (int bx = minEmulBxInEvent; bx < maxEmulBxInEvent; bx++) {
609  (uGtAlgRecord->at(bx, 0)).print(myCoutStream);
610  }
611 
612  LogTrace("L1TGlobalProducer") << "\n The following L1 GT DAQ readout record was produced:\n"
613  << myCoutStream.str() << "\n"
614  << std::endl;
615 
616  myCoutStream.str("");
617  myCoutStream.clear();
618 
619  const std::vector<GlobalObjectMap> objMapVec = gtObjectMapRecord->gtObjectMap();
620 
621  for (std::vector<GlobalObjectMap>::const_iterator it = objMapVec.begin(); it != objMapVec.end(); ++it) {
622  (*it).print(myCoutStream);
623  }
624 
625  LogDebug("L1TGlobalProducer") << "Test gtObjectMapRecord in L1TGlobalProducer \n\n"
626  << myCoutStream.str() << "\n\n"
627  << std::endl;
628 
629  myCoutStream.str("");
630  myCoutStream.clear();
631  }
632 
633  // register products
635  iEvent.put(std::move(uGtAlgRecord));
636  }
637 
639  iEvent.put(std::move(gtObjectMapRecord));
640  }
641 }
#define LogDebug(id)
unsigned long long m_l1GtParCacheID
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:131
unsigned int numberL1Jet() const
get / set the number of L1 jets received by GT
const std::vector< std::vector< int > > & prescaleTable() const
const std::vector< std::vector< EnergySumTemplate > > & vecEnergySumTemplate() const
void setGtOrderConditionChip(const std::vector< int > &)
const std::vector< unsigned int > * m_triggerMaskAlgoTrig
int m_verbosity
verbosity level
const AlgorithmMap & gtAlgorithmAliasMap() const
get / set the algorithm map (by alias)
unsigned int numberL1EG() const
get / set the number of L1 e/gamma objects received by GT
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
edm::EDGetTokenT< BXVector< l1t::Tau > > m_tauInputToken
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 numberPhysTriggers() const
get / set the number of physics trigger algorithms
const std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > & vecCorrelationWithOverlapRemovalTemplate() const
int bunchCrossing() const
Definition: EventBase.h:64
edm::LuminosityBlockNumber_t luminosityBlock() const
Definition: EventBase.h:61
const std::vector< std::vector< ExternalTemplate > > & vecExternalTemplate() const
unsigned int m_numberPhysTriggers
const L1TGlobalParameters * m_l1GtStablePar
cached stuff
edm::EDGetTokenT< BXVector< GlobalExtBlk > > m_extInputToken
BXVector< GlobalAlgBlk > GlobalAlgBlkBxCollection
Definition: GlobalAlgBlk.h:31
std::vector< unsigned int > m_initialTriggerMaskAlgoTrig
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66
const std::vector< int > * m_triggerMaskVetoAlgoTrig
void setGtPinsOnConditionChip(const unsigned int &)
unsigned long long m_l1GtMenuCacheID
const std::vector< int > & orderOfChip() const
const std::vector< int > & triggerMaskVeto() const
void parseCondFormats(const L1TUtmTriggerMenu *utmMenu)
std::unique_ptr< TriggerMenu > m_l1GtMenu
std::vector< std::vector< int > > m_initialPrescaleFactorsAlgoTrig
std::vector< int > m_initialTriggerMaskVetoAlgoTrig
const std::string & gtTriggerMenuName() const
const std::vector< std::vector< CaloTemplate > > & corCaloTemplate() const
bool m_produceL1GtDaqRecord
logical flag to produce the L1 GT DAQ readout record
edm::EDGetTokenT< BXVector< l1t::Muon > > m_muInputToken
Definition: value.py:1
const std::vector< std::vector< MuonTemplate > > & corMuonTemplate() const
unsigned int numberL1Tau() const
get / set the number of L1 tau received by GT
bool isValid() const
Definition: HandleBase.h:70
const std::vector< std::vector< MuonTemplate > > & vecMuonTemplate() const
get / set the vectors containing the conditions
const std::vector< std::vector< EnergySumTemplate > > & corEnergySumTemplate() const
#define LogTrace(id)
unsigned int m_prescaleSet
prescale set used
const std::vector< std::vector< CorrelationTemplate > > & vecCorrelationTemplate() const
edm::EDGetTokenT< BXVector< l1t::EtSum > > m_sumInputToken
int m_L1DataBxInEvent
Bx expected in Data coming to GT.
const GlobalScales & gtScales() const
menu associated scales
const int gtTriggerMenuUUID() const
const AlgorithmMap & gtAlgorithmMap() const
get / set the algorithm map (by name)
void setGtNumberConditionChips(const unsigned int &)
edm::EDGetToken m_algoblkInputToken
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
T get() const
Definition: EventSetup.h:73
int totalBxInEvent() const
get / set the number of bx in hardware
const l1t::PrescalesVetosHelper * m_l1GtPrescalesVetoes
prescale factors
const std::vector< std::vector< CaloTemplate > > & vecCaloTemplate() const
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrig
unsigned long long m_l1GtPfAlgoCacheID
const std::string & gtTriggerMenuInterface() const
get / set the trigger menu names
std::unique_ptr< l1t::GlobalBoard > m_uGtBrd
unsigned int numberL1Mu() const
get / set the number of L1 muons received by GT
T const * product() const
Definition: ESHandle.h:86
const std::string & gtScaleDbKey() const
menu associated scale key
unsigned int pinsOnChip() const
get / set the number of pins on the GTL condition chips
def move(src, dest)
Definition: eostools.py:511
const unsigned long gtTriggerMenuImplementation() const
edm::EDGetTokenT< BXVector< l1t::Jet > > m_jetInputToken
unsigned int numberChips() const
get / set the number of condition chips in GTL
edm::EDGetTokenT< BXVector< l1t::EGamma > > m_egInputToken
void setGtNumberPhysTriggers(const unsigned int &)

Member Data Documentation

uint16_t L1TGlobalProducer::m_activeBoardsGtDaq
private

active boards in L1 GT DAQ record

Definition at line 77 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

edm::InputTag L1TGlobalProducer::m_algoblkInputTag
private

Definition at line 174 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

edm::EDGetToken L1TGlobalProducer::m_algoblkInputToken
private

Definition at line 175 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

bool L1TGlobalProducer::m_algorithmTriggersUnmasked
private

if true, unmasked - all enabled (all trigger masks set to 0) will overwrite the event setup

Definition at line 166 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

bool L1TGlobalProducer::m_algorithmTriggersUnprescaled
private

run algorithm triggers if true, unprescaled (all prescale factors 1) will overwrite the event setup

Definition at line 162 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

unsigned int L1TGlobalProducer::m_alternativeNrBxBoardDaq
private

alternative for number of BX per active board in GT DAQ record: 0 or 1 the position is identical with the active board bit

Definition at line 151 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

unsigned int L1TGlobalProducer::m_bstLengthBytes
private

length of BST record (in bytes) from event setup

Definition at line 80 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

uint L1TGlobalProducer::m_currentLumi
private

Definition at line 96 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

edm::InputTag L1TGlobalProducer::m_egInputTag
private

input tag for calorimeter collections from GCT

Definition at line 118 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

edm::EDGetTokenT<BXVector<l1t::EGamma> > L1TGlobalProducer::m_egInputToken
private

Definition at line 122 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

int L1TGlobalProducer::m_emulateBxInEvent
private

number of "bunch crossing in the event" (BxInEvent) to be emulated symmetric around L1Accept (BxInEvent = 0): 1 (BxInEvent = 0); 3 (F 0 1) (standard record); 5 (E F 0 1 2) (debug record) even numbers (except 0) "rounded" to the nearest lower odd number

Definition at line 144 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

edm::InputTag L1TGlobalProducer::m_extInputTag
private

input tag for external conditions

Definition at line 128 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

edm::EDGetTokenT<BXVector<GlobalExtBlk> > L1TGlobalProducer::m_extInputToken
private

Definition at line 129 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

bool L1TGlobalProducer::m_getPrescaleColumnFromData
private

Definition at line 173 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

int L1TGlobalProducer::m_ifCaloEtaNumberBits
private

Definition at line 71 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

int L1TGlobalProducer::m_ifMuEtaNumberBits
private

Definition at line 70 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

std::vector<std::vector<int> > L1TGlobalProducer::m_initialPrescaleFactorsAlgoTrig
private

Definition at line 91 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

std::vector<unsigned int> L1TGlobalProducer::m_initialTriggerMaskAlgoTrig
private

Definition at line 106 of file L1TGlobalProducer.h.

Referenced by produce().

std::vector<int> L1TGlobalProducer::m_initialTriggerMaskVetoAlgoTrig
private

Definition at line 109 of file L1TGlobalProducer.h.

Referenced by produce().

bool L1TGlobalProducer::m_isDebugEnabled
private

Definition at line 171 of file L1TGlobalProducer.h.

Referenced by produce().

edm::InputTag L1TGlobalProducer::m_jetInputTag
private

Definition at line 120 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

edm::EDGetTokenT<BXVector<l1t::Jet> > L1TGlobalProducer::m_jetInputToken
private

Definition at line 124 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

int L1TGlobalProducer::m_L1DataBxInEvent
private

Bx expected in Data coming to GT.

Definition at line 147 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

const L1GtBoardMaps* L1TGlobalProducer::m_l1GtBM
private

board maps - cache only the record

Definition at line 83 of file L1TGlobalProducer.h.

unsigned long long L1TGlobalProducer::m_l1GtBMCacheID
private

Definition at line 84 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

std::unique_ptr<TriggerMenu> L1TGlobalProducer::m_l1GtMenu
private

Definition at line 53 of file L1TGlobalProducer.h.

Referenced by produce().

unsigned long long L1TGlobalProducer::m_l1GtMenuCacheID
private

Definition at line 54 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

unsigned long long L1TGlobalProducer::m_l1GtParCacheID
private

Definition at line 50 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

unsigned long long L1TGlobalProducer::m_l1GtPfAlgoCacheID
private

Definition at line 88 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

const l1t::PrescalesVetosHelper* L1TGlobalProducer::m_l1GtPrescalesVetoes
private

prescale factors

Definition at line 87 of file L1TGlobalProducer.h.

Referenced by produce().

const L1TGlobalParameters* L1TGlobalProducer::m_l1GtStablePar
private

cached stuff

stable parameters

Definition at line 49 of file L1TGlobalProducer.h.

Referenced by produce().

const L1GtTriggerMask* L1TGlobalProducer::m_l1GtTmAlgo
private

trigger masks & veto masks

Definition at line 99 of file L1TGlobalProducer.h.

unsigned long long L1TGlobalProducer::m_l1GtTmAlgoCacheID
private

Definition at line 100 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

const L1GtTriggerMask* L1TGlobalProducer::m_l1GtTmVetoAlgo
private

Definition at line 102 of file L1TGlobalProducer.h.

unsigned long long L1TGlobalProducer::m_l1GtTmVetoAlgoCacheID
private

Definition at line 103 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

edm::InputTag L1TGlobalProducer::m_muInputTag
private

input tag for muon collection from GMT

Definition at line 114 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

edm::EDGetTokenT<BXVector<l1t::Muon> > L1TGlobalProducer::m_muInputToken
private

Definition at line 115 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

int L1TGlobalProducer::m_nrL1EG
private

Definition at line 64 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

int L1TGlobalProducer::m_nrL1Jet
private

Definition at line 67 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

int L1TGlobalProducer::m_nrL1Mu
private

Definition at line 63 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

int L1TGlobalProducer::m_nrL1Tau
private

Definition at line 65 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

unsigned int L1TGlobalProducer::m_numberDaqPartitions
private

Definition at line 60 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

unsigned int L1TGlobalProducer::m_numberPhysTriggers
private

Definition at line 57 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

const std::vector<std::vector<int> >* L1TGlobalProducer::m_prescaleFactorsAlgoTrig
private

Definition at line 90 of file L1TGlobalProducer.h.

Referenced by produce().

unsigned int L1TGlobalProducer::m_prescaleSet
private

prescale set used

Definition at line 157 of file L1TGlobalProducer.h.

Referenced by produce().

std::string L1TGlobalProducer::m_prescalesFile
private

CSV file for prescales.

Definition at line 94 of file L1TGlobalProducer.h.

bool L1TGlobalProducer::m_printL1Menu
private

Definition at line 170 of file L1TGlobalProducer.h.

Referenced by produce().

bool L1TGlobalProducer::m_produceL1GtDaqRecord
private

logical flag to produce the L1 GT DAQ readout record

Definition at line 132 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

bool L1TGlobalProducer::m_produceL1GtObjectMapRecord
private

logical flag to produce the L1 GT object map record

Definition at line 135 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

int L1TGlobalProducer::m_psBstLengthBytes
private

length of BST record (in bytes) from parameter set

Definition at line 154 of file L1TGlobalProducer.h.

edm::InputTag L1TGlobalProducer::m_sumInputTag
private

Definition at line 121 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

edm::EDGetTokenT<BXVector<l1t::EtSum> > L1TGlobalProducer::m_sumInputToken
private

Definition at line 125 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

edm::InputTag L1TGlobalProducer::m_tauInputTag
private

Definition at line 119 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

edm::EDGetTokenT<BXVector<l1t::Tau> > L1TGlobalProducer::m_tauInputToken
private

Definition at line 123 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

int L1TGlobalProducer::m_totalBxInEvent
private

total number of Bx's in the event coming from EventSetup

Definition at line 74 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

const std::vector<unsigned int>* L1TGlobalProducer::m_triggerMaskAlgoTrig
private

Definition at line 105 of file L1TGlobalProducer.h.

Referenced by produce().

const std::vector<int>* L1TGlobalProducer::m_triggerMaskVetoAlgoTrig
private

Definition at line 108 of file L1TGlobalProducer.h.

Referenced by produce().

std::unique_ptr<l1t::GlobalBoard> L1TGlobalProducer::m_uGtBrd
private

Definition at line 111 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

int L1TGlobalProducer::m_verbosity
private

verbosity level

Definition at line 169 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

bool L1TGlobalProducer::m_writePsbL1GtDaqRecord
private

logical flag to write the PSB content in the L1 GT DAQ record

Definition at line 138 of file L1TGlobalProducer.h.