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<CICADATemplate> >& vecCICADATemplateVal,
50 const std::vector<std::vector<ExternalTemplate> >& vecExternalTemplateVal,
51 const std::vector<std::vector<CorrelationTemplate> >& vecCorrelationTemplateVal,
52 const std::vector<std::vector<CorrelationThreeBodyTemplate> >& vecCorrelationThreeBodyTemplateVal,
53 const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >& vecCorrelationWithOverlapRemovalTemplateVal,
54 const std::vector<std::vector<MuonTemplate> >& corMuonTemplateVal,
55 const std::vector<std::vector<CaloTemplate> >& corCaloTemplateVal,
56 const std::vector<std::vector<EnergySumTemplate> >& corEnergySumTemplateVal
59 : m_triggerMenuInterface(
"NULL"),
60 m_triggerMenuName(triggerMenuNameVal),
61 m_triggerMenuImplementation(0x0),
63 m_vecMuonTemplate(vecMuonTemplateVal),
64 m_vecMuonShowerTemplate(vecMuonShowerTemplateVal),
65 m_vecCaloTemplate(vecCaloTemplateVal),
66 m_vecEnergySumTemplate(vecEnergySumTemplateVal),
67 m_vecEnergySumZdcTemplate(vecEnergySumZdcTemplateVal),
68 m_vecAXOL1TLTemplate(vecAXOL1TLTemplateVal),
69 m_vecCICADATemplate(vecCICADATemplateVal),
70 m_vecExternalTemplate(vecExternalTemplateVal),
71 m_vecCorrelationTemplate(vecCorrelationTemplateVal),
72 m_vecCorrelationThreeBodyTemplate(vecCorrelationThreeBodyTemplateVal),
73 m_vecCorrelationWithOverlapRemovalTemplate(vecCorrelationWithOverlapRemovalTemplateVal),
74 m_corMuonTemplate(corMuonTemplateVal),
75 m_corCaloTemplate(corCaloTemplateVal),
76 m_corEnergySumTemplate(corEnergySumTemplateVal) {
110 (*this).buildGtConditionMap();
124 for (std::vector<l1t::ConditionMap>::iterator itCondOnChip =
m_conditionMap.begin();
127 itCondOnChip->clear();
167 (*this).buildGtConditionMap();
179 for (std::vector<l1t::ConditionMap>::iterator itCondOnChip =
m_conditionMap.begin();
182 itCondOnChip->clear();
191 if (condMapSize < vecMuonSize) {
203 for (std::vector<MuonTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end(); itCond++) {
210 if (condMapSize < vecMuonShowerSize) {
222 for (std::vector<MuonShowerTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
230 if (condMapSize < vecCaloSize) {
241 for (std::vector<CaloTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end(); itCond++) {
248 if (condMapSize < vecEnergySumSize) {
259 for (std::vector<EnergySumTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
267 if (condMapSize < vecEnergySumZdcSize) {
278 for (std::vector<EnergySumZdcTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
286 if (condMapSize < vecAXOL1TLSize) {
298 for (std::vector<AXOL1TLTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
306 if (condMapSize < vecCICADASize) {
318 for (std::vector<CICADATemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
328 if (condMapSize < vecExternalSize) {
339 for (std::vector<ExternalTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
347 if (condMapSize < vecCorrelationSize) {
358 for (std::vector<CorrelationTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
366 if (condMapSize < vecCorrelationThreeBodySize) {
372 for (
std::vector<std::vector<CorrelationThreeBodyTemplate> >::iterator itCondOnChip =
378 for (std::vector<CorrelationThreeBodyTemplate>::iterator itCond = itCondOnChip->begin();
379 itCond != itCondOnChip->end();
387 if (condMapSize < vecCorrelationWORSize) {
393 for (
std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >::iterator itCondOnChip =
399 for (std::vector<CorrelationWithOverlapRemovalTemplate>::iterator itCond = itCondOnChip->begin();
400 itCond != itCondOnChip->end();
440 const std::vector<std::vector<EnergySumZdcTemplate> >& vecEnergySumZdcTempl) {
461 const std::vector<std::vector<CorrelationThreeBodyTemplate> >& vecCorrelationThreeBodyTempl) {
466 const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >& vecCorrelationTempl) {
500 std::map<int, const GlobalAlgorithm*> algoBitToAlgo;
501 typedef std::map<int, const GlobalAlgorithm*>::const_iterator CItBit;
504 int bitNumber = (itAlgo->second).algoBitNumber();
505 algoBitToAlgo[
bitNumber] = &(itAlgo->second);
508 size_t nrDefinedAlgo = algoBitToAlgo.size();
525 switch (printVerbosity) {
529 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n" 531 <<
"\nL1 Trigger Menu Name: " <<
m_triggerMenuName <<
"\nL1 Trigger Menu UUID (hash): 0x" 534 <<
"\nL1 Physics Algorithms: " << nrDefinedAlgo <<
" algorithms defined." 536 <<
"Bit Number " << std::right << std::setw(35) <<
"Algorithm Name" 537 <<
" " << std::right << std::setw(35) <<
"Algorithm Alias" << std::endl;
539 for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
544 myCout << std::setw(6) <<
bitNumber <<
" " << std::right << std::setw(35) << aName <<
" " << std::right
545 << std::setw(35) << aAlias << std::endl;
572 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n" 574 <<
"\nL1 Trigger Menu Name: " <<
m_triggerMenuName <<
"\nL1 Trigger Menu UUID (hash): 0x" 577 <<
"\nL1 Physics Algorithms: " << nrDefinedAlgo <<
" algorithms defined." 579 <<
"Bit Number " << std::right << std::setw(35) <<
"Algorithm Name" 580 <<
" " << std::right << std::setw(35) <<
"Algorithm Alias" 581 <<
"\n Logical Expression \n" 584 for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
588 std::string aLogicalExpression = (itBit->second)->algoLogicalExpression();
590 myCout << std::setw(6) <<
bitNumber <<
" " << std::right << std::setw(35) << aName <<
" " << std::right
591 << std::setw(35) << aAlias <<
"\n Logical expression: " << aLogicalExpression <<
"\n" 615 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n" 617 <<
"\nL1 Trigger Menu Name: " <<
m_triggerMenuName <<
"\nL1 Trigger Menu UUID (hash): 0x" 620 <<
"\nL1 Physics Algorithms: " << nrDefinedAlgo <<
" algorithms defined." 624 for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
625 (itBit->second)->
print(myCout);
628 myCout <<
"\nNumber of condition chips: " <<
m_conditionMap.size() <<
"\n" << std::endl;
631 int totalNrConditions = 0;
633 for (std::vector<l1t::ConditionMap>::const_iterator itCondOnChip =
m_conditionMap.begin();
638 int condMapSize = itCondOnChip->size();
639 totalNrConditions += condMapSize;
641 myCout <<
"\nTotal number of conditions on condition chip " << chipNr <<
": " << condMapSize <<
" conditions.\n" 644 for (
l1t::CItCond itCond = itCondOnChip->begin(); itCond != itCondOnChip->end(); itCond++) {
645 (itCond->second)->
print(myCout);
649 myCout <<
"\nTotal number of conditions on all condition chips: " << totalNrConditions <<
"\n" << std::endl;
670 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n\n" 671 <<
"Verbosity level: " << printVerbosity <<
" not implemented.\n\n" 680 bool algResult =
false;
684 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