#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 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 () |
template<Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag tag) |
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 37 of file EDLooperBase.cc.
|
overridenoexcept |
Definition at line 43 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 183 of file EDLooperBase.cc.
|
privatevirtual |
Called after all event modules have processed the begin of a LuminosityBlock.
Reimplemented in AlignmentProducer.
Definition at line 180 of file EDLooperBase.cc.
Referenced by doBeginLuminosityBlock().
void EDLooperBase::beginOfJob | ( | EventSetupImpl const & | iImpl | ) |
Definition at line 94 of file EDLooperBase.cc.
References beginOfJob(), edm::BeginRun, edm::EDConsumerBase::esGetTokenIndices(), and moduleCallingContext_.
|
virtual |
Reimplemented in AlignmentProducer, and edmtest::DoodadEDLooper.
Definition at line 99 of file EDLooperBase.cc.
References beginOfJob().
|
virtual |
Reimplemented in ZeeCalibration, Pi0FixedMassWindowCalibration, __class__< T >, EcalEleCalibLooper, and InvRingCalib.
Definition at line 100 of file EDLooperBase.cc.
Referenced by beginOfJob().
|
privatevirtual |
Called after all event modules have processed the begin of a Run.
Reimplemented in FWFFLooper, AlignmentProducer, and edmtest::DoodadEDLooper.
Definition at line 178 of file EDLooperBase.cc.
Referenced by doBeginRun().
void EDLooperBase::copyInfo | ( | ScheduleInfo const & | iInfo | ) |
Definition at line 241 of file EDLooperBase.cc.
References scheduleInfo_.
void EDLooperBase::doBeginLuminosityBlock | ( | LuminosityBlockPrincipal & | iLB, |
EventSetupImpl const & | iES, | ||
ProcessContext * | processContext | ||
) |
Definition at line 137 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 104 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 47 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 157 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 79 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 121 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 | ( | ) |
Definition at line 45 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 194 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 181 of file EDLooperBase.cc.
Referenced by doEndLuminosityBlock().
|
virtual |
Reimplemented in MuScleFit, ZeeCalibration, Pi0FixedMassWindowCalibration, __class__< T >, EcalEleCalibLooper, InvRingCalib, and AlignmentProducer.
Definition at line 102 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, edmtest::DoodadEDLooper, 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 179 of file EDLooperBase.cc.
Referenced by doEndRun().
void EDLooperBase::esPrefetchAsync | ( | WaitingTaskHolder | iTask, |
EventSetupImpl const & | iImpl, | ||
Transition | iTrans, | ||
ServiceToken const & | iToken | ||
) | const |
Definition at line 211 of file EDLooperBase.cc.
References cms::cuda::assert(), edm::EDConsumerBase::esGetTokenIndicesVector(), edm::EDConsumerBase::esGetTokenRecordIndicesVector(), edm::EventSetupImpl::findImpl(), mps_fire::i, mps_monitormerge::items, moduleCallingContext_, edm::NumberOfEventSetupTransitions, and edm::eventsetup::EventSetupRecordImpl::prefetchAsync().
Referenced by prefetchAsync().
|
virtual |
Reimplemented in edm::ESProducerLooper.
Definition at line 237 of file EDLooperBase.cc.
Referenced by prepareForNextLoop().
|
protected |
This only returns a non-zero value during the call to endOfLoop.
Definition at line 244 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 185 of file EDLooperBase.cc.
References edPrefetchAsync(), esPrefetchAsync(), eostools::move(), and unpackBuffers-CaloStage2::token.
void EDLooperBase::prepareForNextLoop | ( | eventsetup::EventSetupProvider * | esp | ) |
Definition at line 86 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 245 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 242 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, AlignmentProducer, and edmtest::DoodadEDLooper.
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().