1 #ifndef IOPool_Output_PoolOutputModule_h 2 #define IOPool_Output_PoolOutputModule_h 35 class ModuleCallingContext;
39 class ProductProvenanceRetriever;
73 using OutputModule::selectorConfig;
80 using AuxItemArray = std::array<AuxItem, numberOfRunLumiEventProductTrees>;
90 std::shared_ptr<std::map<std::string, int>>
treeMap_;
147 Principal const& iPrincipal)
const override;
void writeParentageRegistry()
void openFile(FileBlock const &fb) override
std::array< AuxItem, numberOfRunLumiEventProductTrees > AuxItemArray
int const treeMaxVirtualSize_
virtual std::pair< std::string, std::string > physicalAndLogicalNameForNewFile()
BranchID branchID() const
bool operator<(OutputItem const &rh) const
BranchDescription const * branchDescription_
std::string const compressionAlgorithm_
std::string const & moduleLabel() const
void write(EventForOutput const &e) override
edm::propagate_const< std::unique_ptr< RootOutputFile > > rootOutputFile_
BranchID const & branchID() const
std::string const catalog_
std::vector< SpecialSplitLevelForBranch > specialSplitLevelForBranches_
void const *const product() const
PoolOutputModule & operator=(PoolOutputModule const &)=delete
void setProcessesWithSelectedMergeableRunProducts(std::set< std::string > const &) override
BranchChildren const & branchChildren() const
void updateBranchParents(EventForOutput const &e)
BranchChildren branchChildren_
int inputFileCount() const
void writeRun(RunForOutput const &) override
bool overrideInputFileSplitLevels() const
bool initializedFromInput_
std::string const moduleLabel_
std::string overrideGUID_
int treeMaxVirtualSize() const
virtual void doExtrasAfterCloseFile()
void writeParameterSetRegistry()
std::string const & currentFileName() const
bool compactEventAuxiliary() const
unsigned int maxFileSize() const
std::string const & basketOrder() const
void writeProcessBlockHelper()
PoolOutputModule(ParameterSet const &ps)
void updateBranchParentsForOneBranch(ProductProvenanceRetriever const *provRetriever, BranchID const &branchID)
int eventAuxiliaryBasketSize() const
bool overrideInputFileSplitLevels_
void preActionBeforeRunEventAsync(WaitingTaskHolder iTask, ModuleCallingContext const &iModuleCallingContext, Principal const &iPrincipal) const override
void writeFileFormatVersion()
std::string const & branchName() const
std::vector< BranchID > producedBranches_
std::vector< OutputItemList > selectedOutputItemList_
std::map< BranchID, std::set< ParentageID > > BranchParents
bool compactEventAuxiliary_
std::regex convert(std::string const &iGlobBranchExpression) const
OutputItem(BranchDescription const *bd, EDGetToken const &token, int splitLevel, int basketSize)
std::vector< OutputItemList > const & selectedOutputItemList() const
void writeStoredMergeableRunProductMetadata()
void writeEventAuxiliary()
void writeProductDependencies()
BranchParents branchParents_
DropMetaData const & dropMetaData() const
void writeIndexIntoFile()
std::string const & compressionAlgorithm() const
void writeThinnedAssociationsHelper()
BranchDescription const * branchDescription() const
bool operator()(OutputItem const &lh, OutputItem const &rh) const
unsigned int const maxFileSize_
std::string const & catalog() const
void writeBranchIDListRegistry()
SpecialSplitLevelForBranch(std::string const &iBranchName, int iSplitLevel)
void writeProcessHistoryRegistry()
void fillDependencyGraph()
bool shouldWeCloseFile() const override
allow inheriting classes to override but still be able to call this method in the overridden version ...
void respondToCloseInputFile(FileBlock const &fb) override
DropMetaData dropMetaData_
bool isFileOpen() const override
void reallyCloseFile() override
int const eventAutoFlushSize_
std::string const fileName_
void setProduct(void const *iProduct)
std::string const & branchName() const
void writeFileIdentifier()
std::string const & processName() const
bool match(std::string const &iBranchName) const
std::shared_ptr< std::map< std::string, int > > treeMap_
int const compressionLevel_
std::string const logicalFileName_
std::string statusFileName_
std::string const & logicalFileName() const
int eventAutoFlushSize() const
~PoolOutputModule() override
int whyNotFastClonable() const
void beginInputFile(FileBlock const &fb)
std::string const & fileName() const
void writeProductDescriptionRegistry()
int compressionLevel() const
int const eventAuxBasketSize_
std::vector< OutputItem > OutputItemList
void respondToOpenInputFile(FileBlock const &fb) override
void writeProcessBlock(ProcessBlockForOutput const &) override
void fillSelectedItemList(BranchType branchtype, std::string const &processName, TTree *theInputTree, OutputItemList &)
std::vector< OutputItemList > & selectedOutputItemList()
static void fillDescriptions(ConfigurationDescriptions &descriptions)
static void fillDescription(ParameterSetDescription &desc)
std::vector< std::string > processesWithSelectedMergeableRunProducts_
RootServiceChecker rootServiceChecker_
AuxItemArray const & auxItems() const
void writeLuminosityBlock(LuminosityBlockForOutput const &) override