CMS 3D CMS Logo

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

#include <TriggerMenu.h>

Public Member Functions

void buildGtConditionMap ()
 
const std::vector< std::vector< CaloTemplate > > & corCaloTemplate () const
 
const std::vector< std::vector< EnergySumTemplate > > & corEnergySumTemplate () const
 
const std::vector< std::vector< MuonTemplate > > & corMuonTemplate () const
 
const l1t::AlgorithmMapgtAlgorithmAliasMap () const
 get / set the algorithm map (by alias) More...
 
const l1t::AlgorithmMapgtAlgorithmMap () const
 get / set the algorithm map (by name) More...
 
const bool gtAlgorithmResult (const std::string &algName, const std::vector< bool > &decWord) const
 
const std::vector< l1t::ConditionMap > & gtConditionMap () const
 get / set / build the condition maps More...
 
const std::string & gtScaleDbKey () const
 menu associated scale key More...
 
const l1t::GlobalScalesgtScales () const
 get the scales More...
 
const unsigned long gtTriggerMenuImplementation () const
 
const std::string & gtTriggerMenuInterface () const
 get / set the trigger menu names More...
 
const std::string & gtTriggerMenuName () const
 
const unsigned long gtTriggerMenuUUID () const
 
TriggerMenuoperator= (const TriggerMenu &)
 
void print (std::ostream &, int &) const
 
void setCorCaloTemplate (const std::vector< std::vector< CaloTemplate > > &)
 
void setCorEnergySumTemplate (const std::vector< std::vector< EnergySumTemplate > > &)
 
void setCorMuonTemplate (const std::vector< std::vector< MuonTemplate > > &)
 
void setGtAlgorithmAliasMap (const l1t::AlgorithmMap &)
 
void setGtAlgorithmMap (const l1t::AlgorithmMap &)
 
void setGtConditionMap (const std::vector< l1t::ConditionMap > &)
 
void setGtScaleDbKey (const std::string &)
 
void setGtScales (const l1t::GlobalScales &)
 
void setGtTriggerMenuImplementation (const unsigned long)
 
void setGtTriggerMenuInterface (const std::string &)
 
void setGtTriggerMenuName (const std::string &)
 
void setGtTriggerMenuUUID (const unsigned long uuid)
 
void setVecCaloTemplate (const std::vector< std::vector< CaloTemplate > > &)
 
void setVecCorrelationTemplate (const std::vector< std::vector< CorrelationTemplate > > &)
 
void setVecCorrelationWithOverlapRemovalTemplate (const std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > &)
 
void setVecEnergySumTemplate (const std::vector< std::vector< EnergySumTemplate > > &)
 
void setVecExternalTemplate (const std::vector< std::vector< ExternalTemplate > > &)
 
void setVecMuonTemplate (const std::vector< std::vector< MuonTemplate > > &)
 
 TriggerMenu ()
 
 TriggerMenu (const std::string &, const unsigned int numberConditionChips, const std::vector< std::vector< MuonTemplate > > &, const std::vector< std::vector< CaloTemplate > > &, const std::vector< std::vector< EnergySumTemplate > > &, const std::vector< std::vector< ExternalTemplate > > &, const std::vector< std::vector< CorrelationTemplate > > &, const std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > &, const std::vector< std::vector< MuonTemplate > > &, const std::vector< std::vector< CaloTemplate > > &, const std::vector< std::vector< EnergySumTemplate > > &)
 
 TriggerMenu (const TriggerMenu &)
 
const std::vector< std::vector< CaloTemplate > > & vecCaloTemplate () const
 
const std::vector< std::vector< CorrelationTemplate > > & vecCorrelationTemplate () const
 
const std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > & vecCorrelationWithOverlapRemovalTemplate () const
 
const std::vector< std::vector< EnergySumTemplate > > & vecEnergySumTemplate () const
 
const std::vector< std::vector< ExternalTemplate > > & vecExternalTemplate () const
 
const std::vector< std::vector< MuonTemplate > > & vecMuonTemplate () const
 get / set the vectors containing the conditions More...
 
virtual ~TriggerMenu ()
 

Private Attributes

l1t::AlgorithmMap m_algorithmAliasMap
 map containing the physics algorithms (by alias) More...
 
l1t::AlgorithmMap m_algorithmMap
 map containing the physics algorithms (by name) More...
 
std::vector< l1t::ConditionMapm_conditionMap
 map containing the conditions (per condition chip) - transient More...
 
std::vector< std::vector< CaloTemplate > > m_corCaloTemplate
 
std::vector< std::vector< EnergySumTemplate > > m_corEnergySumTemplate
 
std::vector< std::vector< MuonTemplate > > m_corMuonTemplate
 
l1t::GlobalScales m_gtScales
 map containing the technical triggers More...
 
std::string m_scaleDbKey
 menu associated scale key More...
 
unsigned long m_triggerMenuImplementation
 
std::string m_triggerMenuInterface
 menu names More...
 
std::string m_triggerMenuName
 
unsigned long m_triggerMenuUUID
 
std::vector< std::vector< CaloTemplate > > m_vecCaloTemplate
 
std::vector< std::vector< CorrelationTemplate > > m_vecCorrelationTemplate
 
std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > m_vecCorrelationWithOverlapRemovalTemplate
 
std::vector< std::vector< EnergySumTemplate > > m_vecEnergySumTemplate
 
std::vector< std::vector< ExternalTemplate > > m_vecExternalTemplate
 
std::vector< std::vector< MuonTemplate > > m_vecMuonTemplate
 

Detailed Description

Description: L1 trigger menu.

Implementation: <TODO: enter implementation details>

Author
: Vasile Mihai Ghete - HEPHY Vienna Vladimir Rekovic - extend for overlap removal

$Date$ $Revision$

Definition at line 46 of file TriggerMenu.h.

Constructor & Destructor Documentation

◆ TriggerMenu() [1/3]

TriggerMenu::TriggerMenu ( )

Definition at line 31 of file TriggerMenu.cc.

32  : m_triggerMenuInterface("NULL"),
33  m_triggerMenuName("NULL"),
35  m_scaleDbKey("NULL") {
36  // empty
37 }

◆ TriggerMenu() [2/3]

TriggerMenu::TriggerMenu ( const std::string &  triggerMenuNameVal,
const unsigned int  numberConditionChips,
const std::vector< std::vector< MuonTemplate > > &  vecMuonTemplateVal,
const std::vector< std::vector< CaloTemplate > > &  vecCaloTemplateVal,
const std::vector< std::vector< EnergySumTemplate > > &  vecEnergySumTemplateVal,
const std::vector< std::vector< ExternalTemplate > > &  vecExternalTemplateVal,
const std::vector< std::vector< CorrelationTemplate > > &  vecCorrelationTemplateVal,
const std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > &  vecCorrelationWithOverlapRemovalTemplateVal,
const std::vector< std::vector< MuonTemplate > > &  corMuonTemplateVal,
const std::vector< std::vector< CaloTemplate > > &  corCaloTemplateVal,
const std::vector< std::vector< EnergySumTemplate > > &  corEnergySumTemplateVal 
)

Definition at line 39 of file TriggerMenu.cc.

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 }

References buildGtConditionMap(), m_conditionMap, and m_triggerMenuUUID.

◆ TriggerMenu() [3/3]

TriggerMenu::TriggerMenu ( const TriggerMenu rhs)

Definition at line 72 of file TriggerMenu.cc.

72  {
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 }

References m_algorithmAliasMap, m_algorithmMap, m_conditionMap, m_corCaloTemplate, m_corEnergySumTemplate, m_corMuonTemplate, m_scaleDbKey, m_triggerMenuImplementation, m_triggerMenuInterface, m_triggerMenuName, m_triggerMenuUUID, m_vecCaloTemplate, m_vecCorrelationTemplate, m_vecCorrelationWithOverlapRemovalTemplate, m_vecEnergySumTemplate, m_vecExternalTemplate, and m_vecMuonTemplate.

◆ ~TriggerMenu()

TriggerMenu::~TriggerMenu ( )
virtual

Definition at line 106 of file TriggerMenu.cc.

106  {
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 }

References m_algorithmAliasMap, m_algorithmMap, and m_conditionMap.

Member Function Documentation

◆ buildGtConditionMap()

void TriggerMenu::buildGtConditionMap ( )

DMP: Comment out unused templates for now

Definition at line 156 of file TriggerMenu.cc.

156  {
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 }

References m_conditionMap, m_vecCaloTemplate, m_vecCorrelationTemplate, m_vecCorrelationWithOverlapRemovalTemplate, m_vecEnergySumTemplate, m_vecExternalTemplate, and m_vecMuonTemplate.

Referenced by TriggerMenu().

◆ corCaloTemplate()

const std::vector<std::vector<CaloTemplate> >& TriggerMenu::corCaloTemplate ( ) const
inline

Definition at line 149 of file TriggerMenu.h.

149 { return m_corCaloTemplate; }

References m_corCaloTemplate.

Referenced by l1t::GlobalBoard::runGTL().

◆ corEnergySumTemplate()

const std::vector<std::vector<EnergySumTemplate> >& TriggerMenu::corEnergySumTemplate ( ) const
inline

Definition at line 155 of file TriggerMenu.h.

155  {
156  return m_corEnergySumTemplate;
157  }

References m_corEnergySumTemplate.

Referenced by l1t::GlobalBoard::runGTL().

◆ corMuonTemplate()

const std::vector<std::vector<MuonTemplate> >& TriggerMenu::corMuonTemplate ( ) const
inline

Definition at line 144 of file TriggerMenu.h.

144 { return m_corMuonTemplate; }

References m_corMuonTemplate.

Referenced by l1t::GlobalBoard::runGTL().

◆ gtAlgorithmAliasMap()

const l1t::AlgorithmMap& TriggerMenu::gtAlgorithmAliasMap ( ) const
inline

get / set the algorithm map (by alias)

Definition at line 167 of file TriggerMenu.h.

167 { return m_algorithmAliasMap; }

References m_algorithmAliasMap.

◆ gtAlgorithmMap()

const l1t::AlgorithmMap& TriggerMenu::gtAlgorithmMap ( ) const
inline

get / set the algorithm map (by name)

Definition at line 162 of file TriggerMenu.h.

162 { return m_algorithmMap; }

References m_algorithmMap.

Referenced by l1t::GlobalBoard::runGTL().

◆ gtAlgorithmResult()

const bool TriggerMenu::gtAlgorithmResult ( const std::string &  algName,
const std::vector< bool > &  decWord 
) const

get the result for algorithm with name algName use directly the format of decisionWord (no typedef)

Definition at line 540 of file TriggerMenu.cc.

540  {
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 }

References L1TBPTX_cfi::bitNumber, and m_algorithmMap.

◆ gtConditionMap()

const std::vector<l1t::ConditionMap>& TriggerMenu::gtConditionMap ( ) const
inline

get / set / build the condition maps

Definition at line 74 of file TriggerMenu.h.

74 { return m_conditionMap; }

References m_conditionMap.

Referenced by l1t::GlobalBoard::runGTL().

◆ gtScaleDbKey()

const std::string& TriggerMenu::gtScaleDbKey ( ) const
inline

menu associated scale key

Definition at line 100 of file TriggerMenu.h.

100 { return m_scaleDbKey; }

References m_scaleDbKey.

◆ gtScales()

const l1t::GlobalScales& TriggerMenu::gtScales ( ) const
inline

get the scales

Definition at line 172 of file TriggerMenu.h.

172 { return m_gtScales; }

References m_gtScales.

Referenced by l1t::GlobalBoard::runGTL().

◆ gtTriggerMenuImplementation()

const unsigned long TriggerMenu::gtTriggerMenuImplementation ( ) const
inline

Definition at line 95 of file TriggerMenu.h.

References m_triggerMenuImplementation.

◆ gtTriggerMenuInterface()

const std::string& TriggerMenu::gtTriggerMenuInterface ( ) const
inline

get / set the trigger menu names

Definition at line 80 of file TriggerMenu.h.

80 { return m_triggerMenuInterface; }

References m_triggerMenuInterface.

◆ gtTriggerMenuName()

const std::string& TriggerMenu::gtTriggerMenuName ( ) const
inline

Definition at line 85 of file TriggerMenu.h.

85 { return m_triggerMenuName; }

References m_triggerMenuName.

◆ gtTriggerMenuUUID()

const unsigned long TriggerMenu::gtTriggerMenuUUID ( ) const
inline

Definition at line 90 of file TriggerMenu.h.

90 { return m_triggerMenuUUID; }

References m_triggerMenuUUID.

◆ operator=()

TriggerMenu & TriggerMenu::operator= ( const TriggerMenu rhs)

Definition at line 119 of file TriggerMenu.cc.

119  {
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 }

References m_algorithmAliasMap, m_algorithmMap, m_conditionMap, m_corCaloTemplate, m_corEnergySumTemplate, m_corMuonTemplate, m_triggerMenuImplementation, m_triggerMenuInterface, m_triggerMenuName, m_triggerMenuUUID, m_vecCaloTemplate, m_vecCorrelationTemplate, m_vecCorrelationWithOverlapRemovalTemplate, m_vecEnergySumTemplate, m_vecExternalTemplate, and m_vecMuonTemplate.

◆ print()

void TriggerMenu::print ( std::ostream &  myCout,
int &  printVerbosity 
) const

print the trigger menu allow various verbosity levels

Definition at line 358 of file TriggerMenu.cc.

358  {
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 }

References HIPAlignmentAlgorithm_cfi::algoName, L1TBPTX_cfi::bitNumber, TauDecayModes::dec, m_algorithmMap, m_conditionMap, m_scaleDbKey, m_triggerMenuImplementation, m_triggerMenuInterface, m_triggerMenuName, m_triggerMenuUUID, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ setCorCaloTemplate()

void TriggerMenu::setCorCaloTemplate ( const std::vector< std::vector< CaloTemplate > > &  corCaloTempl)

Definition at line 336 of file TriggerMenu.cc.

336  {
337  m_corCaloTemplate = corCaloTempl;
338 }

References m_corCaloTemplate.

◆ setCorEnergySumTemplate()

void TriggerMenu::setCorEnergySumTemplate ( const std::vector< std::vector< EnergySumTemplate > > &  corEnergySumTempl)

Definition at line 340 of file TriggerMenu.cc.

340  {
341  m_corEnergySumTemplate = corEnergySumTempl;
342 }

References m_corEnergySumTemplate.

◆ setCorMuonTemplate()

void TriggerMenu::setCorMuonTemplate ( const std::vector< std::vector< MuonTemplate > > &  corMuonTempl)

Definition at line 332 of file TriggerMenu.cc.

332  {
333  m_corMuonTemplate = corMuonTempl;
334 }

References m_corMuonTemplate.

◆ setGtAlgorithmAliasMap()

void TriggerMenu::setGtAlgorithmAliasMap ( const l1t::AlgorithmMap algoMap)

Definition at line 348 of file TriggerMenu.cc.

348 { m_algorithmAliasMap = algoMap; }

References m_algorithmAliasMap.

◆ setGtAlgorithmMap()

void TriggerMenu::setGtAlgorithmMap ( const l1t::AlgorithmMap algoMap)

Definition at line 345 of file TriggerMenu.cc.

345 { m_algorithmMap = algoMap; }

References m_algorithmMap.

◆ setGtConditionMap()

void TriggerMenu::setGtConditionMap ( const std::vector< l1t::ConditionMap > &  condMap)

Definition at line 153 of file TriggerMenu.cc.

153 { m_conditionMap = condMap; }

References m_conditionMap.

◆ setGtScaleDbKey()

void TriggerMenu::setGtScaleDbKey ( const std::string &  scaleKey)

Definition at line 300 of file TriggerMenu.cc.

300 { m_scaleDbKey = scaleKey; }

References m_scaleDbKey.

◆ setGtScales()

void TriggerMenu::setGtScales ( const l1t::GlobalScales scales)

Definition at line 303 of file TriggerMenu.cc.

303 { m_gtScales = scales; }

References m_gtScales.

◆ setGtTriggerMenuImplementation()

void TriggerMenu::setGtTriggerMenuImplementation ( const unsigned long  menuImplementation)

Definition at line 293 of file TriggerMenu.cc.

293  {
294  m_triggerMenuImplementation = menuImplementation;
295 }

References m_triggerMenuImplementation.

◆ setGtTriggerMenuInterface()

void TriggerMenu::setGtTriggerMenuInterface ( const std::string &  menuInterface)

Definition at line 287 of file TriggerMenu.cc.

287  {
288  m_triggerMenuInterface = menuInterface;
289 }

References m_triggerMenuInterface.

◆ setGtTriggerMenuName()

void TriggerMenu::setGtTriggerMenuName ( const std::string &  menuName)

Definition at line 291 of file TriggerMenu.cc.

291 { m_triggerMenuName = menuName; }

References m_triggerMenuName.

◆ setGtTriggerMenuUUID()

void TriggerMenu::setGtTriggerMenuUUID ( const unsigned long  uuid)

Definition at line 297 of file TriggerMenu.cc.

297 { m_triggerMenuUUID = uuid; }

References m_triggerMenuUUID, and createPayload::uuid.

◆ setVecCaloTemplate()

void TriggerMenu::setVecCaloTemplate ( const std::vector< std::vector< CaloTemplate > > &  vecCaloTempl)

Definition at line 310 of file TriggerMenu.cc.

310  {
311  m_vecCaloTemplate = vecCaloTempl;
312 }

References m_vecCaloTemplate.

◆ setVecCorrelationTemplate()

void TriggerMenu::setVecCorrelationTemplate ( const std::vector< std::vector< CorrelationTemplate > > &  vecCorrelationTempl)

Definition at line 322 of file TriggerMenu.cc.

322  {
323  m_vecCorrelationTemplate = vecCorrelationTempl;
324 }

References m_vecCorrelationTemplate.

◆ setVecCorrelationWithOverlapRemovalTemplate()

void TriggerMenu::setVecCorrelationWithOverlapRemovalTemplate ( const std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > &  vecCorrelationTempl)

Definition at line 326 of file TriggerMenu.cc.

327  {
328  m_vecCorrelationWithOverlapRemovalTemplate = vecCorrelationTempl;
329 }

References m_vecCorrelationWithOverlapRemovalTemplate.

◆ setVecEnergySumTemplate()

void TriggerMenu::setVecEnergySumTemplate ( const std::vector< std::vector< EnergySumTemplate > > &  vecEnergySumTempl)

Definition at line 314 of file TriggerMenu.cc.

314  {
315  m_vecEnergySumTemplate = vecEnergySumTempl;
316 }

References m_vecEnergySumTemplate.

◆ setVecExternalTemplate()

void TriggerMenu::setVecExternalTemplate ( const std::vector< std::vector< ExternalTemplate > > &  vecExternalTempl)

Definition at line 318 of file TriggerMenu.cc.

318  {
319  m_vecExternalTemplate = vecExternalTempl;
320 }

References m_vecExternalTemplate.

◆ setVecMuonTemplate()

void TriggerMenu::setVecMuonTemplate ( const std::vector< std::vector< MuonTemplate > > &  vecMuonTempl)

Definition at line 306 of file TriggerMenu.cc.

306  {
307  m_vecMuonTemplate = vecMuonTempl;
308 }

References m_vecMuonTemplate.

◆ vecCaloTemplate()

const std::vector<std::vector<CaloTemplate> >& TriggerMenu::vecCaloTemplate ( ) const
inline

Definition at line 110 of file TriggerMenu.h.

110 { return m_vecCaloTemplate; }

References m_vecCaloTemplate.

◆ vecCorrelationTemplate()

const std::vector<std::vector<CorrelationTemplate> >& TriggerMenu::vecCorrelationTemplate ( ) const
inline

Definition at line 128 of file TriggerMenu.h.

128  {
130  }

References m_vecCorrelationTemplate.

◆ vecCorrelationWithOverlapRemovalTemplate()

const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >& TriggerMenu::vecCorrelationWithOverlapRemovalTemplate ( ) const
inline

Definition at line 136 of file TriggerMenu.h.

136  {
138  }

References m_vecCorrelationWithOverlapRemovalTemplate.

◆ vecEnergySumTemplate()

const std::vector<std::vector<EnergySumTemplate> >& TriggerMenu::vecEnergySumTemplate ( ) const
inline

Definition at line 115 of file TriggerMenu.h.

115  {
116  return m_vecEnergySumTemplate;
117  }

References m_vecEnergySumTemplate.

◆ vecExternalTemplate()

const std::vector<std::vector<ExternalTemplate> >& TriggerMenu::vecExternalTemplate ( ) const
inline

Definition at line 121 of file TriggerMenu.h.

121  {
122  return m_vecExternalTemplate;
123  }

References m_vecExternalTemplate.

◆ vecMuonTemplate()

const std::vector<std::vector<MuonTemplate> >& TriggerMenu::vecMuonTemplate ( ) const
inline

get / set the vectors containing the conditions

Definition at line 105 of file TriggerMenu.h.

105 { return m_vecMuonTemplate; }

References m_vecMuonTemplate.

Member Data Documentation

◆ m_algorithmAliasMap

l1t::AlgorithmMap TriggerMenu::m_algorithmAliasMap
private

map containing the physics algorithms (by alias)

Definition at line 226 of file TriggerMenu.h.

Referenced by gtAlgorithmAliasMap(), operator=(), setGtAlgorithmAliasMap(), TriggerMenu(), and ~TriggerMenu().

◆ m_algorithmMap

l1t::AlgorithmMap TriggerMenu::m_algorithmMap
private

map containing the physics algorithms (by name)

Definition at line 223 of file TriggerMenu.h.

Referenced by gtAlgorithmMap(), gtAlgorithmResult(), operator=(), print(), setGtAlgorithmMap(), TriggerMenu(), and ~TriggerMenu().

◆ m_conditionMap

std::vector<l1t::ConditionMap> TriggerMenu::m_conditionMap
private

map containing the conditions (per condition chip) - transient

Definition at line 195 of file TriggerMenu.h.

Referenced by buildGtConditionMap(), gtConditionMap(), operator=(), print(), setGtConditionMap(), TriggerMenu(), and ~TriggerMenu().

◆ m_corCaloTemplate

std::vector<std::vector<CaloTemplate> > TriggerMenu::m_corCaloTemplate
private

Definition at line 219 of file TriggerMenu.h.

Referenced by corCaloTemplate(), operator=(), setCorCaloTemplate(), and TriggerMenu().

◆ m_corEnergySumTemplate

std::vector<std::vector<EnergySumTemplate> > TriggerMenu::m_corEnergySumTemplate
private

◆ m_corMuonTemplate

std::vector<std::vector<MuonTemplate> > TriggerMenu::m_corMuonTemplate
private

Definition at line 218 of file TriggerMenu.h.

Referenced by corMuonTemplate(), operator=(), setCorMuonTemplate(), and TriggerMenu().

◆ m_gtScales

l1t::GlobalScales TriggerMenu::m_gtScales
private

map containing the technical triggers

Definition at line 232 of file TriggerMenu.h.

Referenced by gtScales(), and setGtScales().

◆ m_scaleDbKey

std::string TriggerMenu::m_scaleDbKey
private

menu associated scale key

Definition at line 206 of file TriggerMenu.h.

Referenced by gtScaleDbKey(), print(), setGtScaleDbKey(), and TriggerMenu().

◆ m_triggerMenuImplementation

unsigned long TriggerMenu::m_triggerMenuImplementation
private

◆ m_triggerMenuInterface

std::string TriggerMenu::m_triggerMenuInterface
private

menu names

Definition at line 199 of file TriggerMenu.h.

Referenced by gtTriggerMenuInterface(), operator=(), print(), setGtTriggerMenuInterface(), and TriggerMenu().

◆ m_triggerMenuName

std::string TriggerMenu::m_triggerMenuName
private

Definition at line 200 of file TriggerMenu.h.

Referenced by gtTriggerMenuName(), operator=(), print(), setGtTriggerMenuName(), and TriggerMenu().

◆ m_triggerMenuUUID

unsigned long TriggerMenu::m_triggerMenuUUID
private

Definition at line 203 of file TriggerMenu.h.

Referenced by gtTriggerMenuUUID(), operator=(), print(), setGtTriggerMenuUUID(), and TriggerMenu().

◆ m_vecCaloTemplate

std::vector<std::vector<CaloTemplate> > TriggerMenu::m_vecCaloTemplate
private

◆ m_vecCorrelationTemplate

std::vector<std::vector<CorrelationTemplate> > TriggerMenu::m_vecCorrelationTemplate
private

◆ m_vecCorrelationWithOverlapRemovalTemplate

std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> > TriggerMenu::m_vecCorrelationWithOverlapRemovalTemplate
private

◆ m_vecEnergySumTemplate

std::vector<std::vector<EnergySumTemplate> > TriggerMenu::m_vecEnergySumTemplate
private

◆ m_vecExternalTemplate

std::vector<std::vector<ExternalTemplate> > TriggerMenu::m_vecExternalTemplate
private

◆ m_vecMuonTemplate

std::vector<std::vector<MuonTemplate> > TriggerMenu::m_vecMuonTemplate
private

vectors containing the conditions explicit, due to persistency...

Definition at line 210 of file TriggerMenu.h.

Referenced by buildGtConditionMap(), operator=(), setVecMuonTemplate(), TriggerMenu(), and vecMuonTemplate().

TriggerMenu::m_triggerMenuInterface
std::string m_triggerMenuInterface
menu names
Definition: TriggerMenu.h:199
TriggerMenu::m_triggerMenuName
std::string m_triggerMenuName
Definition: TriggerMenu.h:200
TriggerMenu::m_vecExternalTemplate
std::vector< std::vector< ExternalTemplate > > m_vecExternalTemplate
Definition: TriggerMenu.h:214
TriggerMenu::m_corCaloTemplate
std::vector< std::vector< CaloTemplate > > m_corCaloTemplate
Definition: TriggerMenu.h:219
HIPAlignmentAlgorithm_cfi.algoName
algoName
Definition: HIPAlignmentAlgorithm_cfi.py:5
TriggerMenu::m_scaleDbKey
std::string m_scaleDbKey
menu associated scale key
Definition: TriggerMenu.h:206
TriggerMenu::m_corMuonTemplate
std::vector< std::vector< MuonTemplate > > m_corMuonTemplate
Definition: TriggerMenu.h:218
TriggerMenu::m_vecEnergySumTemplate
std::vector< std::vector< EnergySumTemplate > > m_vecEnergySumTemplate
Definition: TriggerMenu.h:212
TriggerMenu::m_gtScales
l1t::GlobalScales m_gtScales
map containing the technical triggers
Definition: TriggerMenu.h:232
createPayload.uuid
uuid
Definition: createPayload.py:391
TriggerMenu::m_vecMuonTemplate
std::vector< std::vector< MuonTemplate > > m_vecMuonTemplate
Definition: TriggerMenu.h:210
TriggerMenu::buildGtConditionMap
void buildGtConditionMap()
Definition: TriggerMenu.cc:156
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
TriggerMenu::m_triggerMenuUUID
unsigned long m_triggerMenuUUID
Definition: TriggerMenu.h:203
TriggerMenu::m_algorithmMap
l1t::AlgorithmMap m_algorithmMap
map containing the physics algorithms (by name)
Definition: TriggerMenu.h:223
TriggerMenu::m_vecCorrelationWithOverlapRemovalTemplate
std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > m_vecCorrelationWithOverlapRemovalTemplate
Definition: TriggerMenu.h:217
TriggerMenu::m_triggerMenuImplementation
unsigned long m_triggerMenuImplementation
Definition: TriggerMenu.h:201
l1t::CItCond
ConditionMap::const_iterator CItCond
iterators through map containing the conditions
Definition: TriggerMenuFwd.h:35
l1t::CItAlgo
AlgorithmMap::const_iterator CItAlgo
iterators through map containing the algorithms
Definition: TriggerMenuFwd.h:39
TriggerMenu::m_algorithmAliasMap
l1t::AlgorithmMap m_algorithmAliasMap
map containing the physics algorithms (by alias)
Definition: TriggerMenu.h:226
L1TBPTX_cfi.bitNumber
bitNumber
Definition: L1TBPTX_cfi.py:26
TriggerMenu::m_vecCorrelationTemplate
std::vector< std::vector< CorrelationTemplate > > m_vecCorrelationTemplate
Definition: TriggerMenu.h:216
TriggerMenu::print
void print(std::ostream &, int &) const
Definition: TriggerMenu.cc:358
TriggerMenu::m_conditionMap
std::vector< l1t::ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
Definition: TriggerMenu.h:195
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
TriggerMenu::m_vecCaloTemplate
std::vector< std::vector< CaloTemplate > > m_vecCaloTemplate
Definition: TriggerMenu.h:211
TriggerMenu::m_corEnergySumTemplate
std::vector< std::vector< EnergySumTemplate > > m_corEnergySumTemplate
Definition: TriggerMenu.h:220