#include <JetCorrectionServiceChain.h>
Public Member Functions | |
JetCorrectionServiceChain (const edm::ParameterSet &fParameters) | |
boost::shared_ptr< JetCorrector > | produce (const JetCorrectionsRecord &) |
void | setIntervalFor (const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue &, edm::ValidityInterval &fIOV) |
~JetCorrectionServiceChain () | |
Private Attributes | |
boost::shared_ptr< JetCorrector > | mChainCorrector |
std::vector< std::string > | mCorrectors |
Definition at line 21 of file JetCorrectionServiceChain.h.
JetCorrectionServiceChain::JetCorrectionServiceChain | ( | const edm::ParameterSet & | fParameters | ) |
Definition at line 18 of file JetCorrectionServiceChain.cc.
References Exception, spr::find(), edm::ParameterSet::getParameter(), label, mCorrectors, and edm::ESProducer::setWhatProduced().
: mCorrectors (fParameters.getParameter < vector<string> > ("correctors")), mChainCorrector (new ChainedJetCorrector ()) { string label(fParameters.getParameter<string>("@module_label")); if (std::find(mCorrectors.begin(),mCorrectors.end(),label)!=mCorrectors.end ()) { throw cms::Exception("Recursion is not allowed") <<"JetCorrectionServiceChain: corrector "<<label<<" is chained to itself"; } setWhatProduced (this, label); findingRecord <JetCorrectionsRecord> (); }
JetCorrectionServiceChain::~JetCorrectionServiceChain | ( | ) |
Definition at line 31 of file JetCorrectionServiceChain.cc.
{}
boost::shared_ptr< JetCorrector > JetCorrectionServiceChain::produce | ( | const JetCorrectionsRecord & | fRecord | ) |
Definition at line 33 of file JetCorrectionServiceChain.cc.
References ChainedJetCorrector::clear(), edm::eventsetup::EventSetupRecord::get(), patZpeak::handle, i, mChainCorrector, mCorrectors, and ChainedJetCorrector::push_back().
{ ChainedJetCorrector* corrector = dynamic_cast<ChainedJetCorrector*> (&*mChainCorrector); corrector->clear (); for (size_t i = 0; i < mCorrectors.size (); ++i) { edm::ESHandle <JetCorrector> handle; fRecord.get (mCorrectors[i], handle); corrector->push_back (&*handle); } return mChainCorrector; }
void JetCorrectionServiceChain::setIntervalFor | ( | const edm::eventsetup::EventSetupRecordKey & | , |
const edm::IOVSyncValue & | , | ||
edm::ValidityInterval & | fIOV | ||
) | [virtual] |
Implements edm::EventSetupRecordIntervalFinder.
Definition at line 44 of file JetCorrectionServiceChain.cc.
References edm::IOVSyncValue::beginOfTime(), and edm::IOVSyncValue::endOfTime().
{ fIOV = edm::ValidityInterval(edm::IOVSyncValue::beginOfTime(),edm::IOVSyncValue::endOfTime()); // anytime }
boost::shared_ptr<JetCorrector> JetCorrectionServiceChain::mChainCorrector [private] |
Definition at line 34 of file JetCorrectionServiceChain.h.
Referenced by produce().
std::vector<std::string> JetCorrectionServiceChain::mCorrectors [private] |
Definition at line 33 of file JetCorrectionServiceChain.h.
Referenced by JetCorrectionServiceChain(), and produce().