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