CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Friends
METCorrectorParametersCollection Class Reference

#include <METCorrectorParameters.h>

Public Types

typedef std::vector< pair_typecollection_type
 
typedef int key_type
 
typedef std::string label_type
 
enum  Level_t { MiniAod = 0, N_LEVELS = 1 }
 
typedef std::pair< key_type, value_typepair_type
 
typedef METCorrectorParameters value_type
 

Public Member Functions

 METCorrectorParametersCollection ()
 
METCorrectorParameters const & operator[] (key_type k) const
 
METCorrectorParameters const & operator[] (std::string const &label) const
 
void push_back (key_type i, value_type const &j, label_type const &source="")
 
void validKeys (std::vector< key_type > &keys) const
 

Static Public Member Functions

static std::string findLabel (key_type k)
 
static std::string findMiniAodSource (key_type k)
 
static key_type getMiniAodBin (std::string const &source)
 
static void getSections (std::string inputFile, std::vector< std::string > &outputs)
 
static bool isMiniAod (key_type k)
 

Protected Member Functions

key_type findKey (std::string const &label) const
 

Protected Attributes

collection_type correctionsMiniAod_
 

Private Member Functions

template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Friends

class boost::serialization::access
 
template<typename CondSerializationT , typename Enabled >
struct cond::serialization::access
 

Detailed Description

Definition at line 106 of file METCorrectorParameters.h.

Member Typedef Documentation

Definition at line 114 of file METCorrectorParameters.h.

Definition at line 110 of file METCorrectorParameters.h.

Definition at line 111 of file METCorrectorParameters.h.

Definition at line 113 of file METCorrectorParameters.h.

Definition at line 112 of file METCorrectorParameters.h.

Member Enumeration Documentation

Constructor & Destructor Documentation

METCorrectorParametersCollection::METCorrectorParametersCollection ( )
inline

Member Function Documentation

key_type METCorrectorParametersCollection::findKey ( std::string const &  label) const
protected
std::string METCorrectorParametersCollection::findLabel ( key_type  k)
static

Definition at line 321 of file METCorrectorParameters.cc.

References gather_cfg::cout, and dqmdumpme::k.

321  {
322  std::cout << "findLabel with key_type: " << k << std::endl;
323  if (isMiniAod(k)) {
324  std::cout << "is MiniAod" << std::endl;
325  return findMiniAodSource(k);
326  }
327  return labels_[k];
328 }
static std::string findMiniAodSource(key_type k)
std::string METCorrectorParametersCollection::findMiniAodSource ( key_type  k)
static

Definition at line 329 of file METCorrectorParameters.cc.

329  {
330  if (k == MiniAod)
331  return labels_[MiniAod];
332  else
333  return MiniAodSource_[k - MiniAod * 100 - 1];
334 }
METCorrectorParametersCollection::key_type METCorrectorParametersCollection::getMiniAodBin ( std::string const &  source)
static

Definition at line 397 of file METCorrectorParameters.cc.

References spr::find(), newFWLiteAna::found, and source.

397  {
398  std::vector<std::string>::const_iterator found = find(MiniAodSource_.begin(), MiniAodSource_.end(), source);
399  if (found != MiniAodSource_.end()) {
400  return (found - MiniAodSource_.begin() + 1) + MiniAod * 100;
401  } else
402  return MiniAod;
403 }
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
static std::string const source
Definition: EdmProvDump.cc:47
void METCorrectorParametersCollection::getSections ( std::string  inputFile,
std::vector< std::string > &  outputs 
)
static

Definition at line 335 of file METCorrectorParameters.cc.

References filterCSVwithJSON::copy, gather_cfg::cout, recoMuon::in, input, and AlCaHLTBitMon_QueryRunRegistry::string.

335  {
336  outputs.clear();
337  std::ifstream input(inputFile.c_str());
338  while (!input.eof()) {
339  char buff[10000];
340  input.getline(buff, 10000);
341  std::string in(buff);
342  if (in[0] == '[') {
343  std::string tok = getSection(in);
344  if (!tok.empty()) {
345  outputs.push_back(tok);
346  }
347  }
348  }
349  std::cout << "Found these sections for file: " << std::endl;
350  copy(outputs.begin(), outputs.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
351 }
static std::string const input
Definition: EdmProvDump.cc:48
bool METCorrectorParametersCollection::isMiniAod ( key_type  k)
static

Definition at line 405 of file METCorrectorParameters.cc.

405  {
406  return k == MiniAod || (k > MiniAod * 100 && k < MiniAod * 100 + 100);
407 }
METCorrectorParameters const & METCorrectorParametersCollection::operator[] ( key_type  k) const

Definition at line 368 of file METCorrectorParameters.cc.

References Exception, mps_fire::i, and dqmdumpme::k.

368  {
369  collection_type::const_iterator ibegin, iend, i;
370  if (isMiniAod(k)) {
371  ibegin = correctionsMiniAod_.begin();
372  iend = correctionsMiniAod_.end();
373  i = ibegin;
374  }
375  for (; i != iend; ++i) {
376  if (k == i->first)
377  return i->second;
378  }
379  throw cms::Exception("InvalidInput") << " cannot find key " << static_cast<int>(k)
380  << " in the METC payload, this usually means you have to change the global tag"
381  << std::endl;
382 }
METCorrectorParameters const& METCorrectorParametersCollection::operator[] ( std::string const &  label) const
inline

Definition at line 129 of file METCorrectorParameters.h.

References dtResolutionTest_cfi::inputFile, relativeConstraints::keys, label, operator[](), PatBasicFWLiteJetAnalyzer_Selector_cfg::outputs, source, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by operator[]().

129 { return operator[](findKey(label)); }
char const * label
METCorrectorParameters const & operator[](key_type k) const
key_type findKey(std::string const &label) const
void METCorrectorParametersCollection::push_back ( key_type  i,
value_type const &  j,
label_type const &  source = "" 
)

Definition at line 354 of file METCorrectorParameters.cc.

References gather_cfg::cout, and pair_type.

354  {
355  std::cout << "i = " << i << std::endl;
356  std::cout << "source = " << source << std::endl;
357  if (isMiniAod(i)) {
358  std::cout << "This is MiniAod, getMiniAodBin = " << getMiniAodBin(source) << std::endl;
360  } else {
361  std::cout << "***** NOT ADDING " << source << ", corresponding position in METCorrectorParameters is not found."
362  << std::endl;
363  }
364 }
std::pair< key_type, value_type > pair_type
static key_type getMiniAodBin(std::string const &source)
static std::string const source
Definition: EdmProvDump.cc:47
template<class Archive >
void METCorrectorParametersCollection::serialize ( Archive &  ar,
const unsigned int  version 
)
private
void METCorrectorParametersCollection::validKeys ( std::vector< key_type > &  keys) const

Definition at line 386 of file METCorrectorParameters.cc.

References mps_fire::i.

386  {
387  keys.clear();
388  for (collection_type::const_iterator ibegin = correctionsMiniAod_.begin(),
389  iend = correctionsMiniAod_.end(),
390  i = ibegin;
391  i != iend;
392  ++i) {
393  keys.push_back(i->first);
394  }
395 }

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Definition at line 152 of file METCorrectorParameters.h.

template<typename CondSerializationT , typename Enabled >
friend struct cond::serialization::access
friend

Definition at line 152 of file METCorrectorParameters.h.

Member Data Documentation

collection_type METCorrectorParametersCollection::correctionsMiniAod_
protected

Definition at line 150 of file METCorrectorParameters.h.