CMS 3D CMS Logo

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