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 32 of file FFTJetCorrectorSequence.h.

Member Typedef Documentation

◆ adjustable_type

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 35 of file FFTJetCorrectorSequence.h.

◆ Corrector

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 37 of file FFTJetCorrectorSequence.h.

◆ jet_type

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

Definition at line 34 of file FFTJetCorrectorSequence.h.

◆ result_type

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 36 of file FFTJetCorrectorSequence.h.

Constructor & Destructor Documentation

◆ FFTJetCorrectorSequence() [1/4]

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

Definition at line 39 of file FFTJetCorrectorSequence.h.

39 {}

◆ FFTJetCorrectorSequence() [2/4]

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 41 of file FFTJetCorrectorSequence.h.

41 : sequence_(s) {}
std::vector< Corrector > sequence_

◆ FFTJetCorrectorSequence() [3/4]

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 43 of file FFTJetCorrectorSequence.h.

46  : sequence_(s), cinit_(i), cfinal_(f) {}
double f[11][100]
InitialConverter< Jet > cinit_
std::vector< Corrector > sequence_
FinalConverter< Jet > cfinal_

◆ FFTJetCorrectorSequence() [4/4]

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 48 of file FFTJetCorrectorSequence.h.

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

Member Function Documentation

◆ addCorrector()

template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
void FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::addCorrector ( const Corrector c)
inline

◆ clear()

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

◆ correct()

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 59 of file FFTJetCorrectorSequence.h.

References testProducerWithPsetDescEmpty_cfi::a2, FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::cfinal_, FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::cinit_, first, PV_cfg::isMC, metsig::jet, personalPlayback::level, FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::nLevels(), edm::second(), and FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::sequence_.

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

59  {
61  adjustable_type a2(a1);
62  adjustable_type* first = &a1;
64 
65  const unsigned nLevels = sequence_.size();
66  for (unsigned level = 0; level < nLevels; ++level) {
67  first = level % 2 ? &a2 : &a1;
68  second = level % 2 ? &a1 : &a2;
69  sequence_[level].correct(jet, isMC, *first, second);
70  }
71 
72  return cfinal_(jet, *second);
73  }
U second(std::pair< T, U > const &p)
dictionary isMC
Definition: PV_cfg.py:29
InitialConverter< Jet > cinit_
std::vector< Corrector > sequence_
InitialConverter< Jet >::result_type adjustable_type
FinalConverter< Jet > cfinal_

◆ getCorrectors()

template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
const std::vector<Corrector>& FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::getCorrectors ( ) const
inline

◆ nLevels()

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

◆ operator[]()

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

◆ cfinal_

template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
FinalConverter<Jet> FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::cfinal_
private

◆ cinit_

template<class Jet, template< class > class InitialConverter, template< class > class FinalConverter>
InitialConverter<Jet> FFTJetCorrectorSequence< Jet, InitialConverter, FinalConverter >::cinit_
private

◆ sequence_

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