26 #include "boost/lexical_cast.hpp" 77 auto pL1GtTriggerMenuEmpty = std::make_unique<L1GtTriggerMenu>();
81 const unsigned int numberConditionChips = 2;
82 init(numberConditionChips);
93 return pL1GtTriggerMenuEmpty;
102 return pL1GtTriggerMenuEmpty;
107 return pL1GtTriggerMenuEmpty;
112 return pL1GtTriggerMenuEmpty;
117 return pL1GtTriggerMenuEmpty;
122 return pL1GtTriggerMenuEmpty;
135 auto pL1GtTriggerMenu = std::make_unique<L1GtTriggerMenu>(menuName,
136 numberConditionChips,
160 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\nThe following L1GtTriggerMenu record was read from OMDS: \n" 163 std::ostringstream myCoutStream;
165 pL1GtTriggerMenu->print(myCoutStream, verbosity);
166 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n" << std::endl;
169 pL1GtTriggerMenu->print(myCoutStream, verbosity);
170 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << myCoutStream.str() <<
"\n" << std::endl;
173 return pL1GtTriggerMenu;
185 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n List of columns in L1T_MENU_GENERAL_VIEW:\n" << std::endl;
186 for (std::vector<std::string>::const_iterator iter = columns.begin(); iter != columns.end(); iter++) {
187 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << (*iter) << std::endl;
189 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n\n" << std::endl;
194 "L1T_MENU_GENERAL_VIEW",
195 "L1T_MENU_GENERAL_VIEW.MENU_IMPLEMENTATION",
201 <<
"Problem to get content of L1T_MENU_GENERAL_VIEW for L1GtTriggerMenu implementation key: " << objectKey;
207 for (std::vector<std::string>::const_iterator constIt = columns.begin(); constIt != columns.end(); ++constIt) {
208 if ((*constIt) ==
"MENU_IMPLEMENTATION") {
211 }
else if ((*constIt) ==
"INTERFACE") {
214 }
else if ((*constIt) ==
"SCALES_KEY") {
217 }
else if ((*constIt) ==
"ALGO_IMPL_TAG") {
227 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
228 <<
"\n L1 trigger menu implementation read from querying view not identical" 229 <<
"\n with menu key:" 231 <<
"\n Menu implementation name set from key." << std::endl;
247 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n List of columns in L1T_MENU_ALGO_VIEW:\n" << std::endl;
248 for (std::vector<std::string>::const_iterator iter = columnsMenuAlgo.begin(); iter != columnsMenuAlgo.end();
250 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << (*iter) << std::endl;
252 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n\n" << std::endl;
257 "L1T_MENU_ALGO_VIEW",
258 "L1T_MENU_ALGO_VIEW.MENU_IMPLEMENTATION",
264 edm::LogWarning(
"L1-O2O") <<
"Warning: Content of L1T_MENU_ALGO_VIEW for L1GtTriggerMenu implementation key: " 265 <<
"\n " << objectKey <<
"\nis empty!" 266 <<
"\nNo physics algorithms are found for this menu.";
270 int resultsMenuAlgoRows = resultsMenuAlgo.
numberRows();
272 for (
int iRow = 0; iRow < resultsMenuAlgoRows; ++iRow) {
273 for (std::vector<std::string>::const_iterator constIt = columnsMenuAlgo.begin(); constIt != columnsMenuAlgo.end();
275 if ((*constIt) ==
"ALGO_INDEX") {
278 }
else if ((*constIt) ==
"NAME") {
281 }
else if ((*constIt) ==
"ALIAS") {
284 }
else if ((*constIt) ==
"LOGICEXPR") {
292 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
293 <<
"Row " << iRow <<
": index = " << menuAlgo.
bitNumberSh <<
" algName = " << menuAlgo.
algName 294 <<
" algAlias = " << menuAlgo.
algAlias <<
" logExpression = '" << menuAlgo.
logExpression <<
"'" << std::endl;
300 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
301 <<
"\n Number of rows read from L1T_MENU_ALGO_VIEW: " << resultsMenuAlgoRows << std::endl;
315 const std::vector<std::string>& columnsMenuAlgoCond =
319 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n List of columns in L1T_MENU_ALGO_COND_VIEW:\n" << std::endl;
320 for (std::vector<std::string>::const_iterator iter = columnsMenuAlgoCond.begin(); iter != columnsMenuAlgoCond.end();
322 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << (*iter) << std::endl;
324 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n\n" << std::endl;
330 "L1T_MENU_ALGO_COND_VIEW",
331 "L1T_MENU_ALGO_COND_VIEW.MENU_IMPLEMENTATION",
337 edm::LogWarning(
"L1-O2O") <<
"Warning: Content of L1T_MENU_ALGO_COND_VIEW for L1GtTriggerMenu implementation key: " 338 <<
"\n " << objectKey <<
"\nis empty!" 339 <<
"\nNo list of condition associated to each algorithm are found for this menu.";
344 int resultsMenuAlgoCondRows = resultsMenuAlgoCond.
numberRows();
346 for (
int iRow = 0; iRow < resultsMenuAlgoCondRows; ++iRow) {
347 for (std::vector<std::string>::const_iterator constIt = columnsMenuAlgoCond.begin();
348 constIt != columnsMenuAlgoCond.end();
350 if ((*constIt) ==
"ALGO_INDEX") {
353 }
else if ((*constIt) ==
"COND_INDEX") {
356 }
else if ((*constIt) ==
"COND_FK") {
364 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
365 <<
"Row " << iRow <<
": ALGO_INDEX = " << menuAlgoCond.
bitNumberSh 366 <<
" COND_INDEX = " << menuAlgoCond.
condIndexF <<
" COND_FK = " << menuAlgoCond.
condFK << std::endl;
372 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
373 <<
"\n Number of rows read from L1T_MENU_ALGO_COND_VIEW: " << resultsMenuAlgoCondRows << std::endl;
387 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n List of columns in L1T_MENU_COND_VIEW:\n" << std::endl;
388 for (std::vector<std::string>::const_iterator iter = columnsMenuCond.begin(); iter != columnsMenuCond.end();
390 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << (*iter) << std::endl;
392 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n\n" << std::endl;
397 "L1T_MENU_COND_VIEW",
398 "L1T_MENU_COND_VIEW.MENU_IMPLEMENTATION",
404 edm::LogWarning(
"L1-O2O") <<
"Warning: Content of L1T_MENU_COND_VIEW for L1GtTriggerMenu implementation key: " 405 <<
"\n " << objectKey <<
"\nis empty!" 406 <<
"\nNo conditions associated to menu are found for this menu.";
411 int resultsMenuCondRows = resultsMenuCond.
numberRows();
413 for (
int iRow = 0; iRow < resultsMenuCondRows; ++iRow) {
414 for (std::vector<std::string>::const_iterator constIt = columnsMenuCond.begin(); constIt != columnsMenuCond.end();
416 if ((*constIt) ==
"COND") {
419 }
else if ((*constIt) ==
"COND_CATEGORY") {
422 }
else if ((*constIt) ==
"COND_TYPE") {
425 }
else if ((*constIt) ==
"GT_OBJECT_1") {
428 }
else if ((*constIt) ==
"GT_OBJECT_2") {
431 }
else if ((*constIt) ==
"COND_GEQ") {
437 }
else if ((*constIt) ==
"COUNT_INDEX") {
440 }
else if ((*constIt) ==
"COUNT_THRESHOLD") {
443 }
else if ((*constIt) ==
"CHARGE_CORRELATION") {
446 }
else if ((*constIt) ==
"OBJECT_PARAMETER_1_FK") {
449 }
else if ((*constIt) ==
"OBJECT_PARAMETER_2_FK") {
452 }
else if ((*constIt) ==
"OBJECT_PARAMETER_3_FK") {
455 }
else if ((*constIt) ==
"OBJECT_PARAMETER_4_FK") {
458 }
else if ((*constIt) ==
"DELTA_ETA_RANGE") {
461 }
else if ((*constIt) ==
"DELTA_PHI_RANGE") {
469 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
471 <<
" GT_OBJECT_1 " << menuCond.
gtObject1 <<
" GT_OBJECT_2 " << menuCond.
gtObject2 <<
" COND_GEQ " 475 <<
" OBJECT_PARAMETER_1_FK " << menuCond.
objectParameter1FK <<
" OBJECT_PARAMETER_2_FK " 484 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
485 <<
"\n Number of rows read from L1T_MENU_COND_VIEW: " << resultsMenuCondRows << std::endl;
502 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n List of columns in L1T_MENU_OP_VIEW:\n" << std::endl;
503 for (std::vector<std::string>::const_iterator iter = columnsMenuOp.begin(); iter != columnsMenuOp.end(); iter++) {
504 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << (*iter) << std::endl;
506 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n\n" << std::endl;
512 "L1T_MENU_OP_VIEW.MENU_IMPLEMENTATION",
518 edm::LogWarning(
"L1-O2O") <<
"Warning: Content of L1T_MENU_OP_VIEW for L1GtTriggerMenu implementation key: " 519 <<
"\n " << objectKey <<
"\nis empty!" 520 <<
"\nNo object parameters associated to menu are found for this menu.";
524 int resultsMenuOpRows = resultsMenuOp.
numberRows();
526 for (
int iRow = 0; iRow < resultsMenuOpRows; ++iRow) {
527 for (std::vector<std::string>::const_iterator constIt = columnsMenuOp.begin(); constIt != columnsMenuOp.end();
529 if ((*constIt) ==
"ID") {
532 }
else if ((*constIt) ==
"PT_HIGH_THRESHOLD") {
535 }
else if ((*constIt) ==
"PT_LOW_THRESHOLD") {
538 }
else if ((*constIt) ==
"ENABLE_MIP") {
541 }
else if ((*constIt) ==
"ENABLE_ISO") {
544 }
else if ((*constIt) ==
"REQUEST_ISO") {
547 }
else if ((*constIt) ==
"ENERGY_OVERFLOW") {
550 }
else if ((*constIt) ==
"ET_THRESHOLD") {
553 }
else if ((*constIt) ==
"ETA_RANGE") {
556 }
else if ((*constIt) ==
"PHI_RANGE") {
559 }
else if ((*constIt) ==
"PHI_LOW") {
562 }
else if ((*constIt) ==
"PHI_HIGH") {
565 }
else if ((*constIt) ==
"QUALITY_RANGE") {
568 }
else if ((*constIt) ==
"CHARGE") {
576 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
577 <<
" ID " << menuObjectParameters.
opId <<
" PT_HIGH_THRESHOLD " << menuObjectParameters.
ptHighThreshold 578 <<
" PT_LOW_THRESHOLD " << menuObjectParameters.
ptLowThreshold <<
" ENABLE_MIP " 579 << menuObjectParameters.
enableMip <<
" ENABLE_ISO " << menuObjectParameters.
enableIso <<
" REQUEST_ISO " 581 <<
" ET_THRESHOLD " << menuObjectParameters.
etThreshold <<
" ETA_RANGE " << menuObjectParameters.
etaRange 582 <<
" PHI_RANGE " << menuObjectParameters.
phiRange <<
" PHI_LOW " << menuObjectParameters.
phiLow <<
" PHI_HIGH " 583 << menuObjectParameters.
phiHigh <<
" QUALITY_RANGE " << menuObjectParameters.
qualityRange <<
" CHARGE " 584 << menuObjectParameters.
charge << std::endl;
590 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
591 <<
"\n Number of rows read from L1T_MENU_OP_VIEW: " << resultsMenuOpRows << std::endl;
603 const std::vector<std::string>& columnsMenuTechTrig =
607 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n List of columns in L1T_MENU_TECHTRIG_VIEW:\n" << std::endl;
608 for (std::vector<std::string>::const_iterator iter = columnsMenuTechTrig.begin(); iter != columnsMenuTechTrig.end();
610 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << (*iter) << std::endl;
612 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n\n" << std::endl;
618 "L1T_MENU_TECHTRIG_VIEW",
619 "L1T_MENU_TECHTRIG_VIEW.MENU_IMPLEMENTATION",
625 edm::LogWarning(
"L1-O2O") <<
"Warning: Content of L1T_MENU_TECHTRIG_VIEW for L1GtTriggerMenu implementation key: " 626 <<
"\n " << objectKey <<
"\nis empty!" 627 <<
"\nNo technical triggers are found for this menu.";
631 int resultsMenuTechTrigRows = resultsMenuTechTrig.
numberRows();
633 for (
int iRow = 0; iRow < resultsMenuTechTrigRows; ++iRow) {
634 for (std::vector<std::string>::const_iterator constIt = columnsMenuTechTrig.begin();
635 constIt != columnsMenuTechTrig.end();
637 if ((*constIt) ==
"TECHTRIG_INDEX") {
640 }
else if ((*constIt) ==
"NAME") {
648 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"Row " << iRow <<
": index = " << menuTechTrig.
bitNumberSh 649 <<
" techName = " << menuTechTrig.
techName << std::endl;
655 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
656 <<
"\n Number of rows read from L1T_MENU_TECHTRIG_VIEW: " << resultsMenuTechTrigRows << std::endl;
665 std::map<int, std::string> mapIndexName;
670 if (bitNr == (*constIt).bitNumberSh) {
671 mapIndexName[
static_cast<int>((*constIt).condIndexF)] = (*constIt).condFK;
676 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n Bit number : " << bitNr << std::endl;
678 for (std::map<int, std::string>::const_iterator constIt = mapIndexName.begin(); constIt != mapIndexName.end();
680 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
681 <<
" Condition index -> name: " << ((*constIt).first) <<
" " << ((*constIt).second) << std::endl;
690 const std::string& expressionIndices,
const std::map<int, std::string>& mapCondIndexName)
const {
697 return expressionNames;
703 const unsigned numberConditionChips = 2;
704 const unsigned pinsOnConditionChip = 96;
705 std::vector<int> orderConditionChip;
706 orderConditionChip.push_back(2);
707 orderConditionChip.push_back(1);
709 int posChip = (
static_cast<unsigned>(bitNumberSh) / pinsOnConditionChip) + 1;
710 for (
unsigned int iChip = 0; iChip < numberConditionChips; ++iChip) {
711 if (posChip == orderConditionChip[iChip]) {
712 return static_cast<int>(iChip);
729 bitNumber =
static_cast<int>((*constIt).bitNumberSh);
731 const std::map<int, std::string>& condIndexName =
condIndexNameMap((*constIt).bitNumberSh);
735 L1GtAlgorithm alg((*constIt).algName, logicalExpression, bitNumber);
739 int algChipNr =
chipNumber((*constIt).bitNumberSh);
758 bitNumber =
static_cast<int>((*constIt).bitNumberSh);
762 L1GtAlgorithm techTrig((*constIt).techName, logicalExpression, bitNumber);
774 if (strCategory ==
"CondMuon") {
776 }
else if (strCategory ==
"CondCalo") {
778 }
else if (strCategory ==
"CondEnergySum") {
780 }
else if (strCategory ==
"CondJetCounts") {
782 }
else if (strCategory ==
"CondCorrelation") {
784 }
else if (strCategory ==
"CondCastor") {
786 }
else if (strCategory ==
"CondHfBitCounts") {
788 }
else if (strCategory ==
"CondHfRingEtSums") {
790 }
else if (strCategory ==
"CondBptx") {
792 }
else if (strCategory ==
"CondExternal") {
794 }
else if (strCategory ==
"CondNull") {
798 <<
"\n Warning: string " << strCategory <<
" not defined. Returning CondNull.\n" 808 if (strType ==
"1s") {
810 }
else if (strType ==
"2s") {
812 }
else if (strType ==
"2wsc") {
814 }
else if (strType ==
"2cor") {
816 }
else if (strType ==
"3s") {
818 }
else if (strType ==
"4s") {
820 }
else if (strType ==
"ETM") {
822 }
else if (strType ==
"ETT") {
824 }
else if (strType ==
"HTT") {
826 }
else if (strType ==
"HTM") {
828 }
else if (strType ==
"JetCounts") {
830 }
else if (strType ==
"Castor") {
832 }
else if (strType ==
"HfBitCounts") {
834 }
else if (strType ==
"HfRingEtSums") {
836 }
else if (strType ==
"Bptx") {
838 }
else if (strType ==
"TypeExternal") {
842 <<
"\n Warning: string " << strType <<
" not associated to any L1GtConditionType. Returning TypeNull.\n" 852 if (strObject ==
"Mu") {
854 }
else if (strObject ==
"NoIsoEG") {
856 }
else if (strObject ==
"IsoEG") {
858 }
else if (strObject ==
"CenJet") {
860 }
else if (strObject ==
"ForJet") {
862 }
else if (strObject ==
"TauJet") {
864 }
else if (strObject ==
"ETM") {
866 }
else if (strObject ==
"ETT") {
868 }
else if (strObject ==
"HTT") {
870 }
else if (strObject ==
"HTM") {
872 }
else if (strObject ==
"JetCounts") {
874 }
else if (strObject ==
"HfBitCounts") {
876 }
else if (strObject ==
"HfRingEtSums") {
878 }
else if (strObject ==
"TechTrig") {
880 }
else if (strObject ==
"Castor") {
882 }
else if (strObject ==
"BPTX") {
884 }
else if (strObject ==
"GtExternal") {
888 <<
"\n Warning: string " << strObject <<
" not associated to any L1GtObject. Returning Mu (no Null type).\n" 900 unsigned int lenHexStr = hexStr.length();
903 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") <<
"\n Warning: string " << hexStr <<
" has length less than 3." 904 <<
"\n Not possible to split it in two 64-bit words." 905 <<
"\n Return two zero strings." << std::endl;
912 unsigned int lenHex = lenHexStr - 2;
913 unsigned int len0Word = lenHex > 16 ? 16 : lenHex;
914 unsigned int len1Word = lenHex - len0Word;
916 unsigned int pos0Word = lenHexStr - len0Word;
917 hex0WordStr =
"0x" + hexStr.substr(pos0Word, len0Word);
920 unsigned int pos1Word = pos0Word - len1Word;
921 hex1WordStr =
"0x" + hexStr.substr(pos1Word, len1Word);
929 std::list<int> chipList;
935 if (condFK == (*constIt).condFK) {
936 int chipNr =
chipNumber((*constIt).bitNumberSh);
937 chipList.push_back(chipNr);
950 if (opFK == (*constIt).opId) {
951 objPar.
ptHighThreshold =
static_cast<unsigned int>((*constIt).ptHighThreshold);
952 objPar.
ptLowThreshold =
static_cast<unsigned int>((*constIt).ptLowThreshold);
953 objPar.
enableMip =
static_cast<bool>((*constIt).enableMip);
954 objPar.
enableIso =
static_cast<bool>((*constIt).enableIso);
955 objPar.
requestIso =
static_cast<bool>((*constIt).requestIso);
956 objPar.
etaRange = lexical_cast_from_hex<unsigned long long>((*constIt).etaRange);
957 objPar.
phiHigh =
static_cast<unsigned int>((*constIt).phiHigh);
958 objPar.
phiLow =
static_cast<unsigned int>((*constIt).phiLow);
959 objPar.
qualityRange = lexical_cast_from_hex<unsigned int>((*constIt).qualityRange);
974 std::vector<L1GtObject>
objType(nrObj,
Mu);
980 std::vector<L1GtMuonTemplate::ObjectParameter> objParameter(nrObj);
982 for (
int iObj = 0; iObj < nrObj; ++iObj) {
985 }
else if (iObj == 1) {
987 }
else if (iObj == 2) {
989 }
else if (iObj == 3) {
992 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
993 <<
"\n Warning: number of objects requested " << nrObj <<
" not available in DB." 994 <<
"\n Maximum 4 object parameters implemented. \n" 1001 if (muonCond.
wsc()) {
1024 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1031 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1032 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1034 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << muonCond <<
"\n" << std::endl;
1045 if (opFK == (*constIt).opId) {
1046 objPar.
etThreshold =
static_cast<unsigned int>((*constIt).etThreshold);
1047 objPar.
etaRange = lexical_cast_from_hex<unsigned int>((*constIt).etaRange);
1048 objPar.
phiRange = lexical_cast_from_hex<unsigned int>((*constIt).phiRange);
1064 std::vector<L1GtObject>
objType(nrObj, obj);
1070 std::vector<L1GtCaloTemplate::ObjectParameter> objParameter(nrObj);
1072 for (
int iObj = 0; iObj < nrObj; ++iObj) {
1075 }
else if (iObj == 1) {
1077 }
else if (iObj == 2) {
1079 }
else if (iObj == 3) {
1082 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1083 <<
"\n Warning: number of objects requested " << nrObj <<
" not available in DB." 1084 <<
"\n Maximum 4 object parameters implemented. \n" 1090 if (caloCond.
wsc()) {
1107 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1114 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1115 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1117 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << caloCond <<
"\n" << std::endl;
1129 if (opFK == (*constIt).opId) {
1130 objPar.
etThreshold =
static_cast<unsigned int>((*constIt).etThreshold);
1131 objPar.
energyOverflow =
static_cast<bool>((*constIt).energyOverflow);
1138 objPar.
phiRange0Word = lexical_cast_from_hex<unsigned long long>(word0);
1139 objPar.
phiRange1Word = lexical_cast_from_hex<unsigned long long>(word1);
1141 }
else if (obj ==
HTM) {
1142 objPar.
phiRange0Word = lexical_cast_from_hex<unsigned long long>(word0);
1159 std::vector<L1GtObject>
objType(nrObj, obj);
1165 std::vector<L1GtEnergySumTemplate::ObjectParameter> objParameter(nrObj);
1178 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1185 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1186 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1188 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << esumCond <<
"\n" << std::endl;
1201 std::vector<L1GtObject>
objType(nrObj, obj);
1208 std::vector<L1GtJetCountsTemplate::ObjectParameter> objParameter(nrObj);
1209 objParameter.at(0).countIndex =
static_cast<unsigned int>(condDB.
countIndex);
1210 objParameter.at(0).countThreshold =
static_cast<unsigned int>(condDB.
countThreshold);
1211 objParameter.at(0).countOverflow =
false;
1223 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1230 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1231 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1233 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << jcCond <<
"\n" << std::endl;
1246 std::vector<L1GtObject>
objType(nrObj, obj);
1253 std::vector<L1GtHfBitCountsTemplate::ObjectParameter> objParameter(nrObj);
1254 objParameter.at(0).countIndex =
static_cast<unsigned int>(condDB.
countIndex);
1255 objParameter.at(0).countThreshold =
static_cast<unsigned int>(condDB.
countThreshold);
1267 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1274 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1275 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1277 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << countsCond <<
"\n" << std::endl;
1290 std::vector<L1GtObject>
objType(nrObj, obj);
1297 std::vector<L1GtHfRingEtSumsTemplate::ObjectParameter> objParameter(nrObj);
1298 objParameter.at(0).etSumIndex =
static_cast<unsigned int>(condDB.
countIndex);
1299 objParameter.at(0).etSumThreshold =
static_cast<unsigned int>(condDB.
countThreshold);
1311 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1318 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1319 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1321 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << esumCond <<
"\n" << std::endl;
1335 std::vector<L1GtObject>
objType(nrObj, obj);
1351 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1358 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1359 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1361 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << castorCond <<
"\n" << std::endl;
1375 std::vector<L1GtObject>
objType(nrObj, obj);
1391 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1398 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1399 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1401 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << bptxCond <<
"\n" << std::endl;
1415 std::vector<L1GtObject>
objType(nrObj, obj);
1431 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1438 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1439 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1441 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << externalCond <<
"\n" << std::endl;
1452 const int nrObj = 2;
1454 std::vector<L1GtObject>
objType(nrObj);
1472 std::vector<L1GtConditionCategory> subcondCategory(nrObj);
1473 std::vector<int> subcondIndex(nrObj);
1475 bool wrongSubcondition =
false;
1477 for (
int iObj = 0; iObj < nrObj; ++iObj) {
1486 std::vector<L1GtMuonTemplate::ObjectParameter> objParameter(1);
1492 }
else if (iObj == 1) {
1508 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1518 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1519 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1521 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << subcond <<
"\n" << std::endl;
1535 std::vector<L1GtCaloTemplate::ObjectParameter> objParameter(1);
1541 }
else if (iObj == 1) {
1554 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1564 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1565 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1567 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << subcond <<
"\n" << std::endl;
1577 std::vector<L1GtEnergySumTemplate::ObjectParameter> objParameter(1);
1583 }
else if (iObj == 1) {
1599 <<
"\n Warning: wrong L1GtConditionType " << gtObj << std::endl;
1610 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1620 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1621 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1623 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << subcond <<
"\n" << std::endl;
1636 wrongSubcondition =
true;
1638 <<
"\n Warning: correlation condition " << (condDB.
cond) <<
" with invalid sub-condition object type " 1639 << gtObj <<
"\n Condition ignored!" << std::endl;
1643 wrongSubcondition =
true;
1645 <<
"\n Warning: correlation condition " << (condDB.
cond) <<
" with invalid sub-condition object type " 1646 << gtObj <<
"\n Condition ignored!" << std::endl;
1654 if (wrongSubcondition) {
1656 <<
"\n Warning: wrong sub-condition for correlation condition " << (condDB.
cond)
1657 <<
"\n Condition not inserted in menu. \n A sub-condition may be left in the menu" << std::endl;
1679 for (std::list<int>::const_iterator itChip = chipList.begin(); itChip != chipList.end(); ++itChip) {
1686 LogTrace(
"L1GtTriggerMenuConfigOnlineProd")
1687 <<
"\n Adding condition " << (condDB.
cond) <<
" on chip " << (*itChip) <<
"\n " << std::endl;
1689 LogTrace(
"L1GtTriggerMenuConfigOnlineProd") << correlationCond <<
"\n" << std::endl;
1701 switch (conCategory) {
std::string logicalExpression() const
return the logical expression
const int nrObjects() const
get number of trigger objects
bool fillVariable(const std::string &columnName, T &outputVariable) const
unsigned int ptHighThreshold
void setCond1Category(const L1GtConditionCategory &)
typedef for correlation parameters
const QueryResults singleAttribute(const T &data) const
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
unsigned int deltaPhiMaxbits
void setAlgoChipNumber(const int algoChipNumberValue)
std::string deltaEtaRange
void convertIntToNameLogicalExpression(const std::map< int, std::string > &intToNameMap)
void setCond0Category(const L1GtConditionCategory &)
void setConditionParameter(const std::vector< ObjectParameter > &objParameter, const CorrelationParameter &corrParameter)
set functions
void setObjectType(const std::vector< L1GtObject > &objType)
void setCorrelationParameter(const CorrelationParameter &corrParameter)
bool fillVariableFromRow(const std::string &columnName, int rowNumber, T &outputVariable) const
unsigned long long deltaPhiRange0Word
L1GtConditionCategory
condition categories
typedef for a single object template
typedef for correlation parameters
unsigned int chargeCorrelation
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
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
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="")
void setConditionParameter(const std::vector< ObjectParameter > &)
set functions
void setCondType(const L1GtConditionType &cType)
unsigned long long phiRange1Word
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