|
|
Go to the documentation of this file. 1 #ifndef FWCore_Framework_EventProcessor_h
2 #define FWCore_Framework_EventProcessor_h
46 class ExceptionToActionTable;
47 class BranchIDListHelper;
48 class MergeableRunProductMetadata;
49 class ThinnedAssociationsHelper;
51 class HistoryAppender;
55 class LuminosityBlockPrincipal;
59 namespace eventsetup {
60 class EventSetupProvider;
61 class EventSetupsController;
92 std::vector<std::string>
const& defaultServices = std::vector<std::string>(),
93 std::vector<std::string>
const& forcedServices = std::vector<std::string>());
98 std::vector<std::string>
const& defaultServices,
99 std::vector<std::string>
const& forcedServices = std::vector<std::string>());
198 std::pair<edm::ProcessHistoryID, edm::RunNumber_t>
nextRunID();
220 void endProcessBlock(
bool cleaningUpAfterException,
bool beginProcessBlockSucceeded);
224 bool& globalBeginSucceeded,
225 bool& eventSetupForInstanceSucceeded);
229 bool globalBeginSucceeded,
230 bool cleaningUpAfterException,
231 bool eventSetupForInstanceSucceeded);
237 std::shared_ptr<void>
const& iRunResource,
244 std::pair<ProcessHistoryID, RunNumber_t>
readRun();
278 void readEvent(
unsigned int iStreamIndex);
void deleteRunFromCache(ProcessHistoryID const &phid, RunNumber_t run)
edm::propagate_const< std::unique_ptr< HistoryAppender > > historyAppender_
std::shared_ptr< ThinnedAssociationsHelper const > thinnedAssociationsHelper() const
ExcludedDataMap eventSetupDataToExcludeFromPrefetching_
void respondToCloseInputFile()
int totalEventsPassed() const
edm::propagate_const< std::shared_ptr< ProductRegistry > > preg_
std::pair< ProcessHistoryID, RunNumber_t > readRun()
bool shouldWeCloseOutput() const
void writeRunAsync(WaitingTaskHolder, ProcessHistoryID const &phid, RunNumber_t run, MergeableRunProductMetadata const *)
edm::propagate_const< std::unique_ptr< InputSource > > input_
ProcessConfiguration const & processConfiguration() const
void deleteLumiFromCache(LuminosityBlockProcessingStatus &)
void globalEndLumiAsync(edm::WaitingTaskHolder iTask, std::shared_ptr< LuminosityBlockProcessingStatus > iLumiStatus)
StatusCode runToCompletion()
std::pair< ProcessHistoryID, RunNumber_t > readAndMergeRun()
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
void readEvent(unsigned int iStreamIndex)
InputSource::ItemType processLumis(std::shared_ptr< void > const &iRunResource)
void beginRun(ProcessHistoryID const &phid, RunNumber_t run, bool &globalBeginSucceeded, bool &eventSetupForInstanceSucceeded)
void enableEndPaths(bool active)
void endUnfinishedRun(ProcessHistoryID const &phid, RunNumber_t run, bool globalBeginSucceeded, bool cleaningUpAfterException, bool eventSetupForInstanceSucceeded)
std::shared_ptr< BranchIDListHelper > & branchIDListHelper()
std::exception_ptr deferredExceptionPtr_
std::unique_ptr< edm::LimitedTaskQueue > lumiQueue_
constexpr std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
ProcessContext processContext_
InputSource::ItemType lastSourceTransition_
PathsAndConsumesOfModules pathsAndConsumesOfModules_
std::string exceptionMessageFiles_
unsigned int LuminosityBlockNumber_t
bool asyncStopRequestedWhileProcessingEvents_
int totalEventsFailed() const
std::shared_ptr< ThinnedAssociationsHelper > & thinnedAssociationsHelper()
void setExceptionMessageRuns(std::string &message)
void setExceptionMessageFiles(std::string &message)
ParameterSet const & parameterSet(StableProvenance const &provenance, ProcessHistory const &history)
void processEventAsyncImpl(WaitingTaskHolder iHolder, unsigned int iStreamIndex)
void endProcessBlock(bool cleaningUpAfterException, bool beginProcessBlockSucceeded)
void inputProcessBlocks()
std::atomic< bool > exceptionMessageLumis_
int readAndMergeLumi(LuminosityBlockProcessingStatus &)
edm::SerialTaskQueue queueWhichWaitsForIOVsToFinish_
EventProcessor(std::unique_ptr< ParameterSet > parameterSet, ServiceToken const &token=ServiceToken(), serviceregistry::ServiceLegacy=serviceregistry::kOverlapIsError, std::vector< std::string > const &defaultServices=std::vector< std::string >(), std::vector< std::string > const &forcedServices=std::vector< std::string >())
std::vector< ModuleDescription const * > getAllModuleDescriptions() const
bool endPathsEnabled() const
std::vector< edm::SerialTaskQueue > streamQueues_
void readLuminosityBlock(LuminosityBlockProcessingStatus &)
std::shared_ptr< std::recursive_mutex > sourceMutex_
void clearCounters()
Clears counters used by trigger report.
void writeProcessBlockAsync(WaitingTaskHolder, ProcessBlockType)
void warnAboutModulesRequiringLuminosityBLockSynchronization() const
std::set< std::pair< std::string, std::string > > ExcludedData
std::shared_ptr< ActivityRegistry > actReg_
std::string exceptionMessageRuns_
PreallocationConfiguration preallocations_
std::unique_ptr< ExceptionToActionTable const > act_table_
bool deleteNonConsumedUnscheduledModules_
void beginLumiAsync(edm::IOVSyncValue const &iSyncValue, std::shared_ptr< void > const &iRunResource, edm::WaitingTaskHolder iHolder)
edm::propagate_const< std::unique_ptr< eventsetup::EventSetupsController > > espController_
std::vector< std::shared_ptr< LuminosityBlockProcessingStatus > > streamLumiStatus_
void streamEndLumiAsync(edm::WaitingTaskHolder iTask, unsigned int iStreamIndex)
std::shared_ptr< ProductRegistry > & preg()
ServiceToken serviceToken_
InputSource::ItemType lastTransitionType() const
edm::propagate_const< std::shared_ptr< ThinnedAssociationsHelper > > thinnedAssociationsHelper_
bool readNextEventForStream(unsigned int iStreamIndex, LuminosityBlockProcessingStatus &iLumiStatus)
edm::propagate_const< std::unique_ptr< FileBlock > > fb_
std::atomic< unsigned int > streamLumiActive_
MergeableRunProductProcesses mergeableRunProductProcesses_
EventProcessor & operator=(EventProcessor const &)=delete
StatusCode asyncStopStatusCodeFromProcessingEvents_
edm::propagate_const< std::shared_ptr< EDLooperBase > > looper_
SharedResourcesAcquirer sourceResourcesAcquirer_
bool setDeferredException(std::exception_ptr)
void continueLumiAsync(edm::WaitingTaskHolder iHolder)
void beginProcessBlock(bool &beginProcessBlockSucceeded)
void closeInputFile(bool cleaningUpAfterException)
tbb::task_group taskGroup_
PrincipalCache principalCache_
std::shared_ptr< BranchIDListHelper const > branchIDListHelper() const
std::shared_ptr< EDLooperBase > & looper()
std::atomic< bool > deferredExceptionPtrIsSet_
std::shared_ptr< ProcessConfiguration const > processConfiguration_
void handleEndLumiExceptions(std::exception_ptr const *iPtr, WaitingTaskHolder &holder)
void processEventWithLooper(EventPrincipal &, unsigned int iStreamIndex)
void endRun(ProcessHistoryID const &phid, RunNumber_t run, bool globalBeginSucceeded, bool cleaningUpAfterException)
void setExceptionMessageLumis()
std::shared_ptr< EDLooperBase const > looper() const
edm::LuminosityBlockNumber_t nextLuminosityBlockID()
std::vector< SubProcess > subProcesses_
InputSource::ItemType nextTransitionType()
void prepareForNextLoop()
void init(std::shared_ptr< ProcessDesc > &processDesc, ServiceToken const &token, serviceregistry::ServiceLegacy)
void respondToOpenInputFile()
void processEventAsync(WaitingTaskHolder iHolder, unsigned int iStreamIndex)
bool shouldWeStop() const
std::shared_ptr< ProductRegistry const > preg() const
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
void writeLumiAsync(WaitingTaskHolder, LuminosityBlockPrincipal &lumiPrincipal)
std::pair< edm::ProcessHistoryID, edm::RunNumber_t > nextRunID()
void handleNextEventForStreamAsync(WaitingTaskHolder iTask, unsigned int iStreamIndex)
edm::propagate_const< std::shared_ptr< BranchIDListHelper > > branchIDListHelper_
std::map< std::string, ExcludedData > ExcludedDataMap
bool checkForAsyncStopRequest(StatusCode &)
bool forceESCacheClearOnNewRun_