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 {
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>());
134 std::vector<ModuleDescription const*> getAllModuleDescriptions()
const;
141 int totalEvents()
const;
145 int totalEventsPassed()
const;
149 int totalEventsFailed()
const;
153 void enableEndPaths(
bool active);
157 bool endPathsEnabled()
const;
164 void clearCounters();
195 if (deferredExceptionPtrIsSet_) {
198 return lastSourceTransition_;
200 std::pair<edm::ProcessHistoryID, edm::RunNumber_t> nextRunID();
204 void closeInputFile(
bool cleaningUpAfterException);
205 void openOutputFiles();
206 void closeOutputFiles();
208 void respondToOpenInputFile();
209 void respondToCloseInputFile();
211 void startingNewLoop();
214 void prepareForNextLoop();
215 bool shouldWeCloseOutput()
const;
221 bool& globalBeginSucceeded,
222 bool& eventSetupForInstanceSucceeded);
226 bool globalBeginSucceeded,
227 bool cleaningUpAfterException,
228 bool eventSetupForInstanceSucceeded);
231 void endUnfinishedLumi();
234 std::shared_ptr<void>
const& iRunResource,
238 void handleEndLumiExceptions(std::exception_ptr
const* iPtr,
WaitingTaskHolder& holder);
239 void globalEndLumiAsync(
edm::WaitingTaskHolder iTask, std::shared_ptr<LuminosityBlockProcessingStatus> iLumiStatus);
241 unsigned int iStreamIndex,
242 std::shared_ptr<LuminosityBlockProcessingStatus> iLumiStatus);
243 std::pair<ProcessHistoryID, RunNumber_t> readRun();
244 std::pair<ProcessHistoryID, RunNumber_t> readAndMergeRun();
255 bool shouldWeStop()
const;
257 void setExceptionMessageFiles(
std::string& message);
258 void setExceptionMessageRuns(
std::string& message);
259 void setExceptionMessageLumis();
261 bool setDeferredException(std::exception_ptr);
272 void handleNextEventForStreamAsync(
WaitingTaskHolder iTask,
unsigned int iStreamIndex);
275 void readEvent(
unsigned int iStreamIndex);
280 void processEventAsyncImpl(
WaitingTaskHolder iHolder,
unsigned int iStreamIndex);
302 void warnAboutModulesRequiringLuminosityBLockSynchronization()
const;
329 std::atomic<unsigned int> streamLumiActive_{0};
358 bool firstEventInBlock_ =
true;
364 bool printDependencies_ =
false;
std::atomic< bool > exceptionMessageLumis_
ProcessContext processContext_
SharedResourcesAcquirer sourceResourcesAcquirer_
edm::propagate_const< std::unique_ptr< InputSource > > input_
std::unique_ptr< ExceptionToActionTable const > act_table_
ProcessConfiguration const & processConfiguration() const
edm::propagate_const< std::unique_ptr< HistoryAppender > > historyAppender_
std::unique_ptr< edm::LimitedTaskQueue > lumiQueue_
std::shared_ptr< BranchIDListHelper const > branchIDListHelper() const
edm::propagate_const< std::shared_ptr< ProductRegistry > > preg_
std::set< std::pair< std::string, std::string > > ExcludedData
std::string exceptionMessageRuns_
PreallocationConfiguration preallocations_
unsigned int LuminosityBlockNumber_t
std::vector< SubProcess > subProcesses_
MergeableRunProductProcesses mergeableRunProductProcesses_
ServiceToken serviceToken_
std::atomic< bool > deferredExceptionPtrIsSet_
std::shared_ptr< ThinnedAssociationsHelper const > thinnedAssociationsHelper() const
std::shared_ptr< ProductRegistry const > preg() const
std::vector< edm::SerialTaskQueue > streamQueues_
InputSource::ItemType lastTransitionType() const
ExcludedDataMap eventSetupDataToExcludeFromPrefetching_
edm::propagate_const< std::shared_ptr< EDLooperBase > > looper_
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
std::shared_ptr< ProcessConfiguration const > processConfiguration_
std::shared_ptr< std::recursive_mutex > sourceMutex_
std::string exceptionMessageFiles_
std::shared_ptr< BranchIDListHelper > & branchIDListHelper()
std::shared_ptr< EDLooperBase > & looper()
InputSource::ItemType lastSourceTransition_
StatusCode asyncStopStatusCodeFromProcessingEvents_
edm::propagate_const< std::unique_ptr< FileBlock > > fb_
std::map< std::string, ExcludedData > ExcludedDataMap
edm::propagate_const< std::unique_ptr< eventsetup::EventSetupsController > > espController_
bool forceESCacheClearOnNewRun_
std::vector< std::shared_ptr< LuminosityBlockProcessingStatus > > streamLumiStatus_
edm::propagate_const< std::shared_ptr< ThinnedAssociationsHelper > > thinnedAssociationsHelper_
std::shared_ptr< ProductRegistry > & preg()
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
std::exception_ptr deferredExceptionPtr_
edm::SerialTaskQueue iovQueue_
PathsAndConsumesOfModules pathsAndConsumesOfModules_
bool asyncStopRequestedWhileProcessingEvents_
std::shared_ptr< ActivityRegistry > actReg_
edm::propagate_const< std::shared_ptr< BranchIDListHelper > > branchIDListHelper_
std::shared_ptr< ThinnedAssociationsHelper > & thinnedAssociationsHelper()
ParameterSet const & parameterSet(Provenance const &provenance)
std::shared_ptr< EDLooperBase const > looper() const
PrincipalCache principalCache_