Go to the source code of this file.
◆ buildCorrectorSequence()
template<class CorrectorSequence >
static void buildCorrectorSequence |
( |
const FFTJetCorrectorParameters & |
tablePars, |
|
|
const std::vector< edm::ParameterSet > & |
sequence, |
|
|
const bool |
isArchiveCompressed, |
|
|
const bool |
verbose, |
|
|
CorrectorSequence * |
ptr |
|
) |
| |
|
static |
Definition at line 54 of file FFTJetCorrectionESProducer.h.
References Exception, personalPlayback::level, FFTJetCorrectorParameters::str(), and verbose.
59 typedef typename CorrectorSequence::Corrector Corrector;
60 typedef typename CorrectorSequence::jet_type jet_type;
63 CPP11_auto_ptr<gs::StringArchive> ar;
65 std::istringstream is(tablePars.
str());
66 if (isArchiveCompressed)
67 ar = gs::read_compressed_item<gs::StringArchive>(is);
69 ar = gs::read_item<gs::StringArchive>(is);
77 const unsigned nLevels = sequence.size();
78 for (
unsigned lev = 0; lev < nLevels; ++lev)
79 ptr->addCorrector(parseFFTJetCorrector<Corrector>(sequence[lev], *ar,
verbose));
83 unsigned previousLevel = 0;
84 for (
unsigned lev = 0; lev < nLevels; ++lev) {
85 const unsigned level = (*ptr)[lev].level();
87 if (
level <= previousLevel)
88 throw cms::Exception(
"FFTJetBadConfig") <<
"Error in buildCorrectorSequence: " 89 <<
"correction levels are out of order\n";
90 previousLevel =
level;
const std::string & str() const