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()
std::string const & branchName() const
BranchDescription const * branchDescription_
std::string const compressionAlgorithm_
int eventAutoFlushSize() const
std::string const & catalog() const
void write(EventForOutput const &e) override
edm::propagate_const< std::unique_ptr< RootOutputFile > > rootOutputFile_
int compressionLevel() const
int inputFileCount() const
std::string const catalog_
std::vector< SpecialSplitLevelForBranch > specialSplitLevelForBranches_
PoolOutputModule & operator=(PoolOutputModule const &)=delete
void setProcessesWithSelectedMergeableRunProducts(std::set< std::string > const &) override
std::string const & moduleLabel() const
void updateBranchParents(EventForOutput const &e)
DropMetaData const & dropMetaData() const
BranchChildren branchChildren_
void writeRun(RunForOutput const &) override
std::string const & fileName() const
bool initializedFromInput_
std::string const moduleLabel_
BranchID branchID() const
virtual void doExtrasAfterCloseFile()
std::string const & logicalFileName() const
void writeParameterSetRegistry()
bool compactEventAuxiliary() const
void writeProcessBlockHelper()
std::regex convert(std::string const &iGlobBranchExpression) const
PoolOutputModule(ParameterSet const &ps)
bool overrideInputFileSplitLevels() const
void updateBranchParentsForOneBranch(ProductProvenanceRetriever const *provRetriever, BranchID const &branchID)
std::vector< OutputItemList > const & selectedOutputItemList() const
bool overrideInputFileSplitLevels_
bool operator()(OutputItem const &lh, OutputItem const &rh) const
void preActionBeforeRunEventAsync(WaitingTaskHolder iTask, ModuleCallingContext const &iModuleCallingContext, Principal const &iPrincipal) const override
std::string const & currentFileName() const
bool operator<(OutputItem const &rh) const
void writeFileFormatVersion()
std::string const & compressionAlgorithm() const
std::vector< BranchID > producedBranches_
std::vector< OutputItemList > selectedOutputItemList_
bool compactEventAuxiliary_
std::string const & basketOrder() const
OutputItem(BranchDescription const *bd, EDGetToken const &token, int splitLevel, int basketSize)
std::string const & branchName() const
void writeStoredMergeableRunProductMetadata()
void writeEventAuxiliary()
BranchID const & branchID() const
void writeProductDependencies()
BranchParents branchParents_
unsigned int maxFileSize() const
int eventAuxiliaryBasketSize() const
void writeIndexIntoFile()
void writeThinnedAssociationsHelper()
BranchDescription const * branchDescription() const
unsigned int const maxFileSize_
std::map< BranchID, std::set< ParentageID >> BranchParents
std::string const & processName() const
BranchChildren const & branchChildren() 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
void const *const product() const
AuxItemArray const & auxItems() const
int const eventAutoFlushSize_
std::string const fileName_
void setProduct(void const *iProduct)
void writeFileIdentifier()
std::shared_ptr< std::map< std::string, int > > treeMap_
int const compressionLevel_
std::string const logicalFileName_
std::string statusFileName_
~PoolOutputModule() override
void beginInputFile(FileBlock const &fb)
void writeProductDescriptionRegistry()
int const eventAuxBasketSize_
std::vector< OutputItem > OutputItemList
void respondToOpenInputFile(FileBlock const &fb) override
void writeProcessBlock(ProcessBlockForOutput const &) override
int whyNotFastClonable() const
void fillSelectedItemList(BranchType branchtype, std::string const &processName, TTree *theInputTree, OutputItemList &)
std::vector< OutputItemList > & selectedOutputItemList()
static void fillDescriptions(ConfigurationDescriptions &descriptions)
int treeMaxVirtualSize() const
bool match(std::string const &iBranchName) const
static void fillDescription(ParameterSetDescription &desc)
std::vector< std::string > processesWithSelectedMergeableRunProducts_
RootServiceChecker rootServiceChecker_
void writeLuminosityBlock(LuminosityBlockForOutput const &) override