CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
L1TMuonGlobalParamsHelper.cc
Go to the documentation of this file.
1 #include <iomanip>
2 #include <strstream>
3 
7 
10  if (pnodes_.size() != NUM_GMTPARAMNODES) {
11  pnodes_.resize(NUM_GMTPARAMNODES);
12  }
13 }
14 
15 std::bitset<72> L1TMuonGlobalParamsHelper::inputFlags(const int &nodeIdx) const {
16  std::bitset<72> inputFlags;
17  if (pnodes_[nodeIdx].uparams_.size() != 4) {
18  return inputFlags;
19  }
20 
21  for (size_t i = 0; i < 28; ++i) {
22  inputFlags[CALOLINK1 + i] = ((pnodes_[nodeIdx].uparams_[CALOINPUTS] >> i) & 0x1);
23  if (i < CALOLINK1) {
24  // disable unused inputs
25  inputFlags[i] = true;
26  }
27  if (i < 12) {
28  inputFlags[BMTFLINK1 + i] = ((pnodes_[nodeIdx].uparams_[BMTFINPUTS] >> i) & 0x1);
29  if (i < 6) {
30  inputFlags[EMTFPLINK1 + i] = ((pnodes_[nodeIdx].uparams_[EMTFINPUTS] >> i) & 0x1);
31  inputFlags[OMTFPLINK1 + i] = ((pnodes_[nodeIdx].uparams_[OMTFINPUTS] >> i) & 0x1);
32  inputFlags[OMTFNLINK1 + i] = ((pnodes_[nodeIdx].uparams_[OMTFINPUTS] >> (i + 6)) & 0x1);
33  inputFlags[EMTFNLINK1 + i] = ((pnodes_[nodeIdx].uparams_[EMTFINPUTS] >> (i + 6)) & 0x1);
34  }
35  }
36  }
37  return inputFlags;
38 }
39 
40 std::bitset<28> L1TMuonGlobalParamsHelper::caloInputFlags(const int &nodeIdx) const {
41  if (pnodes_[nodeIdx].uparams_.size() == 4) {
42  return std::bitset<28>(pnodes_[nodeIdx].uparams_[CALOINPUTS]);
43  } else {
44  return std::bitset<28>();
45  }
46 }
47 
48 std::bitset<12> L1TMuonGlobalParamsHelper::tfInputFlags(const int &nodeIdx, const int &tfIdx) const {
49  if (pnodes_[nodeIdx].uparams_.size() == 4) {
50  return std::bitset<12>(pnodes_[nodeIdx].uparams_[tfIdx]);
51  } else {
52  return std::bitset<12>();
53  }
54 }
55 
56 std::bitset<6> L1TMuonGlobalParamsHelper::eomtfInputFlags(const int &nodeIdx,
57  const size_t &startIdx,
58  const int &tfIdx) const {
59  std::bitset<6> inputFlags;
60  if (pnodes_[nodeIdx].uparams_.size() == 4) {
61  for (size_t i = 0; i < 6; ++i) {
62  inputFlags[i] = ((pnodes_[nodeIdx].uparams_[tfIdx] >> (i + startIdx)) & 0x1);
63  }
64  }
65  return inputFlags;
66 }
67 
69  pnodes_[FWVERSION].uparams_.resize(1);
71 }
72 
73 void L1TMuonGlobalParamsHelper::setInputFlags(const int &nodeIdx, const std::bitset<72> &inputFlags) {
74  pnodes_[nodeIdx].uparams_.resize(4);
75  for (size_t i = 0; i < 28; ++i) {
76  pnodes_[nodeIdx].uparams_[CALOINPUTS] += (inputFlags.test(CALOLINK1 + i) << i);
77  if (i < 12) {
78  pnodes_[nodeIdx].uparams_[BMTFINPUTS] += (inputFlags.test(BMTFLINK1 + i) << i);
79  if (i < 6) {
80  pnodes_[nodeIdx].uparams_[OMTFINPUTS] += (inputFlags.test(OMTFPLINK1 + i) << i);
81  pnodes_[nodeIdx].uparams_[OMTFINPUTS] += (inputFlags.test(OMTFNLINK1 + i) << (i + 6));
82  pnodes_[nodeIdx].uparams_[EMTFINPUTS] += (inputFlags.test(EMTFPLINK1 + i) << i);
83  pnodes_[nodeIdx].uparams_[EMTFINPUTS] += (inputFlags.test(EMTFNLINK1 + i) << (i + 6));
84  }
85  }
86  }
87 }
88 
89 void L1TMuonGlobalParamsHelper::setCaloInputFlags(const int &nodeIdx, const std::bitset<28> &inputFlags) {
90  pnodes_[nodeIdx].uparams_.resize(4);
91  for (size_t i = 0; i < 28; ++i) {
92  pnodes_[nodeIdx].uparams_[CALOINPUTS] += (inputFlags.test(i) << i);
93  }
94 }
95 
97  const int &tfIdx,
98  const std::bitset<12> &inputFlags) {
99  pnodes_[nodeIdx].uparams_.resize(4);
100  for (size_t i = 0; i < 12; ++i) {
101  pnodes_[nodeIdx].uparams_[tfIdx] += (inputFlags.test(i) << i);
102  }
103 }
104 
106  const size_t &startIdx,
107  const int &tfIdx,
108  const std::bitset<6> &inputFlags) {
109  pnodes_[nodeIdx].uparams_.resize(4);
110  for (size_t i = 0; i < 6; ++i) {
111  pnodes_[nodeIdx].uparams_[tfIdx] += (inputFlags.test(i) << (i + startIdx));
112  }
113 }
114 
116  std::string procId = processorId;
117  // if the procId is an empty string use the one from the TrigSystem (the uGMT only has one processor)
118  if (procId.empty()) {
119  const std::map<std::string, std::string> &procRoleMap = trgSys.getProcToRoleAssignment();
120  if (procRoleMap.size() != 1) {
121  if (procRoleMap.empty()) {
122  edm::LogError("uGMT config from online") << "No processor id found for uGMT HW configuration.";
123  } else {
124  edm::LogError("uGMT config from online") << "More than one processor id found for uGMT HW configuration.";
125  }
126  } else {
127  procId = procRoleMap.cbegin()->first;
128  }
129  }
130 
131  // get the settings and masks for the processor id
132  std::map<std::string, l1t::Parameter> settings = trgSys.getParameters(procId.c_str());
133  //std::map<std::string, l1t::Mask> masks = trgSys.getMasks(procId.c_str());
134  //for (auto& it: settings) {
135  // std::cout << "Key: " << it.first << ", procRole: " << it.second.getProcRole() << ", type: " << it.second.getType() << ", id: " << it.second.getId() << ", value as string: [" << it.second.getValueAsStr() << "]" << std::endl;
136  //}
137  //for (auto& it: masks) {
138  // std::cout << "Key: " << it.first << ", procRole: " << it.second.getProcRole() << ", id: " << it.second.getId() << std::endl;
139  //}
140 
141  // Use FW version from online config if it is found there. Otherwise set it to 1
142  unsigned fwVersion = 1;
143  if (settings.count("algoRev") > 0) {
144  fwVersion = settings["algoRev"].getValue<unsigned int>();
145  }
146  setFwVersion(fwVersion);
147 
148  std::stringstream ss;
149  // uGMT disabled inputs
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();
154  std::vector<unsigned> bmtfInputsToDisable(12, 0);
155  std::vector<unsigned> omtfInputsToDisable(12, 0);
156  std::vector<unsigned> emtfInputsToDisable(12, 0);
157  // translate the bool and the strings to the vectors
158  for (unsigned i = 0; i < 12; ++i) {
159  ss.str("");
160  ss << "BMTF" << i + 1;
161  if (bmtfInputsToDisableStr.find(ss.str()) != std::string::npos) {
162  bmtfInputsToDisable[i] = 1;
163  }
164  ss.str("");
165  ss << "OMTF";
166  if (i < 6) {
167  ss << "p" << i + 1;
168  } else {
169  ss << "n" << i - 5;
170  }
171  if (omtfInputsToDisableStr.find(ss.str()) != std::string::npos) {
172  omtfInputsToDisable[i] = 1;
173  }
174  ss.str("");
175  ss << "EMTF";
176  if (i < 6) {
177  ss << "p" << i + 1;
178  } else {
179  ss << "n" << i - 5;
180  }
181  if (emtfInputsToDisableStr.find(ss.str()) != std::string::npos) {
182  emtfInputsToDisable[i] = 1;
183  }
184  }
185 
186  // set the condFormats parameters for uGMT disabled inputs
187  if (disableCaloInputs) {
188  setCaloInputsToDisable(std::bitset<28>(0xFFFFFFF));
189  } else {
190  setCaloInputsToDisable(std::bitset<28>());
191  }
192 
193  std::bitset<12> bmtfDisables;
194  for (size_t i = 0; i < bmtfInputsToDisable.size(); ++i) {
195  bmtfDisables.set(i, bmtfInputsToDisable[i] > 0);
196  }
197  setBmtfInputsToDisable(bmtfDisables);
198 
199  std::bitset<6> omtfpDisables;
200  std::bitset<6> omtfnDisables;
201  for (size_t i = 0; i < omtfInputsToDisable.size(); ++i) {
202  if (i < 6) {
203  omtfpDisables.set(i, omtfInputsToDisable[i] > 0);
204  } else {
205  omtfnDisables.set(i - 6, omtfInputsToDisable[i] > 0);
206  }
207  }
208  setOmtfpInputsToDisable(omtfpDisables);
209  setOmtfnInputsToDisable(omtfnDisables);
210 
211  std::bitset<6> emtfpDisables;
212  std::bitset<6> emtfnDisables;
213  for (size_t i = 0; i < emtfInputsToDisable.size(); ++i) {
214  if (i < 6) {
215  emtfpDisables.set(i, emtfInputsToDisable[i] > 0);
216  } else {
217  emtfnDisables.set(i - 6, emtfInputsToDisable[i] > 0);
218  }
219  }
220  setEmtfpInputsToDisable(emtfpDisables);
221  setEmtfnInputsToDisable(emtfnDisables);
222 
223  // uGMT masked inputs
224  bool caloInputsMasked = true;
225  std::vector<unsigned> maskedBmtfInputs(12, 0);
226  std::vector<unsigned> maskedOmtfInputs(12, 0);
227  std::vector<unsigned> maskedEmtfInputs(12, 0);
228  ss << std::setfill('0');
229  // translate the bool and the strings to the vectors
230  for (unsigned i = 0; i < 28; ++i) {
231  ss.str("");
232  ss << "inputPorts.CaloL2_" << std::setw(2) << i + 1;
233  // for now set as unmasked if one input is not masked
234  if (!trgSys.isMasked(procId.c_str(), ss.str().c_str())) {
235  caloInputsMasked = false;
236  }
237  if (i < 12) {
238  ss.str("");
239  ss << "inputPorts.BMTF_" << std::setw(2) << i + 1;
240  if (trgSys.isMasked(procId.c_str(), ss.str().c_str())) {
241  maskedBmtfInputs[i] = 1;
242  }
243  ss.str("");
244  ss << "inputPorts.OMTF";
245  if (i < 6) {
246  ss << "+_" << std::setw(2) << i + 1;
247  } else {
248  ss << "-_" << std::setw(2) << i - 5;
249  }
250  if (trgSys.isMasked(procId.c_str(), ss.str().c_str())) {
251  maskedOmtfInputs[i] = 1;
252  }
253  ss.str("");
254  ss << "inputPorts.EMTF";
255  if (i < 6) {
256  ss << "+_" << std::setw(2) << i + 1;
257  } else {
258  ss << "-_" << std::setw(2) << i - 5;
259  }
260  if (trgSys.isMasked(procId.c_str(), ss.str().c_str())) {
261  maskedEmtfInputs[i] = 1;
262  }
263  }
264  }
265  ss << std::setfill(' ');
266 
267  // set the condFormats parameters for uGMT masked inputs
268  if (caloInputsMasked) {
269  setMaskedCaloInputs(std::bitset<28>(0xFFFFFFF));
270  } else {
271  setMaskedCaloInputs(std::bitset<28>());
272  }
273 
274  std::bitset<12> bmtfMasked;
275  for (size_t i = 0; i < maskedBmtfInputs.size(); ++i) {
276  bmtfMasked.set(i, maskedBmtfInputs[i] > 0);
277  }
278  setMaskedBmtfInputs(bmtfMasked);
279 
280  std::bitset<6> omtfpMasked;
281  std::bitset<6> omtfnMasked;
282  for (size_t i = 0; i < maskedOmtfInputs.size(); ++i) {
283  if (i < 6) {
284  omtfpMasked.set(i, maskedOmtfInputs[i] > 0);
285  } else {
286  omtfnMasked.set(i - 6, maskedOmtfInputs[i] > 0);
287  }
288  }
289  setMaskedOmtfpInputs(omtfpMasked);
290  setMaskedOmtfnInputs(omtfnMasked);
291 
292  std::bitset<6> emtfpMasked;
293  std::bitset<6> emtfnMasked;
294  for (size_t i = 0; i < maskedEmtfInputs.size(); ++i) {
295  if (i < 6) {
296  emtfpMasked.set(i, maskedEmtfInputs[i] > 0);
297  } else {
298  emtfnMasked.set(i - 6, maskedEmtfInputs[i] > 0);
299  }
300  }
301  setMaskedEmtfpInputs(emtfpMasked);
302  setMaskedEmtfnInputs(emtfnMasked);
303 
304  // LUTs from settings with with automatic detection of address width and 31 bit output width
305  setAbsIsoCheckMemLUT(l1t::convertToLUT(settings["AbsIsoCheckMem"].getVector<unsigned int>()));
306  setRelIsoCheckMemLUT(l1t::convertToLUT(settings["RelIsoCheckMem"].getVector<unsigned int>()));
307  setIdxSelMemPhiLUT(l1t::convertToLUT(settings["IdxSelMemPhi"].getVector<unsigned int>()));
308  setIdxSelMemEtaLUT(l1t::convertToLUT(settings["IdxSelMemEta"].getVector<unsigned int>()));
309  setFwdPosSingleMatchQualLUT(l1t::convertToLUT(settings["EmtfPosSingleMatchQual"].getVector<unsigned int>()));
310  setFwdNegSingleMatchQualLUT(l1t::convertToLUT(settings["EmtfNegSingleMatchQual"].getVector<unsigned int>()));
311  setOvlPosSingleMatchQualLUT(l1t::convertToLUT(settings["OmtfPosSingleMatchQual"].getVector<unsigned int>()));
312  setOvlNegSingleMatchQualLUT(l1t::convertToLUT(settings["OmtfNegSingleMatchQual"].getVector<unsigned int>()));
313  setBOPosMatchQualLUT(l1t::convertToLUT(settings["BOPosMatchQual"].getVector<unsigned int>()));
314  setBONegMatchQualLUT(l1t::convertToLUT(settings["BONegMatchQual"].getVector<unsigned int>()));
315  setFOPosMatchQualLUT(l1t::convertToLUT(settings["EOPosMatchQual"].getVector<unsigned int>()));
316  setFONegMatchQualLUT(l1t::convertToLUT(settings["EONegMatchQual"].getVector<unsigned int>()));
317  setBPhiExtrapolationLUT(l1t::convertToLUT(settings["BPhiExtrapolation"].getVector<unsigned int>()));
318  setOPhiExtrapolationLUT(l1t::convertToLUT(settings["OPhiExtrapolation"].getVector<unsigned int>()));
319  setFPhiExtrapolationLUT(l1t::convertToLUT(settings["EPhiExtrapolation"].getVector<unsigned int>()));
320  setBEtaExtrapolationLUT(l1t::convertToLUT(settings["BEtaExtrapolation"].getVector<unsigned int>()));
321  setOEtaExtrapolationLUT(l1t::convertToLUT(settings["OEtaExtrapolation"].getVector<unsigned int>()));
322  setFEtaExtrapolationLUT(l1t::convertToLUT(settings["EEtaExtrapolation"].getVector<unsigned int>()));
323  setSortRankLUT(l1t::convertToLUT(settings["SortRank"].getVector<unsigned int>()));
324 }
325 
326 // setters for cancel out LUT parameters
327 void L1TMuonGlobalParamsHelper::setFwdPosSingleMatchQualLUTMaxDR(double maxDR, double fEta, double fPhi) {
328  pnodes_[fwdPosSingleMatchQual].dparams_.push_back(maxDR);
329  pnodes_[fwdPosSingleMatchQual].dparams_.push_back(fEta);
330  pnodes_[fwdPosSingleMatchQual].dparams_.push_back(fEta);
331  pnodes_[fwdPosSingleMatchQual].dparams_.push_back(fPhi);
332 }
333 
334 void L1TMuonGlobalParamsHelper::setFwdNegSingleMatchQualLUTMaxDR(double maxDR, double fEta, double fPhi) {
335  pnodes_[fwdNegSingleMatchQual].dparams_.push_back(maxDR);
336  pnodes_[fwdNegSingleMatchQual].dparams_.push_back(fEta);
337  pnodes_[fwdNegSingleMatchQual].dparams_.push_back(fEta);
338  pnodes_[fwdNegSingleMatchQual].dparams_.push_back(fPhi);
339 }
340 
342  double fEta,
343  double fEtaCoarse,
344  double fPhi) {
345  pnodes_[ovlPosSingleMatchQual].dparams_.push_back(maxDR);
346  pnodes_[ovlPosSingleMatchQual].dparams_.push_back(fEta);
347  pnodes_[ovlPosSingleMatchQual].dparams_.push_back(fEtaCoarse);
348  pnodes_[ovlPosSingleMatchQual].dparams_.push_back(fPhi);
349 }
350 
352  double fEta,
353  double fEtaCoarse,
354  double fPhi) {
355  pnodes_[ovlNegSingleMatchQual].dparams_.push_back(maxDR);
356  pnodes_[ovlNegSingleMatchQual].dparams_.push_back(fEta);
357  pnodes_[ovlNegSingleMatchQual].dparams_.push_back(fEtaCoarse);
358  pnodes_[ovlNegSingleMatchQual].dparams_.push_back(fPhi);
359 }
360 
361 void L1TMuonGlobalParamsHelper::setBOPosMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi) {
362  pnodes_[bOPosMatchQual].dparams_.push_back(maxDR);
363  pnodes_[bOPosMatchQual].dparams_.push_back(fEta);
364  pnodes_[bOPosMatchQual].dparams_.push_back(fEtaCoarse);
365  pnodes_[bOPosMatchQual].dparams_.push_back(fPhi);
366 }
367 
368 void L1TMuonGlobalParamsHelper::setBONegMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi) {
369  pnodes_[bONegMatchQual].dparams_.push_back(maxDR);
370  pnodes_[bONegMatchQual].dparams_.push_back(fEta);
371  pnodes_[bONegMatchQual].dparams_.push_back(fEtaCoarse);
372  pnodes_[bONegMatchQual].dparams_.push_back(fPhi);
373 }
374 
375 void L1TMuonGlobalParamsHelper::setFOPosMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi) {
376  pnodes_[fOPosMatchQual].dparams_.push_back(maxDR);
377  pnodes_[fOPosMatchQual].dparams_.push_back(fEta);
378  pnodes_[fOPosMatchQual].dparams_.push_back(fEtaCoarse);
379  pnodes_[fOPosMatchQual].dparams_.push_back(fPhi);
380 }
381 
382 void L1TMuonGlobalParamsHelper::setFONegMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi) {
383  pnodes_[fONegMatchQual].dparams_.push_back(maxDR);
384  pnodes_[fONegMatchQual].dparams_.push_back(fEta);
385  pnodes_[fONegMatchQual].dparams_.push_back(fEtaCoarse);
386  pnodes_[fONegMatchQual].dparams_.push_back(fPhi);
387 }
388 
389 void L1TMuonGlobalParamsHelper::print(std::ostream &out) const {
390  out << "L1 MicroGMT Parameters" << std::endl;
391 
392  out << "Firmware version: " << this->fwVersion() << std::endl;
393 
394  out << "InputsToDisable: " << this->inputsToDisable() << std::endl;
395  out << " EMTF-|OMTF-| BMTF |OMTF+|EMTF+| CALO | res 0" << std::endl;
396 
397  out << "Masked Inputs: " << this->maskedInputs() << std::endl;
398  out << " EMTF-|OMTF-| BMTF |OMTF+|EMTF+| CALO | res 0" << std::endl;
399 
400  out << "LUT paths (LUTs are generated analytically if path is empty)" << std::endl;
401  out << " Abs isolation checkMem LUT path: " << this->absIsoCheckMemLUTPath() << std::endl;
402  out << " Rel isolation checkMem LUT path: " << this->relIsoCheckMemLUTPath() << std::endl;
403  out << " Index selMem phi LUT path: " << this->idxSelMemPhiLUTPath() << std::endl;
404  out << " Index selMem eta LUT path: " << this->idxSelMemEtaLUTPath() << std::endl;
405  out << " Forward pos MatchQual LUT path: " << this->fwdPosSingleMatchQualLUTPath()
406  << ", max dR (Used when LUT path empty): " << this->fwdPosSingleMatchQualLUTMaxDR() << std::endl;
407  out << " Forward neg MatchQual LUT path: " << this->fwdNegSingleMatchQualLUTPath()
408  << ", max dR (Used when LUT path empty): " << this->fwdNegSingleMatchQualLUTMaxDR() << std::endl;
409  out << " Overlap pos MatchQual LUT path: " << this->ovlPosSingleMatchQualLUTPath()
410  << ", max dR (Used when LUT path empty): " << this->ovlPosSingleMatchQualLUTMaxDR() << std::endl;
411  out << " Overlap neg MatchQual LUT path: " << this->ovlNegSingleMatchQualLUTPath()
412  << ", max dR (Used when LUT path empty): " << this->ovlNegSingleMatchQualLUTMaxDR() << std::endl;
413  out << " Barrel-Overlap pos MatchQual LUT path: " << this->bOPosMatchQualLUTPath()
414  << ", max dR (Used when LUT path empty): " << this->bOPosMatchQualLUTMaxDR()
415  << ", fEta: " << this->bOPosMatchQualLUTfEta()
416  << ", fEta when eta-fine bit isn't set: " << this->bOPosMatchQualLUTfEtaCoarse()
417  << ", fPhi: " << this->bOPosMatchQualLUTfEta() << std::endl;
418  out << " Barrel-Overlap neg MatchQual LUT path: " << this->bONegMatchQualLUTPath()
419  << ", max dR (Used when LUT path empty): " << this->bONegMatchQualLUTMaxDR()
420  << ", fEta: " << this->bONegMatchQualLUTfEta()
421  << ", fEta when eta-fine bit isn't set: " << this->bONegMatchQualLUTfEtaCoarse()
422  << ", fPhi: " << this->bONegMatchQualLUTfPhi() << std::endl;
423  out << " Forward-Overlap pos MatchQual LUT path: " << this->fOPosMatchQualLUTPath()
424  << ", max dR (Used when LUT path empty): " << this->fOPosMatchQualLUTMaxDR() << std::endl;
425  out << " Forward-Overlap neg MatchQual LUT path: " << this->fONegMatchQualLUTPath()
426  << ", max dR (Used when LUT path empty): " << this->fONegMatchQualLUTMaxDR() << std::endl;
427  out << " Barrel phi extrapolation LUT path: " << this->bPhiExtrapolationLUTPath() << std::endl;
428  out << " Overlap phi extrapolation LUT path: " << this->oPhiExtrapolationLUTPath() << std::endl;
429  out << " Forward phi extrapolation LUT path: " << this->fPhiExtrapolationLUTPath() << std::endl;
430  out << " Barrel eta extrapolation LUT path: " << this->bEtaExtrapolationLUTPath() << std::endl;
431  out << " Overlap eta extrapolation LUT path: " << this->oEtaExtrapolationLUTPath() << std::endl;
432  out << " Forward eta extrapolation LUT path: " << this->fEtaExtrapolationLUTPath() << std::endl;
433  out << " Sort rank LUT path: " << this->sortRankLUTPath()
434  << ", pT and quality factors (Used when LUT path empty): pT factor: " << this->sortRankLUTPtFactor()
435  << ", quality factor: " << this->sortRankLUTQualFactor() << std::endl;
436 }
void setFOPosMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi)
void setInputFlags(const int &nodeIdx, const std::bitset< 72 > &flags)
void setMaskedCaloInputs(const std::bitset< 28 > &masked)
void setIdxSelMemEtaLUT(const l1t::LUT &lut)
std::bitset< 12 > emtfInputsToDisable() const
std::string oEtaExtrapolationLUTPath() const
void setOPhiExtrapolationLUT(const l1t::LUT &lut)
void setBEtaExtrapolationLUT(const l1t::LUT &lut)
void setFwdPosSingleMatchQualLUT(const l1t::LUT &lut)
std::string fEtaExtrapolationLUTPath() const
void setBmtfInputsToDisable(const std::bitset< 12 > &disables)
std::bitset< 12 > bmtfInputsToDisable() const
std::string fONegMatchQualLUTPath() const
std::string idxSelMemPhiLUTPath() const
void setFEtaExtrapolationLUT(const l1t::LUT &lut)
std::string relIsoCheckMemLUTPath() const
std::bitset< 6 > eomtfInputFlags(const int &nodeIdx, const size_t &startIdx, const int &tfIdx) const
void setTfInputFlags(const int &nodeIdx, const int &tfIdx, const std::bitset< 12 > &flags)
void setFPhiExtrapolationLUT(const l1t::LUT &lut)
std::string fwdPosSingleMatchQualLUTPath() const
void setOmtfpInputsToDisable(const std::bitset< 6 > &disables)
void setOEtaExtrapolationLUT(const l1t::LUT &lut)
Log< level::Error, false > LogError
void setEOmtfInputFlags(const int &nodeIdx, const size_t &startIdx, const int &tfIdx, const std::bitset< 6 > &flags)
void setIdxSelMemPhiLUT(const l1t::LUT &lut)
const std::map< std::string, std::string > & getProcToRoleAssignment(void) const noexcept
Definition: TriggerSystem.h:60
std::bitset< 72 > inputsToDisable() const
std::string absIsoCheckMemLUTPath() const
std::string oPhiExtrapolationLUTPath() const
void setBPhiExtrapolationLUT(const l1t::LUT &lut)
std::string ovlPosSingleMatchQualLUTPath() const
std::string bPhiExtrapolationLUTPath() const
void setFOPosMatchQualLUT(const l1t::LUT &lut)
void setBONegMatchQualLUT(const l1t::LUT &lut)
void setFwdPosSingleMatchQualLUTMaxDR(double maxDR, double fEta, double fPhi)
void setMaskedOmtfpInputs(const std::bitset< 6 > &masked)
void setCaloInputFlags(const int &nodeIdx, const std::bitset< 28 > &flags)
std::string bONegMatchQualLUTPath() const
void setFONegMatchQualLUT(const l1t::LUT &lut)
std::bitset< 12 > maskedOmtfInputs() const
void loadFromOnline(l1t::TriggerSystem &trgSys, const std::string &processorId="")
void setRelIsoCheckMemLUT(const l1t::LUT &lut)
std::bitset< 12 > maskedEmtfInputs() const
void setEmtfnInputsToDisable(const std::bitset< 6 > &disables)
std::string fOPosMatchQualLUTPath() const
void setOvlPosSingleMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi)
std::string bEtaExtrapolationLUTPath() const
void setAbsIsoCheckMemLUT(const l1t::LUT &lut)
void setOvlPosSingleMatchQualLUT(const l1t::LUT &lut)
void setFwVersion(unsigned fwVersion)
void setBOPosMatchQualLUT(const l1t::LUT &lut)
l1t::LUT convertToLUT(const std::vector< uint64_t > &v, int padding=-1) noexcept
Definition: ConvertToLUT.h:10
std::string fPhiExtrapolationLUTPath() const
void setMaskedOmtfnInputs(const std::bitset< 6 > &masked)
void setCaloInputsToDisable(const std::bitset< 28 > &disables)
std::bitset< 72 > maskedInputs() const
bool isMasked(const char *proccessor, const char *id) const
std::bitset< 12 > tfInputFlags(const int &nodeIdx, const int &tfIdx) const
void setBOPosMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi)
void setMaskedBmtfInputs(const std::bitset< 12 > &masked)
void setFONegMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi)
void print(std::ostream &) const
void setFwdNegSingleMatchQualLUT(const l1t::LUT &lut)
const std::map< std::string, Parameter > & getParameters(const char *processor) const
void setSortRankLUT(const l1t::LUT &lut)
void setBONegMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi)
std::string idxSelMemEtaLUTPath() const
void setOvlNegSingleMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi)
std::string bOPosMatchQualLUTPath() const
const L1TMuonGlobalParams_PUBLIC & cast_to_L1TMuonGlobalParams_PUBLIC(const L1TMuonGlobalParams &x)
std::bitset< 28 > caloInputFlags(const int &nodeIdx) const
std::bitset< 12 > omtfInputsToDisable() const
void setMaskedEmtfpInputs(const std::bitset< 6 > &masked)
void setMaskedEmtfnInputs(const std::bitset< 6 > &masked)
void setEmtfpInputsToDisable(const std::bitset< 6 > &disables)
void setOmtfnInputsToDisable(const std::bitset< 6 > &disables)
std::bitset< 12 > maskedBmtfInputs() const
void setFwdNegSingleMatchQualLUTMaxDR(double maxDR, double fEta, double fPhi)
std::string fwdNegSingleMatchQualLUTPath() const
std::string ovlNegSingleMatchQualLUTPath() const
void setOvlNegSingleMatchQualLUT(const l1t::LUT &lut)
std::bitset< 72 > inputFlags(const int &nodeIdx) const