33 : m_triggerMenuInterface(
"NULL" ),
34 m_triggerMenuName(
"NULL" ),
35 m_triggerMenuImplementation(
"NULL" ),
36 m_scaleDbKey(
"NULL" )
43 const unsigned int numberConditionChips,
44 const std::vector<std::vector<MuonTemplate> >& vecMuonTemplateVal,
45 const std::vector<std::vector<CaloTemplate> >& vecCaloTemplateVal,
46 const std::vector<std::vector<EnergySumTemplate> >& vecEnergySumTemplateVal,
47 const std::vector<std::vector<ExternalTemplate> >& vecExternalTemplateVal,
48 const std::vector<std::vector<CorrelationTemplate> >& vecCorrelationTemplateVal,
49 const std::vector<std::vector<MuonTemplate> >& corMuonTemplateVal,
50 const std::vector<std::vector<CaloTemplate> >& corCaloTemplateVal,
51 const std::vector<std::vector<EnergySumTemplate> >& corEnergySumTemplateVal
54 m_triggerMenuInterface(
"NULL" ),
55 m_triggerMenuName(triggerMenuNameVal),
56 m_triggerMenuImplementation(
"NULL" ),
57 m_scaleDbKey(
"NULL" ),
58 m_vecMuonTemplate(vecMuonTemplateVal),
59 m_vecCaloTemplate(vecCaloTemplateVal),
60 m_vecEnergySumTemplate(vecEnergySumTemplateVal),
61 m_vecExternalTemplate(vecExternalTemplateVal),
62 m_vecCorrelationTemplate(vecCorrelationTemplateVal),
63 m_corMuonTemplate(corMuonTemplateVal),
64 m_corCaloTemplate(corCaloTemplateVal),
65 m_corEnergySumTemplate(corEnergySumTemplateVal)
96 (*this).buildGtConditionMap();
113 for (std::vector<l1t::ConditionMap>::iterator
116 itCondOnChip->clear();
127 if (
this != &rhs ) {
153 (*this).buildGtConditionMap();
169 for (std::vector<l1t::ConditionMap>::iterator itCondOnChip =
172 itCondOnChip->clear();
182 if (condMapSize < vecMuonSize) {
189 for (std::vector<std::vector<MuonTemplate> >::iterator
196 for (std::vector<MuonTemplate>::iterator
197 itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
206 if (condMapSize < vecCaloSize) {
212 for (std::vector<std::vector<CaloTemplate> >::iterator
219 for (std::vector<CaloTemplate>::iterator
220 itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
230 if (condMapSize < vecEnergySumSize) {
236 for (std::vector<std::vector<EnergySumTemplate> >::iterator
243 for (std::vector<EnergySumTemplate>::iterator
244 itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
255 if (condMapSize < vecExternalSize) {
261 for (std::vector<std::vector<ExternalTemplate> >::iterator
268 for (std::vector<ExternalTemplate>::iterator
269 itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
279 if (condMapSize < vecCorrelationSize) {
285 for (std::vector<std::vector<CorrelationTemplate> >::iterator
292 for (std::vector<CorrelationTemplate>::iterator
293 itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
330 const std::vector<std::vector<MuonTemplate> >& vecMuonTempl) {
336 const std::vector<std::vector<CaloTemplate> >& vecCaloTempl) {
342 const std::vector<std::vector<EnergySumTemplate> >& vecEnergySumTempl) {
349 const std::vector<std::vector<ExternalTemplate> >& vecExternalTempl) {
356 const std::vector<std::vector<CorrelationTemplate> >& vecCorrelationTempl) {
363 const std::vector<std::vector<MuonTemplate> >& corMuonTempl) {
369 const std::vector<std::vector<CaloTemplate> >& corCaloTempl) {
375 const std::vector<std::vector<EnergySumTemplate> >& corEnergySumTempl) {
404 std::map<int, const L1GtAlgorithm*> algoBitToAlgo;
405 typedef std::map<int, const L1GtAlgorithm*>::const_iterator CItBit;
409 int bitNumber = (itAlgo->second).algoBitNumber();
410 algoBitToAlgo[bitNumber] = &(itAlgo->second);
413 size_t nrDefinedAlgo = algoBitToAlgo.size();
430 switch (printVerbosity) {
436 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n"
440 <<
"\nAssociated Scale DB Key: " <<
m_scaleDbKey <<
"\n\n"
441 <<
"\nL1 Physics Algorithms: " << nrDefinedAlgo <<
" algorithms defined." <<
"\n\n"
443 << std::right << std::setw(35) <<
"Algorithm Name" <<
" "
444 << std::right << std::setw(35) <<
"Algorithm Alias"
447 for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
449 int bitNumber = itBit->first;
453 myCout << std::setw(6) << bitNumber <<
" "
454 << std::right << std::setw(35) << aName <<
" "
455 << std::right << std::setw(35) << aAlias
485 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n"
489 <<
"\nAssociated Scale DB Key: " <<
m_scaleDbKey <<
"\n\n"
490 <<
"\nL1 Physics Algorithms: " << nrDefinedAlgo <<
" algorithms defined." <<
"\n\n"
492 << std::right << std::setw(35) <<
"Algorithm Name" <<
" "
493 << std::right << std::setw(35) <<
"Algorithm Alias"
494 <<
"\n Logical Expression \n"
497 for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
499 int bitNumber = itBit->first;
502 std::string aLogicalExpression = (itBit->second)->algoLogicalExpression();
504 myCout << std::setw(6) << bitNumber <<
" "
505 << std::right << std::setw(35) << aName <<
" "
506 << std::right << std::setw(35) << aAlias
507 <<
"\n Logical expression: " << aLogicalExpression <<
"\n"
533 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n"
537 <<
"\nAssociated Scale DB Key: " <<
m_scaleDbKey <<
"\n\n"
538 <<
"\nL1 Physics Algorithms: " << nrDefinedAlgo <<
" algorithms defined." <<
"\n\n"
541 for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
542 (itBit->second)->
print(myCout);
546 myCout <<
"\nNumber of condition chips: " <<
m_conditionMap.size() <<
"\n"
550 int totalNrConditions = 0;
552 for (std::vector<l1t::ConditionMap>::const_iterator
558 int condMapSize = itCondOnChip->size();
559 totalNrConditions += condMapSize;
561 myCout <<
"\nTotal number of conditions on condition chip " << chipNr
562 <<
": " << condMapSize
563 <<
" conditions.\n" << std::endl;
565 for (
l1t::CItCond itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
568 (itCond->second)->
print(myCout);
574 myCout <<
"\nTotal number of conditions on all condition chips: "
575 << totalNrConditions <<
"\n"
598 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n\n"
599 <<
"Verbosity level: " << printVerbosity <<
" not implemented.\n\n"
610 const std::vector<bool>& decWord)
const {
612 bool algResult =
false;
616 int bitNumber = (itAlgo->second).algoBitNumber();
617 algResult = decWord.at(bitNumber);
ConditionMap::const_iterator CItCond
iterators through map containing the conditions
AlgorithmMap::const_iterator CItAlgo
iterators through map containing the algorithms
std::map< std::string, L1GtAlgorithm > AlgorithmMap
map containing the algorithms