|
|
Go to the documentation of this file.
17 if (
pnodes_[nodeIdx].uparams_.size() != 4) {
21 for (
size_t i = 0;
i < 28; ++
i) {
41 if (
pnodes_[nodeIdx].uparams_.size() == 4) {
44 return std::bitset<28>();
49 if (
pnodes_[nodeIdx].uparams_.size() == 4) {
50 return std::bitset<12>(
pnodes_[nodeIdx].uparams_[tfIdx]);
52 return std::bitset<12>();
57 const size_t &startIdx,
58 const int &tfIdx)
const {
60 if (
pnodes_[nodeIdx].uparams_.size() == 4) {
61 for (
size_t i = 0;
i < 6; ++
i) {
74 pnodes_[nodeIdx].uparams_.resize(4);
75 for (
size_t i = 0;
i < 28; ++
i) {
90 pnodes_[nodeIdx].uparams_.resize(4);
91 for (
size_t i = 0;
i < 28; ++
i) {
98 const std::bitset<12> &inputFlags) {
99 pnodes_[nodeIdx].uparams_.resize(4);
100 for (
size_t i = 0;
i < 12; ++
i) {
106 const size_t &startIdx,
108 const std::bitset<6> &inputFlags) {
109 pnodes_[nodeIdx].uparams_.resize(4);
110 for (
size_t i = 0;
i < 6; ++
i) {
118 if (procId.empty()) {
120 if (procRoleMap.size() != 1) {
121 if (procRoleMap.empty()) {
122 edm::LogError(
"uGMT config from online") <<
"No processor id found for uGMT HW configuration.";
124 edm::LogError(
"uGMT config from online") <<
"More than one processor id found for uGMT HW configuration.";
127 procId = procRoleMap.cbegin()->first;
132 std::map<std::string, l1t::Parameter> settings = trgSys.
getParameters(procId.c_str());
143 if (settings.count(
"algoRev") > 0) {
144 fwVersion = settings[
"algoRev"].getValue<
unsigned int>();
148 std::stringstream
ss;
150 bool disableCaloInputs = settings[
"caloInputsDisable"].getValue<
bool>();
151 std::string bmtfInputsToDisableStr = settings[
"bmtfInputsToDisable"].getValueAsStr();
152 std::string omtfInputsToDisableStr = settings[
"omtfInputsToDisable"].getValueAsStr();
153 std::string emtfInputsToDisableStr = settings[
"emtfInputsToDisable"].getValueAsStr();
158 for (
unsigned i = 0;
i < 12; ++
i) {
160 ss <<
"BMTF" <<
i + 1;
161 if (bmtfInputsToDisableStr.find(
ss.str()) != std::string::npos) {
171 if (omtfInputsToDisableStr.find(
ss.str()) != std::string::npos) {
181 if (emtfInputsToDisableStr.find(
ss.str()) != std::string::npos) {
187 if (disableCaloInputs) {
193 std::bitset<12> bmtfDisables;
199 std::bitset<6> omtfpDisables;
200 std::bitset<6> omtfnDisables;
211 std::bitset<6> emtfpDisables;
212 std::bitset<6> emtfnDisables;
228 ss << std::setfill(
'0');
230 for (
unsigned i = 0;
i < 28; ++
i) {
232 ss <<
"inputPorts.CaloL2_" << std::setw(2) <<
i + 1;
234 if (!trgSys.
isMasked(procId.c_str(),
ss.str().c_str())) {
239 ss <<
"inputPorts.BMTF_" << std::setw(2) <<
i + 1;
240 if (trgSys.
isMasked(procId.c_str(),
ss.str().c_str())) {
244 ss <<
"inputPorts.OMTF";
246 ss <<
"+_" << std::setw(2) <<
i + 1;
248 ss <<
"-_" << std::setw(2) <<
i - 5;
250 if (trgSys.
isMasked(procId.c_str(),
ss.str().c_str())) {
254 ss <<
"inputPorts.EMTF";
256 ss <<
"+_" << std::setw(2) <<
i + 1;
258 ss <<
"-_" << std::setw(2) <<
i - 5;
260 if (trgSys.
isMasked(procId.c_str(),
ss.str().c_str())) {
265 ss << std::setfill(
' ');
274 std::bitset<12> bmtfMasked;
280 std::bitset<6> omtfpMasked;
281 std::bitset<6> omtfnMasked;
292 std::bitset<6> emtfpMasked;
293 std::bitset<6> emtfnMasked;
390 out <<
"L1 MicroGMT Parameters" << std::endl;
392 out <<
"Firmware version: " << this->
fwVersion() << std::endl;
395 out <<
" EMTF-|OMTF-| BMTF |OMTF+|EMTF+| CALO | res 0" << std::endl;
398 out <<
" EMTF-|OMTF-| BMTF |OMTF+|EMTF+| CALO | res 0" << std::endl;
400 out <<
"LUT paths (LUTs are generated analytically if path is empty)" << std::endl;
434 <<
", pT and quality factors (Used when LUT path empty): pT factor: " << this->
sortRankLUTPtFactor()
void setInputFlags(const int &nodeIdx, const std::bitset< 72 > &flags)
double fwdNegSingleMatchQualLUTMaxDR() const
void print(std::ostream &) const
void setMaskedEmtfnInputs(const std::bitset< 6 > &masked)
double bONegMatchQualLUTfEtaCoarse() const
void setFwVersion(unsigned fwVersion)
void setBPhiExtrapolationLUT(const l1t::LUT &lut)
void setAbsIsoCheckMemLUT(const l1t::LUT &lut)
std::bitset< 72 > inputFlags(const int &nodeIdx) const
void setOvlNegSingleMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi)
std::bitset< 12 > tfInputFlags(const int &nodeIdx, const int &tfIdx) const
void setBONegMatchQualLUT(const l1t::LUT &lut)
double bOPosMatchQualLUTMaxDR() const
void setOmtfpInputsToDisable(const std::bitset< 6 > &disables)
std::string oEtaExtrapolationLUTPath() const
void setFOPosMatchQualLUT(const l1t::LUT &lut)
void setCaloInputsToDisable(const std::bitset< 28 > &disables)
double bOPosMatchQualLUTfEta() const
std::string bONegMatchQualLUTPath() const
void setTfInputFlags(const int &nodeIdx, const int &tfIdx, const std::bitset< 12 > &flags)
void loadFromOnline(l1t::TriggerSystem &trgSys, const std::string &processorId="")
std::bitset< 72 > inputsToDisable() const
std::string fONegMatchQualLUTPath() const
void setFwdNegSingleMatchQualLUTMaxDR(double maxDR, double fEta, double fPhi)
std::string idxSelMemEtaLUTPath() const
std::string bOPosMatchQualLUTPath() const
void setOvlPosSingleMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi)
void setFONegMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi)
std::bitset< 12 > maskedOmtfInputs() const
void setBEtaExtrapolationLUT(const l1t::LUT &lut)
void setRelIsoCheckMemLUT(const l1t::LUT &lut)
std::string bPhiExtrapolationLUTPath() const
std::bitset< 6 > eomtfInputFlags(const int &nodeIdx, const size_t &startIdx, const int &tfIdx) const
std::bitset< 72 > maskedInputs() const
l1t::LUT convertToLUT(const std::vector< uint64_t > &v, int padding=-1) noexcept
double bONegMatchQualLUTfPhi() const
void setEOmtfInputFlags(const int &nodeIdx, const size_t &startIdx, const int &tfIdx, const std::bitset< 6 > &flags)
const std::map< std::string, std::string > & getProcToRoleAssignment(void) const noexcept
void setEmtfpInputsToDisable(const std::bitset< 6 > &disables)
std::bitset< 28 > caloInputFlags(const int &nodeIdx) const
std::bitset< 12 > emtfInputsToDisable() const
void setFONegMatchQualLUT(const l1t::LUT &lut)
std::string ovlPosSingleMatchQualLUTPath() const
void setFwdPosSingleMatchQualLUTMaxDR(double maxDR, double fEta, double fPhi)
void setMaskedBmtfInputs(const std::bitset< 12 > &masked)
L1TMuonGlobalParamsHelper()
void setIdxSelMemPhiLUT(const l1t::LUT &lut)
void setMaskedEmtfpInputs(const std::bitset< 6 > &masked)
unsigned sortRankLUTQualFactor() const
bool isMasked(const char *proccessor, const char *id) const
double bONegMatchQualLUTfEta() const
void setMaskedOmtfpInputs(const std::bitset< 6 > &masked)
void setFEtaExtrapolationLUT(const l1t::LUT &lut)
void setBONegMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi)
double fwdPosSingleMatchQualLUTMaxDR() const
void setBOPosMatchQualLUT(const l1t::LUT &lut)
std::string absIsoCheckMemLUTPath() const
void setFPhiExtrapolationLUT(const l1t::LUT &lut)
double bONegMatchQualLUTMaxDR() const
void setEmtfnInputsToDisable(const std::bitset< 6 > &disables)
std::string relIsoCheckMemLUTPath() const
void setIdxSelMemEtaLUT(const l1t::LUT &lut)
void setFwdNegSingleMatchQualLUT(const l1t::LUT &lut)
void setMaskedOmtfnInputs(const std::bitset< 6 > &masked)
std::string oPhiExtrapolationLUTPath() const
unsigned fwVersion() const
std::bitset< 12 > bmtfInputsToDisable() const
Log< level::Error, false > LogError
void setSortRankLUT(const l1t::LUT &lut)
std::string sortRankLUTPath() const
std::string fOPosMatchQualLUTPath() const
std::string fwdNegSingleMatchQualLUTPath() const
std::bitset< 12 > omtfInputsToDisable() const
std::bitset< 12 > maskedEmtfInputs() const
std::string ovlNegSingleMatchQualLUTPath() const
double ovlNegSingleMatchQualLUTMaxDR() const
const std::map< std::string, Parameter > & getParameters(const char *processor) const
double bOPosMatchQualLUTfEtaCoarse() const
std::string fEtaExtrapolationLUTPath() const
void setFwdPosSingleMatchQualLUT(const l1t::LUT &lut)
void setOPhiExtrapolationLUT(const l1t::LUT &lut)
unsigned sortRankLUTPtFactor() const
void setOvlNegSingleMatchQualLUT(const l1t::LUT &lut)
std::vector< Node > pnodes_
double fOPosMatchQualLUTMaxDR() const
std::string fwdPosSingleMatchQualLUTPath() const
void setOvlPosSingleMatchQualLUT(const l1t::LUT &lut)
std::string idxSelMemPhiLUTPath() const
void setFOPosMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi)
const L1TMuonGlobalParams_PUBLIC & cast_to_L1TMuonGlobalParams_PUBLIC(const L1TMuonGlobalParams &x)
std::string bEtaExtrapolationLUTPath() const
std::string fPhiExtrapolationLUTPath() const
void setMaskedCaloInputs(const std::bitset< 28 > &masked)
void setOmtfnInputsToDisable(const std::bitset< 6 > &disables)
void setOEtaExtrapolationLUT(const l1t::LUT &lut)
void setCaloInputFlags(const int &nodeIdx, const std::bitset< 28 > &flags)
void setBmtfInputsToDisable(const std::bitset< 12 > &disables)
void setBOPosMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi)
std::bitset< 12 > maskedBmtfInputs() const
double ovlPosSingleMatchQualLUTMaxDR() const
double fONegMatchQualLUTMaxDR() const