CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter > Class Template Reference

#include <FFTJetCorrectorSequence.h>

Public Types

typedef InitialConverter< Jet >::result_type adjustable_type
 
typedef FFTJetCorrector< jet_type, adjustable_typeCorrector
 
typedef Jet jet_type
 
typedef FinalConverter< Jet >::result_type result_type
 

Public Member Functions

void addCorrector (const Corrector &c)
 
void clear ()
 
result_type correct (const Jet &jet, const bool isMC) const
 
 FFTJetCorrectorSequence ()
 
 FFTJetCorrectorSequence (const std::vector< Corrector > &s)
 
 FFTJetCorrectorSequence (const std::vector< Corrector > &s, const InitialConverter< Jet > &i, const FinalConverter< Jet > &f)
 
 FFTJetCorrectorSequence (const InitialConverter< Jet > &i, const FinalConverter< Jet > &f)
 
const std::vector< Corrector > & getCorrectors () const
 
unsigned nLevels () const
 
const Correctoroperator[] (const unsigned i) const
 

Private Attributes

FinalConverter< Jet > cfinal_
 
InitialConverter< Jet > cinit_
 
std::vector< Correctorsequence_
 

Detailed Description

template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
class FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >

Definition at line 37 of file FFTJetCorrectorSequence.h.

Member Typedef Documentation

template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
typedef InitialConverter<Jet>::result_type FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::adjustable_type

Definition at line 41 of file FFTJetCorrectorSequence.h.

template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
typedef FFTJetCorrector<jet_type, adjustable_type> FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::Corrector

Definition at line 43 of file FFTJetCorrectorSequence.h.

template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
typedef Jet FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::jet_type

Definition at line 40 of file FFTJetCorrectorSequence.h.

template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
typedef FinalConverter<Jet>::result_type FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::result_type

Definition at line 42 of file FFTJetCorrectorSequence.h.

Constructor & Destructor Documentation

template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::FFTJetCorrectorSequence ( )
inline

Definition at line 45 of file FFTJetCorrectorSequence.h.

45 {}
template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::FFTJetCorrectorSequence ( const std::vector< Corrector > &  s)
inline

Definition at line 47 of file FFTJetCorrectorSequence.h.

48  : sequence_(s) {}
std::vector< Corrector > sequence_
template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::FFTJetCorrectorSequence ( const std::vector< Corrector > &  s,
const InitialConverter< Jet > &  i,
const FinalConverter< Jet > &  f 
)
inline

Definition at line 50 of file FFTJetCorrectorSequence.h.

53  : sequence_(s), cinit_(i), cfinal_(f) {}
double f[11][100]
InitialConverter< Jet > cinit_
std::vector< Corrector > sequence_
FinalConverter< Jet > cfinal_
template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::FFTJetCorrectorSequence ( const InitialConverter< Jet > &  i,
const FinalConverter< Jet > &  f 
)
inline

Definition at line 55 of file FFTJetCorrectorSequence.h.

57  : cinit_(i), cfinal_(f) {}
double f[11][100]
InitialConverter< Jet > cinit_
FinalConverter< Jet > cfinal_

Member Function Documentation

template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
void FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::addCorrector ( const Corrector c)
inline
template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
void FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::clear ( void  )
inline
template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
result_type FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::correct ( const Jet &  jet,
const bool  isMC 
) const
inline

Definition at line 69 of file FFTJetCorrectorSequence.h.

References FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::cfinal_, FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::cinit_, plotBeamSpotDB::first, hcalDigis_cfi::level, FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::nLevels(), edm::second(), and FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::sequence_.

Referenced by KalmanMuonCorrector.KalmanMuonCorrector::correct_all(), and JetReCalibrator.JetReCalibrator::correctAll().

70  {
72  adjustable_type a2(a1);
73  adjustable_type* first = &a1;
74  adjustable_type* second = &a2;
75 
76  const unsigned nLevels = sequence_.size();
77  for (unsigned level=0; level<nLevels; ++level)
78  {
79  first = level % 2 ? &a2 : &a1;
80  second = level % 2 ? &a1 : &a2;
81  sequence_[level].correct(jet, isMC, *first, second);
82  }
83 
84  return cfinal_(jet, *second);
85  }
U second(std::pair< T, U > const &p)
InitialConverter< Jet > cinit_
std::vector< Corrector > sequence_
InitialConverter< Jet >::result_type adjustable_type
FinalConverter< Jet > cfinal_
template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
const std::vector<Corrector>& FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::getCorrectors ( ) const
inline
template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
unsigned FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::nLevels ( ) const
inline
template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
const Corrector& FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::operator[] ( const unsigned  i) const
inline

Member Data Documentation

template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
FinalConverter<Jet> FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::cfinal_
private
template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
InitialConverter<Jet> FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::cinit_
private
template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
std::vector<Corrector> FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::sequence_
private