CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
L1TMuonGlobalParamsHelper.h
Go to the documentation of this file.
1 
11 #ifndef L1TMuonGlobalParamsHelper_h
12 #define L1TMuonGlobalParamsHelper_h
13 
14 #include <memory>
15 #include <iostream>
16 #include <vector>
17 
18 //this is temp hack to avoid ALCA/DB signoff requirement for now:
23 
25 public:
26  enum {
45  sortRank = 18,
46  FWVERSION = 19,
50  };
51 
52  // string parameters indices
53  enum spIdx { fname = 0 };
54 
55  // unsigned parameters indices
56  enum upIdx {
57  ptFactor = 0,
64  };
65 
66  // double parameters indices
67  enum dpIdx { maxdr = 0, fEta = 1, fEtaCoarse = 2, fPhi = 3 };
68 
69  // input enable indices
70  enum linkNr {
71  CALOLINK1 = 8,
72  EMTFPLINK1 = 36,
73  OMTFPLINK1 = 42,
74  BMTFLINK1 = 48,
75  OMTFNLINK1 = 60,
77  }; // link numbers start at 0
78 
82 
83  // FW version
84  unsigned fwVersion() const {
85  return pnodes_[FWVERSION].uparams_.size() > FWVERSION_IDX ? pnodes_[FWVERSION].uparams_[FWVERSION_IDX] : 0;
86  }
87  void setFwVersion(unsigned fwVersion);
88 
89  // Input disables
90  std::bitset<72> inputsToDisable() const { return inputFlags(INPUTS_TO_DISABLE); };
91  std::bitset<28> caloInputsToDisable() const { return caloInputFlags(INPUTS_TO_DISABLE); };
92  std::bitset<12> bmtfInputsToDisable() const { return tfInputFlags(INPUTS_TO_DISABLE, BMTFINPUTS); };
93  std::bitset<12> omtfInputsToDisable() const { return tfInputFlags(INPUTS_TO_DISABLE, OMTFINPUTS); };
94  std::bitset<12> emtfInputsToDisable() const { return tfInputFlags(INPUTS_TO_DISABLE, EMTFINPUTS); };
95  std::bitset<6> omtfpInputsToDisable() const { return eomtfInputFlags(INPUTS_TO_DISABLE, 0, OMTFINPUTS); };
96  std::bitset<6> omtfnInputsToDisable() const { return eomtfInputFlags(INPUTS_TO_DISABLE, 6, OMTFINPUTS); };
97  std::bitset<6> emtfpInputsToDisable() const { return eomtfInputFlags(INPUTS_TO_DISABLE, 0, EMTFINPUTS); };
98  std::bitset<6> emtfnInputsToDisable() const { return eomtfInputFlags(INPUTS_TO_DISABLE, 6, EMTFINPUTS); };
99  void setInputsToDisable(const std::bitset<72> &inputsToDisable) {
100  setInputFlags(INPUTS_TO_DISABLE, inputsToDisable);
101  };
102  void setCaloInputsToDisable(const std::bitset<28> &disables) { setCaloInputFlags(INPUTS_TO_DISABLE, disables); };
103  void setBmtfInputsToDisable(const std::bitset<12> &disables) {
105  };
106  void setOmtfpInputsToDisable(const std::bitset<6> &disables) {
108  };
109  void setOmtfnInputsToDisable(const std::bitset<6> &disables) {
111  };
112  void setEmtfpInputsToDisable(const std::bitset<6> &disables) {
114  };
115  void setEmtfnInputsToDisable(const std::bitset<6> &disables) {
117  };
118 
119  // masked inputs
120  std::bitset<72> maskedInputs() const { return inputFlags(MASKED_INPUTS); };
121  std::bitset<28> maskedCaloInputs() const { return caloInputFlags(MASKED_INPUTS); };
122  std::bitset<12> maskedBmtfInputs() const { return tfInputFlags(MASKED_INPUTS, BMTFINPUTS); };
123  std::bitset<12> maskedOmtfInputs() const { return tfInputFlags(MASKED_INPUTS, OMTFINPUTS); };
124  std::bitset<12> maskedEmtfInputs() const { return tfInputFlags(MASKED_INPUTS, EMTFINPUTS); };
125  std::bitset<6> maskedOmtfpInputs() const { return eomtfInputFlags(MASKED_INPUTS, 0, OMTFINPUTS); };
126  std::bitset<6> maskedOmtfnInputs() const { return eomtfInputFlags(MASKED_INPUTS, 6, OMTFINPUTS); };
127  std::bitset<6> maskedEmtfpInputs() const { return eomtfInputFlags(MASKED_INPUTS, 0, EMTFINPUTS); };
128  std::bitset<6> maskedEmtfnInputs() const { return eomtfInputFlags(MASKED_INPUTS, 6, EMTFINPUTS); };
129  void setMaskedInputs(const std::bitset<72> &masked) { setInputFlags(MASKED_INPUTS, masked); };
130  void setMaskedCaloInputs(const std::bitset<28> &masked) { setCaloInputFlags(MASKED_INPUTS, masked); };
131  void setMaskedBmtfInputs(const std::bitset<12> &masked) { setTfInputFlags(MASKED_INPUTS, BMTFINPUTS, masked); };
132  void setMaskedOmtfpInputs(const std::bitset<6> &masked) { setEOmtfInputFlags(MASKED_INPUTS, 0, OMTFINPUTS, masked); };
133  void setMaskedOmtfnInputs(const std::bitset<6> &masked) { setEOmtfInputFlags(MASKED_INPUTS, 6, OMTFINPUTS, masked); };
134  void setMaskedEmtfpInputs(const std::bitset<6> &masked) { setEOmtfInputFlags(MASKED_INPUTS, 0, EMTFINPUTS, masked); };
135  void setMaskedEmtfnInputs(const std::bitset<6> &masked) { setEOmtfInputFlags(MASKED_INPUTS, 6, EMTFINPUTS, masked); };
136 
137  // LUTs
156  l1t::LUT *sortRankLUT() { return &pnodes_[sortRank].LUT_; }
157  void setAbsIsoCheckMemLUT(const l1t::LUT &lut) {
158  pnodes_[absIsoCheckMem].type_ = "LUT";
159  pnodes_[absIsoCheckMem].LUT_ = lut;
160  }
161  void setRelIsoCheckMemLUT(const l1t::LUT &lut) {
162  pnodes_[relIsoCheckMem].type_ = "LUT";
163  pnodes_[relIsoCheckMem].LUT_ = lut;
164  }
165  void setIdxSelMemPhiLUT(const l1t::LUT &lut) {
166  pnodes_[idxSelMemPhi].type_ = "LUT";
167  pnodes_[idxSelMemPhi].LUT_ = lut;
168  }
169  void setIdxSelMemEtaLUT(const l1t::LUT &lut) {
170  pnodes_[idxSelMemEta].type_ = "LUT";
171  pnodes_[idxSelMemEta].LUT_ = lut;
172  }
174  pnodes_[fwdPosSingleMatchQual].type_ = "LUT";
175  pnodes_[fwdPosSingleMatchQual].LUT_ = lut;
176  }
178  pnodes_[fwdNegSingleMatchQual].type_ = "LUT";
179  pnodes_[fwdNegSingleMatchQual].LUT_ = lut;
180  }
182  pnodes_[ovlPosSingleMatchQual].type_ = "LUT";
183  pnodes_[ovlPosSingleMatchQual].LUT_ = lut;
184  }
186  pnodes_[ovlNegSingleMatchQual].type_ = "LUT";
187  pnodes_[ovlNegSingleMatchQual].LUT_ = lut;
188  }
189  void setBOPosMatchQualLUT(const l1t::LUT &lut) {
190  pnodes_[bOPosMatchQual].type_ = "LUT";
191  pnodes_[bOPosMatchQual].LUT_ = lut;
192  }
193  void setBONegMatchQualLUT(const l1t::LUT &lut) {
194  pnodes_[bONegMatchQual].type_ = "LUT";
195  pnodes_[bONegMatchQual].LUT_ = lut;
196  }
197  void setFOPosMatchQualLUT(const l1t::LUT &lut) {
198  pnodes_[fOPosMatchQual].type_ = "LUT";
199  pnodes_[fOPosMatchQual].LUT_ = lut;
200  }
201  void setFONegMatchQualLUT(const l1t::LUT &lut) {
202  pnodes_[fONegMatchQual].type_ = "LUT";
203  pnodes_[fONegMatchQual].LUT_ = lut;
204  }
206  pnodes_[bPhiExtrapolation].type_ = "LUT";
207  pnodes_[bPhiExtrapolation].LUT_ = lut;
208  }
210  pnodes_[oPhiExtrapolation].type_ = "LUT";
211  pnodes_[oPhiExtrapolation].LUT_ = lut;
212  }
214  pnodes_[fPhiExtrapolation].type_ = "LUT";
215  pnodes_[fPhiExtrapolation].LUT_ = lut;
216  }
218  pnodes_[bEtaExtrapolation].type_ = "LUT";
219  pnodes_[bEtaExtrapolation].LUT_ = lut;
220  }
222  pnodes_[oEtaExtrapolation].type_ = "LUT";
223  pnodes_[oEtaExtrapolation].LUT_ = lut;
224  }
226  pnodes_[fEtaExtrapolation].type_ = "LUT";
227  pnodes_[fEtaExtrapolation].LUT_ = lut;
228  }
229  void setSortRankLUT(const l1t::LUT &lut) {
230  pnodes_[sortRank].type_ = "LUT";
231  pnodes_[sortRank].LUT_ = lut;
232  }
233 
234  // LUT paths
236  return pnodes_[absIsoCheckMem].sparams_.size() > spIdx::fname ? pnodes_[absIsoCheckMem].sparams_[spIdx::fname] : "";
237  }
239  return pnodes_[relIsoCheckMem].sparams_.size() > spIdx::fname ? pnodes_[relIsoCheckMem].sparams_[spIdx::fname] : "";
240  }
242  return pnodes_[idxSelMemPhi].sparams_.size() > spIdx::fname ? pnodes_[idxSelMemPhi].sparams_[spIdx::fname] : "";
243  }
245  return pnodes_[idxSelMemEta].sparams_.size() > spIdx::fname ? pnodes_[idxSelMemEta].sparams_[spIdx::fname] : "";
246  }
248  return pnodes_[fwdPosSingleMatchQual].sparams_.size() > spIdx::fname
250  : "";
251  }
253  return pnodes_[fwdNegSingleMatchQual].sparams_.size() > spIdx::fname
255  : "";
256  }
258  return pnodes_[ovlPosSingleMatchQual].sparams_.size() > spIdx::fname
260  : "";
261  }
263  return pnodes_[ovlNegSingleMatchQual].sparams_.size() > spIdx::fname
265  : "";
266  }
268  return pnodes_[bOPosMatchQual].sparams_.size() > spIdx::fname ? pnodes_[bOPosMatchQual].sparams_[spIdx::fname] : "";
269  }
271  return pnodes_[bONegMatchQual].sparams_.size() > spIdx::fname ? pnodes_[bONegMatchQual].sparams_[spIdx::fname] : "";
272  }
274  return pnodes_[fOPosMatchQual].sparams_.size() > spIdx::fname ? pnodes_[fOPosMatchQual].sparams_[spIdx::fname] : "";
275  }
277  return pnodes_[fONegMatchQual].sparams_.size() > spIdx::fname ? pnodes_[fONegMatchQual].sparams_[spIdx::fname] : "";
278  }
280  return pnodes_[bPhiExtrapolation].sparams_.size() > spIdx::fname ? pnodes_[bPhiExtrapolation].sparams_[spIdx::fname]
281  : "";
282  }
284  return pnodes_[oPhiExtrapolation].sparams_.size() > spIdx::fname ? pnodes_[oPhiExtrapolation].sparams_[spIdx::fname]
285  : "";
286  }
288  return pnodes_[fPhiExtrapolation].sparams_.size() > spIdx::fname ? pnodes_[fPhiExtrapolation].sparams_[spIdx::fname]
289  : "";
290  }
292  return pnodes_[bEtaExtrapolation].sparams_.size() > spIdx::fname ? pnodes_[bEtaExtrapolation].sparams_[spIdx::fname]
293  : "";
294  }
296  return pnodes_[oEtaExtrapolation].sparams_.size() > spIdx::fname ? pnodes_[oEtaExtrapolation].sparams_[spIdx::fname]
297  : "";
298  }
300  return pnodes_[fEtaExtrapolation].sparams_.size() > spIdx::fname ? pnodes_[fEtaExtrapolation].sparams_[spIdx::fname]
301  : "";
302  }
304  return pnodes_[sortRank].sparams_.size() > spIdx::fname ? pnodes_[sortRank].sparams_[spIdx::fname] : "";
305  }
306  void setAbsIsoCheckMemLUTPath(const std::string &path) { pnodes_[absIsoCheckMem].sparams_.push_back(path); }
307  void setRelIsoCheckMemLUTPath(const std::string &path) { pnodes_[relIsoCheckMem].sparams_.push_back(path); }
308  void setIdxSelMemPhiLUTPath(const std::string &path) { pnodes_[idxSelMemPhi].sparams_.push_back(path); }
309  void setIdxSelMemEtaLUTPath(const std::string &path) { pnodes_[idxSelMemEta].sparams_.push_back(path); }
311  pnodes_[fwdPosSingleMatchQual].sparams_.push_back(path);
312  }
314  pnodes_[fwdNegSingleMatchQual].sparams_.push_back(path);
315  }
317  pnodes_[ovlPosSingleMatchQual].sparams_.push_back(path);
318  }
320  pnodes_[ovlNegSingleMatchQual].sparams_.push_back(path);
321  }
322  void setBOPosMatchQualLUTPath(const std::string &path) { pnodes_[bOPosMatchQual].sparams_.push_back(path); }
323  void setBONegMatchQualLUTPath(const std::string &path) { pnodes_[bONegMatchQual].sparams_.push_back(path); }
324  void setFOPosMatchQualLUTPath(const std::string &path) { pnodes_[fOPosMatchQual].sparams_.push_back(path); }
325  void setFONegMatchQualLUTPath(const std::string &path) { pnodes_[fONegMatchQual].sparams_.push_back(path); }
326  void setBPhiExtrapolationLUTPath(const std::string &path) { pnodes_[bPhiExtrapolation].sparams_.push_back(path); }
327  void setOPhiExtrapolationLUTPath(const std::string &path) { pnodes_[oPhiExtrapolation].sparams_.push_back(path); }
328  void setFPhiExtrapolationLUTPath(const std::string &path) { pnodes_[fPhiExtrapolation].sparams_.push_back(path); }
329  void setBEtaExtrapolationLUTPath(const std::string &path) { pnodes_[bEtaExtrapolation].sparams_.push_back(path); }
330  void setOEtaExtrapolationLUTPath(const std::string &path) { pnodes_[oEtaExtrapolation].sparams_.push_back(path); }
331  void setFEtaExtrapolationLUTPath(const std::string &path) { pnodes_[fEtaExtrapolation].sparams_.push_back(path); }
332  void setSortRankLUTPath(const std::string &path) { pnodes_[sortRank].sparams_.push_back(path); }
333 
334  // Cancel out LUT max dR
336  return pnodes_[fwdPosSingleMatchQual].dparams_.size() > dpIdx::maxdr
337  ? pnodes_[fwdPosSingleMatchQual].dparams_[dpIdx::maxdr]
338  : 0.;
339  }
341  return pnodes_[fwdNegSingleMatchQual].dparams_.size() > dpIdx::maxdr
342  ? pnodes_[fwdNegSingleMatchQual].dparams_[dpIdx::maxdr]
343  : 0.;
344  }
346  return pnodes_[ovlPosSingleMatchQual].dparams_.size() > dpIdx::maxdr
347  ? pnodes_[ovlPosSingleMatchQual].dparams_[dpIdx::maxdr]
348  : 0.;
349  }
351  return pnodes_[ovlNegSingleMatchQual].dparams_.size() > dpIdx::maxdr
352  ? pnodes_[ovlNegSingleMatchQual].dparams_[dpIdx::maxdr]
353  : 0.;
354  }
355  double bOPosMatchQualLUTMaxDR() const {
356  return pnodes_[bOPosMatchQual].dparams_.size() > dpIdx::maxdr ? pnodes_[bOPosMatchQual].dparams_[dpIdx::maxdr] : 0.;
357  }
358  double bONegMatchQualLUTMaxDR() const {
359  return pnodes_[bONegMatchQual].dparams_.size() > dpIdx::maxdr ? pnodes_[bONegMatchQual].dparams_[dpIdx::maxdr] : 0.;
360  }
361  double fOPosMatchQualLUTMaxDR() const {
362  return pnodes_[fOPosMatchQual].dparams_.size() > dpIdx::maxdr ? pnodes_[fOPosMatchQual].dparams_[dpIdx::maxdr] : 0.;
363  }
364  double fONegMatchQualLUTMaxDR() const {
365  return pnodes_[fONegMatchQual].dparams_.size() > dpIdx::maxdr ? pnodes_[fONegMatchQual].dparams_[dpIdx::maxdr] : 0.;
366  }
367 
369  return pnodes_[fwdPosSingleMatchQual].dparams_.size() > dpIdx::fEta
370  ? pnodes_[fwdPosSingleMatchQual].dparams_[dpIdx::fEta]
371  : 0.;
372  }
374  return pnodes_[fwdNegSingleMatchQual].dparams_.size() > dpIdx::fEta
375  ? pnodes_[fwdNegSingleMatchQual].dparams_[dpIdx::fEta]
376  : 0.;
377  }
379  return pnodes_[ovlPosSingleMatchQual].dparams_.size() > dpIdx::fEta
380  ? pnodes_[ovlPosSingleMatchQual].dparams_[dpIdx::fEta]
381  : 0.;
382  }
384  return pnodes_[ovlNegSingleMatchQual].dparams_.size() > dpIdx::fEta
385  ? pnodes_[ovlNegSingleMatchQual].dparams_[dpIdx::fEta]
386  : 0.;
387  }
389  return pnodes_[ovlPosSingleMatchQual].dparams_.size() > dpIdx::fEtaCoarse
390  ? pnodes_[ovlPosSingleMatchQual].dparams_[dpIdx::fEtaCoarse]
391  : 0.;
392  }
394  return pnodes_[ovlNegSingleMatchQual].dparams_.size() > dpIdx::fEtaCoarse
395  ? pnodes_[ovlNegSingleMatchQual].dparams_[dpIdx::fEtaCoarse]
396  : 0.;
397  }
398  double bOPosMatchQualLUTfEta() const {
399  return pnodes_[bOPosMatchQual].dparams_.size() > dpIdx::fEta ? pnodes_[bOPosMatchQual].dparams_[dpIdx::fEta] : 0.;
400  }
401  double bONegMatchQualLUTfEta() const {
402  return pnodes_[bONegMatchQual].dparams_.size() > dpIdx::fEta ? pnodes_[bONegMatchQual].dparams_[dpIdx::fEta] : 0.;
403  }
405  return pnodes_[bOPosMatchQual].dparams_.size() > dpIdx::fEtaCoarse
406  ? pnodes_[bOPosMatchQual].dparams_[dpIdx::fEtaCoarse]
407  : 0.;
408  }
410  return pnodes_[bONegMatchQual].dparams_.size() > dpIdx::fEtaCoarse
411  ? pnodes_[bONegMatchQual].dparams_[dpIdx::fEtaCoarse]
412  : 0.;
413  }
414  double fOPosMatchQualLUTfEta() const {
415  return pnodes_[fOPosMatchQual].dparams_.size() > dpIdx::fEta ? pnodes_[fOPosMatchQual].dparams_[dpIdx::fEta] : 0.;
416  }
417  double fONegMatchQualLUTfEta() const {
418  return pnodes_[fONegMatchQual].dparams_.size() > dpIdx::fEta ? pnodes_[fONegMatchQual].dparams_[dpIdx::fEta] : 0.;
419  }
421  return pnodes_[fOPosMatchQual].dparams_.size() > dpIdx::fEtaCoarse
422  ? pnodes_[fOPosMatchQual].dparams_[dpIdx::fEtaCoarse]
423  : 0.;
424  }
426  return pnodes_[fONegMatchQual].dparams_.size() > dpIdx::fEtaCoarse
427  ? pnodes_[fONegMatchQual].dparams_[dpIdx::fEtaCoarse]
428  : 0.;
429  }
431  return pnodes_[fwdPosSingleMatchQual].dparams_.size() > dpIdx::fPhi
432  ? pnodes_[fwdPosSingleMatchQual].dparams_[dpIdx::fPhi]
433  : 0.;
434  }
436  return pnodes_[fwdNegSingleMatchQual].dparams_.size() > dpIdx::fPhi
437  ? pnodes_[fwdNegSingleMatchQual].dparams_[dpIdx::fPhi]
438  : 0.;
439  }
441  return pnodes_[ovlPosSingleMatchQual].dparams_.size() > dpIdx::fPhi
442  ? pnodes_[ovlPosSingleMatchQual].dparams_[dpIdx::fPhi]
443  : 0.;
444  }
446  return pnodes_[ovlNegSingleMatchQual].dparams_.size() > dpIdx::fPhi
447  ? pnodes_[ovlNegSingleMatchQual].dparams_[dpIdx::fPhi]
448  : 0.;
449  }
450  double bOPosMatchQualLUTfPhi() const {
451  return pnodes_[bOPosMatchQual].dparams_.size() > dpIdx::fPhi ? pnodes_[bOPosMatchQual].dparams_[dpIdx::fPhi] : 0.;
452  }
453  double bONegMatchQualLUTfPhi() const {
454  return pnodes_[bONegMatchQual].dparams_.size() > dpIdx::fPhi ? pnodes_[bONegMatchQual].dparams_[dpIdx::fPhi] : 0.;
455  }
456  double fOPosMatchQualLUTfPhi() const {
457  return pnodes_[fOPosMatchQual].dparams_.size() > dpIdx::fPhi ? pnodes_[fOPosMatchQual].dparams_[dpIdx::fPhi] : 0.;
458  }
459  double fONegMatchQualLUTfPhi() const {
460  return pnodes_[fONegMatchQual].dparams_.size() > dpIdx::fPhi ? pnodes_[fONegMatchQual].dparams_[dpIdx::fPhi] : 0.;
461  }
462 
463  void setFwdPosSingleMatchQualLUTMaxDR(double maxDR, double fEta, double fPhi);
464  void setFwdNegSingleMatchQualLUTMaxDR(double maxDR, double fEta, double fPhi);
465  void setOvlPosSingleMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi);
466  void setOvlNegSingleMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi);
467  void setBOPosMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi);
468  void setBONegMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi);
469  void setFOPosMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi);
470  void setFONegMatchQualLUTMaxDR(double maxDR, double fEta, double fEtaCoarse, double fPhi);
471 
472  // Sort rank LUT factors for pT and quality
473  unsigned sortRankLUTPtFactor() const {
474  return pnodes_[sortRank].uparams_.size() > upIdx::ptFactor ? pnodes_[sortRank].uparams_[upIdx::ptFactor] : 0;
475  }
476  unsigned sortRankLUTQualFactor() const {
477  return pnodes_[sortRank].uparams_.size() > upIdx::qualFactor ? pnodes_[sortRank].uparams_[upIdx::qualFactor] : 0;
478  }
479  void setSortRankLUTFactors(unsigned ptFactor, unsigned qualFactor) {
480  pnodes_[sortRank].uparams_.push_back(ptFactor);
481  pnodes_[sortRank].uparams_.push_back(qualFactor);
482  }
483 
484  // set parameters with a trigSystem object built from the online DB
485  void loadFromOnline(l1t::TriggerSystem &trgSys, const std::string &processorId = "");
486 
487  // print parameters to stream:
488  void print(std::ostream &) const;
489  friend std::ostream &operator<<(std::ostream &o, const L1TMuonGlobalParamsHelper &p) {
490  p.print(o);
491  return o;
492  }
493 
494 private:
495  // Input disables
496  std::bitset<72> inputFlags(const int &nodeIdx) const;
497  std::bitset<28> caloInputFlags(const int &nodeIdx) const;
498  std::bitset<12> tfInputFlags(const int &nodeIdx, const int &tfIdx) const;
499  std::bitset<6> eomtfInputFlags(const int &nodeIdx, const size_t &startIdx, const int &tfIdx) const;
500  void setInputFlags(const int &nodeIdx, const std::bitset<72> &flags);
501  void setCaloInputFlags(const int &nodeIdx, const std::bitset<28> &flags);
502  void setTfInputFlags(const int &nodeIdx, const int &tfIdx, const std::bitset<12> &flags);
503  void setEOmtfInputFlags(const int &nodeIdx, const size_t &startIdx, const int &tfIdx, const std::bitset<6> &flags);
504 };
505 #endif
void setBONegMatchQualLUTPath(const std::string &path)
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 setOPhiExtrapolationLUTPath(const std::string &path)
void setFEtaExtrapolationLUT(const l1t::LUT &lut)
std::bitset< 6 > emtfpInputsToDisable() const
std::string relIsoCheckMemLUTPath() const
std::bitset< 28 > caloInputsToDisable() const
double ovlPosSingleMatchQualLUTfEtaCoarse() const
std::bitset< 6 > eomtfInputFlags(const int &nodeIdx, const size_t &startIdx, const int &tfIdx) const
void setFwdNegSingleMatchQualLUTPath(const std::string &path)
void setTfInputFlags(const int &nodeIdx, const int &tfIdx, const std::bitset< 12 > &flags)
void setFPhiExtrapolationLUT(const l1t::LUT &lut)
std::bitset< 6 > maskedOmtfpInputs() const
std::string fwdPosSingleMatchQualLUTPath() const
std::bitset< 6 > emtfnInputsToDisable() const
void setFOPosMatchQualLUTPath(const std::string &path)
void setIdxSelMemEtaLUTPath(const std::string &path)
void setOmtfpInputsToDisable(const std::bitset< 6 > &disables)
void setOEtaExtrapolationLUT(const l1t::LUT &lut)
void setBPhiExtrapolationLUTPath(const std::string &path)
void setSortRankLUTFactors(unsigned ptFactor, unsigned qualFactor)
void setMaskedInputs(const std::bitset< 72 > &masked)
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)
std::bitset< 6 > maskedEmtfpInputs() const
void setInputsToDisable(const std::bitset< 72 > &inputsToDisable)
void setFwdPosSingleMatchQualLUTMaxDR(double maxDR, double fEta, double fPhi)
void setRelIsoCheckMemLUTPath(const std::string &path)
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)
void setFwdPosSingleMatchQualLUTPath(const std::string &path)
void setBOPosMatchQualLUTPath(const std::string &path)
std::bitset< 12 > maskedOmtfInputs() const
void loadFromOnline(l1t::TriggerSystem &trgSys, const std::string &processorId="")
void setRelIsoCheckMemLUT(const l1t::LUT &lut)
std::bitset< 6 > omtfnInputsToDisable() const
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 setFEtaExtrapolationLUTPath(const std::string &path)
void setAbsIsoCheckMemLUT(const l1t::LUT &lut)
void setOvlPosSingleMatchQualLUT(const l1t::LUT &lut)
void setFwVersion(unsigned fwVersion)
void setIdxSelMemPhiLUTPath(const std::string &path)
std::bitset< 6 > maskedEmtfnInputs() const
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
friend std::ostream & operator<<(std::ostream &o, const L1TMuonGlobalParamsHelper &p)
Definition: LUT.h:29
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 setBEtaExtrapolationLUTPath(const std::string &path)
void setOvlPosSingleMatchQualLUTPath(const std::string &path)
void setFwdNegSingleMatchQualLUT(const l1t::LUT &lut)
void setOvlNegSingleMatchQualLUTPath(const std::string &path)
std::bitset< 6 > maskedOmtfnInputs() const
double ovlNegSingleMatchQualLUTfEtaCoarse() const
string fname
main script
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
std::bitset< 28 > caloInputFlags(const int &nodeIdx) const
std::bitset< 12 > omtfInputsToDisable() const
void setMaskedEmtfpInputs(const std::bitset< 6 > &masked)
void setAbsIsoCheckMemLUTPath(const std::string &path)
void setMaskedEmtfnInputs(const std::bitset< 6 > &masked)
void setEmtfpInputsToDisable(const std::bitset< 6 > &disables)
void setOmtfnInputsToDisable(const std::bitset< 6 > &disables)
void setFPhiExtrapolationLUTPath(const std::string &path)
void setSortRankLUTPath(const std::string &path)
void setOEtaExtrapolationLUTPath(const std::string &path)
std::bitset< 12 > maskedBmtfInputs() const
std::bitset< 28 > maskedCaloInputs() const
void setFwdNegSingleMatchQualLUTMaxDR(double maxDR, double fEta, double fPhi)
void setFONegMatchQualLUTPath(const std::string &path)
std::string fwdNegSingleMatchQualLUTPath() const
std::string ovlNegSingleMatchQualLUTPath() const
void setOvlNegSingleMatchQualLUT(const l1t::LUT &lut)
std::bitset< 72 > inputFlags(const int &nodeIdx) const
std::bitset< 6 > omtfpInputsToDisable() const