LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
art::RootOutput Class Referencefinal
Inheritance diagram for art::RootOutput:
art::OutputModule art::EventObserverBase art::Consumer

Classes

struct  Config
 

Public Types

using Parameters = fhicl::WrappedTable< Config, Config::KeysToIgnore >
 
using ModuleType = OutputModule
 
using WorkerType = OutputWorker
 

Public Member Functions

 RootOutput (Parameters const &)
 
void postSelectProducts () override
 
void beginJob () override
 
void endJob () override
 
void event (EventPrincipal const &) override
 
void beginSubRun (SubRunPrincipal const &) override
 
void endSubRun (SubRunPrincipal const &) override
 
void beginRun (RunPrincipal const &) override
 
void endRun (RunPrincipal const &) override
 
int maxEvents () const
 
int remainingEvents () const
 
bool fileIsOpen () const
 
OutputFileStatus fileStatus () const
 
bool selected (BranchDescription const &) const
 
SelectionsArray const & keptProducts () const
 
std::array< bool, NumBranchTypes > const & hasNewlyDroppedBranch () const
 
BranchChildren const & branchChildren () const
 
void selectProducts (ProductList const &)
 
void registerProducts (MasterProductRegistry &, ProductDescriptions &, ModuleDescription const &)
 
bool modifiesEvent () const
 
std::string const & processName () const
 
bool wantAllEvents () const
 
bool wantEvent (Event const &e)
 
fhicl::ParameterSetID selectorConfig () const
 
art::Handle< art::TriggerResultsgetTriggerResults (Event const &e) const
 
template<typename T , BranchType = InEvent>
ProductToken< T > consumes (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ProductToken< T > consumes (InputTag const &it)
 
template<typename T , BranchType = InEvent>
void consumesMany ()
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > consumesView (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ViewToken< T > consumesView (InputTag const &it)
 
template<typename T , BranchType = InEvent>
ProductToken< T > mayConsume (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ProductToken< T > mayConsume (InputTag const &it)
 
template<typename T , BranchType = InEvent>
void mayConsumeMany ()
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > mayConsumeView (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ViewToken< T > mayConsumeView (InputTag const &it)
 

Static Public Member Functions

static cet::exempt_ptr< Consumernon_module_context ()
 

Static Public Attributes

static constexpr char const * default_tmpDir {"<parent-path-of-filename>"}
 

Protected Member Functions

CurrentProcessingContext const * currentContext () const
 
ModuleDescription const & description () const
 
detail::CachedProductscachedProducts ()
 
void validateConsumedProduct (BranchType const bt, ProductInfo const &pi)
 
void prepareForJob (fhicl::ParameterSet const &pset)
 
void showMissingConsumes () const
 

Private Member Functions

std::string fileNameAtOpen () const
 
std::string fileNameAtClose (std::string const &currentFileName)
 
std::string const & lastClosedFileName () const override
 
void openFile (FileBlock const &) override
 
void respondToOpenInputFile (FileBlock const &) override
 
void readResults (ResultsPrincipal const &resp) override
 
void respondToCloseInputFile (FileBlock const &) override
 
void incrementInputFileNumber () override
 
Granularity fileGranularity () const override
 
void write (EventPrincipal &) override
 
void writeSubRun (SubRunPrincipal &) override
 
void writeRun (RunPrincipal &) override
 
void setSubRunAuxiliaryRangeSetID (RangeSet const &) override
 
void setRunAuxiliaryRangeSetID (RangeSet const &) override
 
bool isFileOpen () const override
 
void setFileStatus (OutputFileStatus) override
 
bool requestsToCloseFile () const override
 
void doOpenFile ()
 
void startEndFile () override
 
void writeFileFormatVersion () override
 
void writeFileIndex () override
 
void writeEventHistory () override
 
void writeProcessConfigurationRegistry () override
 
void writeProcessHistoryRegistry () override
 
void writeParameterSetRegistry () override
 
void writeProductDescriptionRegistry () override
 
void writeParentageRegistry () override
 
void doWriteFileCatalogMetadata (FileCatalogMetadata::collection_type const &md, FileCatalogMetadata::collection_type const &ssmd) override
 
void writeProductDependencies () override
 
void finishEndFile () override
 
void doRegisterProducts (MasterProductRegistry &mpr, ProductDescriptions &producedProducts, ModuleDescription const &md) override
 

Private Attributes

std::string const catalog_
 
bool dropAllEvents_ {false}
 
bool dropAllSubRuns_
 
std::string const moduleLabel_
 
int inputFileCount_ {0}
 
std::unique_ptr< RootOutputFilerootOutputFile_ {nullptr}
 
FileStatsCollector fstats_
 
PostCloseFileRenamer fRenamer_ {fstats_}
 
std::string const filePattern_
 
std::string tmpDir_
 
std::string lastClosedFileName_ {}
 
int const compressionLevel_
 
int64_t const saveMemoryObjectThreshold_
 
int64_t const treeMaxVirtualSize_
 
int const splitLevel_
 
int const basketSize_
 
DropMetaData dropMetaData_
 
bool dropMetaDataForDroppedData_
 
bool fastCloningEnabled_ {true}
 
bool writeParameterSets_
 
ClosingCriteria fileProperties_
 
ProductTable producedResultsProducts_ {}
 
RPManager rpm_
 

Detailed Description

Definition at line 52 of file RootOutput_module.cc.

Member Typedef Documentation

Definition at line 61 of file OutputModule.h.

Definition at line 62 of file OutputModule.h.

Constructor & Destructor Documentation

art::RootOutput::RootOutput ( Parameters const &  config)
explicit

Definition at line 200 of file RootOutput_module.cc.

References basketSize_, catalog_, compressionLevel_, default_tmpDir, dropAllEvents_, dropAllSubRuns_, dropMetaData_, dropMetaDataForDroppedData_, fastCloningEnabled_, filePattern_, fileProperties_, fstats_, fhicl::WrappedTable< T, KeysToIgnore >::get_PSet(), moduleLabel_, art::parent_path(), art::EventObserverBase::processName(), rpm_, saveMemoryObjectThreshold_, art::detail::shouldDropEvents(), art::detail::shouldFastClone(), splitLevel_, tmpDir_, treeMaxVirtualSize_, art::detail::validateFileNamePattern(), art::EventObserverBase::wantAllEvents(), and writeParameterSets_.

201  : OutputModule{config().omConfig, config.get_PSet()}
202  , catalog_{config().catalog()}
203  , dropAllSubRuns_{config().dropAllSubRuns()}
204  , moduleLabel_{config.get_PSet().get<string>("module_label")}
206  , filePattern_{config().omConfig().fileName()}
207  , tmpDir_{config().tmpDir() == default_tmpDir ? parent_path(filePattern_) :
208  config().tmpDir()}
209  , compressionLevel_{config().compressionLevel()}
210  , saveMemoryObjectThreshold_{config().saveMemoryObjectThreshold()}
211  , treeMaxVirtualSize_{config().treeMaxVirtualSize()}
212  , splitLevel_{config().splitLevel()}
213  , basketSize_{config().basketSize()}
214  , dropMetaData_{config().dropMetaData()}
215  , dropMetaDataForDroppedData_{config().dropMetaDataForDroppedData()}
216  , writeParameterSets_{config().writeParameterSets()}
217  , fileProperties_{(
219  config.get_PSet().has_key(config().fileProperties.name()),
220  filePattern_), // comma operator!
221  config().fileProperties())}
222  , rpm_{config.get_PSet()}
223 {
224  bool const dropAllEventsSet{config().dropAllEvents(dropAllEvents_)};
227 
228  // N.B. Any time file switching is enabled at a boundary other than
229  // InputFile, fastCloningEnabled_ ***MUST*** be deactivated. This is
230  // to ensure that the Event tree from the InputFile is not
231  // accidentally cloned to the output file before the output
232  // module has seen the events that are going to be processed.
233  bool const fastCloningSet{config().fastCloning(fastCloningEnabled_)};
236 
237  if (!writeParameterSets_) {
238  mf::LogWarning("PROVENANCE")
239  << "Output module " << moduleLabel_
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 "
243  "problems\n"
244  << "with analysis reproducibility.\n";
245  }
246 }
std::string const filePattern_
bool shouldDropEvents(bool dropAllEventsSet, bool dropAllEvents, bool dropAllSubRuns)
ClosingCriteria fileProperties_
FileStatsCollector fstats_
std::string const moduleLabel_
void validateFileNamePattern(bool do_check, std::string const &pattern)
static constexpr char const * default_tmpDir
int64_t const treeMaxVirtualSize_
DropMetaData dropMetaData_
int const compressionLevel_
int64_t const saveMemoryObjectThreshold_
std::string parent_path(std::string const &path)
Definition: parent_path.cc:15
MaybeLogger_< ELseverityLevel::ELsev_warning, false > LogWarning
bool shouldFastClone(bool fastCloningSet, bool fastCloning, bool wantAllEvents, ClosingCriteria const &fileProperties)
std::string const catalog_
std::string const & processName() const
OutputModule(OutputModule const &)=delete

Member Function Documentation

void art::RootOutput::beginJob ( )
overridevirtual

Reimplemented from art::OutputModule.

Definition at line 554 of file RootOutput_module.cc.

References art::ResultsProducer::doBeginJob(), art::RPManager::invoke(), and rpm_.

555 {
557 }
void invoke(invoke_function_t< void, ARGS... > mfunc, ARGS &&...args)
Definition: RPManager.h:66
void art::RootOutput::beginRun ( art::RunPrincipal const &  rp)
overridevirtual

Reimplemented from art::OutputModule.

Definition at line 588 of file RootOutput_module.cc.

References art::ResultsProducer::doBeginRun(), art::RPManager::for_each_RPWorker(), art::RPWorker::rp(), rpm_, and w.

589 {
590  rpm_.for_each_RPWorker([&rp](RPWorker& w) { w.rp().doBeginRun(rp); });
591 }
void for_each_RPWorker(on_rpworker_t wfunc)
Definition: RPManager.h:76
Float_t w
Definition: plot.C:23
void art::RootOutput::beginSubRun ( art::SubRunPrincipal const &  srp)
overridevirtual

Reimplemented from art::OutputModule.

Definition at line 573 of file RootOutput_module.cc.

References art::ResultsProducer::doBeginSubRun(), art::RPManager::for_each_RPWorker(), art::RPWorker::moduleDescription(), art::Consumer::non_module_context(), art::RPWorker::rp(), rpm_, and w.

574 {
575  rpm_.for_each_RPWorker([&srp](RPWorker& w) {
576  SubRun const sr{srp, w.moduleDescription(), Consumer::non_module_context()};
577  w.rp().doBeginSubRun(srp);
578  });
579 }
static cet::exempt_ptr< Consumer > non_module_context()
Definition: Consumer.cc:76
void for_each_RPWorker(on_rpworker_t wfunc)
Definition: RPManager.h:76
Float_t w
Definition: plot.C:23
art::BranchChildren const & art::OutputModule::branchChildren ( ) const
inlineinherited

Definition at line 349 of file OutputModule.h.

References art::OutputModule::branchChildren_.

Referenced by art::OutputModule::fileIsOpen(), and art::RootOutputFile::writeProductDependencies().

350 {
351  return branchChildren_;
352 }
BranchChildren branchChildren_
Definition: OutputModule.h:171
detail::CachedProducts& art::EventObserverBase::cachedProducts ( )
inlineprotectedinherited

Definition at line 79 of file EventObserverBase.h.

References art::EventObserverBase::selectors_.

Referenced by art::EDAnalyzer::doEvent(), and art::OutputModule::doWriteEvent().

80  {
81  return selectors_;
82  }
detail::CachedProducts selectors_
template<typename T , BranchType = InEvent>
ProductToken<T> art::Consumer::consumes ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ProductToken<T> art::Consumer::consumes ( InputTag const &  it)
inherited

Definition at line 147 of file Consumer.h.

References art::InputTag::instance(), art::InputTag::label(), and art::InputTag::process().

148 {
149  if (!moduleContext_)
150  return ProductToken<T>::invalid();
151 
152  consumables_[BT].emplace_back(ConsumableType::Product,
153  TypeID{typeid(T)},
154  it.label(),
155  it.instance(),
156  it.process());
157  return ProductToken<T>{it};
158 }
static ProductToken< T > invalid()
Definition: ProductToken.h:47
ConsumableProducts consumables_
Definition: Consumer.h:138
bool moduleContext_
Definition: Consumer.h:136
template<typename T , art::BranchType BT>
void art::Consumer::consumesMany ( )
inherited

Definition at line 162 of file Consumer.h.

163 {
164  if (!moduleContext_)
165  return;
166 
167  consumables_[BT].emplace_back(ConsumableType::Many, TypeID{typeid(T)});
168 }
ConsumableProducts consumables_
Definition: Consumer.h:138
bool moduleContext_
Definition: Consumer.h:136
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::Consumer::consumesView ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ViewToken<T> art::Consumer::consumesView ( InputTag const &  it)
inherited

Definition at line 172 of file Consumer.h.

References art::InputTag::instance(), art::InputTag::label(), and art::InputTag::process().

173 {
174  if (!moduleContext_)
175  return ViewToken<T>::invalid();
176 
177  consumables_[BT].emplace_back(ConsumableType::ViewElement,
178  TypeID{typeid(T)},
179  it.label(),
180  it.instance(),
181  it.process());
182  return ViewToken<T>{it};
183 }
static ViewToken< Element > invalid()
Definition: ProductToken.h:75
ConsumableProducts consumables_
Definition: Consumer.h:138
bool moduleContext_
Definition: Consumer.h:136
art::CurrentProcessingContext const * art::OutputModule::currentContext ( ) const
inlineprotectedinherited

Definition at line 305 of file OutputModule.h.

References art::OutputModule::current_context_.

Referenced by art::OutputModule::fileIsOpen().

306 {
307  return current_context_.get();
308 }
cet::exempt_ptr< CurrentProcessingContext const > current_context_
Definition: OutputModule.h:166
art::ModuleDescription const & art::OutputModule::description ( ) const
inlineprotectedinherited
void art::RootOutput::doOpenFile ( )
private

Definition at line 505 of file RootOutput_module.cc.

References basketSize_, compressionLevel_, dropMetaData_, dropMetaDataForDroppedData_, fastCloningEnabled_, fileNameAtOpen(), filePattern_, fileProperties_, fstats_, inputFileCount_, art::detail::logFileAction(), art::errors::LogicError, art::FileStatsCollector::recordFileOpen(), rootOutputFile_, saveMemoryObjectThreshold_, splitLevel_, and treeMaxVirtualSize_.

Referenced by openFile().

506 {
507  if (inputFileCount_ == 0) {
509  << "Attempt to open output file before input file. "
510  << "Please report this to the core framework developers.\n";
511  }
513  std::make_unique<RootOutputFile>(this,
514  fileNameAtOpen(),
519  splitLevel_,
520  basketSize_,
525  detail::logFileAction("Opened output file with pattern ", filePattern_);
526 }
std::string const filePattern_
ClosingCriteria fileProperties_
std::string fileNameAtOpen() const
FileStatsCollector fstats_
void logFileAction(const char *msg, std::string const &file)
Definition: logFileAction.cc:9
int64_t const treeMaxVirtualSize_
DropMetaData dropMetaData_
std::unique_ptr< RootOutputFile > rootOutputFile_
int const compressionLevel_
int64_t const saveMemoryObjectThreshold_
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
void art::RootOutput::doRegisterProducts ( MasterProductRegistry mpr,
ProductDescriptions producedProducts,
ModuleDescription const &  md 
)
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 450 of file RootOutput_module.cc.

References art::RPManager::for_each_RPWorker(), art::InResults, art::ModuleDescription::invalidID(), art::RPWorker::moduleDescription(), art::ModuleDescription::moduleLabel(), art::RPWorker::params(), art::ModuleDescription::processConfiguration(), producedResultsProducts_, art::ResultsProducer::registerProducts(), art::RPWorker::rp(), rpm_, art::RPWorker::setModuleDescription(), and w.

453 {
454  // Register Results products from ResultsProducers.
455  rpm_.for_each_RPWorker([&mpr, &producedProducts, &md](RPWorker& w) {
456  auto const& params = w.params();
457  w.setModuleDescription(
458  ModuleDescription{params.rpPSetID,
459  params.rpPluginType,
460  md.moduleLabel() + '#' + params.rpLabel,
461  md.processConfiguration(),
463  w.rp().registerProducts(mpr, producedProducts, w.moduleDescription());
464  });
465 
466  // Form product table for Results products. We do this here so we
467  // can appropriately set the product tables for the
468  // ResultsPrincipal.
469  producedResultsProducts_ = ProductTable{producedProducts, InResults};
470 }
static constexpr ModuleDescriptionID invalidID()
void for_each_RPWorker(on_rpworker_t wfunc)
Definition: RPManager.h:76
ProductTable producedResultsProducts_
Float_t w
Definition: plot.C:23
void art::RootOutput::doWriteFileCatalogMetadata ( FileCatalogMetadata::collection_type const &  md,
FileCatalogMetadata::collection_type const &  ssmd 
)
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 424 of file RootOutput_module.cc.

References fstats_, and rootOutputFile_.

427 {
428  rootOutputFile_->writeFileCatalogMetadata(fstats_, md, ssmd);
429 }
FileStatsCollector fstats_
std::unique_ptr< RootOutputFile > rootOutputFile_
void art::RootOutput::endJob ( )
overridevirtual

Reimplemented from art::OutputModule.

Definition at line 560 of file RootOutput_module.cc.

References art::ResultsProducer::doEndJob(), art::RPManager::invoke(), rpm_, and art::Consumer::showMissingConsumes().

561 {
564 }
void invoke(invoke_function_t< void, ARGS... > mfunc, ARGS &&...args)
Definition: RPManager.h:66
void showMissingConsumes() const
Definition: Consumer.cc:125
void art::RootOutput::endRun ( art::RunPrincipal const &  rp)
overridevirtual

Reimplemented from art::OutputModule.

Definition at line 594 of file RootOutput_module.cc.

References DEFINE_ART_MODULE, art::ResultsProducer::doEndRun(), art::RPManager::for_each_RPWorker(), art::RPWorker::rp(), rpm_, and w.

595 {
596  rpm_.for_each_RPWorker([&rp](RPWorker& w) { w.rp().doEndRun(rp); });
597 }
void for_each_RPWorker(on_rpworker_t wfunc)
Definition: RPManager.h:76
Float_t w
Definition: plot.C:23
void art::RootOutput::endSubRun ( art::SubRunPrincipal const &  srp)
overridevirtual

Reimplemented from art::OutputModule.

Definition at line 582 of file RootOutput_module.cc.

References art::ResultsProducer::doEndSubRun(), art::RPManager::for_each_RPWorker(), art::RPWorker::rp(), rpm_, and w.

583 {
584  rpm_.for_each_RPWorker([&srp](RPWorker& w) { w.rp().doEndSubRun(srp); });
585 }
void for_each_RPWorker(on_rpworker_t wfunc)
Definition: RPManager.h:76
Float_t w
Definition: plot.C:23
void art::RootOutput::event ( EventPrincipal const &  ep)
overridevirtual

Reimplemented from art::OutputModule.

Definition at line 567 of file RootOutput_module.cc.

References art::ResultsProducer::doEvent(), art::RPManager::for_each_RPWorker(), art::RPWorker::rp(), rpm_, and w.

568 {
569  rpm_.for_each_RPWorker([&ep](RPWorker& w) { w.rp().doEvent(ep); });
570 }
void for_each_RPWorker(on_rpworker_t wfunc)
Definition: RPManager.h:76
Float_t w
Definition: plot.C:23
art::Granularity art::RootOutput::fileGranularity ( ) const
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 499 of file RootOutput_module.cc.

References fileProperties_, and art::ClosingCriteria::granularity().

500 {
501  return fileProperties_.granularity();
502 }
ClosingCriteria fileProperties_
auto granularity() const
string art::RootOutput::fileNameAtClose ( std::string const &  currentFileName)
private

Definition at line 536 of file RootOutput_module.cc.

References filePattern_, fRenamer_, and art::PostCloseFileRenamer::maybeRenameFile().

Referenced by finishEndFile().

537 {
538  return filePattern_ == dev_null ?
539  dev_null :
540  fRenamer_.maybeRenameFile(currentFileName, filePattern_);
541 }
std::string const filePattern_
PostCloseFileRenamer fRenamer_
std::string maybeRenameFile(std::string const &inPath, std::string const &toPattern)
string art::RootOutput::fileNameAtOpen ( ) const
private

Definition at line 529 of file RootOutput_module.cc.

References filePattern_, tmpDir_, and art::unique_filename().

Referenced by doOpenFile().

530 {
531  return filePattern_ == dev_null ? dev_null :
532  unique_filename(tmpDir_ + "/RootOutput");
533 }
std::string const filePattern_
std::string unique_filename(std::string stem, std::string extension=".root")
OutputFileStatus art::OutputModule::fileStatus ( ) const
inherited
void art::RootOutput::finishEndFile ( )
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 438 of file RootOutput_module.cc.

References art::ResultsProducer::doClear(), fileNameAtClose(), fstats_, art::RPManager::invoke(), lastClosedFileName_, art::detail::logFileAction(), art::FileStatsCollector::recordFileClose(), rootOutputFile_, and rpm_.

439 {
440  std::string const currentFileName{rootOutputFile_->currentFileName()};
441  rootOutputFile_->writeTTrees();
442  rootOutputFile_.reset();
444  lastClosedFileName_ = fileNameAtClose(currentFileName);
445  detail::logFileAction("Closed output file ", lastClosedFileName_);
447 }
FileStatsCollector fstats_
void logFileAction(const char *msg, std::string const &file)
Definition: logFileAction.cc:9
std::string lastClosedFileName_
std::unique_ptr< RootOutputFile > rootOutputFile_
void invoke(invoke_function_t< void, ARGS... > mfunc, ARGS &&...args)
Definition: RPManager.h:66
std::string fileNameAtClose(std::string const &currentFileName)
art::Handle<art::TriggerResults> art::EventObserverBase::getTriggerResults ( Event const &  e) const
inlineinherited

Definition at line 61 of file EventObserverBase.h.

References art::detail::CachedProducts::getOneTriggerResults(), and art::EventObserverBase::selectors_.

Referenced by art::OutputModule::doWriteEvent().

62  {
64  }
detail::CachedProducts selectors_
art::Handle< art::TriggerResults > getOneTriggerResults(Event const &) const
Float_t e
Definition: plot.C:34
auto art::OutputModule::hasNewlyDroppedBranch ( ) const
inlineinherited

Definition at line 342 of file OutputModule.h.

References art::OutputModule::hasNewlyDroppedBranch_.

Referenced by art::OutputModule::fileIsOpen(), startEndFile(), write(), writeRun(), and writeSubRun().

344 {
345  return hasNewlyDroppedBranch_;
346 }
std::array< bool, NumBranchTypes > hasNewlyDroppedBranch_
Definition: OutputModule.h:158
void art::RootOutput::incrementInputFileNumber ( )
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 486 of file RootOutput_module.cc.

References isFileOpen(), and rootOutputFile_.

487 {
488  if (isFileOpen())
489  rootOutputFile_->incrementInputFileNumber();
490 }
bool isFileOpen() const override
std::unique_ptr< RootOutputFile > rootOutputFile_
bool art::RootOutput::isFileOpen ( ) const
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 480 of file RootOutput_module.cc.

References rootOutputFile_.

Referenced by incrementInputFileNumber(), openFile(), postSelectProducts(), requestsToCloseFile(), respondToCloseInputFile(), respondToOpenInputFile(), and setFileStatus().

481 {
482  return rootOutputFile_.get() != nullptr;
483 }
std::unique_ptr< RootOutputFile > rootOutputFile_
auto art::OutputModule::keptProducts ( ) const
inlineinherited

Definition at line 336 of file OutputModule.h.

References art::OutputModule::keptProducts_.

Referenced by art::OutputModule::fileIsOpen(), and art::RootOutputFile::selectProducts().

337 {
338  return keptProducts_;
339 }
SelectionsArray keptProducts_
Definition: OutputModule.h:157
string const & art::RootOutput::lastClosedFileName ( ) const
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 544 of file RootOutput_module.cc.

References lastClosedFileName_, and art::errors::LogicError.

545 {
546  if (lastClosedFileName_.empty()) {
547  throw Exception(errors::LogicError, "RootOutput::currentFileName(): ")
548  << "called before meaningful.\n";
549  }
550  return lastClosedFileName_;
551 }
std::string lastClosedFileName_
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
int art::OutputModule::maxEvents ( ) const
inlineinherited

Definition at line 317 of file OutputModule.h.

References art::OutputModule::maxEvents_.

318 {
319  return maxEvents_;
320 }
template<typename T , BranchType = InEvent>
ProductToken<T> art::Consumer::mayConsume ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ProductToken<T> art::Consumer::mayConsume ( InputTag const &  it)
inherited

Definition at line 190 of file Consumer.h.

References art::InputTag::instance(), art::InputTag::label(), and art::InputTag::process().

191 {
192  if (!moduleContext_)
193  return ProductToken<T>::invalid();
194 
195  consumables_[BT].emplace_back(ConsumableType::Product,
196  TypeID{typeid(T)},
197  it.label(),
198  it.instance(),
199  it.process());
200  return ProductToken<T>{it};
201 }
static ProductToken< T > invalid()
Definition: ProductToken.h:47
ConsumableProducts consumables_
Definition: Consumer.h:138
bool moduleContext_
Definition: Consumer.h:136
template<typename T , art::BranchType BT>
void art::Consumer::mayConsumeMany ( )
inherited

Definition at line 205 of file Consumer.h.

206 {
207  if (!moduleContext_)
208  return;
209 
210  consumables_[BT].emplace_back(ConsumableType::Many, TypeID{typeid(T)});
211 }
ConsumableProducts consumables_
Definition: Consumer.h:138
bool moduleContext_
Definition: Consumer.h:136
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::Consumer::mayConsumeView ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ViewToken<T> art::Consumer::mayConsumeView ( InputTag const &  it)
inherited

Definition at line 215 of file Consumer.h.

References art::InputTag::instance(), art::InputTag::label(), and art::InputTag::process().

216 {
217  if (!moduleContext_)
218  return ViewToken<T>::invalid();
219 
220  consumables_[BT].emplace_back(ConsumableType::ViewElement,
221  TypeID{typeid(T)},
222  it.label(),
223  it.instance(),
224  it.process());
225  return ViewToken<T>{it};
226 }
static ViewToken< Element > invalid()
Definition: ProductToken.h:75
ConsumableProducts consumables_
Definition: Consumer.h:138
bool moduleContext_
Definition: Consumer.h:136
bool art::EventObserverBase::modifiesEvent ( ) const
inlineinherited

Definition at line 25 of file EventObserverBase.h.

26  {
27  return false;
28  }
void art::RootOutput::openFile ( FileBlock const &  fb)
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 249 of file RootOutput_module.cc.

References doOpenFile(), isFileOpen(), and respondToOpenInputFile().

250 {
251  // Note: The file block here refers to the currently open input
252  // file, so we can find out about the available products by
253  // looping over the branches of the input file data trees.
254  if (!isFileOpen()) {
255  doOpenFile();
257  }
258 }
bool isFileOpen() const override
TFile fb("Li6.root")
void respondToOpenInputFile(FileBlock const &) override
void art::RootOutput::postSelectProducts ( )
overridevirtual

Reimplemented from art::OutputModule.

Definition at line 261 of file RootOutput_module.cc.

References isFileOpen(), and rootOutputFile_.

262 {
263  if (isFileOpen()) {
264  rootOutputFile_->selectProducts();
265  }
266 }
bool isFileOpen() const override
std::unique_ptr< RootOutputFile > rootOutputFile_
void art::Consumer::prepareForJob ( fhicl::ParameterSet const &  pset)
protectedinherited

Definition at line 89 of file Consumer.cc.

References fhicl::ParameterSet::get_if_present().

Referenced by art::EDProducer::doBeginJob(), art::EDFilter::doBeginJob(), and art::EDAnalyzer::doBeginJob().

90 {
91  if (!moduleContext_)
92  return;
93 
94  pset.get_if_present("errorOnMissingConsumes", requireConsumes_);
95  for (auto& consumablesPerBranch : consumables_) {
96  cet::sort_all(consumablesPerBranch);
97  }
98 }
bool requireConsumes_
Definition: Consumer.h:137
ConsumableProducts consumables_
Definition: Consumer.h:138
bool moduleContext_
Definition: Consumer.h:136
std::string const& art::EventObserverBase::processName ( ) const
inlineinherited

Definition at line 41 of file EventObserverBase.h.

References art::EventObserverBase::process_name_.

Referenced by art::FileDumperOutput::printPrincipal(), and RootOutput().

42  {
43  return process_name_;
44  }
void art::RootOutput::readResults ( ResultsPrincipal const &  resp)
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 297 of file RootOutput_module.cc.

References art::ResultsProducer::doReadResults(), art::RPManager::for_each_RPWorker(), art::RPWorker::rp(), rpm_, and w.

298 {
299  rpm_.for_each_RPWorker([&resp](RPWorker& w) { w.rp().doReadResults(resp); });
300 }
void for_each_RPWorker(on_rpworker_t wfunc)
Definition: RPManager.h:76
Float_t w
Definition: plot.C:23
void art::OutputModule::registerProducts ( MasterProductRegistry mpr,
ProductDescriptions producedProducts,
ModuleDescription const &  md 
)
inherited

Definition at line 105 of file OutputModule.cc.

References art::OutputModule::doRegisterProducts().

Referenced by art::OutputModule::fileIsOpen().

108 {
109  doRegisterProducts(mpr, producedProducts, md);
110 }
virtual void doRegisterProducts(MasterProductRegistry &, ProductDescriptions &, ModuleDescription const &)
int art::OutputModule::remainingEvents ( ) const
inlineinherited

Definition at line 323 of file OutputModule.h.

References art::OutputModule::remainingEvents_.

Referenced by respondToOpenInputFile().

324 {
325  return remainingEvents_;
326 }
bool art::RootOutput::requestsToCloseFile ( ) const
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 493 of file RootOutput_module.cc.

References isFileOpen(), and rootOutputFile_.

494 {
495  return isFileOpen() ? rootOutputFile_->requestsToCloseFile() : false;
496 }
bool isFileOpen() const override
std::unique_ptr< RootOutputFile > rootOutputFile_
void art::RootOutput::respondToCloseInputFile ( FileBlock const &  fb)
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 303 of file RootOutput_module.cc.

References isFileOpen(), and rootOutputFile_.

304 {
305  if (isFileOpen()) {
306  rootOutputFile_->respondToCloseInputFile(fb);
307  }
308 }
bool isFileOpen() const override
std::unique_ptr< RootOutputFile > rootOutputFile_
TFile fb("Li6.root")
void art::RootOutput::respondToOpenInputFile ( FileBlock const &  fb)
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 269 of file RootOutput_module.cc.

References fastCloningEnabled_, fb(), art::FileBlock::fileName(), fstats_, inputFileCount_, isFileOpen(), art::FileStatsCollector::recordInputFile(), art::OutputModule::remainingEvents(), and rootOutputFile_.

Referenced by openFile().

270 {
271  ++inputFileCount_;
272  if (!isFileOpen())
273  return;
274 
275  auto const* rfb = dynamic_cast<RootFileBlock const*>(&fb);
276 
277  bool fastCloneThisOne = fastCloningEnabled_ && rfb &&
278  (rfb->tree() != nullptr) &&
279  ((remainingEvents() < 0) ||
280  (remainingEvents() >= rfb->tree()->GetEntries()));
281  if (fastCloningEnabled_ && !fastCloneThisOne) {
282  mf::LogWarning("FastCloning")
283  << "Fast cloning deactivated for this input file due to "
284  << "empty event tree and/or event limits.";
285  }
286  if (fastCloneThisOne && !rfb->fastClonable()) {
287  mf::LogWarning("FastCloning")
288  << "Fast cloning deactivated for this input file due to "
289  << "information in FileBlock.";
290  fastCloneThisOne = false;
291  }
292  rootOutputFile_->beginInputFile(rfb, fastCloneThisOne);
293  fstats_.recordInputFile(fb.fileName());
294 }
FileStatsCollector fstats_
bool isFileOpen() const override
std::unique_ptr< RootOutputFile > rootOutputFile_
TFile fb("Li6.root")
void recordInputFile(std::string const &inputFileName)
int remainingEvents() const
Definition: OutputModule.h:323
MaybeLogger_< ELseverityLevel::ELsev_warning, false > LogWarning
bool art::OutputModule::selected ( BranchDescription const &  pd) const
inlineinherited

Definition at line 329 of file OutputModule.h.

References art::OutputModule::groupSelector_.

Referenced by art::OutputModule::doSelectProducts(), and art::OutputModule::fileIsOpen().

330 {
331  assert(groupSelector_);
332  return groupSelector_->selected(pd);
333 }
std::unique_ptr< GroupSelector const > groupSelector_
Definition: OutputModule.h:161
fhicl::ParameterSetID art::EventObserverBase::selectorConfig ( ) const
inlineinherited

Definition at line 56 of file EventObserverBase.h.

References art::EventObserverBase::selector_config_id_.

Referenced by art::RootOutputFile::writeOne().

57  {
58  return selector_config_id_;
59  }
fhicl::ParameterSetID selector_config_id_
void art::OutputModule::selectProducts ( ProductList const &  productList)
inherited

Definition at line 98 of file OutputModule.cc.

References art::OutputModule::doSelectProducts(), and art::OutputModule::postSelectProducts().

Referenced by art::OutputModule::fileIsOpen(), and art::OutputWorker::selectProducts().

99 {
100  doSelectProducts(productList);
102 }
virtual void postSelectProducts()
void doSelectProducts(ProductList const &)
Definition: OutputModule.cc:70
void art::RootOutput::setFileStatus ( OutputFileStatus  ofs)
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 473 of file RootOutput_module.cc.

References isFileOpen(), and rootOutputFile_.

474 {
475  if (isFileOpen())
476  rootOutputFile_->setFileStatus(ofs);
477 }
bool isFileOpen() const override
std::unique_ptr< RootOutputFile > rootOutputFile_
void art::RootOutput::setRunAuxiliaryRangeSetID ( RangeSet const &  rs)
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 343 of file RootOutput_module.cc.

References rootOutputFile_.

344 {
345  rootOutputFile_->setRunAuxiliaryRangeSetID(rs);
346 }
std::unique_ptr< RootOutputFile > rootOutputFile_
void art::RootOutput::setSubRunAuxiliaryRangeSetID ( RangeSet const &  rs)
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 324 of file RootOutput_module.cc.

References rootOutputFile_.

325 {
326  rootOutputFile_->setSubRunAuxiliaryRangeSetID(rs);
327 }
std::unique_ptr< RootOutputFile > rootOutputFile_
void art::Consumer::showMissingConsumes ( ) const
protectedinherited

Definition at line 125 of file Consumer.cc.

Referenced by art::EDProducer::doEndJob(), art::EDFilter::doEndJob(), art::EDAnalyzer::doEndJob(), and endJob().

126 {
127  if (!moduleContext_)
128  return;
129 
130  // If none of the branches have missing consumes statements, exit early.
131  if (std::all_of(cbegin(missingConsumes_),
132  cend(missingConsumes_),
133  [](auto const& perBranch) { return perBranch.empty(); }))
134  return;
135 
136  constexpr cet::HorizontalRule rule{60};
137  mf::LogPrint log{"MTdiagnostics"};
138  log << '\n'
139  << rule('=') << '\n'
140  << "The following consumes (or mayConsume) statements are missing from\n"
141  << module_context(moduleDescription_) << '\n'
142  << rule('-') << '\n';
143 
144  cet::for_all_with_index(
145  missingConsumes_, [&log](std::size_t const i, auto const& perBranch) {
146  for (auto const& pi : perBranch) {
147  log << " "
148  << assemble_consumes_statement(static_cast<BranchType>(i), pi)
149  << '\n';
150  }
151  });
152  log << rule('=');
153 }
cet::exempt_ptr< ModuleDescription const > moduleDescription_
Definition: Consumer.h:140
constexpr T pi()
Returns the constant pi (up to 35 decimal digits of precision)
bool moduleContext_
Definition: Consumer.h:136
ConsumableProductSets missingConsumes_
Definition: Consumer.h:139
void art::RootOutput::startEndFile ( )
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 359 of file RootOutput_module.cc.

References art::OutputModule::description(), art::ResultsProducer::doWriteResults(), art::RPManager::for_each_RPWorker(), art::OutputModule::hasNewlyDroppedBranch(), art::InResults, art::ProductMetaData::instance(), art::ModuleDescription::processConfiguration(), producedResultsProducts_, rootOutputFile_, art::RPWorker::rp(), rpm_, and w.

360 {
361  auto resp = std::make_unique<ResultsPrincipal>(
362  ResultsAuxiliary{}, description().processConfiguration(), nullptr);
363  resp->setProducedProducts(producedResultsProducts_);
364  if (ProductMetaData::instance().productProduced(InResults) ||
366  resp->addToProcessHistory();
367  }
369  [&resp](RPWorker& w) { w.rp().doWriteResults(*resp); });
370  rootOutputFile_->writeResults(*resp);
371 }
void for_each_RPWorker(on_rpworker_t wfunc)
Definition: RPManager.h:76
static ProductMetaData const & instance()
ProductTable producedResultsProducts_
std::unique_ptr< RootOutputFile > rootOutputFile_
std::array< bool, NumBranchTypes > const & hasNewlyDroppedBranch() const
Definition: OutputModule.h:342
ModuleDescription const & description() const
Definition: OutputModule.h:311
Float_t w
Definition: plot.C:23
ProcessConfiguration const & processConfiguration() const
void art::Consumer::validateConsumedProduct ( BranchType const  bt,
ProductInfo const &  pi 
)
protectedinherited

Definition at line 101 of file Consumer.cc.

References art::errors::ProductRegistrationFailure.

103 {
104  // Early exits if consumes tracking has been disabled or if the
105  // consumed product is an allowed consumable.
106  if (!moduleContext_)
107  return;
108 
109  if (cet::binary_search_all(consumables_[bt], pi))
110  return;
111 
112  if (requireConsumes_) {
114  "Consumer: an error occurred during validation of a "
115  "retrieved product\n\n")
116  << "The following consumes (or mayConsume) statement is missing from\n"
117  << module_context(moduleDescription_) << ":\n\n"
118  << " " << assemble_consumes_statement(bt, pi) << "\n\n";
119  }
120 
121  missingConsumes_[bt].insert(pi);
122 }
cet::exempt_ptr< ModuleDescription const > moduleDescription_
Definition: Consumer.h:140
bool requireConsumes_
Definition: Consumer.h:137
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
constexpr T pi()
Returns the constant pi (up to 35 decimal digits of precision)
ConsumableProducts consumables_
Definition: Consumer.h:138
bool moduleContext_
Definition: Consumer.h:136
ConsumableProductSets missingConsumes_
Definition: Consumer.h:139
bool art::EventObserverBase::wantAllEvents ( ) const
inlineinherited
bool art::EventObserverBase::wantEvent ( Event const &  e)
inlineinherited
void art::RootOutput::write ( EventPrincipal ep)
overrideprivatevirtual

Implements art::OutputModule.

Definition at line 311 of file RootOutput_module.cc.

References art::Principal::addToProcessHistory(), dropAllEvents_, fstats_, art::OutputModule::hasNewlyDroppedBranch(), art::EventPrincipal::id(), art::InEvent, art::FileStatsCollector::recordEvent(), and rootOutputFile_.

312 {
313  if (dropAllEvents_) {
314  return;
315  }
317  ep.addToProcessHistory();
318  }
319  rootOutputFile_->writeOne(ep);
320  fstats_.recordEvent(ep.id());
321 }
FileStatsCollector fstats_
void recordEvent(EventID const &id)
std::unique_ptr< RootOutputFile > rootOutputFile_
std::array< bool, NumBranchTypes > const & hasNewlyDroppedBranch() const
Definition: OutputModule.h:342
void art::RootOutput::writeEventHistory ( )
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 386 of file RootOutput_module.cc.

References rootOutputFile_.

387 {
388  rootOutputFile_->writeEventHistory();
389 }
std::unique_ptr< RootOutputFile > rootOutputFile_
void art::RootOutput::writeFileFormatVersion ( )
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 374 of file RootOutput_module.cc.

References rootOutputFile_.

375 {
376  rootOutputFile_->writeFileFormatVersion();
377 }
std::unique_ptr< RootOutputFile > rootOutputFile_
void art::RootOutput::writeFileIndex ( )
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 380 of file RootOutput_module.cc.

References rootOutputFile_.

381 {
382  rootOutputFile_->writeFileIndex();
383 }
std::unique_ptr< RootOutputFile > rootOutputFile_
void art::RootOutput::writeParameterSetRegistry ( )
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 404 of file RootOutput_module.cc.

References rootOutputFile_, and writeParameterSets_.

405 {
406  if (writeParameterSets_) {
407  rootOutputFile_->writeParameterSetRegistry();
408  }
409 }
std::unique_ptr< RootOutputFile > rootOutputFile_
void art::RootOutput::writeParentageRegistry ( )
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 418 of file RootOutput_module.cc.

References rootOutputFile_.

419 {
420  rootOutputFile_->writeParentageRegistry();
421 }
std::unique_ptr< RootOutputFile > rootOutputFile_
void art::RootOutput::writeProcessConfigurationRegistry ( )
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 392 of file RootOutput_module.cc.

References rootOutputFile_.

393 {
394  rootOutputFile_->writeProcessConfigurationRegistry();
395 }
std::unique_ptr< RootOutputFile > rootOutputFile_
void art::RootOutput::writeProcessHistoryRegistry ( )
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 398 of file RootOutput_module.cc.

References rootOutputFile_.

399 {
400  rootOutputFile_->writeProcessHistoryRegistry();
401 }
std::unique_ptr< RootOutputFile > rootOutputFile_
void art::RootOutput::writeProductDependencies ( )
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 432 of file RootOutput_module.cc.

References rootOutputFile_.

433 {
434  rootOutputFile_->writeProductDependencies();
435 }
std::unique_ptr< RootOutputFile > rootOutputFile_
void art::RootOutput::writeProductDescriptionRegistry ( )
overrideprivatevirtual

Reimplemented from art::OutputModule.

Definition at line 412 of file RootOutput_module.cc.

References rootOutputFile_.

413 {
414  rootOutputFile_->writeProductDescriptionRegistry();
415 }
std::unique_ptr< RootOutputFile > rootOutputFile_
void art::RootOutput::writeRun ( RunPrincipal r)
overrideprivatevirtual

Implements art::OutputModule.

Definition at line 349 of file RootOutput_module.cc.

References art::Principal::addToProcessHistory(), fstats_, art::OutputModule::hasNewlyDroppedBranch(), art::RunPrincipal::id(), art::InRun, art::FileStatsCollector::recordRun(), and rootOutputFile_.

350 {
351  if (hasNewlyDroppedBranch()[InRun]) {
352  r.addToProcessHistory();
353  }
354  rootOutputFile_->writeRun(r);
355  fstats_.recordRun(r.id());
356 }
void recordRun(RunID const &id)
FileStatsCollector fstats_
std::unique_ptr< RootOutputFile > rootOutputFile_
std::array< bool, NumBranchTypes > const & hasNewlyDroppedBranch() const
Definition: OutputModule.h:342
void art::RootOutput::writeSubRun ( SubRunPrincipal sr)
overrideprivatevirtual

Implements art::OutputModule.

Definition at line 330 of file RootOutput_module.cc.

References art::Principal::addToProcessHistory(), dropAllSubRuns_, fstats_, art::OutputModule::hasNewlyDroppedBranch(), art::SubRunPrincipal::id(), art::InSubRun, art::FileStatsCollector::recordSubRun(), and rootOutputFile_.

331 {
332  if (dropAllSubRuns_) {
333  return;
334  }
336  sr.addToProcessHistory();
337  }
338  rootOutputFile_->writeSubRun(sr);
339  fstats_.recordSubRun(sr.id());
340 }
FileStatsCollector fstats_
std::unique_ptr< RootOutputFile > rootOutputFile_
void recordSubRun(SubRunID const &id)
std::array< bool, NumBranchTypes > const & hasNewlyDroppedBranch() const
Definition: OutputModule.h:342

Member Data Documentation

int const art::RootOutput::basketSize_
private

Definition at line 181 of file RootOutput_module.cc.

Referenced by doOpenFile(), and RootOutput().

std::string const art::RootOutput::catalog_
private

Definition at line 164 of file RootOutput_module.cc.

Referenced by RootOutput().

int const art::RootOutput::compressionLevel_
private

Definition at line 177 of file RootOutput_module.cc.

Referenced by doOpenFile(), and RootOutput().

constexpr char const* art::RootOutput::default_tmpDir {"<parent-path-of-filename>"}
static

Definition at line 54 of file RootOutput_module.cc.

Referenced by RootOutput().

bool art::RootOutput::dropAllEvents_ {false}
private

Definition at line 165 of file RootOutput_module.cc.

Referenced by RootOutput(), and write().

bool art::RootOutput::dropAllSubRuns_
private

Definition at line 166 of file RootOutput_module.cc.

Referenced by RootOutput(), and writeSubRun().

DropMetaData art::RootOutput::dropMetaData_
private

Definition at line 182 of file RootOutput_module.cc.

Referenced by doOpenFile(), and RootOutput().

bool art::RootOutput::dropMetaDataForDroppedData_
private

Definition at line 183 of file RootOutput_module.cc.

Referenced by doOpenFile(), and RootOutput().

bool art::RootOutput::fastCloningEnabled_ {true}
private

Definition at line 187 of file RootOutput_module.cc.

Referenced by doOpenFile(), respondToOpenInputFile(), and RootOutput().

std::string const art::RootOutput::filePattern_
private

Definition at line 172 of file RootOutput_module.cc.

Referenced by doOpenFile(), fileNameAtClose(), fileNameAtOpen(), and RootOutput().

ClosingCriteria art::RootOutput::fileProperties_
private

Definition at line 193 of file RootOutput_module.cc.

Referenced by doOpenFile(), fileGranularity(), and RootOutput().

PostCloseFileRenamer art::RootOutput::fRenamer_ {fstats_}
private

Definition at line 171 of file RootOutput_module.cc.

Referenced by fileNameAtClose().

int art::RootOutput::inputFileCount_ {0}
private

Definition at line 168 of file RootOutput_module.cc.

Referenced by doOpenFile(), and respondToOpenInputFile().

std::string art::RootOutput::lastClosedFileName_ {}
private

Definition at line 174 of file RootOutput_module.cc.

Referenced by finishEndFile(), and lastClosedFileName().

std::string const art::RootOutput::moduleLabel_
private

Definition at line 167 of file RootOutput_module.cc.

Referenced by RootOutput().

ProductTable art::RootOutput::producedResultsProducts_ {}
private

Definition at line 196 of file RootOutput_module.cc.

Referenced by doRegisterProducts(), and startEndFile().

int64_t const art::RootOutput::saveMemoryObjectThreshold_
private

Definition at line 178 of file RootOutput_module.cc.

Referenced by doOpenFile(), and RootOutput().

int const art::RootOutput::splitLevel_
private

Definition at line 180 of file RootOutput_module.cc.

Referenced by doOpenFile(), and RootOutput().

std::string art::RootOutput::tmpDir_
private

Definition at line 173 of file RootOutput_module.cc.

Referenced by fileNameAtOpen(), and RootOutput().

int64_t const art::RootOutput::treeMaxVirtualSize_
private

Definition at line 179 of file RootOutput_module.cc.

Referenced by doOpenFile(), and RootOutput().

bool art::RootOutput::writeParameterSets_
private

Definition at line 192 of file RootOutput_module.cc.

Referenced by RootOutput(), and writeParameterSetRegistry().


The documentation for this class was generated from the following file: