1 #ifndef FWCore_Framework_SubProcess_h
2 #define FWCore_Framework_SubProcess_h
19 #include "boost/shared_ptr.hpp"
26 class BranchDescription;
27 class BranchIDListHelper;
28 class HistoryAppender;
31 class ProductRegistry;
32 class PreallocationConfiguration;
33 class ThinnedAssociationsHelper;
35 namespace eventsetup {
36 class EventSetupsController;
42 std::shared_ptr<ProductRegistry const> parentProductRegistry,
43 std::shared_ptr<BranchIDListHelper const> parentBranchIDListHelper,
60 std::map<BranchID, bool>& keepAssociation);
146 schedule_->postForkReacquireResources(iChildIndex, iNumberOfChildren);
224 std::map<BranchID, BranchDescription const*>& trueBranchIDToKeptBranchDesc,
225 std::set<BranchID>& keptProductsInEvent);
234 std::shared_ptr<ProductRegistry const>
preg_;
247 boost::shared_ptr<eventsetup::EventSetupProvider>
esp_;
unsigned int historyRunOffset_
unsigned int historyLumiOffset_
ParameterSetID selector_config_id_
void enableEndPaths(bool active)
void respondToOpenInputFile(FileBlock const &fb)
void doStreamEndLuminosityBlock(unsigned int iID, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts, bool cleaningUpAfterException)
std::vector< BranchIDList > BranchIDLists
void doBeginRun(RunPrincipal const &principal, IOVSyncValue const &ts)
void writeLumi(ProcessHistoryID const &parentPhID, int runNumber, int lumiNumber)
int totalEventsFailed() const
std::vector< ProcessHistoryRegistry > processHistoryRegistries_
std::auto_ptr< ParameterSet > popSubProcessParameterSet(ParameterSet ¶meterSet)
boost::shared_ptr< eventsetup::EventSetupProvider > esp_
void beginRun(RunPrincipal const &r, IOVSyncValue const &ts)
void updateBranchIDListHelper(BranchIDLists const &)
SelectedProductsForBranchType const & keptProducts() const
void doEndStream(unsigned int)
SubProcess & operator=(SubProcess const &)=delete
void doEvent(EventPrincipal const &principal)
void openOutputFiles(FileBlock &fb)
void postForkReacquireResources(unsigned int iChildIndex, unsigned int iNumberOfChildren)
void doBeginLuminosityBlock(LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts)
std::map< BranchID::value_type, BranchID::value_type > const & droppedBranchIDToKeptBranchID()
int totalEventsPassed() const
Return the number of events which have been passed by one or more trigger paths.
bool endPathsEnabled() const
Return true if end_paths are active, and false if they are inactive.
void openNewOutputFilesIfNeeded()
ServiceToken serviceToken_
void deleteRunFromCache(ProcessHistoryID const &parentPhID, int runNumber)
bool shouldWeCloseOutput() const
SelectedProductsForBranchType keptProducts_
void selectProducts(ProductRegistry const &preg, ThinnedAssociationsHelper const &parentThinnedAssociationsHelper, std::map< BranchID, bool > &keepAssociation)
void process(EventPrincipal const &e)
ProductSelectorRules productSelectorRules_
std::vector< ModuleDescription const * > getAllModuleDescriptions() const
Return a vector allowing const access to all the ModuleDescriptions for this SubProcess.
void keepThisBranch(BranchDescription const &desc, std::map< BranchID, BranchDescription const * > &trueBranchIDToKeptBranchDesc, std::set< BranchID > &keptProductsInEvent)
void beginLuminosityBlock(LuminosityBlockPrincipal const &lb, IOVSyncValue const &ts)
std::shared_ptr< BranchIDListHelper > branchIDListHelper_
void preForkReleaseResources()
std::unique_ptr< ExceptionToActionTable const > act_table_
void doEndRun(RunPrincipal const &principal, IOVSyncValue const &ts, bool cleaningUpAfterException)
std::map< BranchID::value_type, BranchID::value_type > droppedBranchIDToKeptBranchID_
ProductSelector productSelector_
boost::array< SelectedProducts, NumBranchTypes > SelectedProductsForBranchType
detail::TriggerResultsBasedEventSelector selectors_
void doStreamBeginLuminosityBlock(unsigned int iID, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts)
std::auto_ptr< Schedule > schedule_
void doStreamEndRun(unsigned int iID, RunPrincipal const &principal, IOVSyncValue const &ts, bool cleaningUpAfterException)
std::map< ProcessHistoryID, ProcessHistoryID > parentToChildPhID_
void respondToCloseInputFile(FileBlock const &fb)
void deleteLumiFromCache(ProcessHistoryID const &parentPhID, int runNumber, int lumiNumber)
void endRun(RunPrincipal const &r, IOVSyncValue const &ts, bool cleaningUpAfterException)
void getTriggerReport(TriggerReport &rep) const
std::vector< HistoryAppender > historyAppenders_
std::shared_ptr< ThinnedAssociationsHelper > thinnedAssociationsHelper_
void endLuminosityBlock(LuminosityBlockPrincipal const &lb, IOVSyncValue const &ts, bool cleaningUpAfterException)
std::unique_ptr< ParameterSet > processParameterSet_
void propagateProducts(BranchType type, Principal const &parentPrincipal, Principal &principal) const
void doBeginStream(unsigned int)
std::shared_ptr< ProductRegistry const > parentPreg_
void fixBranchIDListsForEDAliases(std::map< BranchID::value_type, BranchID::value_type > const &droppedBranchIDToKeptBranchID)
ProcessContext processContext_
void writeRun(ProcessHistoryID const &parentPhID, int runNumber)
SubProcess(ParameterSet ¶meterSet, ParameterSet const &topLevelParameterSet, std::shared_ptr< ProductRegistry const > parentProductRegistry, std::shared_ptr< BranchIDListHelper const > parentBranchIDListHelper, ThinnedAssociationsHelper const &parentThinnedAssociationsHelper, eventsetup::EventSetupsController &esController, ActivityRegistry &parentActReg, ServiceToken const &token, serviceregistry::ServiceLegacy iLegacy, PreallocationConfiguration const &preallocConfig, ProcessContext const *parentProcessContext)
std::auto_ptr< SubProcess > subProcess_
void clearCounters()
Clear all the counters in the trigger report.
std::shared_ptr< ProductRegistry const > preg_
PrincipalCache principalCache_
ParameterSet const & parameterSet(Provenance const &provenance)
void doStreamBeginRun(unsigned int iID, RunPrincipal const &principal, IOVSyncValue const &ts)
void doEndLuminosityBlock(LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts, bool cleaningUpAfterException)
std::shared_ptr< ProcessConfiguration const > processConfiguration_