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<CaloTemplate> >& vecCaloTemplateVal,
45 const std::vector<std::vector<EnergySumTemplate> >& vecEnergySumTemplateVal,
46 const std::vector<std::vector<ExternalTemplate> >& vecExternalTemplateVal,
47 const std::vector<std::vector<CorrelationTemplate> >& vecCorrelationTemplateVal,
48 const std::vector<std::vector<CorrelationThreeBodyTemplate> >& vecCorrelationThreeBodyTemplateVal,
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
55 : m_triggerMenuInterface(
"NULL"),
56 m_triggerMenuName(triggerMenuNameVal),
57 m_triggerMenuImplementation(0x0),
59 m_vecMuonTemplate(vecMuonTemplateVal),
60 m_vecCaloTemplate(vecCaloTemplateVal),
61 m_vecEnergySumTemplate(vecEnergySumTemplateVal),
62 m_vecExternalTemplate(vecExternalTemplateVal),
63 m_vecCorrelationTemplate(vecCorrelationTemplateVal),
64 m_vecCorrelationThreeBodyTemplate(vecCorrelationThreeBodyTemplateVal),
65 m_vecCorrelationWithOverlapRemovalTemplate(vecCorrelationWithOverlapRemovalTemplateVal),
66 m_corMuonTemplate(corMuonTemplateVal),
67 m_corCaloTemplate(corCaloTemplateVal),
68 m_corEnergySumTemplate(corEnergySumTemplateVal) {
98 (*this).buildGtConditionMap();
112 for (std::vector<l1t::ConditionMap>::iterator itCondOnChip =
m_conditionMap.begin();
115 itCondOnChip->clear();
151 (*this).buildGtConditionMap();
163 for (std::vector<l1t::ConditionMap>::iterator itCondOnChip =
m_conditionMap.begin();
166 itCondOnChip->clear();
175 if (condMapSize < vecMuonSize) {
187 for (std::vector<MuonTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end(); itCond++) {
194 if (condMapSize < vecCaloSize) {
205 for (std::vector<CaloTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end(); itCond++) {
212 if (condMapSize < vecEnergySumSize) {
223 for (std::vector<EnergySumTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
233 if (condMapSize < vecExternalSize) {
244 for (std::vector<ExternalTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
252 if (condMapSize < vecCorrelationSize) {
263 for (std::vector<CorrelationTemplate>::iterator itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
271 if (condMapSize < vecCorrelationThreeBodySize) {
277 for (
std::vector<std::vector<CorrelationThreeBodyTemplate> >::iterator itCondOnChip =
283 for (std::vector<CorrelationThreeBodyTemplate>::iterator itCond = itCondOnChip->begin();
284 itCond != itCondOnChip->end();
292 if (condMapSize < vecCorrelationWORSize) {
298 for (
std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >::iterator itCondOnChip =
304 for (std::vector<CorrelationWithOverlapRemovalTemplate>::iterator itCond = itCondOnChip->begin();
305 itCond != itCondOnChip->end();
353 const std::vector<std::vector<CorrelationThreeBodyTemplate> >& vecCorrelationThreeBodyTempl) {
358 const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >& vecCorrelationTempl) {
392 std::map<int, const GlobalAlgorithm*> algoBitToAlgo;
393 typedef std::map<int, const GlobalAlgorithm*>::const_iterator CItBit;
396 int bitNumber = (itAlgo->second).algoBitNumber();
397 algoBitToAlgo[
bitNumber] = &(itAlgo->second);
400 size_t nrDefinedAlgo = algoBitToAlgo.size();
417 switch (printVerbosity) {
421 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n"
423 <<
"\nL1 Trigger Menu Name: " <<
m_triggerMenuName <<
"\nL1 Trigger Menu UUID (hash): 0x"
426 <<
"\nL1 Physics Algorithms: " << nrDefinedAlgo <<
" algorithms defined."
428 <<
"Bit Number " << std::right << std::setw(35) <<
"Algorithm Name"
429 <<
" " << std::right << std::setw(35) <<
"Algorithm Alias" << std::endl;
431 for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
436 myCout << std::setw(6) <<
bitNumber <<
" " << std::right << std::setw(35) << aName <<
" " << std::right
437 << std::setw(35) << aAlias << std::endl;
464 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n"
466 <<
"\nL1 Trigger Menu Name: " <<
m_triggerMenuName <<
"\nL1 Trigger Menu UUID (hash): 0x"
469 <<
"\nL1 Physics Algorithms: " << nrDefinedAlgo <<
" algorithms defined."
471 <<
"Bit Number " << std::right << std::setw(35) <<
"Algorithm Name"
472 <<
" " << std::right << std::setw(35) <<
"Algorithm Alias"
473 <<
"\n Logical Expression \n"
476 for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
480 std::string aLogicalExpression = (itBit->second)->algoLogicalExpression();
482 myCout << std::setw(6) <<
bitNumber <<
" " << std::right << std::setw(35) << aName <<
" " << std::right
483 << std::setw(35) << aAlias <<
"\n Logical expression: " << aLogicalExpression <<
"\n"
507 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n"
509 <<
"\nL1 Trigger Menu Name: " <<
m_triggerMenuName <<
"\nL1 Trigger Menu UUID (hash): 0x"
512 <<
"\nL1 Physics Algorithms: " << nrDefinedAlgo <<
" algorithms defined."
516 for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
517 (itBit->second)->
print(myCout);
520 myCout <<
"\nNumber of condition chips: " <<
m_conditionMap.size() <<
"\n" << std::endl;
523 int totalNrConditions = 0;
525 for (std::vector<l1t::ConditionMap>::const_iterator itCondOnChip =
m_conditionMap.begin();
530 int condMapSize = itCondOnChip->size();
531 totalNrConditions += condMapSize;
533 myCout <<
"\nTotal number of conditions on condition chip " << chipNr <<
": " << condMapSize <<
" conditions.\n"
536 for (
l1t::CItCond itCond = itCondOnChip->begin(); itCond != itCondOnChip->end(); itCond++) {
537 (itCond->second)->
print(myCout);
541 myCout <<
"\nTotal number of conditions on all condition chips: " << totalNrConditions <<
"\n" << std::endl;
562 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n\n"
563 <<
"Verbosity level: " << printVerbosity <<
" not implemented.\n\n"
572 bool algResult =
false;
576 int bitNumber = (itAlgo->second).algoBitNumber();