CMS 3D CMS Logo

TriggerMenu.cc
Go to the documentation of this file.
1 
19 // this class header
21 
22 // system include files
23 #include <iostream>
24 #include <iomanip>
25 
26 // user include files
28 
29 // forward declarations
30 
31 // constructor
33  : m_triggerMenuInterface("NULL"),
34  m_triggerMenuName("NULL"),
35  m_triggerMenuImplementation(0x0),
36  m_scaleDbKey("NULL") {
37  // empty
38 }
39 
41  const std::string& triggerMenuNameVal,
42  const unsigned int numberConditionChips,
43  const std::vector<std::vector<MuonTemplate> >& vecMuonTemplateVal,
44  const std::vector<std::vector<MuonShowerTemplate> >& vecMuonShowerTemplateVal,
45  const std::vector<std::vector<CaloTemplate> >& vecCaloTemplateVal,
46  const std::vector<std::vector<EnergySumTemplate> >& vecEnergySumTemplateVal,
47  const std::vector<std::vector<ExternalTemplate> >& vecExternalTemplateVal,
48  const std::vector<std::vector<CorrelationTemplate> >& vecCorrelationTemplateVal,
49  const std::vector<std::vector<CorrelationThreeBodyTemplate> >& vecCorrelationThreeBodyTemplateVal,
50  const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >& vecCorrelationWithOverlapRemovalTemplateVal,
51  const std::vector<std::vector<MuonTemplate> >& corMuonTemplateVal,
52  const std::vector<std::vector<CaloTemplate> >& corCaloTemplateVal,
53  const std::vector<std::vector<EnergySumTemplate> >& corEnergySumTemplateVal
54 
55  )
56  : m_triggerMenuInterface("NULL"),
57  m_triggerMenuName(triggerMenuNameVal),
58  m_triggerMenuImplementation(0x0),
59  m_scaleDbKey("NULL"),
60  m_vecMuonTemplate(vecMuonTemplateVal),
61  m_vecMuonShowerTemplate(vecMuonShowerTemplateVal),
62  m_vecCaloTemplate(vecCaloTemplateVal),
63  m_vecEnergySumTemplate(vecEnergySumTemplateVal),
64  m_vecExternalTemplate(vecExternalTemplateVal),
65  m_vecCorrelationTemplate(vecCorrelationTemplateVal),
66  m_vecCorrelationThreeBodyTemplate(vecCorrelationThreeBodyTemplateVal),
67  m_vecCorrelationWithOverlapRemovalTemplate(vecCorrelationWithOverlapRemovalTemplateVal),
68  m_corMuonTemplate(corMuonTemplateVal),
69  m_corCaloTemplate(corCaloTemplateVal),
70  m_corEnergySumTemplate(corEnergySumTemplateVal) {
71  m_conditionMap.resize(numberConditionChips);
74 }
75 
76 // copy constructor
83 
84  // copy physics conditions
90 
97 
98  // rebuild condition map to update the pointers
99  // (only physics conditions are included in it)
100  m_conditionMap.resize(rhs.m_conditionMap.size());
101  (*this).buildGtConditionMap();
102 
103  // copy algorithm map
106 
107  // copy technical triggers
108  // (separate map for technical triggers and physics triggers)
109  //m_technicalTriggerMap = rhs.m_technicalTriggerMap;
110 }
111 
112 // destructor
114  // loop over condition maps (one map per condition chip)
115  for (std::vector<l1t::ConditionMap>::iterator itCondOnChip = m_conditionMap.begin();
116  itCondOnChip != m_conditionMap.end();
117  itCondOnChip++) {
118  itCondOnChip->clear();
119  }
120 
121  m_algorithmMap.clear();
122  m_algorithmAliasMap.clear();
123 }
124 
125 // assignment operator
127  if (this != &rhs) {
132 
138 
145 
148 
149  // m_technicalTriggerMap = rhs.m_technicalTriggerMap;
150  }
151 
152  // rebuild condition map to update the pointers
153  // (only physics conditions are included in it)
154  m_conditionMap.resize(rhs.m_conditionMap.size());
155  (*this).buildGtConditionMap();
156 
157  // return the object
158  return *this;
159 }
160 
161 // set the condition maps
162 void TriggerMenu::setGtConditionMap(const std::vector<l1t::ConditionMap>& condMap) { m_conditionMap = condMap; }
163 
164 // build the condition maps
166  // clear the conditions from the maps, if any
167  for (std::vector<l1t::ConditionMap>::iterator itCondOnChip = m_conditionMap.begin();
168  itCondOnChip != m_conditionMap.end();
169  itCondOnChip++) {
170  itCondOnChip->clear();
171  }
172 
173  // always check that the size of the condition map is greater than the size
174  // of the specific condition vector
175  size_t condMapSize = m_conditionMap.size();
176 
177  //
178  size_t vecMuonSize = m_vecMuonTemplate.size();
179  if (condMapSize < vecMuonSize) {
180  m_conditionMap.resize(vecMuonSize);
181  condMapSize = m_conditionMap.size();
182  }
183 
184  int chipNr = -1;
185 
186  for (std::vector<std::vector<MuonTemplate> >::iterator itCondOnChip = m_vecMuonTemplate.begin();
187  itCondOnChip != m_vecMuonTemplate.end();
188  itCondOnChip++) {
189  chipNr++;
190 
191  for (std::vector<MuonTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end(); itCond++) {
192  (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
193  }
194  }
195 
196  //
197  size_t vecMuonShowerSize = m_vecMuonShowerTemplate.size();
198  if (condMapSize < vecMuonShowerSize) {
199  m_conditionMap.resize(vecMuonShowerSize);
200  condMapSize = m_conditionMap.size();
201  }
202 
203  chipNr = -1;
204 
205  for (std::vector<std::vector<MuonShowerTemplate> >::iterator itCondOnChip = m_vecMuonShowerTemplate.begin();
206  itCondOnChip != m_vecMuonShowerTemplate.end();
207  itCondOnChip++) {
208  chipNr++;
209 
210  for (std::vector<MuonShowerTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
211  itCond++) {
212  (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
213  }
214  }
215 
216  //
217  size_t vecCaloSize = m_vecCaloTemplate.size();
218  if (condMapSize < vecCaloSize) {
219  m_conditionMap.resize(vecCaloSize);
220  condMapSize = m_conditionMap.size();
221  }
222 
223  chipNr = -1;
224  for (std::vector<std::vector<CaloTemplate> >::iterator itCondOnChip = m_vecCaloTemplate.begin();
225  itCondOnChip != m_vecCaloTemplate.end();
226  itCondOnChip++) {
227  chipNr++;
228 
229  for (std::vector<CaloTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end(); itCond++) {
230  (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
231  }
232  }
233 
234  //
235  size_t vecEnergySumSize = m_vecEnergySumTemplate.size();
236  if (condMapSize < vecEnergySumSize) {
237  m_conditionMap.resize(vecEnergySumSize);
238  condMapSize = m_conditionMap.size();
239  }
240 
241  chipNr = -1;
242  for (std::vector<std::vector<EnergySumTemplate> >::iterator itCondOnChip = m_vecEnergySumTemplate.begin();
243  itCondOnChip != m_vecEnergySumTemplate.end();
244  itCondOnChip++) {
245  chipNr++;
246 
247  for (std::vector<EnergySumTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
248  itCond++) {
249  (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
250  }
251  }
252 
254  //
255  //
256  size_t vecExternalSize = m_vecExternalTemplate.size();
257  if (condMapSize < vecExternalSize) {
258  m_conditionMap.resize(vecExternalSize);
259  condMapSize = m_conditionMap.size();
260  }
261 
262  chipNr = -1;
263  for (std::vector<std::vector<ExternalTemplate> >::iterator itCondOnChip = m_vecExternalTemplate.begin();
264  itCondOnChip != m_vecExternalTemplate.end();
265  itCondOnChip++) {
266  chipNr++;
267 
268  for (std::vector<ExternalTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
269  itCond++) {
270  (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
271  }
272  }
273 
274  //
275  size_t vecCorrelationSize = m_vecCorrelationTemplate.size();
276  if (condMapSize < vecCorrelationSize) {
277  m_conditionMap.resize(vecCorrelationSize);
278  condMapSize = m_conditionMap.size();
279  }
280 
281  chipNr = -1;
282  for (std::vector<std::vector<CorrelationTemplate> >::iterator itCondOnChip = m_vecCorrelationTemplate.begin();
283  itCondOnChip != m_vecCorrelationTemplate.end();
284  itCondOnChip++) {
285  chipNr++;
286 
287  for (std::vector<CorrelationTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
288  itCond++) {
289  (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
290  }
291  }
292 
293  //
294  size_t vecCorrelationThreeBodySize = m_vecCorrelationThreeBodyTemplate.size();
295  if (condMapSize < vecCorrelationThreeBodySize) {
296  m_conditionMap.resize(vecCorrelationThreeBodySize);
297  condMapSize = m_conditionMap.size();
298  }
299 
300  chipNr = -1;
301  for (std::vector<std::vector<CorrelationThreeBodyTemplate> >::iterator itCondOnChip =
303  itCondOnChip != m_vecCorrelationThreeBodyTemplate.end();
304  itCondOnChip++) {
305  chipNr++;
306 
307  for (std::vector<CorrelationThreeBodyTemplate>::iterator itCond = itCondOnChip->begin();
308  itCond != itCondOnChip->end();
309  itCond++) {
310  (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
311  }
312  }
313 
314  //
315  size_t vecCorrelationWORSize = m_vecCorrelationWithOverlapRemovalTemplate.size();
316  if (condMapSize < vecCorrelationWORSize) {
317  m_conditionMap.resize(vecCorrelationWORSize);
318  condMapSize = m_conditionMap.size();
319  }
320 
321  chipNr = -1;
322  for (std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >::iterator itCondOnChip =
324  itCondOnChip != m_vecCorrelationWithOverlapRemovalTemplate.end();
325  itCondOnChip++) {
326  chipNr++;
327 
328  for (std::vector<CorrelationWithOverlapRemovalTemplate>::iterator itCond = itCondOnChip->begin();
329  itCond != itCondOnChip->end();
330  itCond++) {
331  (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
332  }
333  }
334 }
335 
336 // set the trigger menu name
338  m_triggerMenuInterface = menuInterface;
339 }
340 
342 
343 void TriggerMenu::setGtTriggerMenuImplementation(const unsigned long menuImplementation) {
344  m_triggerMenuImplementation = menuImplementation;
345 }
346 
348 
349 // set menu associated scale key
350 void TriggerMenu::setGtScaleDbKey(const std::string& scaleKey) { m_scaleDbKey = scaleKey; }
351 
352 // set menu associated scale key
353 void TriggerMenu::setGtScales(const l1t::GlobalScales& scales) { m_gtScales = scales; }
354 
355 // get / set the vectors containing the conditions
356 void TriggerMenu::setVecMuonTemplate(const std::vector<std::vector<MuonTemplate> >& vecMuonTempl) {
357  m_vecMuonTemplate = vecMuonTempl;
358 }
359 
360 void TriggerMenu::setVecCaloTemplate(const std::vector<std::vector<CaloTemplate> >& vecCaloTempl) {
361  m_vecCaloTemplate = vecCaloTempl;
362 }
363 
364 void TriggerMenu::setVecEnergySumTemplate(const std::vector<std::vector<EnergySumTemplate> >& vecEnergySumTempl) {
365  m_vecEnergySumTemplate = vecEnergySumTempl;
366 }
367 
368 void TriggerMenu::setVecExternalTemplate(const std::vector<std::vector<ExternalTemplate> >& vecExternalTempl) {
369  m_vecExternalTemplate = vecExternalTempl;
370 }
371 
372 void TriggerMenu::setVecCorrelationTemplate(const std::vector<std::vector<CorrelationTemplate> >& vecCorrelationTempl) {
373  m_vecCorrelationTemplate = vecCorrelationTempl;
374 }
375 
377  const std::vector<std::vector<CorrelationThreeBodyTemplate> >& vecCorrelationThreeBodyTempl) {
378  m_vecCorrelationThreeBodyTemplate = vecCorrelationThreeBodyTempl;
379 }
380 
382  const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >& vecCorrelationTempl) {
383  m_vecCorrelationWithOverlapRemovalTemplate = vecCorrelationTempl;
384 }
385 
386 // set the vectors containing the conditions for correlation templates
387 void TriggerMenu::setCorMuonTemplate(const std::vector<std::vector<MuonTemplate> >& corMuonTempl) {
388  m_corMuonTemplate = corMuonTempl;
389 }
390 
391 void TriggerMenu::setCorCaloTemplate(const std::vector<std::vector<CaloTemplate> >& corCaloTempl) {
392  m_corCaloTemplate = corCaloTempl;
393 }
394 
395 void TriggerMenu::setCorEnergySumTemplate(const std::vector<std::vector<EnergySumTemplate> >& corEnergySumTempl) {
396  m_corEnergySumTemplate = corEnergySumTempl;
397 }
398 
399 // set the algorithm map (by algorithm names)
401 
402 // set the algorithm map (by algorithm aliases)
404 
405 /*
406 // set the technical trigger map
407 void TriggerMenu::setGtTechnicalTriggerMap(const l1t::AlgorithmMap& ttMap) {
408  m_technicalTriggerMap = ttMap;
409 }
410 */
411 
412 // print the trigger menu (bit number, algorithm name, logical expression)
413 void TriggerMenu::print(std::ostream& myCout, int& printVerbosity) const {
414  // use another map <int, GlobalAlgorithm> to get the menu sorted after bit number
415  // both algorithm and bit numbers are unique
416  std::map<int, const GlobalAlgorithm*> algoBitToAlgo;
417  typedef std::map<int, const GlobalAlgorithm*>::const_iterator CItBit;
418 
419  for (l1t::CItAlgo itAlgo = m_algorithmMap.begin(); itAlgo != m_algorithmMap.end(); itAlgo++) {
420  int bitNumber = (itAlgo->second).algoBitNumber();
421  algoBitToAlgo[bitNumber] = &(itAlgo->second);
422  }
423 
424  size_t nrDefinedAlgo = algoBitToAlgo.size();
425 
426  /*
427  // idem for technical trigger map - only name and bit number are relevant for them
428  std::map<int, const GlobalAlgorithm*> ttBitToTt;
429 
430  for (l1t::CItAlgo itAlgo = m_technicalTriggerMap.begin(); itAlgo
431  != m_technicalTriggerMap.end(); itAlgo++) {
432 
433  int bitNumber = (itAlgo->second).algoBitNumber();
434  ttBitToTt[bitNumber] = &(itAlgo->second);
435  }
436 
437  size_t nrDefinedTechTrig = ttBitToTt.size();
438 */
439  //
440 
441  switch (printVerbosity) {
442  case 0: {
443  // header for printing algorithms
444 
445  myCout << "\n ********** L1 Trigger Menu - printing ********** \n"
446  << "\nL1 Trigger Menu Interface: " << m_triggerMenuInterface
447  << "\nL1 Trigger Menu Name: " << m_triggerMenuName << "\nL1 Trigger Menu UUID (hash): 0x"
448  << std::hex << m_triggerMenuUUID << std::dec << "\nL1 Trigger Menu Firmware (hash): 0x" << std::hex
449  << m_triggerMenuImplementation << std::dec << "\nAssociated Scale DB Key: " << m_scaleDbKey << "\n\n"
450  << "\nL1 Physics Algorithms: " << nrDefinedAlgo << " algorithms defined."
451  << "\n\n"
452  << "Bit Number " << std::right << std::setw(35) << "Algorithm Name"
453  << " " << std::right << std::setw(35) << "Algorithm Alias" << std::endl;
454 
455  for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
456  int bitNumber = itBit->first;
457  std::string aName = (itBit->second)->algoName();
458  std::string aAlias = (itBit->second)->algoAlias();
459 
460  myCout << std::setw(6) << bitNumber << " " << std::right << std::setw(35) << aName << " " << std::right
461  << std::setw(35) << aAlias << std::endl;
462  }
463  /*
464  myCout
465  << "\nL1 Technical Triggers: " << nrDefinedTechTrig
466  << " technical triggers defined." << "\n\n" << std::endl;
467  if (nrDefinedTechTrig) {
468  myCout << "Bit Number " << " Technical trigger name " << std::endl;
469  }
470 
471  for (CItBit itBit = ttBitToTt.begin(); itBit != ttBitToTt.end(); itBit++) {
472 
473  int bitNumber = itBit->first;
474  std::string aName = (itBit->second)->algoName();
475  std::string aAlias = (itBit->second)->algoAlias();
476 
477  myCout << std::setw(6) << bitNumber << " "
478  << std::right << std::setw(35) << aName << " "
479  << std::right << std::setw(35) << aAlias
480  << std::endl;
481  }
482 */
483  } break;
484 
485  case 1: {
486  // header for printing algorithms
487 
488  myCout << "\n ********** L1 Trigger Menu - printing ********** \n"
489  << "\nL1 Trigger Menu Interface: " << m_triggerMenuInterface
490  << "\nL1 Trigger Menu Name: " << m_triggerMenuName << "\nL1 Trigger Menu UUID (hash): 0x"
491  << std::hex << m_triggerMenuUUID << std::dec << "\nL1 Trigger Menu Firmware (hash): 0x" << std::hex
492  << m_triggerMenuImplementation << std::dec << "\nAssociated Scale DB Key: " << m_scaleDbKey << "\n\n"
493  << "\nL1 Physics Algorithms: " << nrDefinedAlgo << " algorithms defined."
494  << "\n\n"
495  << "Bit Number " << std::right << std::setw(35) << "Algorithm Name"
496  << " " << std::right << std::setw(35) << "Algorithm Alias"
497  << "\n Logical Expression \n"
498  << std::endl;
499 
500  for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
501  int bitNumber = itBit->first;
502  std::string aName = (itBit->second)->algoName();
503  std::string aAlias = (itBit->second)->algoAlias();
504  std::string aLogicalExpression = (itBit->second)->algoLogicalExpression();
505 
506  myCout << std::setw(6) << bitNumber << " " << std::right << std::setw(35) << aName << " " << std::right
507  << std::setw(35) << aAlias << "\n Logical expression: " << aLogicalExpression << "\n"
508  << std::endl;
509  }
510  /*
511  myCout
512  << "\nL1 Technical Triggers: " << nrDefinedTechTrig
513  << " technical triggers defined." << "\n\n" << std::endl;
514  if (nrDefinedTechTrig) {
515  myCout << "Bit Number " << " Technical trigger name " << std::endl;
516  }
517 
518  for (CItBit itBit = ttBitToTt.begin(); itBit != ttBitToTt.end(); itBit++) {
519 
520  int bitNumber = itBit->first;
521  std::string aName = (itBit->second)->algoName();
522 
523  myCout << std::setw(6) << bitNumber << " " << aName << std::endl;
524  }
525 */
526  } break;
527 
528  case 2: {
529  // header for printing algorithms
530 
531  myCout << "\n ********** L1 Trigger Menu - printing ********** \n"
532  << "\nL1 Trigger Menu Interface: " << m_triggerMenuInterface
533  << "\nL1 Trigger Menu Name: " << m_triggerMenuName << "\nL1 Trigger Menu UUID (hash): 0x"
534  << std::hex << m_triggerMenuUUID << std::dec << "\nL1 Trigger Menu Firmware (hash): 0x" << std::hex
535  << m_triggerMenuImplementation << std::dec << "\nAssociated Scale DB Key: " << m_scaleDbKey << "\n\n"
536  << "\nL1 Physics Algorithms: " << nrDefinedAlgo << " algorithms defined."
537  << "\n\n"
538  << std::endl;
539 
540  for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
541  (itBit->second)->print(myCout);
542  }
543 
544  myCout << "\nNumber of condition chips: " << m_conditionMap.size() << "\n" << std::endl;
545 
546  int chipNr = -1;
547  int totalNrConditions = 0;
548 
549  for (std::vector<l1t::ConditionMap>::const_iterator itCondOnChip = m_conditionMap.begin();
550  itCondOnChip != m_conditionMap.end();
551  itCondOnChip++) {
552  chipNr++;
553 
554  int condMapSize = itCondOnChip->size();
555  totalNrConditions += condMapSize;
556 
557  myCout << "\nTotal number of conditions on condition chip " << chipNr << ": " << condMapSize << " conditions.\n"
558  << std::endl;
559 
560  for (l1t::CItCond itCond = itCondOnChip->begin(); itCond != itCondOnChip->end(); itCond++) {
561  (itCond->second)->print(myCout);
562  }
563  }
564 
565  myCout << "\nTotal number of conditions on all condition chips: " << totalNrConditions << "\n" << std::endl;
566  /*
567  myCout
568  << "\nL1 Technical Triggers: " << nrDefinedTechTrig
569  << " technical triggers defined." << "\n\n" << std::endl;
570  if (nrDefinedTechTrig) {
571  myCout << "Bit Number " << " Technical trigger name " << std::endl;
572  }
573 
574  for (CItBit itBit = ttBitToTt.begin(); itBit != ttBitToTt.end(); itBit++) {
575 
576  int bitNumber = itBit->first;
577  std::string aName = (itBit->second)->algoName();
578 
579  myCout << std::setw(6) << bitNumber << " " << aName << std::endl;
580  }
581 */
582 
583  } break;
584 
585  default: {
586  myCout << "\n ********** L1 Trigger Menu - printing ********** \n\n"
587  << "Verbosity level: " << printVerbosity << " not implemented.\n\n"
588  << std::endl;
589  } break;
590  }
591 }
592 
593 // get the result for algorithm with name algName
594 // use directly the format of decisionWord (no typedef)
595 const bool TriggerMenu::gtAlgorithmResult(const std::string& algName, const std::vector<bool>& decWord) const {
596  bool algResult = false;
597 
598  l1t::CItAlgo itAlgo = m_algorithmMap.find(algName);
599  if (itAlgo != m_algorithmMap.end()) {
600  int bitNumber = (itAlgo->second).algoBitNumber();
601  algResult = decWord.at(bitNumber);
602  return algResult;
603  }
604 
605  // return false if the algorithm name is not found in the menu
606  // TODO throw exception or LogInfo would be better - but the class is used in
607  // XDAQ Trigger Supervisor (outside CMSSW) hence no CMSSW dependence
608  // is allowed here...
609 
610  return false;
611 }
std::string m_triggerMenuName
Definition: TriggerMenu.h:219
void setCorCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
Definition: TriggerMenu.cc:391
void setVecExternalTemplate(const std::vector< std::vector< ExternalTemplate > > &)
Definition: TriggerMenu.cc:368
void setCorMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
Definition: TriggerMenu.cc:387
void setGtAlgorithmMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:400
std::string m_scaleDbKey
menu associated scale key
Definition: TriggerMenu.h:225
std::vector< std::vector< CorrelationThreeBodyTemplate > > m_vecCorrelationThreeBodyTemplate
Definition: TriggerMenu.h:237
std::vector< std::vector< MuonTemplate > > m_vecMuonTemplate
Definition: TriggerMenu.h:229
std::vector< std::vector< ExternalTemplate > > m_vecExternalTemplate
Definition: TriggerMenu.h:234
std::vector< std::vector< MuonTemplate > > m_corMuonTemplate
Definition: TriggerMenu.h:239
std::vector< std::vector< CaloTemplate > > m_corCaloTemplate
Definition: TriggerMenu.h:240
virtual ~TriggerMenu()
Definition: TriggerMenu.cc:113
void setVecCorrelationThreeBodyTemplate(const std::vector< std::vector< CorrelationThreeBodyTemplate > > &)
Definition: TriggerMenu.cc:376
void setGtScaleDbKey(const std::string &)
Definition: TriggerMenu.cc:350
void setGtScales(const l1t::GlobalScales &)
Definition: TriggerMenu.cc:353
ConditionMap::const_iterator CItCond
iterators through map containing the conditions
void buildGtConditionMap()
Definition: TriggerMenu.cc:165
std::vector< std::vector< EnergySumTemplate > > m_vecEnergySumTemplate
Definition: TriggerMenu.h:232
l1t::GlobalScales m_gtScales
map containing the technical triggers
Definition: TriggerMenu.h:253
AlgorithmMap::const_iterator CItAlgo
iterators through map containing the algorithms
void setVecEnergySumTemplate(const std::vector< std::vector< EnergySumTemplate > > &)
Definition: TriggerMenu.cc:364
l1t::AlgorithmMap m_algorithmMap
map containing the physics algorithms (by name)
Definition: TriggerMenu.h:244
void setGtTriggerMenuUUID(const unsigned long uuid)
Definition: TriggerMenu.cc:347
std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > m_vecCorrelationWithOverlapRemovalTemplate
Definition: TriggerMenu.h:238
void setVecMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
Definition: TriggerMenu.cc:356
void setCorEnergySumTemplate(const std::vector< std::vector< EnergySumTemplate > > &)
Definition: TriggerMenu.cc:395
void setGtConditionMap(const std::vector< l1t::ConditionMap > &)
Definition: TriggerMenu.cc:162
void setVecCorrelationWithOverlapRemovalTemplate(const std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > &)
Definition: TriggerMenu.cc:381
void setGtTriggerMenuName(const std::string &)
Definition: TriggerMenu.cc:341
void setGtTriggerMenuImplementation(const unsigned long)
Definition: TriggerMenu.cc:343
const bool gtAlgorithmResult(const std::string &algName, const std::vector< bool > &decWord) const
Definition: TriggerMenu.cc:595
unsigned long m_triggerMenuUUID
Definition: TriggerMenu.h:222
TriggerMenu & operator=(const TriggerMenu &)
Definition: TriggerMenu.cc:126
void setVecCorrelationTemplate(const std::vector< std::vector< CorrelationTemplate > > &)
Definition: TriggerMenu.cc:372
std::vector< l1t::ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
Definition: TriggerMenu.h:214
void setGtAlgorithmAliasMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:403
l1t::AlgorithmMap m_algorithmAliasMap
map containing the physics algorithms (by alias)
Definition: TriggerMenu.h:247
unsigned long m_triggerMenuImplementation
Definition: TriggerMenu.h:220
void setVecCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
Definition: TriggerMenu.cc:360
void setGtTriggerMenuInterface(const std::string &)
Definition: TriggerMenu.cc:337
std::string m_triggerMenuInterface
menu names
Definition: TriggerMenu.h:218
std::vector< std::vector< EnergySumTemplate > > m_corEnergySumTemplate
Definition: TriggerMenu.h:241
std::map< std::string, GlobalAlgorithm > AlgorithmMap
map containing the algorithms
std::vector< std::vector< MuonShowerTemplate > > m_vecMuonShowerTemplate
Definition: TriggerMenu.h:230
void print(std::ostream &, int &) const
Definition: TriggerMenu.cc:413
std::vector< std::vector< CorrelationTemplate > > m_vecCorrelationTemplate
Definition: TriggerMenu.h:236
std::vector< std::vector< CaloTemplate > > m_vecCaloTemplate
Definition: TriggerMenu.h:231