CMS 3D CMS Logo

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