CMS 3D CMS Logo

Classes | Functions
L1GctJetFinderParams.h File Reference
#include "CondFormats/Serialization/interface/Serializable.h"
#include <vector>
#include <cstdint>
#include <iosfwd>

Go to the source code of this file.

Classes

class  L1GctJetFinderParams
 

Functions

std::ostream & operator<< (std::ostream &os, const L1GctJetFinderParams &fn)
 Overload << operator. More...
 

Function Documentation

◆ operator<<()

std::ostream& operator<< ( std::ostream &  os,
const L1GctJetFinderParams fn 
)

Overload << operator.

Definition at line 313 of file L1GctJetFinderParams.cc.

References alignBH_cfg::fixed, personalPlayback::fn, mps_fire::i, and dqmiolumiharvest::j.

313  {
314  // os << std::setprecision(2);
315 
316  os << "=== Level-1 GCT : Jet Finder Parameters ===" << std::endl;
317  os << "RCT region LSB : " << std::fixed << fn.getRgnEtLsbGeV() << " GeV" << std::endl;
318  os << "Central jet seed threshold : " << std::fixed << fn.getCenJetEtSeedGeV() << " GeV" << std::endl;
319  os << "Tau jet seed threshold : " << std::fixed << fn.getTauJetEtSeedGeV() << " GeV" << std::endl;
320  os << "Forward jet seed threshold : " << std::fixed << fn.getForJetEtSeedGeV() << " GeV" << std::endl;
321  os << "Tau isolation threshold : " << std::fixed << fn.getTauIsoEtThresholdGeV() << " GeV" << std::endl;
322  os << "Ht jet Et threshold : " << std::fixed << fn.getHtJetEtThresholdGeV() << " GeV" << std::endl;
323  os << "MHt jet Et threshold : " << std::fixed << fn.getMHtJetEtThresholdGeV() << " GeV" << std::endl;
324  os << "Ht LSB : " << std::fixed << fn.getHtLsbGeV() << " GeV" << std::endl;
325  os << "Central/Forward boundary : " << std::fixed << fn.getCenForJetEtaBoundary() << std::endl;
326 
327  os << std::endl;
328 
329  os << std::setprecision(6);
330  os << ios::scientific;
331 
332  os << "=== Level-1 GCT : Jet Et Calibration Function ===" << std::endl;
333  if (fn.getCorrType() == 0) {
334  os << "No jet energy corrections applied" << std::endl;
335  } else {
336  switch (fn.getCorrType()) {
337  case 1:
338  os << "Function = Power series" << std::endl;
339  break;
340  case 2:
341  os << "Function = ORCA" << std::endl;
342  break;
343  case 3:
344  os << "Function = Simple" << std::endl;
345  break;
346  case 4:
347  os << "Function = PiecewiseCubic" << std::endl;
348  break;
349  case 5:
350  os << "Function = PF" << std::endl;
351  break;
352  default:
353  os << "Unrecognised" << std::endl;
354  break;
355  }
356  std::vector<std::vector<double> > jetCoeffs = fn.getJetCorrCoeffs();
357  std::vector<std::vector<double> > tauCoeffs = fn.getTauCorrCoeffs();
358 
359  os << "Non-tau jet correction coefficients" << std::endl;
360  for (unsigned i = 0; i < jetCoeffs.size(); i++) {
361  os << "Eta =" << std::setw(2) << i;
362  if (jetCoeffs.at(i).empty()) {
363  os << ", no coefficients";
364  } else {
365  os << " Coefficients = ";
366  for (unsigned j = 0; j < jetCoeffs.at(i).size(); j++) {
367  os << jetCoeffs.at(i).at(j) << ", ";
368  }
369  }
370  os << std::endl;
371  }
372  os << "Tau jet correction coefficients" << std::endl;
373  for (unsigned i = 0; i < tauCoeffs.size(); i++) {
374  os << "Eta =" << std::setw(2) << i;
375  if (tauCoeffs.at(i).empty()) {
376  os << ", no coefficients";
377  } else {
378  os << " Coefficients = ";
379  for (unsigned j = 0; j < tauCoeffs.at(i).size(); j++) {
380  os << tauCoeffs.at(i).at(j) << ", ";
381  }
382  }
383  os << std::endl;
384  }
385  }
386 
387  os.unsetf(ios::fixed | ios::scientific);
388 
389  return os;
390 }