CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TauJetCorrFactors.cc
Go to the documentation of this file.
2 
5 
6 #include <iomanip>
7 #include <iostream>
8 #include <sstream>
9 
10 using namespace pat;
11 
12 TauJetCorrFactors::TauJetCorrFactors(const std::string& label, const std::vector<CorrectionFactor>& jec)
13  : label_(label),
14  jec_(jec)
15 {}
16 
17 int
19 {
20  for ( std::vector<CorrectionFactor>::const_iterator corrFactor = jec_.begin();
21  corrFactor != jec_.end(); ++corrFactor ) {
22  if ( corrFactor->first == level ) return (corrFactor-jec_.begin());
23  }
24  return -1;
25 }
26 
27 float
29 {
30  if ( !(level < jec_.size()) ) {
31  throw cms::Exception("InvalidRequest")
32  << "You try to call a jet energy correction level wich does not exist. \n"
33  << "Available jet energy correction levels are: \n"
35  }
36  return jec_.at(level).second;
37 }
38 
41 {
43  for ( std::vector<CorrectionFactor>::const_iterator corrFactor = jec_.begin();
44  corrFactor != jec_.end(); ++corrFactor ) {
45  std::stringstream idx; idx << (corrFactor-jec_.begin());
46  labels.append(idx.str()).append(" ").append(corrFactor->first).append("\n");
47  }
48  return labels;
49 }
50 
51 std::vector<std::string>
53 {
54  std::vector<std::string> labels;
55  for ( std::vector<CorrectionFactor>::const_iterator corrFactor = jec_.begin();
56  corrFactor != jec_.end(); ++corrFactor ) {
57  labels.push_back(corrFactor->first);
58  }
59  return labels;
60 }
61 
62 void
64 {
65  edm::LogInfo message("JetCorrFactors");
66  for ( std::vector<CorrectionFactor>::const_iterator corrFactor = jec_.begin();
67  corrFactor != jec_.end(); ++corrFactor ) {
68  unsigned int corrFactorIdx = corrFactor-jec_.begin();
69  message << std::setw(3) << corrFactorIdx << " " << corrFactor->first;
70  message << std::setw(10) << correction (corrFactor-jec_.begin());
71  message << "\n";
72  }
73 }
std::vector< std::string > correctionLabels() const
std::string correctionLabelString() const
std::string jecLevel(const unsigned int &level) const
tuple idx
DEBUGGING if hasattr(process,&quot;trackMonIterativeTracking2012&quot;): print &quot;trackMonIterativeTracking2012 D...
float correction(unsigned int level) const
std::vector< CorrectionFactor > jec_
tuple level
Definition: testEve_cfg.py:34