1 #ifndef FWCore_Framework_OutputModule_h 2 #define FWCore_Framework_OutputModule_h 39 class MergeableRunProductMetadata;
40 class ModuleCallingContext;
41 class PreallocationConfiguration;
43 class ProductRegistry;
44 class ThinnedAssociationsHelper;
48 template<
typename T>
class ModuleHolderT;
56 template <
typename T>
friend class WorkerT;
94 return resourceAcquirer_;
136 void setEventSelectionInfo(
std::map<
std::string, std::vector<std::pair<std::string, int> > >
const& outputModulePathPositions,
137 bool anyProductProduced);
142 return droppedBranchIDToKeptBranchID_;
174 std::vector<detail::TriggerResultsBasedEventSelector>
selectors_;
199 void doRespondToOpenInputFile(
FileBlock const&
fb);
200 void doRespondToCloseInputFile(
FileBlock const&
fb);
211 virtual void reallyCloseFile();
215 bool needToRunSelection()
const;
216 std::vector<ProductResolverIndexAndSkipBit> productsUsedBySelection()
const;
243 std::map<BranchID, BranchDescription const*>& trueBranchIDToKeptBranchDesc,
244 std::set<BranchID>& keptProductsInEvent);
247 moduleDescription_ = md;
void setModuleDescription(ModuleDescription const &md)
SerialTaskQueue * globalLuminosityBlocksQueue()
std::array< bool, NumBranchTypes > hasNewlyDroppedBranch_
std::map< BranchID::value_type, BranchID::value_type > droppedBranchIDToKeptBranchID_
virtual void endRun(RunForOutput const &)
std::vector< BranchIDList > BranchIDLists
ParameterSet selectEvents_
static const std::vector< std::string > & defaultSelectionStrings()
ModuleDescription moduleDescription_
std::map< BranchID, bool > keepAssociation_
std::array< SelectedProducts, NumBranchTypes > SelectedProductsForBranchType
SharedResourcesAcquirer & sharedResourcesAcquirer()
int remainingEvents() const
SharedResourcesAcquirer resourceAcquirer_
virtual void beginRun(RunForOutput const &)
edm::propagate_const< std::unique_ptr< BranchIDLists > > branchIDLists_
std::string const & processName() const
edm::propagate_const< std::unique_ptr< ThinnedAssociationsHelper > > thinnedAssociationsHelper_
BranchIDLists const * origBranchIDLists_
detail::TriggerResultsBasedEventSelector::handle_t Trig
SelectedProductsForBranchType const & keptProducts() const
bool wantAllEvents() const
std::string process_name_
void preActionBeforeRunEventAsync(WaitingTask *iTask, ModuleCallingContext const &iModuleCallingContext, Principal const &iPrincipal) const
static bool wantsStreamLuminosityBlocks()
std::map< BranchID::value_type, BranchID::value_type > const & droppedBranchIDToKeptBranchID()
bool hasAccumulator() const
static bool wantsGlobalRuns()
virtual bool isFileOpen() const
virtual bool shouldWeCloseFile() const
Ask the OutputModule if we should end the current file.
static bool wantsStreamRuns()
SerialTaskQueue * globalRunsQueue()
SerialTaskQueue luminosityBlockQueue_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
virtual void endLuminosityBlock(LuminosityBlockForOutput const &)
virtual void beginLuminosityBlock(LuminosityBlockForOutput const &)
std::vector< bool > getTriggerResults(const std::vector< unsigned int > &triggers, const edm::TriggerResults &triggerResults)
std::array< bool, NumBranchTypes > const & hasNewlyDroppedBranch() const
virtual void respondToOpenInputFile(FileBlock const &)
bool limitReached() const
static bool wantsGlobalLuminosityBlocks()
std::vector< detail::TriggerResultsBasedEventSelector > selectors_
SelectedProductsForBranchType keptProducts_
ProductSelector productSelector_
ProductSelectorRules productSelectorRules_
std::string workerType() const
virtual void respondToCloseInputFile(FileBlock const &)
virtual void openFile(FileBlock const &)
SerialTaskQueue runQueue_
void doRegisterThinnedAssociations(ProductRegistry const &, ThinnedAssociationsHelper &)
ModuleDescription const & moduleDescription() const
std::atomic< int > remainingEvents_
ParameterSetID selectorConfig() const
void registerProductsAndCallbacks(OutputModule const *, ProductRegistry const *)
virtual void setProcessesWithSelectedMergeableRunProducts(std::set< std::string > const &)
ParameterSetID selector_config_id_