![]() |
![]() |
#include <EDLooperBase.h>
Public Types | |
enum | Status { kContinue, kStop } |
![]() | |
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... | |
![]() | |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
template<BranchType B = InEvent> | |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
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<Transition Tr = Transition::Event> | |
constexpr auto | esConsumes () noexcept |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag const &tag) |
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... | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
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.
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().
|
virtual |
Reimplemented in ZeeCalibration, Pi0FixedMassWindowCalibration, __class__< T >, EcalEleCalibLooper, and InvRingCalib.
Definition at line 105 of file EDLooperBase.cc.
Referenced by beginOfJob().
|
virtual |
Reimplemented in AlignmentProducer.
Definition at line 104 of file EDLooperBase.cc.
References beginOfJob().
void EDLooperBase::beginOfJob | ( | EventSetupImpl const & | iImpl | ) |
Definition at line 96 of file EDLooperBase.cc.
References beginOfJob(), edm::BeginRun, edm::EDConsumerBase::esGetTokenIndices(), and moduleCallingContext_.
|
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 | ) |
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_, writedatasetfile::run, and edm::RunPrincipal::run().
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_, writedatasetfile::action, duringLoop(), MillePedeFileConverter_cfg::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_, writedatasetfile::run, and edm::RunPrincipal::run().
void EDLooperBase::doStartingNewLoop | ( | ) |
|
privatepure virtual |
Called after all event modules have had a chance to process the Event.
Implemented in edm::NavigateEventsLooper, edm::EDLooper, and FWFFLooper.
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(), edm::ProductResolverIndexAmbiguous, and unpackBuffers-CaloStage2::token.
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 edm::NavigateEventsLooper, edm::IterateNTimesLooper, MuScleFit, FWFFLooper, ZeeCalibration, Pi0FixedMassWindowCalibration, AlignmentProducer, EcalEleCalibLooper, and InvRingCalib.
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(), TrackValidation_cff::task, 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(), eostools::move(), and unpackBuffers-CaloStage2::token.
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 |
void EDLooperBase::setModuleChanger | ( | ModuleChanger * | iChanger | ) |
|
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 FWFFLooper, __class__< T >, EcalEleCalibLooper, InvRingCalib, edm::IterateNTimesLooper, MuScleFit, ZeeCalibration, Pi0FixedMassWindowCalibration, AlignmentProducer, and edm::NavigateEventsLooper.
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().