71 int printVerbosity = 0;
72 l1GtMenu->print(
std::cout, printVerbosity);
76 l1GtMenu->print(
std::cout, printVerbosity);
80 l1GtMenu->print(
std::cout, printVerbosity);
93 std::vector<int> prescaleFactorsAlgoTrig =
94 (l1GtPfAlgo->gtPrescaleFactors()).
at(indexPfSet);
101 std::vector<int> prescaleFactorsTechTrig =
102 (l1GtPfTech->gtPrescaleFactors()).
at(indexPfSet);
109 std::vector<unsigned int> triggerMaskAlgoTrig = l1GtTmAlgo->gtTriggerMask();
116 std::vector<unsigned int> triggerMaskTechTrig = l1GtTmTech->gtTriggerMask();
123 std::vector<unsigned int> triggerMaskVetoAlgoTrig = l1GtTmVetoAlgo->gtTriggerMask();
130 std::vector<unsigned int> triggerMaskVetoTechTrig = l1GtTmVetoTech->gtTriggerMask();
133 int physicsDaqPartition = 0;
137 typedef std::map<int, const L1GtAlgorithm*>::const_iterator CItBit;
140 std::map<int, const L1GtAlgorithm*> algoBitToAlgo;
141 const AlgorithmMap& algorithmMap = l1GtMenu->gtAlgorithmMap();
143 for (
CItAlgo itAlgo = algorithmMap.begin(); itAlgo != algorithmMap.end(); itAlgo++) {
145 int bitNumber = (itAlgo->second).algoBitNumber();
146 algoBitToAlgo[bitNumber] = &(itAlgo->second);
150 std::map<int, const L1GtAlgorithm*> techBitToAlgo;
151 const AlgorithmMap& technicalTriggerMap = l1GtMenu->gtTechnicalTriggerMap();
153 for (
CItAlgo itAlgo = technicalTriggerMap.begin(); itAlgo != technicalTriggerMap.end(); itAlgo++) {
155 int bitNumber = (itAlgo->second).algoBitNumber();
156 techBitToAlgo[bitNumber] = &(itAlgo->second);
161 std::cout <<
"\n ********** L1 Trigger Menu - printing ********** \n\n"
162 <<
"\n---+++ Summary\n"
163 <<
"\n|L1 Trigger Menu Interface: |!" << l1GtMenu->gtTriggerMenuInterface() <<
" |"
164 <<
"\n|L1 Trigger Menu Name: |!" << l1GtMenu->gtTriggerMenuName() <<
" |"
165 <<
"\n|L1 Trigger Menu Implementation: |!" << l1GtMenu->gtTriggerMenuImplementation() <<
" |"
166 <<
"\n|Associated L1 scale DB key: |!" << l1GtMenu->gtScaleDbKey() <<
" |" <<
"\n\n"
167 << std::flush << std::endl;
169 std::cout <<
"\n---+++ List of physics algorithms\n" << std::endl;
172 <<
"| *Algorithm* | *Alias* | *Bit number* | *Prescale factor* | *Mask* |"
175 for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
177 int bitNumber = itBit->first;
178 std::string aName = (itBit->second)->algoName();
179 std::string aAlias = (itBit->second)->algoAlias();
181 unsigned int triggerMaskAlgo =
182 (triggerMaskAlgoTrig.at(bitNumber)) & (1 << physicsDaqPartition);
185 <<
"|" << std::left << aName <<
" |" << aAlias <<
" | " << std::right << bitNumber
186 <<
"| " << prescaleFactorsAlgoTrig.at(bitNumber)
187 <<
"| " << triggerMaskAlgo
192 std::cout <<
"\n---+++ List of technical triggers\n" << std::endl;
195 <<
"| *Technical trigger* | *Bit number* | *Prescale factor* | *Mask* | *Veto mask* |"
198 for (CItBit itBit = techBitToAlgo.begin(); itBit != techBitToAlgo.end(); itBit++) {
200 int bitNumber = itBit->first;
201 std::string aName = (itBit->second)->algoName();
202 std::string aAlias = (itBit->second)->algoAlias();
204 unsigned int triggerMaskTech =
205 (triggerMaskTechTrig.at(bitNumber)) & (1 << physicsDaqPartition);
206 unsigned int triggerMaskVetoTech =
207 (triggerMaskVetoTechTrig.at(bitNumber)) & (1 << physicsDaqPartition);
210 <<
"|!" << std::left << aName <<
" | " << std::right << bitNumber
211 <<
"| " << prescaleFactorsTechTrig.at(bitNumber)
212 <<
"| " << triggerMaskTech
213 <<
"| " << triggerMaskVetoTech
219 <<
"\nNOTE: only the prescale factors from set index zero are printed!"
T const * product() const