33 : m_triggerMenuInterface(
"NULL" ),
34 m_triggerMenuName(
"NULL" ),
35 m_triggerMenuImplementation( 0x0 ),
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<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
101 (*this).buildGtConditionMap();
118 for (std::vector<l1t::ConditionMap>::iterator
121 itCondOnChip->clear();
132 if (
this != &rhs ) {
160 (*this).buildGtConditionMap();
176 for (std::vector<l1t::ConditionMap>::iterator itCondOnChip =
179 itCondOnChip->clear();
189 if (condMapSize < vecMuonSize) {
196 for (std::vector<std::vector<MuonTemplate> >::iterator
203 for (std::vector<MuonTemplate>::iterator
204 itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
213 if (condMapSize < vecCaloSize) {
219 for (std::vector<std::vector<CaloTemplate> >::iterator
226 for (std::vector<CaloTemplate>::iterator
227 itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
237 if (condMapSize < vecEnergySumSize) {
243 for (std::vector<std::vector<EnergySumTemplate> >::iterator
250 for (std::vector<EnergySumTemplate>::iterator
251 itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
262 if (condMapSize < vecExternalSize) {
268 for (std::vector<std::vector<ExternalTemplate> >::iterator
275 for (std::vector<ExternalTemplate>::iterator
276 itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
286 if (condMapSize < vecCorrelationSize) {
292 for (std::vector<std::vector<CorrelationTemplate> >::iterator
299 for (std::vector<CorrelationTemplate>::iterator
300 itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
309 if (condMapSize < vecCorrelationWORSize) {
315 for (std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >::iterator
322 for (std::vector<CorrelationWithOverlapRemovalTemplate>::iterator
323 itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
365 const std::vector<std::vector<MuonTemplate> >& vecMuonTempl) {
371 const std::vector<std::vector<CaloTemplate> >& vecCaloTempl) {
377 const std::vector<std::vector<EnergySumTemplate> >& vecEnergySumTempl) {
384 const std::vector<std::vector<ExternalTemplate> >& vecExternalTempl) {
391 const std::vector<std::vector<CorrelationTemplate> >& vecCorrelationTempl) {
397 const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >& vecCorrelationTempl) {
404 const std::vector<std::vector<MuonTemplate> >& corMuonTempl) {
410 const std::vector<std::vector<CaloTemplate> >& corCaloTempl) {
416 const std::vector<std::vector<EnergySumTemplate> >& corEnergySumTempl) {
445 std::map<int, const GlobalAlgorithm*> algoBitToAlgo;
446 typedef std::map<int, const GlobalAlgorithm*>::const_iterator CItBit;
450 int bitNumber = (itAlgo->second).algoBitNumber();
451 algoBitToAlgo[bitNumber] = &(itAlgo->second);
454 size_t nrDefinedAlgo = algoBitToAlgo.size();
471 switch (printVerbosity) {
477 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n" 482 <<
"\nAssociated Scale DB Key: " <<
m_scaleDbKey <<
"\n\n" 483 <<
"\nL1 Physics Algorithms: " << nrDefinedAlgo <<
" algorithms defined." <<
"\n\n" 485 << std::right << std::setw(35) <<
"Algorithm Name" <<
" " 486 << std::right << std::setw(35) <<
"Algorithm Alias" 489 for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
491 int bitNumber = itBit->first;
495 myCout << std::setw(6) << bitNumber <<
" " 496 << std::right << std::setw(35) << aName <<
" " 497 << std::right << std::setw(35) << aAlias
527 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n" 532 <<
"\nAssociated Scale DB Key: " <<
m_scaleDbKey <<
"\n\n" 533 <<
"\nL1 Physics Algorithms: " << nrDefinedAlgo <<
" algorithms defined." <<
"\n\n" 535 << std::right << std::setw(35) <<
"Algorithm Name" <<
" " 536 << std::right << std::setw(35) <<
"Algorithm Alias" 537 <<
"\n Logical Expression \n" 540 for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
542 int bitNumber = itBit->first;
545 std::string aLogicalExpression = (itBit->second)->algoLogicalExpression();
547 myCout << std::setw(6) << bitNumber <<
" " 548 << std::right << std::setw(35) << aName <<
" " 549 << std::right << std::setw(35) << aAlias
550 <<
"\n Logical expression: " << aLogicalExpression <<
"\n" 576 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n" 581 <<
"\nAssociated Scale DB Key: " <<
m_scaleDbKey <<
"\n\n" 582 <<
"\nL1 Physics Algorithms: " << nrDefinedAlgo <<
" algorithms defined." <<
"\n\n" 585 for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
586 (itBit->second)->
print(myCout);
590 myCout <<
"\nNumber of condition chips: " <<
m_conditionMap.size() <<
"\n" 594 int totalNrConditions = 0;
596 for (std::vector<l1t::ConditionMap>::const_iterator
602 int condMapSize = itCondOnChip->size();
603 totalNrConditions += condMapSize;
605 myCout <<
"\nTotal number of conditions on condition chip " << chipNr
606 <<
": " << condMapSize
607 <<
" conditions.\n" << std::endl;
609 for (
l1t::CItCond itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
612 (itCond->second)->
print(myCout);
618 myCout <<
"\nTotal number of conditions on all condition chips: " 619 << totalNrConditions <<
"\n" 642 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n\n" 643 <<
"Verbosity level: " << printVerbosity <<
" not implemented.\n\n" 654 const std::vector<bool>& decWord)
const {
656 bool algResult =
false;
660 int bitNumber = (itAlgo->second).algoBitNumber();
661 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, GlobalAlgorithm > AlgorithmMap
map containing the algorithms