1 #ifndef FWCore_Framework_EventProcessor_h 2 #define FWCore_Framework_EventProcessor_h 42 class ExceptionToActionTable;
43 class BranchIDListHelper;
44 class ThinnedAssociationsHelper;
46 class HistoryAppender;
52 namespace eventsetup {
54 class EventSetupsController;
68 enum StatusCode { epSuccess=0, epException=1, epOther=2, epSignal=3,
69 epInputComplete=4, epTimedOut=5, epCountComplete=6 };
79 std::vector<std::string>
const& defaultServices = std::vector<std::string>(),
80 std::vector<std::string>
const& forcedServices = std::vector<std::string>());
85 std::vector<std::string>
const& defaultServices,
86 std::vector<std::string>
const& forcedServices = std::vector<std::string>());
124 std::vector<ModuleDescription const*>
125 getAllModuleDescriptions()
const;
132 int totalEvents()
const;
136 int totalEventsPassed()
const;
140 int totalEventsFailed()
const;
144 void enableEndPaths(
bool active);
148 bool endPathsEnabled()
const;
155 void clearCounters();
185 std::pair<edm::ProcessHistoryID, edm::RunNumber_t> nextRunID();
189 void closeInputFile(
bool cleaningUpAfterException);
190 void openOutputFiles();
191 void closeOutputFiles();
193 void respondToOpenInputFile();
194 void respondToCloseInputFile();
196 void startingNewLoop();
199 void prepareForNextLoop();
200 bool shouldWeCloseOutput()
const;
210 std::pair<ProcessHistoryID,RunNumber_t> readRun();
211 std::pair<ProcessHistoryID,RunNumber_t> readAndMergeRun();
212 int readLuminosityBlock();
213 int readAndMergeLumi();
219 bool shouldWeStop()
const;
222 void setExceptionMessageRuns(
std::string& message);
223 void setExceptionMessageLumis(
std::string& message);
225 bool setDeferredException(std::exception_ptr);
234 void init(std::shared_ptr<ProcessDesc>& processDesc,
238 bool readNextEventForStream(
unsigned int iStreamIndex,
239 std::atomic<bool>* finishedProcessingEvents);
241 void handleNextEventForStreamAsync(
WaitingTask* iTask,
242 unsigned int iStreamIndex,
243 std::atomic<bool>* finishedProcessingEvents);
247 void readEvent(
unsigned int iStreamIndex);
251 unsigned int iStreamIndex);
314 bool firstEventInBlock_=
true;
320 bool printDependencies_ =
false;
328 return runToCompletion();
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::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_
ServiceToken serviceToken_
std::atomic< bool > deferredExceptionPtrIsSet_
std::shared_ptr< ThinnedAssociationsHelper const > thinnedAssociationsHelper() const
std::string exceptionMessageLumis_
std::shared_ptr< ProductRegistry const > preg() const
ExcludedDataMap eventSetupDataToExcludeFromPrefetching_
InputSource::ItemType nextItemTypeFromProcessingEvents_
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()
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_
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_
PathsAndConsumesOfModules pathsAndConsumesOfModules_
bool asyncStopRequestedWhileProcessingEvents_
std::shared_ptr< ActivityRegistry > actReg_
edm::propagate_const< std::shared_ptr< BranchIDListHelper > > branchIDListHelper_
std::shared_ptr< ThinnedAssociationsHelper > & thinnedAssociationsHelper()
std::shared_ptr< EDLooperBase const > looper() const
PrincipalCache principalCache_