CMS 3D CMS Logo

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