78 std::vector<std::string>
temp;
101 ConditionMap::const_iterator condIter = map.begin();
102 while (condIter!=map.end())
104 if (condIter->second->condCategory()==category
105 && condIter->second->condType()==type && (condIter->second->objectType())[0]==
object)
107 outputMap[condIter->first]=condIter->second;
121 ConditionMap::iterator condIter = map.begin();
122 while (condIter!=map.end())
124 for (
unsigned int i=0;
i<(condIter->second->objectType()).
size();
i++)
126 if (condIter->second->objectType()[
i]==
object)
142 const unsigned short int &condChip,
143 std::map<std::string,std::string> &muonParameters)
146 std::vector<L1GtConditionType> muonConditionTypes;
148 muonConditionTypes.push_back(
Type1s);
149 muonConditionTypes.push_back(
Type2s);
150 muonConditionTypes.push_back(
Type2wsc);
151 muonConditionTypes.push_back(
Type3s);
152 muonConditionTypes.push_back(
Type4s);
154 for (
unsigned int i = 0;
i<muonConditionTypes.size();
i++)
161 (*conditionMap_).at(condChip-1), MuonConditions1s, condChip);
179 for (ConditionMap::const_iterator iterCond = MuonConditions1s.begin(); iterCond
180 != MuonConditions1s.end(); iterCond++)
188 const std::vector<L1GtMuonTemplate::ObjectParameter>* op =
191 if (muonConditionTypes.at(
i)==
Type1s)
205 muonParameters[
"phi_l_1_s"]+=(
"--"+iterCond->first+
"\n");
206 muonParameters[
"phi_h_1_s"]+=(
"--"+iterCond->first+
"\n");
207 muonParameters[
"eta_1_s"] +=(
"--"+iterCond->first+
"\n");
212 if (muonConditionTypes.at(
i)==
Type2s)
226 muonParameters[
"phi_l_2_s"]+=(
"--"+iterCond->first+
"\n");
227 muonParameters[
"phi_h_2_s"]+=(
"--"+iterCond->first+
"\n");
228 muonParameters[
"eta_2_s"] +=(
"--"+iterCond->first+
"\n");
234 if (muonConditionTypes.at(
i)==
Type3s)
248 muonParameters[
"phi_l_3"]+=(
"--"+iterCond->first+
"\n");
249 muonParameters[
"phi_h_3"]+=(
"--"+iterCond->first+
"\n");
250 muonParameters[
"eta_3"] +=(
"--"+iterCond->first+
"\n");
255 if (muonConditionTypes.at(
i)==
Type4s)
269 muonParameters[
"phi_l_4"]+=(
"--"+iterCond->first+
"\n");
270 muonParameters[
"phi_h_4"]+=(
"--"+iterCond->first+
"\n");
271 muonParameters[
"eta_4"] +=(
"--"+iterCond->first+
"\n");
282 muonParameters[
"eta_2_wsc"]
292 std::ostringstream
dEta;
302 muonParameters[
"eta_2_wsc"]+=(
"--"+iterCond->first+
"\n");
303 muonParameters[
"phi_h_2_wsc"]+=(
"--"+iterCond->first+
"\n");
304 muonParameters[
"phi_l_2_wsc"] +=(
"--"+iterCond->first+
"\n");
305 muonParameters[
"delta_eta"]+=(
"--"+iterCond->first+
"\n");
306 muonParameters[
"delta_phi"] +=(
"--"+iterCond->first+
"\n");
317 const unsigned short int &condChip,
318 std::map<std::string,std::string> &caloParameters,
322 std::vector<L1GtConditionType> caloConditionTypes;
324 caloConditionTypes.push_back(
Type1s);
325 caloConditionTypes.push_back(
Type2s);
326 caloConditionTypes.push_back(
Type2wsc);
327 caloConditionTypes.push_back(
Type4s);
329 for (
unsigned int i = 0;
i<caloConditionTypes.size();
i++)
337 caloObject, (*conditionMap_).at(condChip-1), caloConditions,
340 for (ConditionMap::const_iterator iterCond = caloConditions.begin(); iterCond
341 != caloConditions.end(); iterCond++)
349 const std::vector<L1GtCaloTemplate::ObjectParameter>* op =
352 if (caloConditionTypes.at(
i)==
Type1s)
364 caloParameters[
"eta_1_s"]+=(
"--"+iterCond->first+
"\n");
365 caloParameters[
"phi_1_s"]+=(
"--"+iterCond->first+
"\n");
368 }
else if (caloConditionTypes.at(
i)==
Type2s)
379 caloParameters[
"eta_2_s"]+=(
"--"+iterCond->first+
"\n");
380 caloParameters[
"phi_2_s"]+=(
"--"+iterCond->first+
"\n");
383 }
else if (caloConditionTypes.at(
i)==
Type4s)
393 caloParameters[
"eta_4"]+=(
"--"+iterCond->first+
"\n");
394 caloParameters[
"phi_4"]+=(
"--"+iterCond->first+
"\n");
397 }
else if (caloConditionTypes.at(
i)==
Type2wsc)
403 caloParameters[
"eta_2_wsc"]
419 caloParameters[
"eta_2_wsc"]+=(
"--"+iterCond->first+
"\n");
420 caloParameters[
"phi_2_wsc"]+=(
"--"+iterCond->first+
"\n");
421 caloParameters[
"delta_eta"]+=(
"--"+iterCond->first+
"\n");
422 caloParameters[
"delta_phi"]+=(
"--"+iterCond->first+
"\n");
437 const unsigned short int &condChip,
const L1GtObject &
object,
447 else if (
object==
ETM)
449 else if (
object==
ETT)
455 (*conditionMap_).at(condChip-1), esumsConditions, condChip);
457 for (ConditionMap::const_iterator iterCond = esumsConditions.begin(); iterCond
458 != esumsConditions.end(); iterCond++)
462 const std::vector<L1GtEnergySumTemplate::ObjectParameter>* op =
470 energySumParameter+=(
"--"+iterCond->first+
"\n");
487 std::map<L1GtConditionType,std::string> condType2Strcopy =
condType2Str_;
490 std::map<L1GtConditionType,std::string>::iterator typeIterator =
491 condType2Strcopy.begin();
493 while (typeIterator != condType2Strcopy.end())
511 parameterStr+=(tempStr2+
"\n\n");
516 condType2Strcopy.erase(typeIterator);
529 const unsigned short int &condChip,
530 std::map<std::string, L1GtVhdlTemplateFile> &
templates,
531 std::map<std::string, std::string> &commonParams)
553 std::vector<unsigned int> processedTypes;
561 std::vector<L1GtObject>::iterator caloObjIter =
caloObjects_.begin();
567 commonParams[
"calo_common"]);
573 std::vector<L1GtObject>::iterator esumObjIter =
esumObjects_.begin();
579 commonParams[
"esums_common"]);
587 for (ConditionMap::const_iterator iterCond = (*conditionMap_).at(condChip-1).begin(); iterCond != (*conditionMap_).at(condChip-1).end(); iterCond++)
590 switch ((iterCond->second)->condCategory())
599 msg(
"Panik! Condition "+(iterCond->first)
600 +
" does not have a integer equivalent!");
614 if ((iterCond->second)->condType() ==
Type1s)
618 }
else if ((iterCond->second)->condType() ==
Type2s)
622 }
else if ((iterCond->second)->condType() ==
Type2wsc)
626 }
else if ((iterCond->second)->condType() ==
Type3s)
630 }
else if ((iterCond->second)->condType() ==
Type4s)
647 templates[
"muon"].append(muoncopy);
658 msg(
"Panik! Condition "+(iterCond->first)
659 +
" does not have a integer equivalent!");
676 templates[
"calo"].append(calocopy);
688 msg(
"Panik! Condition "+(iterCond->first)
689 +
" does not have a integer equivalent!");
699 esumscopy.
substitute(
"name", iterCond->first);
702 if (((iterCond->second)->objectType()).at(0)==
ETM)
703 esumscopy.
substitute(
"if_etm_then_1_else_0",
"1");
705 esumscopy.
substitute(
"if_etm_then_1_else_0",
"0");
710 templates[
"esums"].append(esumscopy);
723 int nObjects = iterCond->second->
nrObjects();
725 const std::vector<L1GtJetCountsTemplate::ObjectParameter>* op =
728 for (
int i = 0;
i < nObjects;
i++)
731 std::vector<unsigned int>::iterator
p =
find(
732 processedTypes.begin(), processedTypes.end(), (*op)[
i].countIndex);
736 if (p==processedTypes.end())
738 std::ostringstream indStr;
739 indStr<<(*op)[
i].countIndex;
749 processedTypes.push_back((*op)[
i].countIndex);
758 msg(
"Panik! Condition "+(iterCond->first)
759 +
" does not have a integer equivalent!");
783 templates[
"jet_cnts"].append(jetcopy);
809 std::map<std::string,std::string>::iterator pIt = commonParams.begin();
811 while (pIt!=commonParams.end())
813 if ((pIt->second)[((pIt->second).length()-1)] ==
'\n')
814 (pIt->second) = (pIt->second).substr(0, (pIt->second).length()-1);
824 std::map<int, std::string> algorithmsChip1;
825 std::map<int, std::string> algorithmsChip2;
827 AlgorithmMap::const_iterator algoIter=(*algorithmMap_).begin();
830 while (algoIter!=(*algorithmMap_).end())
837 std::string logicalExpr = (algoIter->second).algoLogicalExpression();
838 std::vector<std::string> conditions;
845 for (
unsigned int i=0;
i<conditions.size();
i++)
847 std::ostringstream newExpr;
851 L1GtCondition const*
cond = (chip.find(conditions.at(
i)) == chip.end()) ?
nullptr : chip.at(conditions.at(
i));
862 msg(
"Panik! Didn't find Condition "+conditions.at(
i));
866 std::vector<int> orderConditionChip;
867 orderConditionChip.push_back(2);
868 orderConditionChip.push_back(1);
870 int pin = (algoIter->second).algoOutputPin(2, 96, orderConditionChip);
877 if ((algoIter->second).algoChipNumber()==0)
879 algorithmsChip1[pin]=logicalExpr;
881 algorithmsChip1[pin]+=(
"-- "+logicalExprCopy);
882 }
else if ((algoIter->second).algoChipNumber()==1)
884 algorithmsChip2[pin]=logicalExpr;
886 algorithmsChip2[pin]+=(
"-- "+logicalExprCopy);
893 algoStrings.push_back(algorithmsChip1);
894 algoStrings.push_back(algorithmsChip2);
921 (void)
mkdir(subDir1.c_str(), 666);
922 (void)
mkdir(subDir2.c_str(), 666);
924 chmod(subDir1.c_str(), 0777);
925 chmod(subDir2.c_str(), 0777);
938 for (
unsigned short int i =1;
i<=2;
i++)
942 std::map<std::string,std::string> muonParameters;
950 std::vector<L1GtObject>::iterator caloObjIter =
caloObjects_.begin();
955 std::map<std::string,std::string> caloParameters;
967 std::vector<L1GtObject>::iterator esumObjIter =
esumObjects_.begin();
988 std::map<std::string, L1GtVhdlTemplateFile>
templates;
989 std::map<std::string, std::string>
common;
1017 std::vector< std::map<int, std::string> > algoStrings;
1033 std::ostringstream oss;
1040 std::map<std::string,std::string> &headerParameters,
1041 const std::vector<std::string> &connectedChannels)
1045 std::map<std::string,std::string>::iterator iter = headerParameters.begin();
1049 while (iter != headerParameters.end() )
1062 version_=headerParameters[
"version"];
1064 msg(
"Build Common header and Quartus setup files sucessuflly!");
1074 commonHeaderCp.
substitute(
"vhdl_file_name", outputFilename);
1077 myTemplate.
insert(
"$(header)", commonHeaderCp);
1083 std::map<std::string,std::string> &muonParameters,
1084 const std::string &particle,
unsigned short int &condChip)
1091 if (particle==
"muon")
1094 internalTemplate.
open(
vhdlDir_+
"InternalTemplates/muonsetup",
true);
1098 internalTemplate.
open(
vhdlDir_+
"InternalTemplates/calosetup",
true);
1105 if (particle!=
"muon")
1114 std::map<std::string,std::string> parameterMap =
1117 std::vector<std::string> substitutionParameters;
1123 internalTemplate.
append(
"");
1125 std::map<std::string, std::string>::iterator iter;
1128 for (
unsigned int i=0;
i<substitutionParameters.size();
i++)
1131 internalTemplateCopy = internalTemplate;
1134 if (particle!=
"muon")
1137 if (substitutionParameters.at(
i).substr(0, 3) ==
"eta")
1138 internalTemplateCopy.
substitute(
"constant", parameterMap[
"eta"]);
1139 else if (substitutionParameters.at(
i).substr(0, 3) ==
"phi")
1140 internalTemplateCopy.
substitute(
"constant", parameterMap[
"phi"]);
1141 else if (substitutionParameters.at(
i).substr(0, 3) ==
"del")
1144 parameterMap[
"delta"]);
1145 while (internalTemplateCopy.
substitute(
"delta",
1146 substitutionParameters[
i]))
1148 substitutionParameters[i]);
1153 if (particle==
"muon")
1156 internalTemplateCopy.
substitute(
"type", substitutionParameters[
i]);
1160 internalTemplateCopy.
substitute(
"type", substitutionParameters[
i].substr(4));
1170 internalTemplateCopy.
substitute(
"type2", paramCopy);
1173 parameterMap[substitutionParameters[
i]]);
1176 while (muonTemplate.
substitute(
"particle", particle))
1177 muonTemplate.
substitute(
"particle", particle);
1180 iter=muonParameters.find(substitutionParameters[i]);
1183 if (iter!=muonParameters.end())
1185 if ((*iter).second[(*iter).second.length()-1]==
'\n')
1186 (*iter).second[(*iter).second.length()-1]=
' ';
1187 internalTemplateCopy.
substitute(
"content", (*iter).second);
1192 muonTemplate.
insert(
"$("+substitutionParameters[i]+
")",
1193 internalTemplateCopy);
1203 const std::map<std::string, L1GtVhdlTemplateFile>&
templates,
1204 const std::map<std::string, std::string> &
common,
1205 const unsigned short int &chip)
1220 std::map<std::string, L1GtVhdlTemplateFile>::const_iterator iter=
1223 while (iter != templates.end())
1226 myTemplate.
insert(
"$("+(iter->first)+
")", iter->second);
1232 std::map<std::string, std::string>::const_iterator iter2= common.begin();
1234 while (iter2 != common.end())
1237 myTemplate.
substitute((iter2->first), iter2->second);
1250 for (
unsigned int i=1;
i<=2;
i++)
1260 filename, outputFileName);
1262 std::ostringstream
buffer;
1264 unsigned int algoPinsPerChip = 96;
1266 for (
unsigned int k=1;
k<=algoPinsPerChip;
k++)
1270 if (!algoStrings.at(
i-1)[
k].empty())
1271 buffer<<
" <= "<<algoStrings.at(
i-1)[
k]<<
";"<<std::endl;
1273 buffer<<
" <= '0';"<<std::endl;
1284 const int &condChip)
1299 while (myTemplate.
substitute(
"particle",
"etm"))
1300 while (myTemplate.
substitute(
"particle",
"etm"))
1304 if (etmString[etmString.length()-1] ==
'\n')
1305 etmString = etmString.substr(0, etmString.length()-1);
1331 for (
unsigned int i=0;
i<filenames.size();
i++)
1364 std::map<std::string,int>::const_iterator iter = map.find(searchValue);
1365 if (iter == map.end() )
1367 intVal = (*iter).second;
1378 const std::vector<ConditionMap> &conditionMap,
1384 conditionMap.at(chip-1), jetConditions);
1397 unsigned int maxJetsCountsIndex = 11;
1399 for (
unsigned int i= 0;
i<=maxJetsCountsIndex;
i++)
1403 for (ConditionMap::const_iterator iterCond = jetConditions.begin(); iterCond
1404 != jetConditions.end(); iterCond++)
1409 const std::vector<L1GtJetCountsTemplate::ObjectParameter>* op =
1412 conditionToIntegerMap_[iterCond->first]=
counter;
1413 if ((*op)[0].countIndex==
i)
1431 for (
unsigned int i=0;
i<=1;
i++)
1433 ConditionMap::const_iterator iterCond =
1450 chmod(filename.c_str(), 0666);
1475 const std::vector<int> &
values)
1479 return "1 => (\"00000000\", \"00000000\")";
1500 for (ConditionMap::const_iterator iterCond =conditions.begin(); iterCond
1501 != conditions.end(); iterCond++)
1505 const std::vector<L1GtCaloTemplate::ObjectParameter>* op =
1508 unsigned int nObjects = iterCond->second->nrObjects();
1510 for (
unsigned int i =0;
i<nObjects;
i++)
1515 result +=
int2str((*op).at(
i).etThreshold);
1526 return "-- 0 => (\"00000000\", \"00000000\" ... )";
1531 const std::vector<ConditionMap> &conditionMap,
const int &chip)
1535 internalTemplate.
open(
vhdlDir_+
"InternalTemplates/defvalpkg",
true);
1545 jetCountsDefValuesBuffer, esumsDefValBuffer;
1548 std::vector<std::string> muonDefValTypes;
1554 int jetCountsMaxIndex = 11;
1557 std::vector<std::string> jetCountsDefValTypes;
1558 for (
int i = 0;
i<=jetCountsMaxIndex;
i++)
1560 jetCountsDefValTypes.push_back(
int2str(
i));
1564 std::vector<std::string> caloDefValTypes;
1565 caloDefValTypes.push_back(
"");
1568 std::vector<std::string> esumsDefValTypes;
1572 std::map<L1GtConditionType,std::string>::iterator typeIter;
1577 std::map<L1GtConditionType,std::string> muonTypes =
condType2Str_;
1580 muonTypes.erase(typeIter);
1581 typeIter=muonTypes.find(
TypeETM);
1582 muonTypes.erase(typeIter);
1583 typeIter=muonTypes.find(
TypeETT);
1584 muonTypes.erase(typeIter);
1585 typeIter=muonTypes.find(
TypeHTT);
1586 muonTypes.erase(typeIter);
1588 muonTypes.erase(typeIter);
1590 std::map<L1GtConditionType,std::string> caloTypes = muonTypes;
1591 typeIter=caloTypes.find(
Type3s);
1592 caloTypes.erase(typeIter);
1596 std::map<L1GtConditionType,std::string> jetCountsTypes;
1635 filename, outputFile);
1662 const std::map<L1GtConditionType,std::string> &typeList,
1663 const std::vector<std::string> &defValuesList,
const L1GtObject &
object)
1666 std::map<L1GtConditionType,std::string>::const_iterator typeIter;
1668 for (typeIter=typeList.begin(); typeIter!=typeList.end(); typeIter++)
1671 for (
unsigned int i = 0;
i<defValuesList.size();
i++)
1676 internalTemplate.
open(
vhdlDir_+
"InternalTemplates/defvalpkg",
true);
1757 buffer.
append(internalTemplate);
1777 number=outputMap.size();
1791 for (
unsigned int k=0;
k<=1;
k++)
1814 while (!caloObjectsCp.empty())
1816 std::vector<L1GtObject>::iterator iter=caloObjectsCp.begin();
1818 caloObjectsCp.erase(iter);
1820 iter=caloObjectsCp.begin();
1821 while (iter!=caloObjectsCp.end())
1841 else if (
object==
ETM ||
object==
HTT ||
object==
ETT)
1862 for (ConditionMap::const_iterator iterCond = map.begin(); iterCond
1863 != map.end(); iterCond++)
1865 msg(iterCond->first);
1916 return "$("+name+
")";
static const std::string substParamMuonDefVals_
static const std::string vhdlTemplateAlgoAndOr_
std::string vhdlDir_
templates directory
std::string sp(const std::string &name)
converts string name to substiution parameter synthax; name –>
static const bool findAndReplaceString(std::string ¶mString, const std::string &searchString, const std::string &replaceString)
replaces searchString with replaceString at it's first occurance in string
std::string buildEtaCalo(const std::vector< L1GtCaloTemplate::ObjectParameter > *op, const unsigned int &num, const unsigned int &counter)
static const std::string substParamCaloDefVals_
const int nrObjects() const
get number of trigger objects
bool substitute(const std::string &searchString, const std::string &replaceString)
replaces searchString with replaceString
static const std::string stringConstantCharge2wsc_
const std::map< L1GtConditionType, std::string > getCond2StrMap()
const CorrelationParameter * correlationParameter() const
static const std::string quartusSetupFileChip2_
static const std::string stringConstantDefValId_
void writeQsfSetupFiles(const std::string &version)
builds the two quartus setup files. This routine is called in buildCommonHeader!
std::vector< L1GtObject > esumObjects_
list of all possible esums objects
bool save(const std::string &fileName)
saves the content of the template file to a local file (the content of parameterMap_ will not be save...
static const std::string stringConstantEsumsLow_
std::map< L1GtObject, std::string > caloType2Int_
converts L1GtObject to calo_nr
void writeDefValPkg(const std::vector< ConditionMap > &conditionMap, const int &chip)
writes def_val_pkg.vhd
std::map< L1GtConditionType, std::string > condType2Str_
converts L1GtConditionType to firmware string
static const std::string substParamJetsDefVals_
bool getCaloSetupContentFromTriggerMenu(const unsigned short int &condChip, std::map< std::string, std::string > &caloParameters, const L1GtObject &caloObject)
L1GtVhdlWriterBitManager bm_
bit manager for bit operations
std::string getDefValsFromTriggerMenu(const L1GtConditionType &type, const L1GtObject &object, const VmeRegister ®)
std::vector< std::string > getSubstitutionParametersFromTemplate() const
returns a vector with all substitution parameters that are found in the template file ...
std::string buildDeltaEtaCalo(const L1GtCaloTemplate::CorrelationParameter *&cp, const unsigned int &counter)
L1GtVhdlWriterCore(const std::string &templatesDirectory, const std::string &outputDirectory, const bool &debug)
constructor
static const std::string substParamDefValType_
std::vector< L1GtObject > caloObjects_
list of all possible calo objects
const std::vector< L1GtObject > & objectType() const
get / set the trigger object type(s) in the condition
static const std::string substParamJetCntsCommon_
std::string index4CondChipVhd(int intval)
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
static const std::string stringConstantCommon_
std::vector< std::vector< std::string > > numberOfConditions_
vector containing the initialization of all conditions
bool getIntVal(const std::map< std::string, int > &map, const std::string &searchValue, int &intVal)
checks weather value searchValue exists in a <string,int> map, saves it in &intVal if it exists and r...
static std::string int2str(const int &integerValue)
converts a integer into a string
bool returnConditionsOfOneClass(const L1GtConditionType &type, const L1GtConditionCategory &category, const L1GtObject &object, const ConditionMap &map, ConditionMap &outputMap)
bool getEsumsSetupContentFromTriggerMenu(const unsigned short int &condChip, const L1GtObject &object, std::string &energySumParameter)
contains only one subsitution parameter which is stored in reference energySumParameter ...
bool removeLineWithContent(const std::string &str)
removes all lines that contain the str
L1GtConditionCategory getCategoryFromObject(const L1GtObject &object)
gets condition category from object
static const std::string substParamAlgos_
static const std::string vhdlTemplateCondChipPkg2_
std::string buildDeltaPhiCalo(const L1GtCaloTemplate::CorrelationParameter *&cp, const unsigned int &counter)
const AlgorithmMap * algorithmMap_
algorithm map
static const std::string stringConstantCharge4s_
std::vector< std::string > getMsgBuf()
returns intern message buffer
static const std::string stringConstantAlgo_
void writeEtmSetup(std::string &etmString, const int &condChip)
builds etm setup files
~L1GtVhdlWriterCore() override
destructor
static const std::string stringConstantEsumsHigh_
bool makeFirmware(const std::vector< ConditionMap > &conditionMap, const AlgorithmMap &algorithmMap)
produces the firmware code
const std::vector< ObjectParameter > * objectParameter() const
std::string buildPhiCalo(const std::vector< L1GtCaloTemplate::ObjectParameter > *op, const unsigned int &num, const unsigned int &counter)
const std::vector< ObjectParameter > * objectParameter() const
static const std::string substParamType_
void writeCond2intMap2File()
produces a control output file for condition to integer conversion
bool getSubstParamCommonFromTriggerMenu(const unsigned short int &condChip, L1GtVhdlTemplateFile &particle, const L1GtObject &object, const L1GtConditionCategory &category, std::string ¶meterStr)
builds the parameters particle_common for the cond_chip.vhd's
void printCommonHeader()
prints the common header
static const std::string vhdlTemplateCaloSetup_
L1GtVhdlTemplateFile commonHeader_
common header for all files
const L1GtConditionType & condType() const
get / set the type of the condition (1s, etc)
void append(const std::string &str)
adds a line at the end of the the file with the content of str
static const std::string substParamDefValId_
const std::vector< ObjectParameter > * objectParameter() const
L1GtConditionCategory
condition categories
std::string buildDeltaPhiMuon(const L1GtMuonTemplate::CorrelationParameter *&cp, const unsigned int &counter)
void initializeDeltaConditions()
typedef for correlation parameters
std::string getInternalParameter(const std::string &indentifier)
returns a parameter of a internal template file
bool insert(const std::string &atLine, const std::vector< std::string > &content)
replaces the whole line containing atLine and inserts content instead of it
void writeCondChipPkg(const int &chip)
static const std::string vhdlTemplateEtmSetup_
static const std::string stringConstantCharge3s_
static const std::string vhdlTemplateMuonSetup_
L1GtVhdlTemplateFile retrunCommonHeader()
returns the common header
static const std::string vhdlTemplateCondChipPkg1_
void countCondsAndAdd2NumberVec(const L1GtConditionType &type, const L1GtConditionCategory &category, const L1GtObject &object, const ConditionMap &map, ConditionMap &outputMap, const int &condChip)
const std::vector< ConditionMap > * conditionMap_
condition map
std::string retNumberOfConditionsString(const std::string &typeStr, const int &number)
std::string gtTemplatesPath()
returns the templates path
std::string buildDeltaEtaMuon(const L1GtMuonTemplate::CorrelationParameter *&cp, const unsigned int &counter)
static const std::string quartusSetupFileChip1_
static const std::string outputSubDir1_
void getMuonSetupContentFromTriggerMenu(const unsigned short int &condChip, std::map< std::string, std::string > &muonParameters)
void msg(const std::string &message)
adds a string to intern message buffer
static const std::string stringConstantCalo_
std::vector< std::string > internMessageBuf_
static const std::string outputSubDir2_
std::string outputDir_
output directory
static const std::string stringConstantPth_
bool getCondChipVhdContentFromTriggerMenu(const unsigned short int &condChip, std::map< std::string, L1GtVhdlTemplateFile > &templates, std::map< std::string, std::string > &commonParams)
void writeConditionChipSetup(const std::map< std::string, L1GtVhdlTemplateFile > &templates, const std::map< std::string, std::string > &common, const unsigned short int &chip)
builds cond_chip.vhds
static const std::string substParamContent_
static const std::string substParamParticle_
std::map< std::string, int > getCond2IntMap()
const CorrelationParameter * correlationParameter() const
std::string chip2OutputSubDir(const int &chip)
std::string buildDefValString(const int &conditionIndex, const std::vector< int > &values)
static const std::string stringConstantPtl_
static const std::string substParamOthers_
static const std::string vhdlTemplateDefValPkg_
static std::atomic< unsigned int > counter
void addJetCountsToCond2IntMap(const int chip, const std::vector< ConditionMap > &conditionMap, std::map< std::string, int > &conditionToIntegerMap)
static const std::string substParamCaloOrMuon_
L1GtVhdlTemplateFile openVhdlFileWithCommonHeader(const std::string &filename, const std::string &outputFilename)
opens a new template file and inserts the common header
void writeMuonSetupVhdl(std::map< std::string, std::string > &muonParameters, const std::string &particle, unsigned short int &condChip)
builds muon setup files
std::string buildPhiEnergySum(const std::vector< L1GtEnergySumTemplate::ObjectParameter > *op, const unsigned int &num, const unsigned int &counter)
std::map< std::string, int > conditionToIntegerMap_
stores to condition name to integer conversion table
static const std::string stringConstantQuality_
static const std::string substParamMaxNr_
std::string buildEtaMuon(const std::vector< L1GtMuonTemplate::ObjectParameter > *op, const unsigned int &num, const unsigned int &counter)
void printConditionsOfCategory(const L1GtConditionCategory &category, const ConditionMap &map)
for debuggin
bool findObjectType(const L1GtObject &object, ConditionMap &map)
std::string buildPhiMuon(const std::vector< L1GtMuonTemplate::ObjectParameter > *op, const unsigned int &num, const unsigned int &counter, bool high)
static const std::string stringConstantCharge1s_
const std::vector< ObjectParameter > * objectParameter() const
const std::map< L1GtObject, std::string > getObj2StrMap()
void buildCommonHeader(std::map< std::string, std::string > &headerParameters, const std::vector< std::string > &connectedChannels)
builds the common header for all files
void writeAlgoSetup(std::vector< std::map< int, std::string > > &algoStrings)
builds the prealgo_and_or setup
static const std::string substParamCharge_
static const std::string stringConstantConstantNr_
bool processAlgorithmMap(std::vector< std::map< int, std::string > > &algoStrings)
bool removeEmptyLines()
deletes all empty lines in a template file
std::map< L1GtObject, std::string > objType2Str_
converts L1GtObject to string
static const std::string vhdlTemplateCondChip_
bool buildDefValuesBuffer(L1GtVhdlTemplateFile &buffer, const std::map< L1GtConditionType, std::string > &typeList, const std::vector< std::string > &defValuesList, const L1GtObject &object)
bool open(const std::string &fileName, bool internal=false)
opens a template file. If the header information shall be parsed intern has to be set to true ...
bool debugMode_
class will produce some additional debugging output if set
static const std::string stringConstantCharge2s_
std::map< std::string, std::string > returnParameterMap() const
returns parameter map
void getConditionsFromAlgo(std::string condString, std::vector< std::string > &result) const
extracts all conditions from a algorithm
void print() const
prints the content of the VHDL File (only lines_)
static const std::string substParamEsumsDefVals_
const std::map< L1GtObject, std::string > getCalo2IntMap()