33 : m_triggerMenuInterface(
"NULL"),
34 m_triggerMenuName(
"NULL"),
35 m_triggerMenuImplementation(0x0),
36 m_scaleDbKey(
"NULL") {
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<EnergySumZdcTemplate> >& vecEnergySumZdcTemplateVal,
48 const std::vector<std::vector<AXOL1TLTemplate> >& vecAXOL1TLTemplateVal,
49 const std::vector<std::vector<ExternalTemplate> >& vecExternalTemplateVal,
50 const std::vector<std::vector<CorrelationTemplate> >& vecCorrelationTemplateVal,
51 const std::vector<std::vector<CorrelationThreeBodyTemplate> >& vecCorrelationThreeBodyTemplateVal,
52 const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >& vecCorrelationWithOverlapRemovalTemplateVal,
53 const std::vector<std::vector<MuonTemplate> >& corMuonTemplateVal,
54 const std::vector<std::vector<CaloTemplate> >& corCaloTemplateVal,
55 const std::vector<std::vector<EnergySumTemplate> >& corEnergySumTemplateVal
58 : m_triggerMenuInterface(
"NULL"),
59 m_triggerMenuName(triggerMenuNameVal),
60 m_triggerMenuImplementation(0x0),
62 m_vecMuonTemplate(vecMuonTemplateVal),
63 m_vecMuonShowerTemplate(vecMuonShowerTemplateVal),
64 m_vecCaloTemplate(vecCaloTemplateVal),
65 m_vecEnergySumTemplate(vecEnergySumTemplateVal),
66 m_vecEnergySumZdcTemplate(vecEnergySumZdcTemplateVal),
67 m_vecAXOL1TLTemplate(vecAXOL1TLTemplateVal),
68 m_vecExternalTemplate(vecExternalTemplateVal),
69 m_vecCorrelationTemplate(vecCorrelationTemplateVal),
70 m_vecCorrelationThreeBodyTemplate(vecCorrelationThreeBodyTemplateVal),
71 m_vecCorrelationWithOverlapRemovalTemplate(vecCorrelationWithOverlapRemovalTemplateVal),
72 m_corMuonTemplate(corMuonTemplateVal),
73 m_corCaloTemplate(corCaloTemplateVal),
74 m_corEnergySumTemplate(corEnergySumTemplateVal) {
107 (*this).buildGtConditionMap();
121 for (std::vector<l1t::ConditionMap>::iterator itCondOnChip =
m_conditionMap.begin();
124 itCondOnChip->clear();
163 (*this).buildGtConditionMap();
175 for (std::vector<l1t::ConditionMap>::iterator itCondOnChip =
m_conditionMap.begin();
178 itCondOnChip->clear();
187 if (condMapSize < vecMuonSize) {
199 for (std::vector<MuonTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end(); itCond++) {
206 if (condMapSize < vecMuonShowerSize) {
218 for (std::vector<MuonShowerTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
226 if (condMapSize < vecCaloSize) {
237 for (std::vector<CaloTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end(); itCond++) {
244 if (condMapSize < vecEnergySumSize) {
255 for (std::vector<EnergySumTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
263 if (condMapSize < vecEnergySumZdcSize) {
274 for (std::vector<EnergySumZdcTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
282 if (condMapSize < vecAXOL1TLSize) {
294 for (std::vector<AXOL1TLTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
304 if (condMapSize < vecExternalSize) {
315 for (std::vector<ExternalTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
323 if (condMapSize < vecCorrelationSize) {
334 for (std::vector<CorrelationTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
342 if (condMapSize < vecCorrelationThreeBodySize) {
348 for (
std::vector<std::vector<CorrelationThreeBodyTemplate> >::iterator itCondOnChip =
354 for (std::vector<CorrelationThreeBodyTemplate>::iterator itCond = itCondOnChip->begin();
355 itCond != itCondOnChip->end();
363 if (condMapSize < vecCorrelationWORSize) {
369 for (
std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >::iterator itCondOnChip =
375 for (std::vector<CorrelationWithOverlapRemovalTemplate>::iterator itCond = itCondOnChip->begin();
376 itCond != itCondOnChip->end();
416 const std::vector<std::vector<EnergySumZdcTemplate> >& vecEnergySumZdcTempl) {
433 const std::vector<std::vector<CorrelationThreeBodyTemplate> >& vecCorrelationThreeBodyTempl) {
438 const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >& vecCorrelationTempl) {
472 std::map<int, const GlobalAlgorithm*> algoBitToAlgo;
473 typedef std::map<int, const GlobalAlgorithm*>::const_iterator CItBit;
476 int bitNumber = (itAlgo->second).algoBitNumber();
477 algoBitToAlgo[
bitNumber] = &(itAlgo->second);
480 size_t nrDefinedAlgo = algoBitToAlgo.size();
497 switch (printVerbosity) {
501 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n" 503 <<
"\nL1 Trigger Menu Name: " <<
m_triggerMenuName <<
"\nL1 Trigger Menu UUID (hash): 0x" 506 <<
"\nL1 Physics Algorithms: " << nrDefinedAlgo <<
" algorithms defined." 508 <<
"Bit Number " << std::right << std::setw(35) <<
"Algorithm Name" 509 <<
" " << std::right << std::setw(35) <<
"Algorithm Alias" << std::endl;
511 for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
516 myCout << std::setw(6) <<
bitNumber <<
" " << std::right << std::setw(35) << aName <<
" " << std::right
517 << std::setw(35) << aAlias << std::endl;
544 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n" 546 <<
"\nL1 Trigger Menu Name: " <<
m_triggerMenuName <<
"\nL1 Trigger Menu UUID (hash): 0x" 549 <<
"\nL1 Physics Algorithms: " << nrDefinedAlgo <<
" algorithms defined." 551 <<
"Bit Number " << std::right << std::setw(35) <<
"Algorithm Name" 552 <<
" " << std::right << std::setw(35) <<
"Algorithm Alias" 553 <<
"\n Logical Expression \n" 556 for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
560 std::string aLogicalExpression = (itBit->second)->algoLogicalExpression();
562 myCout << std::setw(6) <<
bitNumber <<
" " << std::right << std::setw(35) << aName <<
" " << std::right
563 << std::setw(35) << aAlias <<
"\n Logical expression: " << aLogicalExpression <<
"\n" 587 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n" 589 <<
"\nL1 Trigger Menu Name: " <<
m_triggerMenuName <<
"\nL1 Trigger Menu UUID (hash): 0x" 592 <<
"\nL1 Physics Algorithms: " << nrDefinedAlgo <<
" algorithms defined." 596 for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
597 (itBit->second)->
print(myCout);
600 myCout <<
"\nNumber of condition chips: " <<
m_conditionMap.size() <<
"\n" << std::endl;
603 int totalNrConditions = 0;
605 for (std::vector<l1t::ConditionMap>::const_iterator itCondOnChip =
m_conditionMap.begin();
610 int condMapSize = itCondOnChip->size();
611 totalNrConditions += condMapSize;
613 myCout <<
"\nTotal number of conditions on condition chip " << chipNr <<
": " << condMapSize <<
" conditions.\n" 616 for (
l1t::CItCond itCond = itCondOnChip->begin(); itCond != itCondOnChip->end(); itCond++) {
617 (itCond->second)->
print(myCout);
621 myCout <<
"\nTotal number of conditions on all condition chips: " << totalNrConditions <<
"\n" << std::endl;
642 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n\n" 643 <<
"Verbosity level: " << printVerbosity <<
" not implemented.\n\n" 652 bool algResult =
false;
656 int bitNumber = (itAlgo->second).algoBitNumber();
ConditionMap::const_iterator CItCond
iterators through map containing the conditions
AlgorithmMap::const_iterator CItAlgo
iterators through map containing the algorithms
std::map< std::string, GlobalAlgorithm > AlgorithmMap
map containing the algorithms