1 #ifndef FWCore_Framework_EventProcessor_h 2 #define FWCore_Framework_EventProcessor_h 42 class ExceptionToActionTable;
43 class BranchIDListHelper;
44 class ThinnedAssociationsHelper;
46 class HistoryAppender;
51 namespace eventsetup {
53 class EventSetupsController;
67 enum StatusCode { epSuccess=0, epException=1, epOther=2, epSignal=3,
68 epInputComplete=4, epTimedOut=5, epCountComplete=6 };
78 std::vector<std::string>
const& defaultServices = std::vector<std::string>(),
79 std::vector<std::string>
const& forcedServices = std::vector<std::string>());
84 std::vector<std::string>
const& defaultServices,
85 std::vector<std::string>
const& forcedServices = std::vector<std::string>());
123 std::vector<ModuleDescription const*>
124 getAllModuleDescriptions()
const;
131 int totalEvents()
const;
135 int totalEventsPassed()
const;
139 int totalEventsFailed()
const;
143 void enableEndPaths(
bool active);
147 bool endPathsEnabled()
const;
154 void clearCounters();
184 std::pair<edm::ProcessHistoryID, edm::RunNumber_t> nextRunID();
188 void closeInputFile(
bool cleaningUpAfterException);
189 void openOutputFiles();
190 void closeOutputFiles();
192 void respondToOpenInputFile();
193 void respondToCloseInputFile();
195 void startingNewLoop();
198 void prepareForNextLoop();
199 bool shouldWeCloseOutput()
const;
209 std::pair<ProcessHistoryID,RunNumber_t> readRun();
210 std::pair<ProcessHistoryID,RunNumber_t> readAndMergeRun();
211 int readLuminosityBlock();
212 int readAndMergeLumi();
218 bool shouldWeStop()
const;
221 void setExceptionMessageRuns(
std::string& message);
222 void setExceptionMessageLumis(
std::string& message);
224 bool setDeferredException(std::exception_ptr);
233 void init(std::shared_ptr<ProcessDesc>& processDesc,
237 bool readNextEventForStream(
unsigned int iStreamIndex,
238 std::atomic<bool>* finishedProcessingEvents);
241 unsigned int iStreamIndex,
242 std::atomic<bool>* finishedProcessingEvents);
246 void readEvent(
unsigned int iStreamIndex);
250 unsigned int iStreamIndex);
253 unsigned int iStreamIndex);
316 bool firstEventInBlock_=
true;
322 bool printDependencies_ =
false;
330 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
std::atomic< InputSource::ItemType > nextItemTypeFromProcessingEvents_
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()
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_