CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
CaloParamsHelperO2O.h
Go to the documentation of this file.
1 #include <iostream>
2 
4 
10 
11 #ifndef CaloParamsHelperO2O_h
12 #define CaloParamsHelperO2O_h
13 
14 namespace l1t {
15 
17  public:
18  // DO NOT ADD ENTRIES ANYWHERE BUT DIRECTLY BEFORE "NUM_CALOPARAMNODES"
19  // DO NOT CHANGE NUMERICAL VALUES OF ANY ALREADY EXISTING FIELDS, YOU CAN ONLY EXTEND, AT THE END.
20  enum {
21  regionPUS = 0,
25  egShapeId = 4,
27  egPUS = 6,
30  tauPUS = 9,
32  jetPUS = 11,
35  hiQ2 = 14,
38  layer1ECal = 17,
39  layer1HCal = 18,
40  layer1HF = 19,
72  };
73 
76  if (pnode_.size() < NUM_CALOPARAMNODES) {
77  pnode_.resize(NUM_CALOPARAMNODES);
78  // at version 2, tauCompress was added, we can add a default version here if necessary...
79  }
80  };
82 
83  bool isValidForStage1() { return true; }
84  bool isValidForStage2() { return (version_ >= 2); }
85 
94 
95  // towers
96  double towerLsbH() const { return towerp_.lsbH_; }
97  double towerLsbE() const { return towerp_.lsbE_; }
98  double towerLsbSum() const { return towerp_.lsbSum_; }
99  int towerNBitsH() const { return towerp_.nBitsH_; }
100  int towerNBitsE() const { return towerp_.nBitsE_; }
101  int towerNBitsSum() const { return towerp_.nBitsSum_; }
102  int towerNBitsRatio() const { return towerp_.nBitsRatio_; }
103  int towerMaskE() const { return towerp_.maskE_; }
104  int towerMaskH() const { return towerp_.maskH_; }
105  int towerMaskSum() const { return towerp_.maskSum_; }
106  int towerMaskRatio() const { return towerp_.maskRatio_; }
107  bool doTowerEncoding() const { return towerp_.doEncoding_; }
108 
109  void setTowerLsbH(double lsb) { towerp_.lsbH_ = lsb; }
110  void setTowerLsbE(double lsb) { towerp_.lsbE_ = lsb; }
111  void setTowerLsbSum(double lsb) { towerp_.lsbSum_ = lsb; }
112  void setTowerNBitsH(int n) {
113  towerp_.nBitsH_ = n;
114  towerp_.maskH_ = std::pow(2, n) - 1;
115  }
116  void setTowerNBitsE(int n) {
117  towerp_.nBitsE_ = n;
118  towerp_.maskE_ = std::pow(2, n) - 1;
119  }
120  void setTowerNBitsSum(int n) {
121  towerp_.nBitsSum_ = n;
122  towerp_.maskSum_ = std::pow(2, n) - 1;
123  }
124  void setTowerNBitsRatio(int n) {
126  towerp_.maskRatio_ = std::pow(2, n) - 1;
127  }
128  void setTowerEncoding(bool doit) { towerp_.doEncoding_ = doit; }
129 
130  // regions
131  double regionLsb() const { return regionLsb_; }
132  std::string regionPUSType() const { return pnode_[regionPUS].type_; }
133  std::vector<double> regionPUSParams() { return pnode_[regionPUS].dparams_; }
134  l1t::LUT* regionPUSLUT() { return &pnode_[regionPUS].LUT_; }
135 
136  int regionPUSValue(int PUM0, int eta) {
137  int puSub = ceil(regionPUSParams()[18 * eta + PUM0] * 2);
138  return puSub;
139  }
140 
141  void setRegionLsb(double lsb) { regionLsb_ = lsb; }
143  void setRegionPUSParams(const std::vector<double>& params) { pnode_[regionPUS].dparams_ = params; }
144  void setRegionPUSLUT(const l1t::LUT& lut) { pnode_[regionPUS].LUT_ = lut; }
145 
146  int pileUpTowerThreshold() const { return pnode_[PUTowerThreshold].iparams_[0]; }
148  pnode_[PUTowerThreshold].iparams_.resize(1);
149  pnode_[PUTowerThreshold].iparams_[0] = thresh;
150  }
151 
152  // EG
153  int egEtaCut() const {
154  if (pnode_[egPUS].version_ == 1)
155  return pnode_[egPUS].iparams_[0];
156  else
157  return 0;
158  }
159  double egLsb() const { return egp_.lsb_; }
160  double egSeedThreshold() const { return egp_.seedThreshold_; }
161  double egNeighbourThreshold() const { return egp_.neighbourThreshold_; }
162  double egHcalThreshold() const { return egp_.hcalThreshold_; }
163  l1t::LUT* egTrimmingLUT() { return &pnode_[egTrimming].LUT_; }
164  double egMaxHcalEt() const { return egp_.maxHcalEt_; }
165  double egMaxPtHOverE() const { return egp_.maxPtHOverE_; }
168  l1t::LUT* egShapeIdLUT() { return &pnode_[egShapeId].LUT_; }
173  unsigned egBypassEGVetos() { return pnode_[egBypassEGVetosFlag].uparams_[0]; }
174  unsigned egBypassExtHOverE() { return pnode_[egBypassExtHoE].uparams_[0]; }
175  unsigned egBypassShape() const {
176  if (pnode_[egBypassShapeFlag].uparams_.empty())
177  return 0;
178  else
179  return pnode_[egBypassShapeFlag].uparams_[0];
180  }
181  unsigned egBypassECALFG() const {
182  if (pnode_[egBypassECALFGFlag].uparams_.empty())
183  return 0;
184  else
185  return pnode_[egBypassECALFGFlag].uparams_[0];
186  }
187  unsigned egBypassHoE() const {
188  if (pnode_[egBypassHoEFlag].uparams_.empty())
189  return 0;
190  else
191  return pnode_[egBypassHoEFlag].uparams_[0];
192  }
193 
194  int egHOverEcutBarrel() const { return pnode_[egHOverEBarrel].iparams_[0]; }
195  int egHOverEcutEndcap() const { return pnode_[egHOverEEndcap].iparams_[0]; }
196 
197  unsigned egIsoAreaNrTowersEta() const { return egp_.isoAreaNrTowersEta_; }
198  unsigned egIsoAreaNrTowersPhi() const { return egp_.isoAreaNrTowersPhi_; }
199  unsigned egIsoVetoNrTowersPhi() const { return egp_.isoVetoNrTowersPhi_; }
200  const std::string& egPUSType() const { return pnode_[egPUS].type_; }
201  const std::vector<double>& egPUSParams() const { return pnode_[egPUS].dparams_; }
202  double egPUSParam(int ipar) const { return pnode_[egPUS].dparams_.at(ipar); }
203 
204  std::string egIsolationType() const { return pnode_[egIsolation].type_; }
208  std::vector<double> egCalibrationParams() { return pnode_[egCalibration].dparams_; }
210 
211  void setEgEtaCut(int mask) {
212  pnode_[egPUS].iparams_.resize(1);
213  pnode_[egPUS].iparams_[0] = mask;
214  }
215  void setEgLsb(double lsb) { egp_.lsb_ = lsb; }
219  void setEgTrimmingLUT(const l1t::LUT& lut) { pnode_[egTrimming].LUT_ = lut; }
220  void setEgMaxHcalEt(double cut) { egp_.maxHcalEt_ = cut; }
222  void setEgMaxHOverELUT(const l1t::LUT& lut) { pnode_[egMaxHOverE].LUT_ = lut; }
223  void setEgCompressShapesLUT(const l1t::LUT& lut) { pnode_[egCompressShapes].LUT_ = lut; }
224  void setEgShapeIdLUT(const l1t::LUT& lut) { pnode_[egShapeId].LUT_ = lut; }
225  void setEgMinPtJetIsolation(int cutValue) { egp_.minPtJetIsolation_ = cutValue; }
226  void setEgMaxPtJetIsolation(int cutValue) { egp_.maxPtJetIsolation_ = cutValue; }
227  void setEgMinPtHOverEIsolation(int cutValue) { egp_.minPtHOverEIsolation_ = cutValue; }
228  void setEgMaxPtHOverEIsolation(int cutValue) { egp_.maxPtHOverEIsolation_ = cutValue; }
229  void setEgBypassEGVetos(unsigned flag) {
230  pnode_[egBypassEGVetosFlag].uparams_.resize(1);
231  pnode_[egBypassEGVetosFlag].uparams_[0] = flag;
232  }
233  void setEgBypassShape(unsigned flag) {
234  pnode_[egBypassShapeFlag].uparams_.resize(1);
235  pnode_[egBypassShapeFlag].uparams_[0] = flag;
236  }
237  void setEgBypassECALFG(unsigned flag) {
238  pnode_[egBypassECALFGFlag].uparams_.resize(1);
239  pnode_[egBypassECALFGFlag].uparams_[0] = flag;
240  }
241  void setEgBypassExtHOverE(unsigned flag) {
242  pnode_[egBypassExtHoE].uparams_.resize(1);
243  pnode_[egBypassExtHoE].uparams_[0] = flag;
244  }
246  pnode_[egHOverEBarrel].iparams_.resize(1);
247  pnode_[egHOverEBarrel].iparams_[0] = cut;
248  }
250  pnode_[egHOverEEndcap].iparams_.resize(1);
251  pnode_[egHOverEEndcap].iparams_[0] = cut;
252  }
253 
254  void setEgIsoAreaNrTowersEta(unsigned iEgIsoAreaNrTowersEta) { egp_.isoAreaNrTowersEta_ = iEgIsoAreaNrTowersEta; }
255  void setEgIsoAreaNrTowersPhi(unsigned iEgIsoAreaNrTowersPhi) { egp_.isoAreaNrTowersPhi_ = iEgIsoAreaNrTowersPhi; }
256  void setEgIsoVetoNrTowersPhi(unsigned iEgIsoVetoNrTowersPhi) { egp_.isoVetoNrTowersPhi_ = iEgIsoVetoNrTowersPhi; }
258  void setEgPUSParams(const std::vector<double>& params) { pnode_[egPUS].dparams_ = params; }
260  void setEgIsolationLUT(const l1t::LUT& lut) { pnode_[egIsolation].LUT_ = lut; }
261  void setEgIsolationLUT2(const l1t::LUT& lut) { pnode_[egIsolation2].LUT_ = lut; }
263  void setEgCalibrationParams(std::vector<double> params) { pnode_[egCalibration].dparams_ = params; }
264  void setEgCalibrationLUT(const l1t::LUT& lut) { pnode_[egCalibration].LUT_ = lut; }
265 
266  // - recently imported:
267  std::string egShapeIdType() const { return pnode_[egShapeId].type_; }
269  unsigned egShapeIdVersion() const { return pnode_[egShapeId].version_; }
270  void setEgShapeIdVersion(unsigned version) { pnode_[egShapeId].version_ = version; }
271  unsigned egCalibrationVersion() const { return pnode_[egCalibration].version_; }
273 
274  // tau
275  int tauRegionMask() const {
276  if (pnode_[tauPUS].version_ == 1)
277  return pnode_[tauPUS].iparams_[0];
278  else
279  return 0;
280  }
281  double tauLsb() const { return taup_.lsb_; }
282  double tauSeedThreshold() const { return taup_.seedThreshold_; }
284  double tauMaxPtTauVeto() const { return taup_.maxPtTauVeto_; }
286  double tauMaxJetIsolationB() const { return taup_.maxJetIsolationB_; }
287  double tauMaxJetIsolationA() const { return taup_.maxJetIsolationA_; }
288  int isoTauEtaMin() const { return taup_.isoEtaMin_; }
289  int isoTauEtaMax() const { return taup_.isoEtaMax_; }
290  std::string tauPUSType() const { return pnode_[tauPUS].type_; }
291  const std::vector<double>& tauPUSParams() const { return pnode_[tauPUS].dparams_; }
292  double tauPUSParam(int ipar) const { return pnode_[tauPUS].dparams_.at(ipar); }
293 
297 
299  std::vector<double> tauCalibrationParams() { return pnode_[tauCalibration].dparams_; }
302 
304 
305  unsigned tauIsoAreaNrTowersEta() const { return taup_.isoAreaNrTowersEta_; }
306  unsigned tauIsoAreaNrTowersPhi() const { return taup_.isoAreaNrTowersPhi_; }
307  unsigned tauIsoVetoNrTowersPhi() const { return taup_.isoVetoNrTowersPhi_; }
308 
309  void setTauRegionMask(int mask) {
310  pnode_[tauPUS].iparams_.resize(1);
311  pnode_[tauPUS].iparams_[0] = mask;
312  }
313  void setTauLsb(double lsb) { taup_.lsb_ = lsb; }
319  void setTauMaxJetIsolationA(double cutValue) { taup_.maxJetIsolationA_ = cutValue; }
323  void setTauIsolationLUT(const l1t::LUT& lut) { pnode_[tauIsolation].LUT_ = lut; }
324  void setTauIsolationLUT2(const l1t::LUT& lut) { pnode_[tauIsolation2].LUT_ = lut; }
326 
328  void setTauIsoAreaNrTowersEta(unsigned iTauIsoAreaNrTowersEta) {
329  taup_.isoAreaNrTowersEta_ = iTauIsoAreaNrTowersEta;
330  }
331  void setTauIsoAreaNrTowersPhi(unsigned iTauIsoAreaNrTowersPhi) {
332  taup_.isoAreaNrTowersPhi_ = iTauIsoAreaNrTowersPhi;
333  }
334  void setTauIsoVetoNrTowersPhi(unsigned iTauIsoVetoNrTowersPhi) {
335  taup_.isoVetoNrTowersPhi_ = iTauIsoVetoNrTowersPhi;
336  }
337 
338  void setTauCalibrationParams(std::vector<double> params) { pnode_[tauCalibration].dparams_ = params; }
339  void setTauCalibrationLUT(const l1t::LUT& lut) { pnode_[tauCalibration].LUT_ = lut; }
340  void setTauCompressLUT(const l1t::LUT& lut) { pnode_[tauCompress].LUT_ = lut; }
341  void setTauPUSParams(const std::vector<double>& params) { pnode_[tauPUS].dparams_ = params; }
342 
343  void setTauEtToHFRingEtLUT(const l1t::LUT& lut) { pnode_[tauEtToHFRingEt].LUT_ = lut; }
344 
345  // jets
346  double jetLsb() const { return jetp_.lsb_; }
347  double jetSeedThreshold() const { return jetp_.seedThreshold_; }
349  int jetRegionMask() const {
350  if (pnode_[jetPUS].version_ == 1)
351  return pnode_[jetPUS].iparams_[0];
352  else
353  return 0;
354  }
355 
356  unsigned jetBypassPUS() const { return pnode_[jetBypassPUSFlag].uparams_[0]; }
357  unsigned jetPUSUsePhiRing() const {
358  if (pnode_[jetPUSUsePhiRingFlag].uparams_.empty())
359  return 0;
360  else
361  return pnode_[jetPUSUsePhiRingFlag].uparams_[0];
362  }
363 
364  std::string jetPUSType() const { return pnode_[jetPUS].type_; }
365  std::vector<double> jetPUSParams() { return pnode_[jetPUS].dparams_; }
367  std::vector<double> jetCalibrationParams() { return pnode_[jetCalibration].dparams_; }
368 
372 
373  void setJetLsb(double lsb) { jetp_.lsb_ = lsb; }
376  void setJetRegionMask(int mask) {
377  pnode_[jetPUS].iparams_.resize(1);
378  pnode_[jetPUS].iparams_[0] = mask;
379  }
381  void setJetPUSParams(std::vector<double> params) { pnode_[jetPUS].dparams_ = params; }
383  void setJetCalibrationParams(std::vector<double> params) { pnode_[jetCalibration].dparams_ = params; }
384  void setJetCalibrationLUT(const l1t::LUT& lut) { pnode_[jetCalibration].LUT_ = lut; }
385  void setJetCompressEtaLUT(const l1t::LUT& lut) { pnode_[jetCompressEta].LUT_ = lut; }
386  void setJetCompressPtLUT(const l1t::LUT& lut) { pnode_[jetCompressPt].LUT_ = lut; }
387  void setJetBypassPUS(unsigned flag) {
388  pnode_[jetBypassPUSFlag].uparams_.resize(1);
389  pnode_[jetBypassPUSFlag].uparams_[0] = flag;
390  }
391  void setJetPUSUsePhiRing(unsigned flag) {
392  pnode_[jetPUSUsePhiRingFlag].uparams_.resize(1);
393  pnode_[jetPUSUsePhiRingFlag].uparams_[0] = flag;
394  }
395  // sums
396 
397  double etSumLsb() const { return etSumLsb_; }
398  int etSumEtaMin(unsigned isum) const {
399  if (etSumEtaMin_.size() > isum)
400  return etSumEtaMin_.at(isum);
401  else
402  return 0;
403  }
404  int etSumEtaMax(unsigned isum) const {
405  if (etSumEtaMax_.size() > isum)
406  return etSumEtaMax_.at(isum);
407  else
408  return 0;
409  }
410  double etSumEtThreshold(unsigned isum) const {
411  if (etSumEtThreshold_.size() > isum)
412  return etSumEtThreshold_.at(isum);
413  else
414  return 0.;
415  }
416  unsigned etSumBypassMetPUS() const { return pnode_[etSumBypassMetPUSFlag].uparams_[0]; }
417  unsigned etSumBypassEttPUS() const { return pnode_[etSumBypassEttPUSFlag].uparams_[0]; }
418  unsigned etSumBypassEcalSumPUS() const { return pnode_[etSumBypassEcalSumPUSFlag].uparams_[0]; }
419  std::string etSumMetPUSType() const { return pnode_[etSumMetPUS].type_; }
420  std::string etSumEttPUSType() const { return pnode_[etSumEttPUS].type_; }
426 
436 
437  void setEtSumLsb(double lsb) { etSumLsb_ = lsb; }
438  void setEtSumEtaMin(unsigned isum, int eta) {
439  if (etSumEtaMin_.size() <= isum)
440  etSumEtaMin_.resize(isum + 1);
441  etSumEtaMin_.at(isum) = eta;
442  }
443  void setEtSumEtaMax(unsigned isum, int eta) {
444  if (etSumEtaMax_.size() <= isum)
445  etSumEtaMax_.resize(isum + 1);
446  etSumEtaMax_.at(isum) = eta;
447  }
448  void setEtSumEtThreshold(unsigned isum, double thresh) {
449  if (etSumEtThreshold_.size() <= isum)
450  etSumEtThreshold_.resize(isum + 1);
451  etSumEtThreshold_.at(isum) = thresh;
452  }
460  void setEtSumBypassMetPUS(unsigned flag) {
461  pnode_[etSumBypassMetPUSFlag].uparams_.resize(1);
462  pnode_[etSumBypassMetPUSFlag].uparams_[0] = flag;
463  }
464  void setEtSumBypassEttPUS(unsigned flag) {
465  pnode_[etSumBypassEttPUSFlag].uparams_.resize(1);
466  pnode_[etSumBypassEttPUSFlag].uparams_[0] = flag;
467  }
468  void setEtSumBypassEcalSumPUS(unsigned flag) {
469  pnode_[etSumBypassEcalSumPUSFlag].uparams_.resize(1);
470  pnode_[etSumBypassEcalSumPUSFlag].uparams_[0] = flag;
471  }
472 
473  void setEtSumMetPUSLUT(const l1t::LUT& lut) { pnode_[etSumMetPUS].LUT_ = lut; }
474  void setEtSumEttPUSLUT(const l1t::LUT& lut) { pnode_[etSumEttPUS].LUT_ = lut; }
475  void setEtSumEcalSumPUSLUT(const l1t::LUT& lut) { pnode_[etSumEcalSumPUS].LUT_ = lut; }
476  void setMetCalibrationLUT(const l1t::LUT& lut) { pnode_[metCalibration].LUT_ = lut; }
477  void setMetHFCalibrationLUT(const l1t::LUT& lut) { pnode_[metHFCalibration].LUT_ = lut; }
480  void setMetPhiCalibrationLUT(const l1t::LUT& lut) { pnode_[metPhiCalibration].LUT_ = lut; }
482 
483  double etSumCentLower(unsigned centClass) const {
484  if (pnode_[etSumCentralityLower].dparams_.size() > centClass)
485  return pnode_[etSumCentralityLower].dparams_.at(centClass);
486  else
487  return 0.;
488  }
489 
490  double etSumCentUpper(unsigned centClass) const {
491  if (pnode_[etSumCentralityUpper].dparams_.size() > centClass)
492  return pnode_[etSumCentralityUpper].dparams_.at(centClass);
493  else
494  return 0.;
495  }
496 
497  void setEtSumCentLower(unsigned centClass, double loBound) {
498  if (pnode_[etSumCentralityLower].dparams_.size() <= centClass)
499  pnode_[etSumCentralityLower].dparams_.resize(centClass + 1);
500  pnode_[etSumCentralityLower].dparams_.at(centClass) = loBound;
501  }
502 
503  void setEtSumCentUpper(unsigned centClass, double upBound) {
504  if (pnode_[etSumCentralityUpper].dparams_.size() <= centClass)
505  pnode_[etSumCentralityUpper].dparams_.resize(centClass + 1);
506  pnode_[etSumCentralityUpper].dparams_.at(centClass) = upBound;
507  }
508 
509  // HI centrality
510  int centralityRegionMask() const {
511  if (pnode_[hiCentrality].version_ == 1)
512  return pnode_[hiCentrality].iparams_[0];
513  else
514  return 0;
515  }
516  std::vector<int> minimumBiasThresholds() const {
517  if (pnode_[hiCentrality].version_ == 1 && pnode_[hiCentrality].iparams_.size() == 5) {
518  std::vector<int> newVec;
519  newVec.reserve(4);
520  for (int i = 0; i < 4; i++) {
521  newVec.push_back(pnode_[hiCentrality].iparams_.at(i + 1));
522  }
523  return newVec;
524  } else {
525  std::vector<int> newVec;
526  return newVec;
527  }
528  }
530  void setCentralityRegionMask(int mask) {
531  pnode_[hiCentrality].iparams_.resize(5);
532  pnode_[hiCentrality].iparams_[0] = mask;
533  }
534  void setMinimumBiasThresholds(std::vector<int> thresholds) {
535  pnode_[hiCentrality].iparams_.resize(5);
536  for (int i = 0; i < 4; i++) {
537  pnode_[hiCentrality].iparams_[i + 1] = thresholds.at(i);
538  }
539  }
540  void setCentralityLUT(const l1t::LUT& lut) { pnode_[hiCentrality].LUT_ = lut; }
541 
542  // HI Q2
543  l1t::LUT* q2LUT() { return &pnode_[hiQ2].LUT_; }
544  void setQ2LUT(const l1t::LUT& lut) { pnode_[hiQ2].LUT_ = lut; }
545 
546  // HI parameters
547 
548  // Layer 1 LUT specification
549  std::vector<double> layer1ECalScaleFactors() { return pnode_[layer1ECal].dparams_; }
550  std::vector<double> layer1HCalScaleFactors() { return pnode_[layer1HCal].dparams_; }
551  std::vector<double> layer1HFScaleFactors() { return pnode_[layer1HF].dparams_; }
552  std::vector<int> layer1ECalScaleETBins() { return pnode_[layer1ECal].iparams_; }
553  std::vector<int> layer1HCalScaleETBins() { return pnode_[layer1HCal].iparams_; }
554  std::vector<int> layer1HFScaleETBins() { return pnode_[layer1HF].iparams_; }
555  std::vector<unsigned> layer1ECalScalePhiBins() { return pnode_[layer1ECal].uparams_; }
556  std::vector<unsigned> layer1HCalScalePhiBins() { return pnode_[layer1HCal].uparams_; }
557  std::vector<unsigned> layer1HFScalePhiBins() { return pnode_[layer1HF].uparams_; }
558  void setLayer1ECalScaleFactors(const std::vector<double> params) { pnode_[layer1ECal].dparams_ = params; }
559  void setLayer1HCalScaleFactors(const std::vector<double> params) { pnode_[layer1HCal].dparams_ = params; }
560  void setLayer1HFScaleFactors(const std::vector<double> params) { pnode_[layer1HF].dparams_ = params; }
561  void setLayer1ECalScaleETBins(const std::vector<int> params) { pnode_[layer1ECal].iparams_ = params; }
562  void setLayer1HCalScaleETBins(const std::vector<int> params) { pnode_[layer1HCal].iparams_ = params; }
563  void setLayer1HFScaleETBins(const std::vector<int> params) { pnode_[layer1HF].iparams_ = params; }
564  void setLayer1ECalScalePhiBins(const std::vector<unsigned> params) { pnode_[layer1ECal].uparams_ = params; }
565  void setLayer1HCalScalePhiBins(const std::vector<unsigned> params) { pnode_[layer1HCal].uparams_ = params; }
566  void setLayer1HFScalePhiBins(const std::vector<unsigned> params) { pnode_[layer1HF].uparams_ = params; }
567 
568  std::vector<unsigned> layer1SecondStageLUT() { return pnode_[layer1HOverE].uparams_; }
569  void setLayer1SecondStageLUT(const std::vector<unsigned>& lut) { pnode_[layer1HOverE].uparams_ = lut; }
570 
571  private:
576  };
577 
578 } // namespace l1t
579 
580 #endif
constexpr int32_t ceil(float num)
void setEtSumEcalSumCalibrationType(std::string type)
void setTauCompressLUT(const l1t::LUT &lut)
double tauMinPtJetIsolationB() const
void setJetCompressPtLUT(const l1t::LUT &lut)
void setEtSumMetPUSType(std::string type)
std::vector< unsigned > layer1SecondStageLUT()
double tauMaxJetIsolationB() const
unsigned tauIsoAreaNrTowersPhi() const
std::string etSumEcalSumPUSType() const
std::vector< unsigned > layer1HFScalePhiBins()
std::string etSumEttCalibrationType() const
std::vector< int > minimumBiasThresholds() const
void setTauIsolationLUT(const l1t::LUT &lut)
void setMinimumBiasThresholds(std::vector< int > thresholds)
unsigned tauIsoAreaNrTowersEta() const
unsigned tauIsoVetoNrTowersPhi() const
EgParams egp_
Definition: CaloParams.h:243
void setLayer1HFScalePhiBins(const std::vector< unsigned > params)
void setJetCalibrationParams(std::vector< double > params)
void setEgCompressShapesLUT(const l1t::LUT &lut)
void setEgPUSType(std::string type)
void setHtMissScale(L1CaloEtScale HtMissScale)
std::vector< double > etSumEtThreshold_
Definition: CaloParams.h:259
void setEgCalibrationLUT(const l1t::LUT &lut)
const std::vector< double > & tauPUSParams() const
void setEtSumEttCalibrationLUT(const l1t::LUT &lut)
std::vector< double > jetCalibrationParams()
double etSumCentLower(unsigned centClass) const
std::string metCalibrationType() const
void setEgShapeIdType(std::string type)
unsigned egIsoAreaNrTowersEta() const
std::vector< int > layer1HFScaleETBins()
void setCentralityLUT(const l1t::LUT &lut)
void setRegionPUSParams(const std::vector< double > &params)
void setJetCalibrationLUT(const l1t::LUT &lut)
void setEgIsoAreaNrTowersEta(unsigned iEgIsoAreaNrTowersEta)
unsigned egIsoAreaNrTowersPhi() const
std::vector< Node > pnode_
Definition: CaloParams.h:236
void setEgNeighbourThreshold(double thresh)
void setEmScale(L1CaloEtScale emScale)
void setLayer1HCalScaleFactors(const std::vector< double > params)
double tauNeighbourThreshold() const
void setLayer1ECalScaleFactors(const std::vector< double > params)
void setLayer1SecondStageLUT(const std::vector< unsigned > &lut)
void setEtSumEcalSumCalibrationLUT(const l1t::LUT &lut)
unsigned egShapeIdVersion() const
void setEgIsoAreaNrTowersPhi(unsigned iEgIsoAreaNrTowersPhi)
TowerParams towerp_
Definition: CaloParams.h:238
unsigned egBypassECALFG() const
unsigned egIsoVetoNrTowersPhi() const
double isum
std::string jetCalibrationType() const
unsigned jetPUSUsePhiRing() const
void setEgMinPtHOverEIsolation(int cutValue)
std::string egCalibrationType() const
std::vector< double > tauCalibrationParams()
std::string jetPUSType() const
void setRegionPUSType(std::string type)
void setEtSumEttPUSLUT(const l1t::LUT &lut)
void setTauCalibrationLUT(const l1t::LUT &lut)
double egPUSParam(int ipar) const
double regionLsb_
Definition: CaloParams.h:241
int regionPUSValue(int PUM0, int eta)
void setJetNeighbourThreshold(double thresh)
void setTauIsoAreaNrTowersEta(unsigned iTauIsoAreaNrTowersEta)
void setEtSumEtaMin(unsigned isum, int eta)
void setTauMinPtJetIsolationB(double limit)
std::string etSumEcalSumCalibrationType() const
void setLayer1HCalScalePhiBins(const std::vector< unsigned > params)
std::string tauPUSType() const
void setJetCalibrationType(std::string type)
void setJetSeedThreshold(double thresh)
std::vector< double > layer1HFScaleFactors()
void setTauMaxJetIsolationB(double limit)
void setEtSumBypassMetPUS(unsigned flag)
std::vector< int > etSumEtaMin_
Definition: CaloParams.h:253
void setLayer1HCalScaleETBins(const std::vector< int > params)
void setEtSumCentLower(unsigned centClass, double loBound)
std::string egShapeIdType() const
void setEgIsoVetoNrTowersPhi(unsigned iEgIsoVetoNrTowersPhi)
void setJetScale(L1CaloEtScale jetScale)
void setTauCalibrationParams(std::vector< double > params)
void setEtSumEtaMax(unsigned isum, int eta)
std::vector< unsigned > layer1HCalScalePhiBins()
void setEgIsolationLUT(const l1t::LUT &lut)
void setLayer1HFScaleETBins(const std::vector< int > params)
void setTauMaxJetIsolationA(double cutValue)
JetParams jetp_
Definition: CaloParams.h:245
unsigned egCalibrationVersion() const
void setEgTrimmingLUT(const l1t::LUT &lut)
void setTauSeedThreshold(double thresh)
unsigned etSumBypassMetPUS() const
void setTauNeighbourThreshold(double thresh)
unsigned egBypassShape() const
void setLayer1ECalScaleETBins(const std::vector< int > params)
double etSumCentUpper(unsigned centClass) const
void setEgPUSParams(const std::vector< double > &params)
std::vector< int > etSumEtaMax_
Definition: CaloParams.h:256
std::vector< double > layer1ECalScaleFactors()
void setJetPUSParams(std::vector< double > params)
void setHfRingScale(L1CaloEtScale HfRingScale)
const std::vector< double > & egPUSParams() const
void setEgIsolationType(std::string type)
void setEgMaxPtHOverEIsolation(int cutValue)
std::vector< double > layer1HCalScaleFactors()
void setEgShapeIdVersion(unsigned version)
std::vector< double > egCalibrationParams()
void setPileUpTowerThreshold(int thresh)
void setEgCalibrationType(std::string type)
void setMetHFPhiCalibrationLUT(const l1t::LUT &lut)
double tauPUSParam(int ipar) const
void setEgIsolationLUT2(const l1t::LUT &lut)
double tauMaxJetIsolationA() const
void setEgHcalThreshold(double thresh)
void setEtSumEcalSumPUSType(std::string type)
void setCentralityRegionMask(int mask)
void setLayer1ECalScalePhiBins(const std::vector< unsigned > params)
void setTauTrimmingShapeVetoLUT(const l1t::LUT &lut)
void setTauIsoVetoNrTowersPhi(unsigned iTauIsoVetoNrTowersPhi)
void setMetHFCalibrationLUT(const l1t::LUT &lut)
void setEgMaxHOverELUT(const l1t::LUT &lut)
void setMetPhiCalibrationLUT(const l1t::LUT &lut)
std::vector< double > jetPUSParams()
std::vector< int > layer1ECalScaleETBins()
unsigned jetBypassPUS() const
unsigned etSumBypassEttPUS() const
void setTauMaxPtTauVeto(double limit)
void setTauPUSType(std::string type)
unsigned version_
Definition: CaloParams.h:234
Definition: LUT.h:29
TauParams taup_
Definition: CaloParams.h:244
void setMetHFCalibrationType(std::string type)
double egNeighbourThreshold() const
std::vector< unsigned > layer1ECalScalePhiBins()
void setEgShapeIdLUT(const l1t::LUT &lut)
void setTauIsoAreaNrTowersPhi(unsigned iTauIsoAreaNrTowersPhi)
void setTauPUSParams(const std::vector< double > &params)
std::vector< double > regionPUSParams()
void setEtSumBypassEttPUS(unsigned flag)
double etSumLsb_
Definition: CaloParams.h:250
std::string regionPUSType() const
int etSumEtaMax(unsigned isum) const
std::string etSumEttPUSType() const
void setEtSumEttCalibrationType(std::string type)
void setEgCalibrationVersion(unsigned version)
void setEgBypassEGVetos(unsigned flag)
void setEtSumEcalSumPUSLUT(const l1t::LUT &lut)
void setEtSumBypassEcalSumPUS(unsigned flag)
const std::string & egPUSType() const
void setEgBypassShape(unsigned flag)
void setEtSumCentUpper(unsigned centClass, double upBound)
std::string etSumMetPUSType() const
void setEgSeedThreshold(double thresh)
void setEtSumEtThreshold(unsigned isum, double thresh)
void setEgBypassExtHOverE(unsigned flag)
double jetNeighbourThreshold() const
void setEtSumEttPUSType(std::string type)
double etSumEtThreshold(unsigned isum) const
void setJetPUSUsePhiRing(unsigned flag)
void setEgMaxPtHOverE(double thresh)
void setEtSumMetPUSLUT(const l1t::LUT &lut)
void setTauIsolationLUT2(const l1t::LUT &lut)
int etSumEtaMin(unsigned isum) const
void setTauEtToHFRingEtLUT(const l1t::LUT &lut)
void setMetCalibrationType(std::string type)
void setEgMinPtJetIsolation(int cutValue)
std::vector< int > layer1HCalScaleETBins()
void setJetBypassPUS(unsigned flag)
std::string metHFCalibrationType() const
void setTauCalibrationType(std::string type)
std::string tauCalibrationType() const
void setRegionPUSLUT(const l1t::LUT &lut)
void setEgCalibrationParams(std::vector< double > params)
unsigned etSumBypassEcalSumPUS() const
void setQ2LUT(const l1t::LUT &lut)
CaloParamsHelperO2O(const CaloParams &p)
void setJetPUSType(std::string type)
void setLayer1HFScaleFactors(const std::vector< double > params)
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
void setEgBypassECALFG(unsigned flag)
void setEgMaxPtJetIsolation(int cutValue)
std::string egIsolationType() const
void setJetCompressEtaLUT(const l1t::LUT &lut)
void setMetCalibrationLUT(const l1t::LUT &lut)