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
JetCorrectorParametersCollection Class Reference

#include <JetCorrectorParameters.h>

Public Types

typedef std::vector< pair_typecollection_type
 
typedef int key_type
 
enum  L5_Species_t {
  L5_bJ =0, L5_cJ, L5_qJ, L5_gJ,
  L5_bT, L5_cT, L5_qT, L5_gT,
  N_L5_SPECIES
}
 
enum  L7_Species_t {
  L7_gJ =0, L7_qJ, L7_cJ, L7_bJ,
  L7_jJ, L7_qT, L7_cT, L7_bT,
  L7_jT, N_L7_SPECIES
}
 
typedef std::string label_type
 
enum  Level_t {
  L1Offset =0, L1JPTOffset =7, L1FastJet = 10, L2Relative =1,
  L3Absolute =2, L2L3Residual =8, L4EMF =3, L5Flavor =4,
  L6UE =5, L7Parton =6, Uncertainty =9, UncertaintyAbsolute =11,
  UncertaintyHighPtExtra =12, UncertaintySinglePionECAL =13, UncertaintySinglePionHCAL =27, UncertaintyFlavor =14,
  UncertaintyTime =15, UncertaintyRelativeJEREC1 =16, UncertaintyRelativeJEREC2 =17, UncertaintyRelativeJERHF =18,
  UncertaintyRelativePtEC1 =28, UncertaintyRelativePtEC2 =29, UncertaintyRelativePtHF =30, UncertaintyRelativeStatEC2 =19,
  UncertaintyRelativeStatHF =20, UncertaintyRelativeFSR =21, UncertaintyRelativeSample =31, UncertaintyPileUpDataMC =22,
  UncertaintyPileUpOOT =23, UncertaintyPileUpPtBB =24, UncertaintyPileUpPtEC =32, UncertaintyPileUpPtHF =33,
  UncertaintyPileUpBias =25, UncertaintyPileUpJetRate =26, L1RC =34, L1Residual =35,
  UncertaintyAux3 =36, UncertaintyAux4 =37, N_LEVELS =38
}
 
typedef std::pair< key_type, value_typepair_type
 
typedef JetCorrectorParameters value_type
 

Public Member Functions

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

Static Public Member Functions

static std::string findL5Flavor (key_type k)
 
static std::string findL7Parton (key_type k)
 
static std::string findLabel (key_type k)
 
static key_type getL5Bin (std::string const &flav)
 
static key_type getL7Bin (std::string const &flav)
 
static void getSections (std::string inputFile, std::vector< std::string > &outputs)
 
static bool isL5 (key_type k)
 
static bool isL7 (key_type k)
 

Protected Member Functions

key_type findKey (std::string const &label) const
 
collection_typegetCorrections ()
 
collection_typegetCorrectionsL5 ()
 
collection_typegetCorrectionsL7 ()
 

Protected Attributes

collection_type corrections_
 
collection_type correctionsL5_
 
collection_type correctionsL7_
 

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
 
struct JetCorrectorParametersInitializeTransients
 

Detailed Description

Definition at line 129 of file JetCorrectorParameters.h.

Member Typedef Documentation

Definition at line 184 of file JetCorrectorParameters.h.

Definition at line 180 of file JetCorrectorParameters.h.

Definition at line 181 of file JetCorrectorParameters.h.

Definition at line 183 of file JetCorrectorParameters.h.

Definition at line 182 of file JetCorrectorParameters.h.

Member Enumeration Documentation

Enumerator
L1Offset 
L1JPTOffset 
L1FastJet 
L2Relative 
L3Absolute 
L2L3Residual 
L4EMF 
L5Flavor 
L6UE 
L7Parton 
Uncertainty 
UncertaintyAbsolute 
UncertaintyHighPtExtra 
UncertaintySinglePionECAL 
UncertaintySinglePionHCAL 
UncertaintyFlavor 
UncertaintyTime 
UncertaintyRelativeJEREC1 
UncertaintyRelativeJEREC2 
UncertaintyRelativeJERHF 
UncertaintyRelativePtEC1 
UncertaintyRelativePtEC2 
UncertaintyRelativePtHF 
UncertaintyRelativeStatEC2 
UncertaintyRelativeStatHF 
UncertaintyRelativeFSR 
UncertaintyRelativeSample 
UncertaintyPileUpDataMC 
UncertaintyPileUpOOT 
UncertaintyPileUpPtBB 
UncertaintyPileUpPtEC 
UncertaintyPileUpPtHF 
UncertaintyPileUpBias 
UncertaintyPileUpJetRate 
L1RC 
L1Residual 
UncertaintyAux3 
UncertaintyAux4 
N_LEVELS 

Definition at line 136 of file JetCorrectorParameters.h.

136  { L1Offset=0,
137  L1JPTOffset=7,
138  L1FastJet = 10,
139  L2Relative=1,
140  L3Absolute=2,
141  L2L3Residual=8,
142  L4EMF=3,
143  L5Flavor=4,
144  L6UE=5,
145  L7Parton=6,
146  Uncertainty=9,
151  UncertaintyFlavor=14,
152  UncertaintyTime=15,
170  L1RC=34,
171  L1Residual=35,
172  UncertaintyAux3=36,
173  UncertaintyAux4=37,
174  N_LEVELS=38
175  };

Constructor & Destructor Documentation

JetCorrectorParametersCollection::JetCorrectorParametersCollection ( )
inline

Definition at line 188 of file JetCorrectorParameters.h.

References mps_fire::i, gen::k, and operator[]().

Member Function Documentation

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

Definition at line 579 of file JetCorrectorParameters.cc.

References Exception, spr::find(), and diffTwoXMLs::label.

579  {
580 
581  // First check L5 corrections
582  std::vector<std::string>::const_iterator found1 =
583  find( l5Flavors_.begin(), l5Flavors_.end(), label );
584  if ( found1 != l5Flavors_.end() ) {
585  return getL5Bin(label);
586  }
587 
588  // Next check L7 corrections
589  std::vector<std::string>::const_iterator found2 =
590  find( l7Partons_.begin(), l7Partons_.end(), label );
591  if ( found2 != l7Partons_.end() ) {
592  return getL7Bin(label);
593  }
594 
595  // Finally check the default corrections
596  std::vector<std::string>::const_iterator found3 =
597  find( labels_.begin(), labels_.end(), label );
598  if ( found3 != labels_.end() ) {
599  return static_cast<key_type>(found3 - labels_.begin());
600  }
601 
602  // Didn't find default corrections, throw exception
603  throw cms::Exception("InvalidInput") << " Cannot find label " << label << std::endl;
604 
605 }
static key_type getL5Bin(std::string const &flav)
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
static key_type getL7Bin(std::string const &flav)
std::string JetCorrectorParametersCollection::findL5Flavor ( key_type  k)
static

Definition at line 447 of file JetCorrectorParameters.cc.

References AlCaHLTBitMon_QueryRunRegistry::string.

447  {
448  if ( k == L5Flavor ) return labels_[L5Flavor];
449  else
450  return l5Flavors_[k / 100 - 1];
451 }
int k[5][pyjets_maxn]
std::string JetCorrectorParametersCollection::findL7Parton ( key_type  k)
static

Definition at line 454 of file JetCorrectorParameters.cc.

454  {
455  if ( k == L7Parton ) return labels_[L7Parton];
456  else
457  return l7Partons_[k / 1000 - 1];
458 }
int k[5][pyjets_maxn]
std::string JetCorrectorParametersCollection::findLabel ( key_type  k)
static

Definition at line 440 of file JetCorrectorParameters.cc.

References gen::k, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by JetCorrectorDBReader::analyze(), and JetCorrectorDBWriter::beginJob().

440  {
441  if ( isL5(k) ) return findL5Flavor(k);
442  else if ( isL7(k) ) return findL7Parton(k);
443  else return labels_[k];
444 }
static std::string findL5Flavor(key_type k)
static std::string findL7Parton(key_type k)
int k[5][pyjets_maxn]
collection_type& JetCorrectorParametersCollection::getCorrections ( )
inlineprotected
collection_type& JetCorrectorParametersCollection::getCorrectionsL5 ( )
inlineprotected
collection_type& JetCorrectorParametersCollection::getCorrectionsL7 ( )
inlineprotected
JetCorrectorParametersCollection::key_type JetCorrectorParametersCollection::getL5Bin ( std::string const &  flav)
static

Definition at line 546 of file JetCorrectorParameters.cc.

References spr::find(), and runEdmFileComparison::found.

546  {
547  std::vector<std::string>::const_iterator found =
548  find( l5Flavors_.begin(), l5Flavors_.end(), flav );
549  if ( found != l5Flavors_.end() ) {
550  return (found - l5Flavors_.begin() + 1) * 100;
551  }
552  else return L5Flavor;
553 }
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
JetCorrectorParametersCollection::key_type JetCorrectorParametersCollection::getL7Bin ( std::string const &  flav)
static

Definition at line 556 of file JetCorrectorParameters.cc.

References spr::find(), and runEdmFileComparison::found.

556  {
557  std::vector<std::string>::const_iterator found =
558  find( l7Partons_.begin(), l7Partons_.end(), flav );
559  if ( found != l7Partons_.end() ) {
560  return (found - l7Partons_.begin() + 1) * 1000;
561  }
562  else return L7Parton;
563 }
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
void JetCorrectorParametersCollection::getSections ( std::string  inputFile,
std::vector< std::string > &  outputs 
)
static

Definition at line 460 of file JetCorrectorParameters.cc.

References popcon2dropbox::copy(), gather_cfg::cout, insertMaterial::getSection(), recoMuon::in, input, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by JetCorrectorDBWriter::beginJob().

462 {
463  outputs.clear();
464  std::ifstream input( inputFile.c_str() );
465  while( !input.eof() ) {
466  char buff[10000];
467  input.getline(buff,10000);
468  std::string in(buff);
469  if ( in[0] == '[' ) {
470  std::string tok = getSection(in);
471  if ( tok != "" ) {
472  outputs.push_back( tok );
473  }
474  }
475  }
476  std::cout << "Found these sections for file: " << std::endl;
477  copy(outputs.begin(),outputs.end(), std::ostream_iterator<std::string>(std::cout, "\n") );
478 }
def copy(args, dbName)
static std::string const input
Definition: EdmProvDump.cc:44
def getSection(rootNode, name)
bool JetCorrectorParametersCollection::isL5 ( key_type  k)
static

Definition at line 566 of file JetCorrectorParameters.cc.

566  {
567  return k == L5Flavor ||
568  ( k / 100 > 0 && k / 1000 == 0 );
569 }
int k[5][pyjets_maxn]
bool JetCorrectorParametersCollection::isL7 ( key_type  k)
static

Definition at line 571 of file JetCorrectorParameters.cc.

571  {
572  return k == L7Parton ||
573  ( k / 1000 > 0 );
574 }
int k[5][pyjets_maxn]
JetCorrectorParameters const & JetCorrectorParametersCollection::operator[] ( key_type  k) const

Definition at line 503 of file JetCorrectorParameters.cc.

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

503  {
504  collection_type::const_iterator ibegin, iend, i;
505  if ( isL5(k) ) {
506  ibegin = correctionsL5_.begin();
507  iend = correctionsL5_.end();
508  i = ibegin;
509  } else if ( isL7(k) ) {
510  ibegin = correctionsL7_.begin();
511  iend = correctionsL7_.end();
512  i = ibegin;
513  } else {
514  ibegin = corrections_.begin();
515  iend = corrections_.end();
516  i = ibegin;
517  }
518  for ( ; i != iend; ++i ) {
519  if ( k == i->first ) return i->second;
520  }
521  throw cms::Exception("InvalidInput") << " cannot find key " << static_cast<int>(k)
522  << " in the JEC payload, this usually means you have to change the global tag" << std::endl;
523 }
int k[5][pyjets_maxn]
JetCorrectorParameters const& JetCorrectorParametersCollection::operator[] ( std::string const &  label) const
inline
void JetCorrectorParametersCollection::push_back ( key_type  i,
value_type const &  j,
label_type const &  flav = "" 
)

Definition at line 482 of file JetCorrectorParameters.cc.

References gather_cfg::cout, and pair_type.

Referenced by FFTJetCorrectionProducer::applyCorrections(), JetCorrectorDBWriter::beginJob(), pat::TauJetCorrFactorsProducer::params(), pat::JetCorrFactorsProducer::params(), reco::tautools::CastedRefProducer< DerivedCollection, BaseType >::produce(), and CombinationGenerator< T >::separateOneElement().

482  {
483  std::cout << "i = " << i << std::endl;
484  std::cout << "flav = " << flav << std::endl;
485  if ( isL5(i) ) {
486  std::cout << "This is L5, getL5Bin = " << getL5Bin(flav) << std::endl;
487  correctionsL5_.push_back( pair_type(getL5Bin(flav),j) );
488  }
489  else if ( isL7(i) ) {
490  std::cout << "This is L7, getL7Bin = " << getL7Bin(flav) << std::endl;
491  correctionsL7_.push_back( pair_type(getL7Bin(flav),j) );
492  }
493  else if ( flav == "" ) {
494  corrections_.push_back( pair_type(i,j) );
495  } else {
496  std::cout << "***** NOT ADDING " << flav << ", corresponding position in JetCorrectorParameters is not found." << std::endl;
497  }
498 }
std::pair< key_type, value_type > pair_type
static key_type getL5Bin(std::string const &flav)
static key_type getL7Bin(std::string const &flav)
template<class Archive >
void JetCorrectorParametersCollection::serialize ( Archive &  ar,
const unsigned int  version 
)
private
void JetCorrectorParametersCollection::validKeys ( std::vector< key_type > &  keys) const

Definition at line 527 of file JetCorrectorParameters.cc.

References mps_fire::i.

Referenced by JetCorrectorDBReader::analyze().

527  {
528  keys.clear();
529  for ( collection_type::const_iterator ibegin = corrections_.begin(),
530  iend = corrections_.end(), i = ibegin; i != iend; ++i ) {
531  keys.push_back( i->first );
532  }
533  for ( collection_type::const_iterator ibegin = correctionsL5_.begin(),
534  iend = correctionsL5_.end(), i = ibegin; i != iend; ++i ) {
535  keys.push_back( i->first );
536  }
537  for ( collection_type::const_iterator ibegin = correctionsL7_.begin(),
538  iend = correctionsL7_.end(), i = ibegin; i != iend; ++i ) {
539  keys.push_back( i->first );
540  }
541 }

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Definition at line 243 of file JetCorrectorParameters.h.

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

Definition at line 243 of file JetCorrectorParameters.h.

Definition at line 241 of file JetCorrectorParameters.h.

Member Data Documentation

collection_type JetCorrectorParametersCollection::corrections_
protected

Definition at line 233 of file JetCorrectorParameters.h.

collection_type JetCorrectorParametersCollection::correctionsL5_
protected

Definition at line 234 of file JetCorrectorParameters.h.

collection_type JetCorrectorParametersCollection::correctionsL7_
protected

Definition at line 235 of file JetCorrectorParameters.h.