|
|
Go to the documentation of this file. 1 #ifndef FWCore_Framework_SubProcess_h
2 #define FWCore_Framework_SubProcess_h
30 class BranchDescription;
31 class BranchIDListHelper;
33 class HistoryAppender;
35 class MergeableRunProductMetadata;
37 class ProductRegistry;
38 class PreallocationConfiguration;
39 class ThinnedAssociationsHelper;
40 class SubProcessParentageHelper;
43 namespace eventsetup {
44 class EventSetupsController;
50 std::shared_ptr<ProductRegistry const> parentProductRegistry,
51 std::shared_ptr<BranchIDListHelper const> parentBranchIDListHelper,
71 std::map<BranchID, bool>& keepAssociation);
80 std::vector<std::shared_ptr<const EventSetupImpl>>
const*);
85 std::vector<std::shared_ptr<const EventSetupImpl>>
const*);
90 std::vector<std::shared_ptr<const EventSetupImpl>>
const*,
91 bool cleaningUpAfterException);
96 std::vector<std::shared_ptr<const EventSetupImpl>>
const*);
101 std::vector<std::shared_ptr<const EventSetupImpl>>
const*,
102 bool cleaningUpAfterException);
110 std::vector<std::shared_ptr<const EventSetupImpl>>
const*);
116 std::vector<std::shared_ptr<const EventSetupImpl>>
const*,
117 bool cleaningUpAfterException);
123 std::vector<std::shared_ptr<const EventSetupImpl>>
const*);
129 std::vector<std::shared_ptr<const EventSetupImpl>>
const*,
130 bool cleaningUpAfterException);
178 if (subProcess.shouldWeCloseOutput()) {
239 if (subProcess.terminate()) {
258 std::vector<std::shared_ptr<const EventSetupImpl>>
const*);
268 std::map<BranchID, BranchDescription const*>& trueBranchIDToKeptBranchDesc,
269 std::set<BranchID>& keptProductsInEvent);
289 std::shared_ptr<ProductRegistry const>
preg_;
void enableEndPaths(bool active)
void respondToOpenInputFile(FileBlock const &fb)
std::shared_ptr< ProcessConfiguration const > processConfiguration_
unsigned int historyRunOffset_
unsigned int historyLumiOffset_
ParameterSetID selector_config_id_
std::vector< ParameterSet > popSubProcessVParameterSet(ParameterSet ¶meterSet)
std::vector< ProcessHistoryRegistry > processHistoryRegistries_
std::shared_ptr< BranchIDListHelper const > branchIDListHelper() const
void beginRun(RunPrincipal const &r, IOVSyncValue const &ts)
SelectedProductsForBranchType const & keptProducts() const
PathsAndConsumesOfModules pathsAndConsumesOfModules_
void updateBranchIDListHelper(BranchIDLists const &)
edm::propagate_const< std::shared_ptr< ThinnedAssociationsHelper > > thinnedAssociationsHelper_
std::vector< SubProcess > subProcesses_
void doEndStream(unsigned int)
void doStreamEndLuminosityBlockAsync(WaitingTaskHolder iHolder, unsigned int iID, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts, std::vector< std::shared_ptr< const EventSetupImpl >> const *, bool cleaningUpAfterException)
int totalEventsFailed() const
void processAsync(WaitingTaskHolder iHolder, EventPrincipal const &e, std::vector< std::shared_ptr< const EventSetupImpl >> const *)
SubProcess & operator=(SubProcess const &)=delete
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
void openOutputFiles(FileBlock &fb)
std::map< BranchID::value_type, BranchID::value_type > const & droppedBranchIDToKeptBranchID()
void deleteRunFromCache(ProcessHistoryID const &parentPhID, int runNumber)
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
std::vector< std::shared_ptr< LuminosityBlockPrincipal > > inUseLumiPrincipals_
SubProcess(ParameterSet ¶meterSet, ParameterSet const &topLevelParameterSet, std::shared_ptr< ProductRegistry const > parentProductRegistry, std::shared_ptr< BranchIDListHelper const > parentBranchIDListHelper, ThinnedAssociationsHelper const &parentThinnedAssociationsHelper, SubProcessParentageHelper const &parentSubProcessParentageHelper, eventsetup::EventSetupsController &esController, ActivityRegistry &parentActReg, ServiceToken const &token, serviceregistry::ServiceLegacy iLegacy, PreallocationConfiguration const &preallocConfig, ProcessContext const *parentProcessContext)
void getTriggerReport(TriggerReport &rep) const
int totalEventsPassed() const
Return the number of events which have been passed by one or more trigger paths.
std::shared_ptr< ThinnedAssociationsHelper const > thinnedAssociationsHelper() const
void selectProducts(ProductRegistry const &preg, ThinnedAssociationsHelper const &parentThinnedAssociationsHelper, std::map< BranchID, bool > &keepAssociation)
void doEventAsync(WaitingTaskHolder iHolder, EventPrincipal const &principal, std::vector< std::shared_ptr< const EventSetupImpl >> const *)
ServiceToken serviceToken_
void doStreamEndRunAsync(WaitingTaskHolder iHolder, unsigned int iID, RunPrincipal const &principal, IOVSyncValue const &ts, std::vector< std::shared_ptr< const EventSetupImpl >> const *, bool cleaningUpAfterException)
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
void doBeginRunAsync(WaitingTaskHolder iHolder, RunPrincipal const &principal, IOVSyncValue const &ts, std::vector< std::shared_ptr< const EventSetupImpl >> const *)
std::vector< BranchIDList > BranchIDLists
void propagateProducts(BranchType type, Principal const &parentPrincipal, Principal &principal) const
SelectedProductsForBranchType keptProducts_
std::vector< ModuleDescription const * > getAllModuleDescriptions() const
Return a vector allowing const access to all the ModuleDescriptions for this SubProcess.
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
void deleteLumiFromCache(LuminosityBlockPrincipal &)
ProductSelectorRules productSelectorRules_
void beginLuminosityBlock(LuminosityBlockPrincipal const &lb, IOVSyncValue const &ts)
edm::propagate_const< std::unique_ptr< ParameterSet > > processParameterSet_
std::unique_ptr< ExceptionToActionTable const > act_table_
void keepThisBranch(BranchDescription const &desc, std::map< BranchID, BranchDescription const * > &trueBranchIDToKeptBranchDesc, std::set< BranchID > &keptProductsInEvent)
std::map< BranchID::value_type, BranchID::value_type > droppedBranchIDToKeptBranchID_
void writeRunAsync(WaitingTaskHolder, ProcessHistoryID const &parentPhID, int runNumber, MergeableRunProductMetadata const *)
bool endPathsEnabled() const
Return true if end_paths are active, and false if they are inactive.
detail::TriggerResultsBasedEventSelector selectors_
void respondToCloseInputFile(FileBlock const &fb)
std::shared_ptr< ActivityRegistry > actReg_
ProductSelector productSelector_
void endLuminosityBlock(LuminosityBlockPrincipal const &lb, IOVSyncValue const &ts, bool cleaningUpAfterException)
std::array< SelectedProducts, NumBranchTypes > SelectedProductsForBranchType
std::map< ProcessHistoryID, ProcessHistoryID > parentToChildPhID_
void doBeginStream(unsigned int)
void doEndRunAsync(WaitingTaskHolder iHolder, RunPrincipal const &principal, IOVSyncValue const &ts, std::vector< std::shared_ptr< const EventSetupImpl >> const *, bool cleaningUpAfterException)
std::shared_ptr< ProductRegistry const > parentPreg_
void fixBranchIDListsForEDAliases(std::map< BranchID::value_type, BranchID::value_type > const &droppedBranchIDToKeptBranchID)
std::shared_ptr< BranchIDListHelper > & branchIDListHelper()
edm::propagate_const< std::shared_ptr< BranchIDListHelper > > branchIDListHelper_
bool shouldWeCloseOutput() const
void endRun(RunPrincipal const &r, IOVSyncValue const &ts, bool cleaningUpAfterException)
ParameterSet const & parameterSet(Provenance const &provenance, ProcessHistory const &history)
std::vector< HistoryAppender > historyAppenders_
void doEndLuminosityBlockAsync(WaitingTaskHolder iHolder, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts, std::vector< std::shared_ptr< const EventSetupImpl >> const *, bool cleaningUpAfterException)
void doStreamBeginLuminosityBlockAsync(WaitingTaskHolder iHolder, unsigned int iID, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts, std::vector< std::shared_ptr< const EventSetupImpl >> const *)
void writeLumiAsync(WaitingTaskHolder, LuminosityBlockPrincipal &)
void doBeginLuminosityBlockAsync(WaitingTaskHolder iHolder, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts, std::vector< std::shared_ptr< const EventSetupImpl >> const *)
ProcessContext processContext_
edm::propagate_const< std::shared_ptr< SubProcessParentageHelper > > subProcessParentageHelper_
void clearCounters()
Clear all the counters in the trigger report.
std::shared_ptr< ThinnedAssociationsHelper > thinnedAssociationsHelper()
void doStreamBeginRunAsync(WaitingTaskHolder iHolder, unsigned int iID, RunPrincipal const &principal, IOVSyncValue const &ts, std::vector< std::shared_ptr< const EventSetupImpl >> const *)
std::shared_ptr< ProductRegistry const > preg_
PrincipalCache principalCache_