32 : m_triggerMenuInterface(
"NULL" ),
33 m_triggerMenuName(
"NULL" ),
34 m_triggerMenuImplementation( 0x0 ),
35 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<MuonTemplate> >& corMuonTemplateVal,
49 const std::vector<std::vector<CaloTemplate> >& corCaloTemplateVal,
50 const std::vector<std::vector<EnergySumTemplate> >& corEnergySumTemplateVal
53 m_triggerMenuInterface(
"NULL" ),
54 m_triggerMenuName(triggerMenuNameVal),
55 m_triggerMenuImplementation( 0x0 ),
56 m_scaleDbKey(
"NULL" ),
57 m_vecMuonTemplate(vecMuonTemplateVal),
58 m_vecCaloTemplate(vecCaloTemplateVal),
59 m_vecEnergySumTemplate(vecEnergySumTemplateVal),
60 m_vecExternalTemplate(vecExternalTemplateVal),
61 m_vecCorrelationTemplate(vecCorrelationTemplateVal),
62 m_corMuonTemplate(corMuonTemplateVal),
63 m_corCaloTemplate(corCaloTemplateVal),
64 m_corEnergySumTemplate(corEnergySumTemplateVal)
97 (*this).buildGtConditionMap();
114 for (std::vector<l1t::ConditionMap>::iterator
117 itCondOnChip->clear();
128 if (
this != &rhs ) {
155 (*this).buildGtConditionMap();
171 for (std::vector<l1t::ConditionMap>::iterator itCondOnChip =
174 itCondOnChip->clear();
184 if (condMapSize < vecMuonSize) {
191 for (std::vector<std::vector<MuonTemplate> >::iterator
198 for (std::vector<MuonTemplate>::iterator
199 itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
208 if (condMapSize < vecCaloSize) {
214 for (std::vector<std::vector<CaloTemplate> >::iterator
221 for (std::vector<CaloTemplate>::iterator
222 itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
232 if (condMapSize < vecEnergySumSize) {
238 for (std::vector<std::vector<EnergySumTemplate> >::iterator
245 for (std::vector<EnergySumTemplate>::iterator
246 itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
257 if (condMapSize < vecExternalSize) {
263 for (std::vector<std::vector<ExternalTemplate> >::iterator
270 for (std::vector<ExternalTemplate>::iterator
271 itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
281 if (condMapSize < vecCorrelationSize) {
287 for (std::vector<std::vector<CorrelationTemplate> >::iterator
294 for (std::vector<CorrelationTemplate>::iterator
295 itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
337 const std::vector<std::vector<MuonTemplate> >& vecMuonTempl) {
343 const std::vector<std::vector<CaloTemplate> >& vecCaloTempl) {
349 const std::vector<std::vector<EnergySumTemplate> >& vecEnergySumTempl) {
356 const std::vector<std::vector<ExternalTemplate> >& vecExternalTempl) {
363 const std::vector<std::vector<CorrelationTemplate> >& vecCorrelationTempl) {
370 const std::vector<std::vector<MuonTemplate> >& corMuonTempl) {
376 const std::vector<std::vector<CaloTemplate> >& corCaloTempl) {
382 const std::vector<std::vector<EnergySumTemplate> >& corEnergySumTempl) {
411 std::map<int, const GlobalAlgorithm*> algoBitToAlgo;
412 typedef std::map<int, const GlobalAlgorithm*>::const_iterator CItBit;
416 int bitNumber = (itAlgo->second).algoBitNumber();
417 algoBitToAlgo[bitNumber] = &(itAlgo->second);
420 size_t nrDefinedAlgo = algoBitToAlgo.size();
437 switch (printVerbosity) {
443 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n"
448 <<
"\nAssociated Scale DB Key: " <<
m_scaleDbKey <<
"\n\n"
449 <<
"\nL1 Physics Algorithms: " << nrDefinedAlgo <<
" algorithms defined." <<
"\n\n"
451 << std::right << std::setw(35) <<
"Algorithm Name" <<
" "
452 << std::right << std::setw(35) <<
"Algorithm Alias"
455 for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
457 int bitNumber = itBit->first;
461 myCout << std::setw(6) << bitNumber <<
" "
462 << std::right << std::setw(35) << aName <<
" "
463 << std::right << std::setw(35) << aAlias
493 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n"
498 <<
"\nAssociated Scale DB Key: " <<
m_scaleDbKey <<
"\n\n"
499 <<
"\nL1 Physics Algorithms: " << nrDefinedAlgo <<
" algorithms defined." <<
"\n\n"
501 << std::right << std::setw(35) <<
"Algorithm Name" <<
" "
502 << std::right << std::setw(35) <<
"Algorithm Alias"
503 <<
"\n Logical Expression \n"
506 for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
508 int bitNumber = itBit->first;
511 std::string aLogicalExpression = (itBit->second)->algoLogicalExpression();
513 myCout << std::setw(6) << bitNumber <<
" "
514 << std::right << std::setw(35) << aName <<
" "
515 << std::right << std::setw(35) << aAlias
516 <<
"\n Logical expression: " << aLogicalExpression <<
"\n"
542 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n"
547 <<
"\nAssociated Scale DB Key: " <<
m_scaleDbKey <<
"\n\n"
548 <<
"\nL1 Physics Algorithms: " << nrDefinedAlgo <<
" algorithms defined." <<
"\n\n"
551 for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
552 (itBit->second)->
print(myCout);
556 myCout <<
"\nNumber of condition chips: " <<
m_conditionMap.size() <<
"\n"
560 int totalNrConditions = 0;
562 for (std::vector<l1t::ConditionMap>::const_iterator
568 int condMapSize = itCondOnChip->size();
569 totalNrConditions += condMapSize;
571 myCout <<
"\nTotal number of conditions on condition chip " << chipNr
572 <<
": " << condMapSize
573 <<
" conditions.\n" << std::endl;
575 for (
l1t::CItCond itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
578 (itCond->second)->
print(myCout);
584 myCout <<
"\nTotal number of conditions on all condition chips: "
585 << totalNrConditions <<
"\n"
608 myCout <<
"\n ********** L1 Trigger Menu - printing ********** \n\n"
609 <<
"Verbosity level: " << printVerbosity <<
" not implemented.\n\n"
620 const std::vector<bool>& decWord)
const {
622 bool algResult =
false;
626 int bitNumber = (itAlgo->second).algoBitNumber();
627 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