CMS 3D CMS Logo

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