#include <EDLooperBase.h>
Public Types | |
enum | Status { kContinue, kStop } |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Protected Member Functions | |
ModuleChanger * | moduleChanger () |
This only returns a non-zero value during the call to endOfLoop. More... | |
ScheduleInfo const * | scheduleInfo () const |
This returns a non-zero value after the constructor has been called. More... | |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
template<BranchType B = InEvent> | |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes () |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag const &tag) |
template<Transition Tr = Transition::Event> | |
constexpr auto | esConsumes () noexcept |
template<Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag tag) noexcept |
template<Transition Tr = Transition::Event> | |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
Used with EventSetupRecord::doGet. More... | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
void | resetItemsToGetFrom (BranchType iType) |
Private Member Functions | |
virtual void | beginLuminosityBlock (LuminosityBlock const &, EventSetup const &) |
Called after all event modules have processed the begin of a LuminosityBlock. More... | |
virtual void | beginRun (Run const &, EventSetup const &) |
Called after all event modules have processed the begin of a Run. More... | |
virtual Status | duringLoop (Event const &, EventSetup const &, ProcessingController &)=0 |
void | edPrefetchAsync (WaitingTaskHolder iTask, ServiceToken const &token, Principal const &iPrincipal) const |
virtual void | endLuminosityBlock (LuminosityBlock const &, EventSetup const &) |
Called after all event modules have processed the end of a LuminosityBlock. More... | |
virtual Status | endOfLoop (EventSetup const &, unsigned int iCounter)=0 |
virtual void | endRun (Run const &, EventSetup const &) |
Called after all event modules have processed the end of a Run. More... | |
virtual void | startingNewLoop (unsigned int)=0 |
Private Attributes | |
ExceptionToActionTable const * | act_table_ |
unsigned int | iCounter_ |
ModuleCallingContext | moduleCallingContext_ |
edm::propagate_const < ModuleChanger * > | moduleChanger_ |
ModuleDescription | moduleDescription_ |
edm::propagate_const < std::unique_ptr < ScheduleInfo > > | scheduleInfo_ |
Definition at line 80 of file EDLooperBase.h.
Enumerator | |
---|---|
kContinue | |
kStop |
Definition at line 82 of file EDLooperBase.h.
EDLooperBase::EDLooperBase | ( | ) |
Definition at line 39 of file EDLooperBase.cc.
|
overridenoexcept |
Definition at line 45 of file EDLooperBase.cc.
|
delete |
|
virtual |
Override this method if you need to monitor the state of the processing.
Reimplemented in FWFFLooper.
Definition at line 190 of file EDLooperBase.cc.
|
privatevirtual |
Called after all event modules have processed the begin of a LuminosityBlock.
Reimplemented in AlignmentProducer.
Definition at line 187 of file EDLooperBase.cc.
Referenced by doBeginLuminosityBlock().
void EDLooperBase::beginOfJob | ( | EventSetupImpl const & | iImpl | ) |
Definition at line 96 of file EDLooperBase.cc.
References beginOfJob(), edm::BeginRun, edm::EDConsumerBase::esGetTokenIndices(), and moduleCallingContext_.
|
virtual |
Reimplemented in AlignmentProducer.
Definition at line 104 of file EDLooperBase.cc.
References beginOfJob().
|
virtual |
Reimplemented in ZeeCalibration, Pi0FixedMassWindowCalibration, __class__< T >, EcalEleCalibLooper, and InvRingCalib.
Definition at line 105 of file EDLooperBase.cc.
Referenced by beginOfJob().
|
privatevirtual |
Called after all event modules have processed the begin of a Run.
Reimplemented in FWFFLooper, and AlignmentProducer.
Definition at line 185 of file EDLooperBase.cc.
Referenced by doBeginRun().
void EDLooperBase::copyInfo | ( | ScheduleInfo const & | iInfo | ) |
Definition at line 294 of file EDLooperBase.cc.
References scheduleInfo_.
void EDLooperBase::doBeginLuminosityBlock | ( | LuminosityBlockPrincipal & | iLB, |
EventSetupImpl const & | iES, | ||
ProcessContext * | processContext | ||
) |
Definition at line 142 of file EDLooperBase.cc.
References edm::BeginLuminosityBlock, beginLuminosityBlock(), edm::LuminosityBlockPrincipal::beginTime(), edm::EDConsumerBase::esGetTokenIndices(), edm::LuminosityBlockPrincipal::id(), edm::LuminosityBlockPrincipal::index(), edm::RunPrincipal::index(), edm::GlobalContext::kBeginLuminosityBlock, moduleCallingContext_, moduleDescription_, edm::LuminosityBlockPrincipal::runPrincipal(), and edm::LuminosityBlock::setConsumer().
void EDLooperBase::doBeginRun | ( | RunPrincipal & | iRP, |
EventSetupImpl const & | iES, | ||
ProcessContext * | processContext | ||
) |
Definition at line 109 of file EDLooperBase.cc.
References edm::BeginRun, beginRun(), edm::RunPrincipal::beginTime(), edm::EDConsumerBase::esGetTokenIndices(), edm::RunPrincipal::index(), edm::LuminosityBlockIndex::invalidLuminosityBlockIndex(), edm::GlobalContext::kBeginRun, moduleCallingContext_, moduleDescription_, edm::RunPrincipal::run(), submitPVValidationJobs::run, and edm::Run::setConsumer().
EDLooperBase::Status EDLooperBase::doDuringLoop | ( | edm::EventPrincipal & | eventPrincipal, |
EventSetupImpl const & | es, | ||
edm::ProcessingController & | ioController, | ||
StreamContext * | streamContext | ||
) |
Definition at line 49 of file EDLooperBase.cc.
References act_table_, mps_fire::action, cms::Exception::addContext(), cms::Exception::category(), duringLoop(), alignCSCRings::e, edm::EDConsumerBase::esGetTokenIndices(), edm::Event, edmPickEvents::event, edm::ExceptionToActionTable::find(), edm::EventPrincipal::id(), edm::LuminosityBlockPrincipal::index(), edm::RunPrincipal::index(), kContinue, edm::StreamContext::kEvent, edm::EventPrincipal::luminosityBlockPrincipal(), moduleCallingContext_, moduleDescription_, edm::printCmsExceptionWarning(), edm::exception_actions::Rethrow, edm::LuminosityBlockPrincipal::runPrincipal(), edm::StreamContext::setEventID(), edm::StreamContext::setLuminosityBlockIndex(), edm::StreamContext::setRunIndex(), edm::StreamContext::setTimestamp(), edm::StreamContext::setTransition(), mps_update::status, and edm::EventPrincipal::time().
void EDLooperBase::doEndLuminosityBlock | ( | LuminosityBlockPrincipal & | iLB, |
EventSetupImpl const & | iES, | ||
ProcessContext * | processContext | ||
) |
Definition at line 163 of file EDLooperBase.cc.
References edm::LuminosityBlockPrincipal::beginTime(), edm::EndLuminosityBlock, endLuminosityBlock(), edm::EDConsumerBase::esGetTokenIndices(), edm::LuminosityBlockPrincipal::id(), edm::LuminosityBlockPrincipal::index(), edm::RunPrincipal::index(), edm::GlobalContext::kEndLuminosityBlock, moduleCallingContext_, moduleDescription_, edm::LuminosityBlockPrincipal::runPrincipal(), and edm::LuminosityBlock::setConsumer().
EDLooperBase::Status EDLooperBase::doEndOfLoop | ( | EventSetupImpl const & | es | ) |
Definition at line 81 of file EDLooperBase.cc.
References endOfLoop(), edm::EndRun, edm::EDConsumerBase::esGetTokenIndices(), iCounter_, and moduleCallingContext_.
void EDLooperBase::doEndRun | ( | RunPrincipal & | iRP, |
EventSetupImpl const & | iES, | ||
ProcessContext * | processContext | ||
) |
Definition at line 126 of file EDLooperBase.cc.
References edm::EndRun, endRun(), edm::RunPrincipal::endTime(), edm::EDConsumerBase::esGetTokenIndices(), edm::RunPrincipal::index(), edm::LuminosityBlockIndex::invalidLuminosityBlockIndex(), edm::GlobalContext::kEndRun, moduleCallingContext_, moduleDescription_, edm::RunPrincipal::run(), submitPVValidationJobs::run, and edm::Run::setConsumer().
void EDLooperBase::doStartingNewLoop | ( | ) |
Definition at line 47 of file EDLooperBase.cc.
References iCounter_, and startingNewLoop().
|
privatepure virtual |
Called after all event modules have had a chance to process the Event.
Implemented in FWFFLooper, edm::EDLooper, and edm::NavigateEventsLooper.
Referenced by doDuringLoop().
|
private |
Definition at line 201 of file EDLooperBase.cc.
References edm::Principal::branchType(), B2GTnPMonitor_cfi::item, mps_monitormerge::items, edm::EDConsumerBase::itemsToGetFrom(), moduleCallingContext_, edm::Principal::prefetchAsync(), and edm::ProductResolverIndexAmbiguous.
Referenced by prefetchAsync().
|
privatevirtual |
Called after all event modules have processed the end of a LuminosityBlock.
Reimplemented in AlignmentProducer.
Definition at line 188 of file EDLooperBase.cc.
Referenced by doEndLuminosityBlock().
|
virtual |
Reimplemented in MuScleFit, ZeeCalibration, Pi0FixedMassWindowCalibration, __class__< T >, EcalEleCalibLooper, InvRingCalib, and AlignmentProducer.
Definition at line 107 of file EDLooperBase.cc.
Referenced by edm::EventProcessor::endJob().
|
privatepure virtual |
Called after the system has finished one loop over the events. Thar argument is a count of how many loops have been processed before this loo. For the first time through the events the argument will be 0.
Implemented in MuScleFit, ZeeCalibration, FWFFLooper, Pi0FixedMassWindowCalibration, EcalEleCalibLooper, InvRingCalib, edm::NavigateEventsLooper, AlignmentProducer, and edm::IterateNTimesLooper.
Referenced by doEndOfLoop().
|
privatevirtual |
Called after all event modules have processed the end of a Run.
Reimplemented in AlignmentProducer.
Definition at line 186 of file EDLooperBase.cc.
Referenced by doEndRun().
void EDLooperBase::esPrefetchAsync | ( | WaitingTaskHolder | iTask, |
EventSetupImpl const & | iImpl, | ||
Transition | iTrans, | ||
ServiceToken const & | iToken | ||
) | const |
Definition at line 218 of file EDLooperBase.cc.
References cms::cuda::assert(), edm::EDConsumerBase::esGetTokenIndicesVector(), edm::EDConsumerBase::esGetTokenRecordIndicesVector(), edm::EventSetupImpl::findImpl(), edm::WaitingTaskHolder::group(), watchdog::group, mps_fire::i, mps_monitormerge::items, edm::ServiceWeakToken::lock(), edm::make_waiting_task(), moduleCallingContext_, eostools::move(), edm::NumberOfEventSetupTransitions, edm::eventsetup::EventSetupRecordImpl::prefetchAsync(), edm::syncWait(), edm::EventSetupImpl::taskArena(), unpackBuffers-CaloStage2::token, and UNLIKELY.
Referenced by prefetchAsync().
|
virtual |
Reimplemented in edm::ESProducerLooper.
Definition at line 290 of file EDLooperBase.cc.
Referenced by prepareForNextLoop().
|
protected |
This only returns a non-zero value during the call to endOfLoop.
Definition at line 297 of file EDLooperBase.cc.
References moduleChanger_.
Referenced by FWFFLooper::endOfLoop().
|
delete |
void EDLooperBase::prefetchAsync | ( | WaitingTaskHolder | iTask, |
ServiceToken const & | token, | ||
Transition | iTrans, | ||
Principal const & | iPrincipal, | ||
EventSetupImpl const & | iImpl | ||
) | const |
Definition at line 192 of file EDLooperBase.cc.
References edPrefetchAsync(), esPrefetchAsync(), and eostools::move().
void EDLooperBase::prepareForNextLoop | ( | eventsetup::EventSetupProvider * | esp | ) |
Definition at line 88 of file EDLooperBase.cc.
References edm::for_all(), iCounter_, relativeConstraints::keys, modifyingRecords(), and edm::eventsetup::EventSetupProvider::resetRecordPlusDependentRecords().
|
protected |
This returns a non-zero value after the constructor has been called.
Definition at line 298 of file EDLooperBase.cc.
References scheduleInfo_.
Referenced by FWFFLooper::startingNewLoop().
|
inline |
Definition at line 120 of file EDLooperBase.h.
References act_table_.
void EDLooperBase::setModuleChanger | ( | ModuleChanger * | iChanger | ) |
Definition at line 295 of file EDLooperBase.cc.
References moduleChanger_.
|
privatepure virtual |
Called before system starts to loop over the events. The argument is a count of how many loops have been processed. For the first time through the events the argument will be 0.
Implemented in MuScleFit, ZeeCalibration, FWFFLooper, Pi0FixedMassWindowCalibration, __class__< T >, EcalEleCalibLooper, InvRingCalib, edm::NavigateEventsLooper, edm::IterateNTimesLooper, and AlignmentProducer.
Referenced by doStartingNewLoop().
|
private |
Definition at line 165 of file EDLooperBase.h.
Referenced by doDuringLoop(), and setActionTable().
|
private |
Definition at line 164 of file EDLooperBase.h.
Referenced by doEndOfLoop(), doStartingNewLoop(), and prepareForNextLoop().
|
private |
Definition at line 171 of file EDLooperBase.h.
Referenced by beginOfJob(), doBeginLuminosityBlock(), doBeginRun(), doDuringLoop(), doEndLuminosityBlock(), doEndOfLoop(), doEndRun(), edPrefetchAsync(), and esPrefetchAsync().
|
private |
Definition at line 168 of file EDLooperBase.h.
Referenced by moduleChanger(), and setModuleChanger().
|
private |
Definition at line 170 of file EDLooperBase.h.
Referenced by doBeginLuminosityBlock(), doBeginRun(), doDuringLoop(), doEndLuminosityBlock(), and doEndRun().
|
private |
Definition at line 167 of file EDLooperBase.h.
Referenced by copyInfo(), and scheduleInfo().