75 auto pL1GtTriggerMenuEmpty = std::make_unique<L1GtTriggerMenu>();
79 const unsigned int numberConditionChips = 2;
80 init(numberConditionChips);
91 return pL1GtTriggerMenuEmpty;
100 return pL1GtTriggerMenuEmpty;
105 return pL1GtTriggerMenuEmpty;
110 return pL1GtTriggerMenuEmpty;
115 return pL1GtTriggerMenuEmpty;
120 return pL1GtTriggerMenuEmpty;
133 auto pL1GtTriggerMenu = std::make_unique<L1GtTriggerMenu>(menuName,
134 numberConditionChips,
158 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\nThe following L1GtTriggerMenu record was read from OMDS: \n" 161 std::ostringstream myCoutStream;
163 pL1GtTriggerMenu->print(myCoutStream,
verbosity);
164 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n" << std::endl;
167 pL1GtTriggerMenu->print(myCoutStream,
verbosity);
168 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << myCoutStream.str() <<
"\n" << std::endl;
171 return pL1GtTriggerMenu;
183 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n List of columns in L1T_MENU_GENERAL_VIEW:\n" << std::endl;
184 for (std::vector<std::string>::const_iterator iter =
columns.begin(); iter !=
columns.end(); iter++) {
185 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << (*iter) << std::endl;
187 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n\n" << std::endl;
192 "L1T_MENU_GENERAL_VIEW",
193 "L1T_MENU_GENERAL_VIEW.MENU_IMPLEMENTATION",
199 <<
"Problem to get content of L1T_MENU_GENERAL_VIEW for L1GtTriggerMenu implementation key: " <<
objectKey;
205 for (std::vector<std::string>::const_iterator constIt =
columns.begin(); constIt !=
columns.end(); ++constIt) {
206 if ((*constIt) ==
"MENU_IMPLEMENTATION") {
209 }
else if ((*constIt) ==
"INTERFACE") {
212 }
else if ((*constIt) ==
"SCALES_KEY") {
215 }
else if ((*constIt) ==
"ALGO_IMPL_TAG") {
225 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
226 <<
"\n L1 trigger menu implementation read from querying view not identical" 227 <<
"\n with menu key:" 229 <<
"\n Menu implementation name set from key." << std::endl;
245 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n List of columns in L1T_MENU_ALGO_VIEW:\n" << std::endl;
246 for (std::vector<std::string>::const_iterator iter = columnsMenuAlgo.begin(); iter != columnsMenuAlgo.end();
248 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << (*iter) << std::endl;
250 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n\n" << std::endl;
255 "L1T_MENU_ALGO_VIEW",
256 "L1T_MENU_ALGO_VIEW.MENU_IMPLEMENTATION",
262 edm::LogWarning(
"L1-O2O") <<
"Warning: Content of L1T_MENU_ALGO_VIEW for L1GtTriggerMenu implementation key: " 264 <<
"\nNo physics algorithms are found for this menu.";
268 int resultsMenuAlgoRows = resultsMenuAlgo.
numberRows();
270 for (
int iRow = 0; iRow < resultsMenuAlgoRows; ++iRow) {
271 for (std::vector<std::string>::const_iterator constIt = columnsMenuAlgo.begin(); constIt != columnsMenuAlgo.end();
273 if ((*constIt) ==
"ALGO_INDEX") {
276 }
else if ((*constIt) ==
"NAME") {
279 }
else if ((*constIt) ==
"ALIAS") {
282 }
else if ((*constIt) ==
"LOGICEXPR") {
290 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
291 <<
"Row " << iRow <<
": index = " << menuAlgo.
bitNumberSh <<
" algName = " << menuAlgo.
algName 292 <<
" algAlias = " << menuAlgo.
algAlias <<
" logExpression = '" << menuAlgo.
logExpression <<
"'" << std::endl;
298 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
299 <<
"\n Number of rows read from L1T_MENU_ALGO_VIEW: " << resultsMenuAlgoRows << std::endl;
313 const std::vector<std::string>& columnsMenuAlgoCond =
317 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n List of columns in L1T_MENU_ALGO_COND_VIEW:\n" << std::endl;
318 for (std::vector<std::string>::const_iterator iter = columnsMenuAlgoCond.begin(); iter != columnsMenuAlgoCond.end();
320 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << (*iter) << std::endl;
322 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n\n" << std::endl;
328 "L1T_MENU_ALGO_COND_VIEW",
329 "L1T_MENU_ALGO_COND_VIEW.MENU_IMPLEMENTATION",
335 edm::LogWarning(
"L1-O2O") <<
"Warning: Content of L1T_MENU_ALGO_COND_VIEW for L1GtTriggerMenu implementation key: " 337 <<
"\nNo list of condition associated to each algorithm are found for this menu.";
342 int resultsMenuAlgoCondRows = resultsMenuAlgoCond.
numberRows();
344 for (
int iRow = 0; iRow < resultsMenuAlgoCondRows; ++iRow) {
345 for (std::vector<std::string>::const_iterator constIt = columnsMenuAlgoCond.begin();
346 constIt != columnsMenuAlgoCond.end();
348 if ((*constIt) ==
"ALGO_INDEX") {
351 }
else if ((*constIt) ==
"COND_INDEX") {
354 }
else if ((*constIt) ==
"COND_FK") {
362 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
363 <<
"Row " << iRow <<
": ALGO_INDEX = " << menuAlgoCond.
bitNumberSh 364 <<
" COND_INDEX = " << menuAlgoCond.
condIndexF <<
" COND_FK = " << menuAlgoCond.
condFK << std::endl;
370 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
371 <<
"\n Number of rows read from L1T_MENU_ALGO_COND_VIEW: " << resultsMenuAlgoCondRows << std::endl;
385 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n List of columns in L1T_MENU_COND_VIEW:\n" << std::endl;
386 for (std::vector<std::string>::const_iterator iter = columnsMenuCond.begin(); iter != columnsMenuCond.end();
388 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << (*iter) << std::endl;
390 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n\n" << std::endl;
395 "L1T_MENU_COND_VIEW",
396 "L1T_MENU_COND_VIEW.MENU_IMPLEMENTATION",
402 edm::LogWarning(
"L1-O2O") <<
"Warning: Content of L1T_MENU_COND_VIEW for L1GtTriggerMenu implementation key: " 404 <<
"\nNo conditions associated to menu are found for this menu.";
409 int resultsMenuCondRows = resultsMenuCond.
numberRows();
411 for (
int iRow = 0; iRow < resultsMenuCondRows; ++iRow) {
412 for (std::vector<std::string>::const_iterator constIt = columnsMenuCond.begin(); constIt != columnsMenuCond.end();
414 if ((*constIt) ==
"COND") {
417 }
else if ((*constIt) ==
"COND_CATEGORY") {
420 }
else if ((*constIt) ==
"COND_TYPE") {
423 }
else if ((*constIt) ==
"GT_OBJECT_1") {
426 }
else if ((*constIt) ==
"GT_OBJECT_2") {
429 }
else if ((*constIt) ==
"COND_GEQ") {
435 }
else if ((*constIt) ==
"COUNT_INDEX") {
438 }
else if ((*constIt) ==
"COUNT_THRESHOLD") {
441 }
else if ((*constIt) ==
"CHARGE_CORRELATION") {
444 }
else if ((*constIt) ==
"OBJECT_PARAMETER_1_FK") {
447 }
else if ((*constIt) ==
"OBJECT_PARAMETER_2_FK") {
450 }
else if ((*constIt) ==
"OBJECT_PARAMETER_3_FK") {
453 }
else if ((*constIt) ==
"OBJECT_PARAMETER_4_FK") {
456 }
else if ((*constIt) ==
"DELTA_ETA_RANGE") {
459 }
else if ((*constIt) ==
"DELTA_PHI_RANGE") {
467 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
469 <<
" GT_OBJECT_1 " << menuCond.
gtObject1 <<
" GT_OBJECT_2 " << menuCond.
gtObject2 <<
" COND_GEQ " 473 <<
" OBJECT_PARAMETER_1_FK " << menuCond.
objectParameter1FK <<
" OBJECT_PARAMETER_2_FK " 482 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
483 <<
"\n Number of rows read from L1T_MENU_COND_VIEW: " << resultsMenuCondRows << std::endl;
500 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n List of columns in L1T_MENU_OP_VIEW:\n" << std::endl;
501 for (std::vector<std::string>::const_iterator iter = columnsMenuOp.begin(); iter != columnsMenuOp.end(); iter++) {
502 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << (*iter) << std::endl;
504 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n\n" << std::endl;
510 "L1T_MENU_OP_VIEW.MENU_IMPLEMENTATION",
516 edm::LogWarning(
"L1-O2O") <<
"Warning: Content of L1T_MENU_OP_VIEW for L1GtTriggerMenu implementation key: " 518 <<
"\nNo object parameters associated to menu are found for this menu.";
522 int resultsMenuOpRows = resultsMenuOp.
numberRows();
524 for (
int iRow = 0; iRow < resultsMenuOpRows; ++iRow) {
525 for (std::vector<std::string>::const_iterator constIt = columnsMenuOp.begin(); constIt != columnsMenuOp.end();
527 if ((*constIt) ==
"ID") {
530 }
else if ((*constIt) ==
"PT_HIGH_THRESHOLD") {
533 }
else if ((*constIt) ==
"PT_LOW_THRESHOLD") {
536 }
else if ((*constIt) ==
"ENABLE_MIP") {
539 }
else if ((*constIt) ==
"ENABLE_ISO") {
542 }
else if ((*constIt) ==
"REQUEST_ISO") {
545 }
else if ((*constIt) ==
"ENERGY_OVERFLOW") {
548 }
else if ((*constIt) ==
"ET_THRESHOLD") {
551 }
else if ((*constIt) ==
"ETA_RANGE") {
554 }
else if ((*constIt) ==
"PHI_RANGE") {
557 }
else if ((*constIt) ==
"PHI_LOW") {
560 }
else if ((*constIt) ==
"PHI_HIGH") {
563 }
else if ((*constIt) ==
"QUALITY_RANGE") {
566 }
else if ((*constIt) ==
"CHARGE") {
574 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
575 <<
" ID " << menuObjectParameters.
opId <<
" PT_HIGH_THRESHOLD " << menuObjectParameters.
ptHighThreshold 576 <<
" PT_LOW_THRESHOLD " << menuObjectParameters.
ptLowThreshold <<
" ENABLE_MIP " 577 << menuObjectParameters.
enableMip <<
" ENABLE_ISO " << menuObjectParameters.
enableIso <<
" REQUEST_ISO " 579 <<
" ET_THRESHOLD " << menuObjectParameters.
etThreshold <<
" ETA_RANGE " << menuObjectParameters.
etaRange 580 <<
" PHI_RANGE " << menuObjectParameters.
phiRange <<
" PHI_LOW " << menuObjectParameters.
phiLow <<
" PHI_HIGH " 581 << menuObjectParameters.
phiHigh <<
" QUALITY_RANGE " << menuObjectParameters.
qualityRange <<
" CHARGE " 582 << menuObjectParameters.
charge << std::endl;
588 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
589 <<
"\n Number of rows read from L1T_MENU_OP_VIEW: " << resultsMenuOpRows << std::endl;
601 const std::vector<std::string>& columnsMenuTechTrig =
605 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n List of columns in L1T_MENU_TECHTRIG_VIEW:\n" << std::endl;
606 for (std::vector<std::string>::const_iterator iter = columnsMenuTechTrig.begin(); iter != columnsMenuTechTrig.end();
608 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << (*iter) << std::endl;
610 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n\n" << std::endl;
616 "L1T_MENU_TECHTRIG_VIEW",
617 "L1T_MENU_TECHTRIG_VIEW.MENU_IMPLEMENTATION",
623 edm::LogWarning(
"L1-O2O") <<
"Warning: Content of L1T_MENU_TECHTRIG_VIEW for L1GtTriggerMenu implementation key: " 625 <<
"\nNo technical triggers are found for this menu.";
629 int resultsMenuTechTrigRows = resultsMenuTechTrig.
numberRows();
631 for (
int iRow = 0; iRow < resultsMenuTechTrigRows; ++iRow) {
632 for (std::vector<std::string>::const_iterator constIt = columnsMenuTechTrig.begin();
633 constIt != columnsMenuTechTrig.end();
635 if ((*constIt) ==
"TECHTRIG_INDEX") {
638 }
else if ((*constIt) ==
"NAME") {
646 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"Row " << iRow <<
": index = " << menuTechTrig.
bitNumberSh 647 <<
" techName = " << menuTechTrig.
techName << std::endl;
653 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
654 <<
"\n Number of rows read from L1T_MENU_TECHTRIG_VIEW: " << resultsMenuTechTrigRows << std::endl;
663 std::map<int, std::string> mapIndexName;
668 if (bitNr == (*constIt).bitNumberSh) {
669 mapIndexName[
static_cast<int>((*constIt).condIndexF)] = (*constIt).condFK;
674 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n Bit number : " << bitNr << std::endl;
676 for (std::map<int, std::string>::const_iterator constIt = mapIndexName.begin(); constIt != mapIndexName.end();
678 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
679 <<
" Condition index -> name: " << ((*constIt).first) <<
" " << ((*constIt).second) << std::endl;
688 const std::string& expressionIndices,
const std::map<int, std::string>& mapCondIndexName)
const {
695 return expressionNames;
701 const unsigned numberConditionChips = 2;
702 const unsigned pinsOnConditionChip = 96;
703 std::vector<int> orderConditionChip;
704 orderConditionChip.push_back(2);
705 orderConditionChip.push_back(1);
707 int posChip = (
static_cast<unsigned>(bitNumberSh) / pinsOnConditionChip) + 1;
708 for (
unsigned int iChip = 0; iChip < numberConditionChips; ++iChip) {
709 if (posChip == orderConditionChip[iChip]) {
710 return static_cast<int>(iChip);
727 bitNumber =
static_cast<int>((*constIt).bitNumberSh);
729 const std::map<int, std::string>& condIndexName =
condIndexNameMap((*constIt).bitNumberSh);
737 int algChipNr =
chipNumber((*constIt).bitNumberSh);
756 bitNumber =
static_cast<int>((*constIt).bitNumberSh);
772 if (strCategory ==
"CondMuon") {
774 }
else if (strCategory ==
"CondCalo") {
776 }
else if (strCategory ==
"CondEnergySum") {
778 }
else if (strCategory ==
"CondJetCounts") {
780 }
else if (strCategory ==
"CondCorrelation") {
782 }
else if (strCategory ==
"CondCastor") {
784 }
else if (strCategory ==
"CondHfBitCounts") {
786 }
else if (strCategory ==
"CondHfRingEtSums") {
788 }
else if (strCategory ==
"CondBptx") {
790 }
else if (strCategory ==
"CondExternal") {
792 }
else if (strCategory ==
"CondNull") {
796 <<
"\n Warning: string " << strCategory <<
" not defined. Returning CondNull.\n" 806 if (strType ==
"1s") {
808 }
else if (strType ==
"2s") {
810 }
else if (strType ==
"2wsc") {
812 }
else if (strType ==
"2cor") {
814 }
else if (strType ==
"3s") {
816 }
else if (strType ==
"4s") {
818 }
else if (strType ==
"ETM") {
820 }
else if (strType ==
"ETT") {
822 }
else if (strType ==
"HTT") {
824 }
else if (strType ==
"HTM") {
826 }
else if (strType ==
"JetCounts") {
828 }
else if (strType ==
"Castor") {
830 }
else if (strType ==
"HfBitCounts") {
832 }
else if (strType ==
"HfRingEtSums") {
834 }
else if (strType ==
"Bptx") {
836 }
else if (strType ==
"TypeExternal") {
840 <<
"\n Warning: string " << strType <<
" not associated to any L1GtConditionType. Returning TypeNull.\n" 850 if (strObject ==
"Mu") {
852 }
else if (strObject ==
"NoIsoEG") {
854 }
else if (strObject ==
"IsoEG") {
856 }
else if (strObject ==
"CenJet") {
858 }
else if (strObject ==
"ForJet") {
860 }
else if (strObject ==
"TauJet") {
862 }
else if (strObject ==
"ETM") {
864 }
else if (strObject ==
"ETT") {
866 }
else if (strObject ==
"HTT") {
868 }
else if (strObject ==
"HTM") {
870 }
else if (strObject ==
"JetCounts") {
872 }
else if (strObject ==
"HfBitCounts") {
874 }
else if (strObject ==
"HfRingEtSums") {
876 }
else if (strObject ==
"TechTrig") {
878 }
else if (strObject ==
"Castor") {
880 }
else if (strObject ==
"BPTX") {
882 }
else if (strObject ==
"GtExternal") {
886 <<
"\n Warning: string " << strObject <<
" not associated to any L1GtObject. Returning Mu (no Null type).\n" 898 unsigned int lenHexStr = hexStr.length();
901 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n Warning: string " << hexStr <<
" has length less than 3." 902 <<
"\n Not possible to split it in two 64-bit words." 903 <<
"\n Return two zero strings." << std::endl;
910 unsigned int lenHex = lenHexStr - 2;
911 unsigned int len0Word = lenHex > 16 ? 16 : lenHex;
912 unsigned int len1Word = lenHex - len0Word;
914 unsigned int pos0Word = lenHexStr - len0Word;
915 hex0WordStr =
"0x" + hexStr.substr(pos0Word, len0Word);
918 unsigned int pos1Word = pos0Word - len1Word;
919 hex1WordStr =
"0x" + hexStr.substr(pos1Word, len1Word);
927 std::list<int> chipList;
933 if (condFK == (*constIt).condFK) {
934 int chipNr =
chipNumber((*constIt).bitNumberSh);
935 chipList.push_back(chipNr);
948 if (opFK == (*constIt).opId) {
949 objPar.
ptHighThreshold =
static_cast<unsigned int>((*constIt).ptHighThreshold);
950 objPar.
ptLowThreshold =
static_cast<unsigned int>((*constIt).ptLowThreshold);
951 objPar.
enableMip =
static_cast<bool>((*constIt).enableMip);
952 objPar.
enableIso =
static_cast<bool>((*constIt).enableIso);
953 objPar.
requestIso =
static_cast<bool>((*constIt).requestIso);
954 objPar.
etaRange = lexical_cast_from_hex<unsigned long long>((*constIt).etaRange);
955 objPar.
phiHigh =
static_cast<unsigned int>((*constIt).phiHigh);
956 objPar.
phiLow =
static_cast<unsigned int>((*constIt).phiLow);
957 objPar.
qualityRange = lexical_cast_from_hex<unsigned int>((*constIt).qualityRange);
972 std::vector<L1GtObject>
objType(nrObj,
Mu);
978 std::vector<L1GtMuonTemplate::ObjectParameter> objParameter(nrObj);
980 for (
int iObj = 0; iObj < nrObj; ++iObj) {
983 }
else if (iObj == 1) {
985 }
else if (iObj == 2) {
987 }
else if (iObj == 3) {
990 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
991 <<
"\n Warning: number of objects requested " << nrObj <<
" not available in DB." 992 <<
"\n Maximum 4 object parameters implemented. \n" 999 if (muonCond.
wsc()) {
1022 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1029 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1030 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1032 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << muonCond <<
"\n" << std::endl;
1043 if (opFK == (*constIt).opId) {
1044 objPar.
etThreshold =
static_cast<unsigned int>((*constIt).etThreshold);
1045 objPar.
etaRange = lexical_cast_from_hex<unsigned int>((*constIt).etaRange);
1046 objPar.
phiRange = lexical_cast_from_hex<unsigned int>((*constIt).phiRange);
1068 std::vector<L1GtCaloTemplate::ObjectParameter> objParameter(nrObj);
1070 for (
int iObj = 0; iObj < nrObj; ++iObj) {
1073 }
else if (iObj == 1) {
1075 }
else if (iObj == 2) {
1077 }
else if (iObj == 3) {
1080 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1081 <<
"\n Warning: number of objects requested " << nrObj <<
" not available in DB." 1082 <<
"\n Maximum 4 object parameters implemented. \n" 1088 if (caloCond.
wsc()) {
1105 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1112 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1113 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1115 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << caloCond <<
"\n" << std::endl;
1127 if (opFK == (*constIt).opId) {
1128 objPar.
etThreshold =
static_cast<unsigned int>((*constIt).etThreshold);
1129 objPar.
energyOverflow =
static_cast<bool>((*constIt).energyOverflow);
1136 objPar.
phiRange0Word = lexical_cast_from_hex<unsigned long long>(word0);
1137 objPar.
phiRange1Word = lexical_cast_from_hex<unsigned long long>(word1);
1140 objPar.
phiRange0Word = lexical_cast_from_hex<unsigned long long>(word0);
1163 std::vector<L1GtEnergySumTemplate::ObjectParameter> objParameter(nrObj);
1176 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1183 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1184 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1186 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << esumCond <<
"\n" << std::endl;
1206 std::vector<L1GtJetCountsTemplate::ObjectParameter> objParameter(nrObj);
1207 objParameter.at(0).countIndex =
static_cast<unsigned int>(condDB.
countIndex);
1208 objParameter.at(0).countThreshold =
static_cast<unsigned int>(condDB.
countThreshold);
1209 objParameter.at(0).countOverflow =
false;
1221 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1228 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1229 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1231 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << jcCond <<
"\n" << std::endl;
1251 std::vector<L1GtHfBitCountsTemplate::ObjectParameter> objParameter(nrObj);
1252 objParameter.at(0).countIndex =
static_cast<unsigned int>(condDB.
countIndex);
1253 objParameter.at(0).countThreshold =
static_cast<unsigned int>(condDB.
countThreshold);
1265 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1272 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1273 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1275 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << countsCond <<
"\n" << std::endl;
1295 std::vector<L1GtHfRingEtSumsTemplate::ObjectParameter> objParameter(nrObj);
1296 objParameter.at(0).etSumIndex =
static_cast<unsigned int>(condDB.
countIndex);
1297 objParameter.at(0).etSumThreshold =
static_cast<unsigned int>(condDB.
countThreshold);
1309 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1316 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1317 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1319 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << esumCond <<
"\n" << std::endl;
1349 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1356 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1357 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1359 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << castorCond <<
"\n" << std::endl;
1389 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1396 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1397 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1399 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << bptxCond <<
"\n" << std::endl;
1429 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1436 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1437 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1439 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << externalCond <<
"\n" << std::endl;
1450 const int nrObj = 2;
1452 std::vector<L1GtObject>
objType(nrObj);
1470 std::vector<L1GtConditionCategory> subcondCategory(nrObj);
1471 std::vector<int> subcondIndex(nrObj);
1473 bool wrongSubcondition =
false;
1475 for (
int iObj = 0; iObj < nrObj; ++iObj) {
1484 std::vector<L1GtMuonTemplate::ObjectParameter> objParameter(1);
1490 }
else if (iObj == 1) {
1506 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1516 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1517 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1519 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << subcond <<
"\n" << std::endl;
1533 std::vector<L1GtCaloTemplate::ObjectParameter> objParameter(1);
1539 }
else if (iObj == 1) {
1552 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1562 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1563 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1565 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << subcond <<
"\n" << std::endl;
1575 std::vector<L1GtEnergySumTemplate::ObjectParameter> objParameter(1);
1581 }
else if (iObj == 1) {
1597 <<
"\n Warning: wrong L1GtConditionType " << gtObj << std::endl;
1608 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1618 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1619 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1621 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << subcond <<
"\n" << std::endl;
1636 <<
"\n Warning: correlation condition " << (condDB.
cond) <<
" with invalid sub-condition object type " 1637 << gtObj <<
"\n Condition ignored!" << std::endl;
1641 wrongSubcondition =
true;
1643 <<
"\n Warning: correlation condition " << (condDB.
cond) <<
" with invalid sub-condition object type " 1644 << gtObj <<
"\n Condition ignored!" << std::endl;
1652 if (wrongSubcondition) {
1654 <<
"\n Warning: wrong sub-condition for correlation condition " << (condDB.
cond)
1655 <<
"\n Condition not inserted in menu. \n A sub-condition may be left in the menu" << std::endl;
1677 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1684 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1685 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1687 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << correlationCond <<
"\n" << std::endl;
1699 switch (conCategory) {
const QueryResults singleAttribute(const T &data) const
unsigned int ptHighThreshold
void setCond1Category(const L1GtConditionCategory &)
typedef for correlation parameters
void setAlgoAlias(const std::string &algoAliasValue)
unsigned long long etaRange
unsigned long long deltaPhiRange
unsigned int deltaPhiMaxbits
void setConditionParameter(const std::vector< ObjectParameter > &)
set functions
void setCond0Index(const int &)
unsigned long long deltaEtaRange
void setCondGEq(const bool &cGEq)
unsigned int deltaPhiMaxbits
Log< level::Error, false > LogError
unsigned int deltaPhiMaxbits
void setAlgoChipNumber(const int algoChipNumberValue)
std::string deltaEtaRange
void convertIntToNameLogicalExpression(const std::map< int, std::string > &intToNameMap)
void setCond0Category(const L1GtConditionCategory &)
std::string logicalExpression() const
return the logical expression
void setConditionParameter(const std::vector< ObjectParameter > &objParameter, const CorrelationParameter &corrParameter)
set functions
void setObjectType(const std::vector< L1GtObject > &objType)
void setCorrelationParameter(const CorrelationParameter &corrParameter)
unsigned long long deltaPhiRange0Word
typedef for a single object template
typedef for correlation parameters
bool fillVariableFromRow(const std::string &columnName, int rowNumber, T &outputVariable) const
unsigned int chargeCorrelation
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
l1t::OMDSReader m_omdsReader
unsigned long long phiRange0Word
void setCond1Index(const int &)
unsigned int qualityRange
unsigned int ptLowThreshold
void setConditionParameter(const std::vector< ObjectParameter > &)
set functions
std::vector< std::string > columnNamesView(const std::string &schemaName, const std::string &viewName)
std::string deltaPhiRange
unsigned long long deltaEtaRange
void setCondChipNr(const int &cChipNr)
const QueryResults basicQueryView(const std::vector< std::string > &columnNames, const std::string &schemaName, const std::string &viewName, const std::string &conditionLHS="", const QueryResults conditionRHS=QueryResults(), const std::string &conditionRHSName="")
deadvectors [0] push_back({0.0175431, 0.538005, 6.80997, 13.29})
void setConditionParameter(const std::vector< ObjectParameter > &)
set functions
void setCondType(const L1GtConditionType &cType)
unsigned long long phiRange1Word
const int nrObjects() const
get number of trigger objects
Log< level::Warning, false > LogWarning
unsigned long long deltaPhiRange1Word
void setConditionParameter(const std::vector< ObjectParameter > &objParameter, const CorrelationParameter &corrParameter)
set functions
void setConditionParameter(const std::vector< ObjectParameter > &)
set functions
typedef for a single object template