44 std::string
const dev_null{
"/dev/null"};
82 Name(
"fileProperties")};
101 std::set<std::string> keys{
103 keys.insert(
"results");
204 ,
moduleLabel_{config.get_PSet().get<
string>(
"module_label")}
219 config.get_PSet().has_key(config().fileProperties.name()),
221 config().fileProperties())}
222 ,
rpm_{config.get_PSet()}
224 bool const dropAllEventsSet{config().dropAllEvents(
dropAllEvents_)};
240 <<
" has parameter writeParameterSets set to false.\n" 241 <<
"Parameter set provenance will not be available in subsequent jobs.\n" 242 <<
"Check your experiment's policy on this issue to avoid future " 244 <<
"with analysis reproducibility.\n";
278 (rfb->tree() !=
nullptr) &&
283 <<
"Fast cloning deactivated for this input file due to " 284 <<
"empty event tree and/or event limits.";
286 if (fastCloneThisOne && !rfb->fastClonable()) {
288 <<
"Fast cloning deactivated for this input file due to " 289 <<
"information in FileBlock.";
290 fastCloneThisOne =
false;
361 auto resp = std::make_unique<ResultsPrincipal>(
366 resp->addToProcessHistory();
456 auto const& params = w.
params();
509 <<
"Attempt to open output file before input file. " 510 <<
"Please report this to the core framework developers.\n";
513 std::make_unique<RootOutputFile>(
this,
548 <<
"called before meaningful.\n";
void writeParentageRegistry() override
void respondToCloseInputFile(FileBlock const &) override
void startEndFile() override
static constexpr ModuleDescriptionID invalidID()
std::string const filePattern_
bool shouldDropEvents(bool dropAllEventsSet, bool dropAllEvents, bool dropAllSubRuns)
void writeProductDescriptionRegistry() override
void endSubRun(SubRunPrincipal const &) override
void doEvent(EventPrincipal const &)
auto const & get_PSet() const
bool dropMetaDataForDroppedData_
void doBeginSubRun(SubRunPrincipal const &)
Atom< bool > dropMetaDataForDroppedData
void recordRun(RunID const &id)
ClosingCriteria fileProperties_
std::string fileNameAtOpen() const
void doWriteFileCatalogMetadata(FileCatalogMetadata::collection_type const &md, FileCatalogMetadata::collection_type const &ssmd) override
void doWriteResults(ResultsPrincipal &)
ModuleDescription const & moduleDescription() const
std::string const & fileName() const
FileStatsCollector fstats_
void writeFileIndex() override
static cet::exempt_ptr< Consumer > non_module_context()
void registerProducts(MasterProductRegistry &mpr, ProductDescriptions &producedProducts, ModuleDescription const &md)
PostCloseFileRenamer fRenamer_
std::string const moduleLabel_
void doReadResults(ResultsPrincipal const &)
void validateFileNamePattern(bool do_check, std::string const &pattern)
void logFileAction(const char *msg, std::string const &file)
void writeFileFormatVersion() override
void setFileStatus(OutputFileStatus) override
void recordEvent(EventID const &id)
static constexpr char const * default_tmpDir
std::vector< BranchDescription > ProductDescriptions
bool isFileOpen() const override
void openFile(FileBlock const &) override
void writeProcessConfigurationRegistry() override
void doEndRun(RunPrincipal const &)
void incrementInputFileNumber() override
void for_each_RPWorker(on_rpworker_t wfunc)
int64_t const treeMaxVirtualSize_
std::string lastClosedFileName_
OptionalAtom< bool > fastCloning
std::string unique_filename(std::string stem, std::string extension=".root")
void doBeginRun(RunPrincipal const &)
void doRegisterProducts(MasterProductRegistry &mpr, ProductDescriptions &producedProducts, ModuleDescription const &md) override
void writeParameterSetRegistry() override
Atom< int64_t > saveMemoryObjectThreshold
#define DEFINE_ART_MODULE(klass)
DropMetaData dropMetaData_
void doEndSubRun(SubRunPrincipal const &)
bool requestsToCloseFile() const override
void addToProcessHistory()
ProductTable producedResultsProducts_
void write(EventPrincipal &) override
std::unique_ptr< RootOutputFile > rootOutputFile_
std::string const & lastClosedFileName() const override
void setModuleDescription(ModuleDescription const &)
void recordSubRun(SubRunID const &id)
RootOutput(Parameters const &)
int const compressionLevel_
fhicl::TableFragment< art::OutputModule::Config > omConfig
Atom< std::string > tmpDir
void recordInputFile(std::string const &inputFileName)
Atom< bool > writeParameterSets
void writeProductDependencies() override
std::array< bool, NumBranchTypes > const & hasNewlyDroppedBranch() const
void writeSubRun(SubRunPrincipal &) override
ModuleDescription const & description() const
void beginRun(RunPrincipal const &) override
Atom< std::string > catalog
int64_t const saveMemoryObjectThreshold_
void invoke(invoke_function_t< void, ARGS... > mfunc, ARGS &&...args)
std::string const & moduleLabel() const
int remainingEvents() const
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
void setRunAuxiliaryRangeSetID(RangeSet const &) override
void respondToOpenInputFile(FileBlock const &) override
std::set< std::string > operator()() const
std::string parent_path(std::string const &path)
void readResults(ResultsPrincipal const &resp) override
MaybeLogger_< ELseverityLevel::ELsev_warning, false > LogWarning
void setSubRunAuxiliaryRangeSetID(RangeSet const &) override
std::string fileNameAtClose(std::string const ¤tFileName)
void endRun(RunPrincipal const &) override
void showMissingConsumes() const
std::string maybeRenameFile(std::string const &inPath, std::string const &toPattern)
EventID const & id() const
Granularity fileGranularity() const override
Atom< int64_t > treeMaxVirtualSize
Atom< bool > dropAllSubRuns
void beginSubRun(SubRunPrincipal const &) override
void writeProcessHistoryRegistry() override
void postSelectProducts() override
void writeRun(RunPrincipal &) override
fhicl::Table< ClosingCriteria::Config > fileProperties
void writeEventHistory() override
bool shouldFastClone(bool fastCloningSet, bool fastCloning, bool wantAllEvents, ClosingCriteria const &fileProperties)
std::string const catalog_
std::string const & processName() const
RPParams const & params() const
void set_par_style(par_style const vt)
OptionalAtom< bool > dropAllEvents
void event(EventPrincipal const &) override
ProcessConfiguration const & processConfiguration() const
Atom< std::string > dropMetaData
bool wantAllEvents() const
void finishEndFile() override
Atom< int > compressionLevel