#include <PoolOutputModule.h>
Classes | |
struct | AuxItem |
struct | OutputItem |
Public Types | |
typedef std::array< AuxItem, NumBranchTypes > | AuxItemArray |
enum | DropMetaData { DropNone, DropDroppedPrior, DropPrior, DropAll } |
typedef std::vector< OutputItem > | OutputItemList |
typedef std::array < OutputItemList, NumBranchTypes > | OutputItemListArray |
Public Member Functions | |
AuxItemArray const & | auxItems () const |
std::string const & | basketOrder () const |
int const & | basketSize () const |
std::string const & | catalog () const |
std::string const & | compressionAlgorithm () const |
int const & | compressionLevel () const |
std::string const & | currentFileName () const |
DropMetaData const & | dropMetaData () const |
int | eventAutoFlushSize () const |
std::string const & | fileName () const |
int const & | inputFileCount () const |
std::string const & | logicalFileName () const |
unsigned int const & | maxFileSize () const |
std::string const & | moduleLabel () const |
PoolOutputModule & | operator= (PoolOutputModule const &) |
bool const & | overrideInputFileSplitLevels () const |
PoolOutputModule (PoolOutputModule const &) | |
PoolOutputModule (ParameterSet const &ps) | |
OutputItemListArray const & | selectedOutputItemList () const |
int const & | splitLevel () const |
int const & | treeMaxVirtualSize () const |
int const & | whyNotFastClonable () const |
virtual | ~PoolOutputModule () |
Static Public Member Functions | |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
Protected Member Functions | |
virtual bool | shouldWeCloseFile () const |
allow inheriting classes to override but still be able to call this method in the overridden version | |
virtual void | write (EventPrincipal const &e) |
Private Member Functions | |
void | beginInputFile (FileBlock const &fb) |
virtual void | beginJob () |
virtual void | doOpenFile () |
void | fillSelectedItemList (BranchType branchtype, TTree *theInputTree) |
virtual void | finishEndFile () |
virtual bool | isFileOpen () const |
virtual void | openFile (FileBlock const &fb) |
virtual void | postForkReacquireResources (unsigned int iChildIndex, unsigned int iNumberOfChildren) |
virtual void | respondToCloseInputFile (FileBlock const &fb) |
virtual void | respondToOpenInputFile (FileBlock const &fb) |
virtual void | startEndFile () |
virtual void | writeBranchIDListRegistry () |
virtual void | writeFileFormatVersion () |
virtual void | writeFileIdentifier () |
virtual void | writeIndexIntoFile () |
virtual void | writeLuminosityBlock (LuminosityBlockPrincipal const &lb) |
virtual void | writeParameterSetRegistry () |
virtual void | writeParentageRegistry () |
virtual void | writeProcessConfigurationRegistry () |
virtual void | writeProcessHistoryRegistry () |
virtual void | writeProductDependencies () |
virtual void | writeProductDescriptionRegistry () |
virtual void | writeRun (RunPrincipal const &r) |
Private Attributes | |
AuxItemArray | auxItems_ |
std::string | basketOrder_ |
int const | basketSize_ |
std::string const | catalog_ |
unsigned int | childIndex_ |
std::string const | compressionAlgorithm_ |
int const | compressionLevel_ |
DropMetaData | dropMetaData_ |
int const | eventAutoFlushSize_ |
std::string const | fileName_ |
bool | initializedFromInput_ |
int | inputFileCount_ |
std::string const | logicalFileName_ |
unsigned int const | maxFileSize_ |
std::string const | moduleLabel_ |
unsigned int | numberOfDigitsInIndex_ |
int | outputFileCount_ |
bool | overrideInputFileSplitLevels_ |
std::unique_ptr< RootOutputFile > | rootOutputFile_ |
RootServiceChecker | rootServiceChecker_ |
OutputItemListArray | selectedOutputItemList_ |
int const | splitLevel_ |
std::string | statusFileName_ |
int const | treeMaxVirtualSize_ |
int | whyNotFastClonable_ |
Definition at line 28 of file PoolOutputModule.h.
typedef std::array<AuxItem, NumBranchTypes> edm::PoolOutputModule::AuxItemArray |
Definition at line 63 of file PoolOutputModule.h.
typedef std::vector<OutputItem> edm::PoolOutputModule::OutputItemList |
Definition at line 94 of file PoolOutputModule.h.
typedef std::array<OutputItemList, NumBranchTypes> edm::PoolOutputModule::OutputItemListArray |
Definition at line 96 of file PoolOutputModule.h.
Definition at line 30 of file PoolOutputModule.h.
{ DropNone, DropDroppedPrior, DropPrior, DropAll };
edm::PoolOutputModule::PoolOutputModule | ( | ParameterSet const & | ps | ) | [explicit] |
Definition at line 30 of file PoolOutputModule.cc.
References edm::errors::Configuration, DropAll, DropDroppedPrior, dropMetaData(), dropMetaData_, DropNone, DropPrior, edm::FileBlock::EventSelectionUsed, Exception, edm::ParameterSet::getUntrackedParameter(), edm::ParameterSet::getUntrackedParameterSet(), moduleLabel_, statusFileName_, edm::OutputModule::wantAllEvents(), and whyNotFastClonable_.
: OutputModule(pset), rootServiceChecker_(), auxItems_(), selectedOutputItemList_(), fileName_(pset.getUntrackedParameter<std::string>("fileName")), logicalFileName_(pset.getUntrackedParameter<std::string>("logicalFileName")), catalog_(pset.getUntrackedParameter<std::string>("catalog")), maxFileSize_(pset.getUntrackedParameter<int>("maxSize")), compressionLevel_(pset.getUntrackedParameter<int>("compressionLevel")), #if ROOT_VERSION_CODE >= ROOT_VERSION(5,30,0) compressionAlgorithm_(pset.getUntrackedParameter<std::string>("compressionAlgorithm")), #else compressionAlgorithm_("ZLIB"), #endif basketSize_(pset.getUntrackedParameter<int>("basketSize")), eventAutoFlushSize_(pset.getUntrackedParameter<int>("eventAutoFlushCompressedSize")), splitLevel_(std::min<int>(pset.getUntrackedParameter<int>("splitLevel") + 1, 99)), basketOrder_(pset.getUntrackedParameter<std::string>("sortBaskets")), treeMaxVirtualSize_(pset.getUntrackedParameter<int>("treeMaxVirtualSize")), whyNotFastClonable_(pset.getUntrackedParameter<bool>("fastCloning") ? FileBlock::CanFastClone : FileBlock::DisabledInConfigFile), dropMetaData_(DropNone), moduleLabel_(pset.getParameter<std::string>("@module_label")), initializedFromInput_(false), outputFileCount_(0), inputFileCount_(0), childIndex_(0U), numberOfDigitsInIndex_(0U), overrideInputFileSplitLevels_(pset.getUntrackedParameter<bool>("overrideInputFileSplitLevels")), rootOutputFile_(), statusFileName_() { if (pset.getUntrackedParameter<bool>("writeStatusFile")) { std::ostringstream statusfilename; statusfilename << moduleLabel_ << '_' << getpid(); statusFileName_ = statusfilename.str(); } std::string dropMetaData(pset.getUntrackedParameter<std::string>("dropMetaData")); if(dropMetaData.empty()) dropMetaData_ = DropNone; else if(dropMetaData == std::string("NONE")) dropMetaData_ = DropNone; else if(dropMetaData == std::string("DROPPED")) dropMetaData_ = DropDroppedPrior; else if(dropMetaData == std::string("PRIOR")) dropMetaData_ = DropPrior; else if(dropMetaData == std::string("ALL")) dropMetaData_ = DropAll; else { throw edm::Exception(errors::Configuration, "Illegal dropMetaData parameter value: ") << dropMetaData << ".\n" << "Legal values are 'NONE', 'DROPPED', 'PRIOR', and 'ALL'.\n"; } if (!wantAllEvents()) { whyNotFastClonable_+= FileBlock::EventSelectionUsed; } // We don't use this next parameter, but we read it anyway because it is part // of the configuration of this module. An external parser creates the // configuration by reading this source code. pset.getUntrackedParameterSet("dataset"); }
edm::PoolOutputModule::~PoolOutputModule | ( | ) | [virtual] |
Definition at line 238 of file PoolOutputModule.cc.
{ }
edm::PoolOutputModule::PoolOutputModule | ( | PoolOutputModule const & | ) |
AuxItemArray const& edm::PoolOutputModule::auxItems | ( | ) | const [inline] |
Definition at line 64 of file PoolOutputModule.h.
References auxItems_.
Referenced by edm::RootOutputFile::RootOutputFile().
{return auxItems_;}
std::string const& edm::PoolOutputModule::basketOrder | ( | ) | const [inline] |
Definition at line 42 of file PoolOutputModule.h.
References basketOrder_.
Referenced by edm::RootOutputFile::beginInputFile().
{return basketOrder_;}
int const& edm::PoolOutputModule::basketSize | ( | ) | const [inline] |
Definition at line 39 of file PoolOutputModule.h.
References basketSize_.
Referenced by fillSelectedItemList(), edm::RootOutputFile::writeBranchIDListRegistry(), edm::RootOutputFile::writeFileFormatVersion(), edm::RootOutputFile::writeFileIdentifier(), edm::RootOutputFile::writeIndexIntoFile(), edm::RootOutputFile::writeParameterSetRegistry(), edm::RootOutputFile::writeParentageRegistry(), edm::RootOutputFile::writeProcessConfigurationRegistry(), edm::RootOutputFile::writeProcessHistoryRegistry(), edm::RootOutputFile::writeProductDependencies(), and edm::RootOutputFile::writeProductDescriptionRegistry().
{return basketSize_;}
void edm::PoolOutputModule::beginInputFile | ( | FileBlock const & | fb | ) | [private] |
Definition at line 195 of file PoolOutputModule.cc.
References isFileOpen(), edm::OutputModule::remainingEvents(), and rootOutputFile_.
Referenced by openFile(), and respondToOpenInputFile().
{ if(isFileOpen()) { rootOutputFile_->beginInputFile(fb, remainingEvents()); } }
void edm::PoolOutputModule::beginJob | ( | void | ) | [private, virtual] |
Reimplemented from edm::OutputModule.
Definition at line 90 of file PoolOutputModule.cc.
References revisionDML::branchType(), edm::checkDictionaries(), edm::BranchDescription::fullClassName(), i, edm::InEvent, edm::OutputModule::keptProducts(), edm::NumBranchTypes, parseEventContent::prod, and edm::wrappedClassName().
{ for(int i = InEvent; i < NumBranchTypes; ++i) { BranchType branchType = static_cast<BranchType>(i); Selections const& keptVector = keptProducts()[branchType]; for(Selections::const_iterator it = keptVector.begin(), itEnd = keptVector.end(); it != itEnd; ++it) { BranchDescription const& prod = **it; checkDictionaries(prod.fullClassName(), true); checkDictionaries(wrappedClassName(prod.fullClassName()), true); } } }
std::string const& edm::PoolOutputModule::catalog | ( | ) | const [inline] |
Definition at line 46 of file PoolOutputModule.h.
References catalog_.
Referenced by edm::RootOutputFile::RootOutputFile().
{return catalog_;}
std::string const& edm::PoolOutputModule::compressionAlgorithm | ( | ) | const [inline] |
Definition at line 38 of file PoolOutputModule.h.
References compressionAlgorithm_.
Referenced by edm::RootOutputFile::RootOutputFile().
{return compressionAlgorithm_;}
int const& edm::PoolOutputModule::compressionLevel | ( | ) | const [inline] |
Definition at line 37 of file PoolOutputModule.h.
References compressionLevel_.
{return compressionLevel_;}
std::string const & edm::PoolOutputModule::currentFileName | ( | ) | const |
Definition at line 102 of file PoolOutputModule.cc.
References rootOutputFile_.
Referenced by edm::TimeoutPoolOutputModule::shouldWeCloseFile().
{ return rootOutputFile_->fileName(); }
void edm::PoolOutputModule::doOpenFile | ( | ) | [private, virtual] |
Reimplemented from edm::OutputModule.
Definition at line 280 of file PoolOutputModule.cc.
References childIndex_, relativeConstraints::empty, Exception, fileName(), inputFileCount_, logicalFileName(), edm::errors::LogicError, numberOfDigitsInIndex_, evf::evtn::offset(), outputFileCount_, rootOutputFile_, and createPayload::suffix.
Referenced by openFile().
{ if(inputFileCount_ == 0) { throw edm::Exception(errors::LogicError) << "Attempt to open output file before input file. " << "Please report this to the core framework developers.\n"; } std::string suffix(".root"); std::string::size_type offset = fileName().rfind(suffix); bool ext = (offset == fileName().size() - suffix.size()); if(!ext) suffix.clear(); std::string fileBase(ext ? fileName().substr(0, offset) : fileName()); std::ostringstream ofilename; std::ostringstream lfilename; ofilename << fileBase; lfilename << logicalFileName(); if(numberOfDigitsInIndex_) { ofilename << '_' << std::setw(numberOfDigitsInIndex_) << std::setfill('0') << childIndex_; if(!logicalFileName().empty()) { lfilename << '_' << std::setw(numberOfDigitsInIndex_) << std::setfill('0') << childIndex_; } } if(outputFileCount_) { ofilename << std::setw(3) << std::setfill('0') << outputFileCount_; if(!logicalFileName().empty()) { lfilename << std::setw(3) << std::setfill('0') << outputFileCount_; } } ofilename << suffix; rootOutputFile_.reset(new RootOutputFile(this, ofilename.str(), lfilename.str())); ++outputFileCount_; }
DropMetaData const& edm::PoolOutputModule::dropMetaData | ( | ) | const [inline] |
Definition at line 45 of file PoolOutputModule.h.
References dropMetaData_.
Referenced by edm::RootOutputFile::beginInputFile(), edm::RootOutputFile::fillBranches(), edm::RootOutputFile::insertAncestors(), and PoolOutputModule().
{return dropMetaData_;}
int edm::PoolOutputModule::eventAutoFlushSize | ( | ) | const [inline] |
Definition at line 40 of file PoolOutputModule.h.
References eventAutoFlushSize_.
Referenced by edm::RootOutputFile::RootOutputFile().
{return eventAutoFlushSize_;}
std::string const& edm::PoolOutputModule::fileName | ( | ) | const [inline] |
Definition at line 35 of file PoolOutputModule.h.
References fileName_.
Referenced by doOpenFile().
{return fileName_;}
void edm::PoolOutputModule::fillDescriptions | ( | ConfigurationDescriptions & | descriptions | ) | [static] |
Reimplemented from edm::OutputModule.
Definition at line 313 of file PoolOutputModule.cc.
References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::addUntracked(), edm::OutputModule::fillDescription(), edm::ParameterSetDescription::setAllowAnything(), and edm::ParameterSetDescription::setComment().
{ std::string defaultString; ParameterSetDescription desc; desc.setComment("Writes runs, lumis, and events into EDM/ROOT files."); desc.addUntracked<std::string>("fileName") ->setComment("Name of output file."); desc.addUntracked<std::string>("logicalFileName", defaultString) ->setComment("Passed to job report. Otherwise unused by module."); desc.addUntracked<std::string>("catalog", defaultString) ->setComment("Passed to job report. Otherwise unused by module."); desc.addUntracked<int>("maxSize", 0x7f000000) ->setComment("Maximum output file size, in kB.\n" "If over maximum, new output file will be started at next input file transition."); desc.addUntracked<int>("compressionLevel", 7) ->setComment("ROOT compression level of output file."); #if ROOT_VERSION_CODE >= ROOT_VERSION(5,30,0) desc.addUntracked<std::string>("compressionAlgorithm", "ZLIB") ->setComment("Algorithm used to compress data in the ROOT output file, allowed values are ZLIB and LZMA"); #endif desc.addUntracked<int>("basketSize", 16384) ->setComment("Default ROOT basket size in output file."); desc.addUntracked<int>("eventAutoFlushCompressedSize",-1)->setComment("Set ROOT auto flush stored data size (in bytes) for event TTree. The value sets how large the compressed buffer is allowed to get. The uncompressed buffer can be quite a bit larger than this depending on the average compression ratio. The value of -1 just uses ROOT's default value. The value of 0 turns off this feature."); desc.addUntracked<int>("splitLevel", 99) ->setComment("Default ROOT branch split level in output file."); desc.addUntracked<std::string>("sortBaskets", std::string("sortbasketsbyoffset")) ->setComment("Legal values: 'sortbasketsbyoffset', 'sortbasketsbybranch', 'sortbasketsbyentry'.\n" "Used by ROOT when fast copying. Affects performance."); desc.addUntracked<int>("treeMaxVirtualSize", -1) ->setComment("Size of ROOT TTree TBasket cache. Affects performance."); desc.addUntracked<bool>("fastCloning", true) ->setComment("True: Allow fast copying, if possible.\n" "False: Disable fast copying."); desc.addUntracked<bool>("overrideInputFileSplitLevels", false) ->setComment("False: Use branch split levels and basket sizes from input file, if possible.\n" "True: Always use specified or default split levels and basket sizes."); desc.addUntracked<bool>("writeStatusFile", false) ->setComment("Write a status file. Intended for use by workflow management."); desc.addUntracked<std::string>("dropMetaData", defaultString) ->setComment("Determines handling of per product per event metadata. Options are:\n" "'NONE': Keep all of it.\n" "'DROPPED': Keep it for products produced in current process and all kept products. Drop it for dropped products produced in prior processes.\n" "'PRIOR': Keep it for products produced in current process. Drop it for products produced in prior processes.\n" "'ALL': Drop all of it."); ParameterSetDescription dataSet; dataSet.setAllowAnything(); desc.addUntracked<ParameterSetDescription>("dataset", dataSet) ->setComment("PSet is only used by Data Operations and not by this module."); OutputModule::fillDescription(desc); descriptions.add("edmOutput", desc); }
void edm::PoolOutputModule::fillSelectedItemList | ( | BranchType | branchtype, |
TTree * | theInputTree | ||
) | [private] |
Definition at line 154 of file PoolOutputModule.cc.
References auxItems_, edm::BranchDescription::basketSize(), basketSize(), edm::PoolOutputModule::AuxItem::basketSize_, edm::PoolOutputModule::OutputItem::basketSize_, edm::BranchDescription::branchName(), revisionDML::branchType(), edm::BranchTypeToAuxiliaryBranchName(), edm::BranchDescription::invalidBasketSize, edm::BranchDescription::invalidSplitLevel, edm::OutputModule::keptProducts(), overrideInputFileSplitLevels_, parseEventContent::prod, edm::BranchDescription::produced(), selectedOutputItemList_, edm::sort_all(), splitLevel(), edm::BranchDescription::splitLevel(), and edm::PoolOutputModule::OutputItem::splitLevel_.
Referenced by respondToOpenInputFile().
{ Selections const& keptVector = keptProducts()[branchType]; OutputItemList& outputItemList = selectedOutputItemList_[branchType]; AuxItem& auxItem = auxItems_[branchType]; // Fill AuxItem if (theInputTree != 0 && !overrideInputFileSplitLevels_) { TBranch* auxBranch = theInputTree->GetBranch(BranchTypeToAuxiliaryBranchName(branchType).c_str()); if (auxBranch) { auxItem.basketSize_ = auxBranch->GetBasketSize(); } else { auxItem.basketSize_ = basketSize_; } } else { auxItem.basketSize_ = basketSize_; } // Fill outputItemList with an entry for each branch. for(Selections::const_iterator it = keptVector.begin(), itEnd = keptVector.end(); it != itEnd; ++it) { int splitLevel = BranchDescription::invalidSplitLevel; int basketSize = BranchDescription::invalidBasketSize; BranchDescription const& prod = **it; TBranch* theBranch = ((!prod.produced() && theInputTree != 0 && !overrideInputFileSplitLevels_) ? theInputTree->GetBranch(prod.branchName().c_str()) : 0); if(theBranch != 0) { splitLevel = theBranch->GetSplitLevel(); basketSize = theBranch->GetBasketSize(); } else { splitLevel = (prod.splitLevel() == BranchDescription::invalidSplitLevel ? splitLevel_ : prod.splitLevel()); basketSize = (prod.basketSize() == BranchDescription::invalidBasketSize ? basketSize_ : prod.basketSize()); } outputItemList.emplace_back(&prod, splitLevel, basketSize); } // Sort outputItemList to allow fast copying. // The branches in outputItemList must be in the same order as in the input tree, with all new branches at the end. sort_all(outputItemList, OutputItem::Sorter(theInputTree)); }
void edm::PoolOutputModule::finishEndFile | ( | ) | [private, virtual] |
Reimplemented from edm::OutputModule.
Definition at line 276 of file PoolOutputModule.cc.
References rootOutputFile_.
{ rootOutputFile_->finishEndFile(); rootOutputFile_.reset(); }
int const& edm::PoolOutputModule::inputFileCount | ( | ) | const [inline] |
Definition at line 49 of file PoolOutputModule.h.
References inputFileCount_.
Referenced by edm::RootOutputFile::beginInputFile().
{return inputFileCount_;}
bool edm::PoolOutputModule::isFileOpen | ( | ) | const [private, virtual] |
Reimplemented from edm::OutputModule.
Definition at line 277 of file PoolOutputModule.cc.
References rootOutputFile_.
Referenced by beginInputFile(), and openFile().
{ return rootOutputFile_.get() != 0; }
std::string const& edm::PoolOutputModule::logicalFileName | ( | ) | const [inline] |
Definition at line 36 of file PoolOutputModule.h.
References logicalFileName_.
Referenced by doOpenFile().
{return logicalFileName_;}
unsigned int const& edm::PoolOutputModule::maxFileSize | ( | ) | const [inline] |
Definition at line 48 of file PoolOutputModule.h.
References maxFileSize_.
Referenced by edm::RootOutputFile::shouldWeCloseFile().
{return maxFileSize_;}
std::string const& edm::PoolOutputModule::moduleLabel | ( | ) | const [inline] |
Definition at line 47 of file PoolOutputModule.h.
References moduleLabel_.
Referenced by edm::RootOutputFile::RootOutputFile().
{return moduleLabel_;}
void edm::PoolOutputModule::openFile | ( | FileBlock const & | fb | ) | [private, virtual] |
Reimplemented from edm::OutputModule.
Definition at line 201 of file PoolOutputModule.cc.
References beginInputFile(), doOpenFile(), and isFileOpen().
{ if(!isFileOpen()) { doOpenFile(); beginInputFile(fb); } }
PoolOutputModule& edm::PoolOutputModule::operator= | ( | PoolOutputModule const & | ) |
bool const& edm::PoolOutputModule::overrideInputFileSplitLevels | ( | ) | const [inline] |
Definition at line 44 of file PoolOutputModule.h.
References overrideInputFileSplitLevels_.
Referenced by edm::RootOutputFile::beginInputFile().
{return overrideInputFileSplitLevels_;}
void edm::PoolOutputModule::postForkReacquireResources | ( | unsigned int | iChildIndex, |
unsigned int | iNumberOfChildren | ||
) | [private, virtual] |
Reimplemented from edm::OutputModule.
Definition at line 227 of file PoolOutputModule.cc.
References childIndex_, and numberOfDigitsInIndex_.
{ childIndex_ = iChildIndex; while (iNumberOfChildren != 0) { ++numberOfDigitsInIndex_; iNumberOfChildren /= 10; } if (numberOfDigitsInIndex_ == 0) { numberOfDigitsInIndex_ = 3; // Protect against zero iNumberOfChildren } }
void edm::PoolOutputModule::respondToCloseInputFile | ( | FileBlock const & | fb | ) | [private, virtual] |
Reimplemented from edm::OutputModule.
Definition at line 223 of file PoolOutputModule.cc.
References rootOutputFile_.
{ if(rootOutputFile_) rootOutputFile_->respondToCloseInputFile(fb); }
void edm::PoolOutputModule::respondToOpenInputFile | ( | FileBlock const & | fb | ) | [private, virtual] |
Reimplemented from edm::OutputModule.
Definition at line 208 of file PoolOutputModule.cc.
References beginInputFile(), revisionDML::branchType(), fillSelectedItemList(), i, edm::InEvent, initializedFromInput_, edm::InLumi, inputFileCount_, edm::FileBlock::lumiTree(), edm::NumBranchTypes, edm::FileBlock::runTree(), and edm::FileBlock::tree().
{ if(!initializedFromInput_) { for(int i = InEvent; i < NumBranchTypes; ++i) { BranchType branchType = static_cast<BranchType>(i); TTree* theInputTree = (branchType == InEvent ? fb.tree() : (branchType == InLumi ? fb.lumiTree() : fb.runTree())); fillSelectedItemList(branchType, theInputTree); } initializedFromInput_ = true; } ++inputFileCount_; beginInputFile(fb); }
OutputItemListArray const& edm::PoolOutputModule::selectedOutputItemList | ( | ) | const [inline] |
Definition at line 98 of file PoolOutputModule.h.
References selectedOutputItemList_.
Referenced by edm::RootOutputFile::fillBranches(), and edm::RootOutputFile::RootOutputFile().
{return selectedOutputItemList_;}
bool edm::PoolOutputModule::shouldWeCloseFile | ( | ) | const [protected, virtual] |
allow inheriting classes to override but still be able to call this method in the overridden version
Reimplemented from edm::OutputModule.
Reimplemented in edm::TimeoutPoolOutputModule.
Definition at line 278 of file PoolOutputModule.cc.
References rootOutputFile_.
Referenced by edm::TimeoutPoolOutputModule::shouldWeCloseFile().
{ return rootOutputFile_->shouldWeCloseFile(); }
int const& edm::PoolOutputModule::splitLevel | ( | ) | const [inline] |
Definition at line 41 of file PoolOutputModule.h.
References splitLevel_.
Referenced by fillSelectedItemList().
{return splitLevel_;}
void edm::PoolOutputModule::startEndFile | ( | ) | [private, virtual] |
int const& edm::PoolOutputModule::treeMaxVirtualSize | ( | ) | const [inline] |
Definition at line 43 of file PoolOutputModule.h.
References treeMaxVirtualSize_.
{return treeMaxVirtualSize_;}
int const& edm::PoolOutputModule::whyNotFastClonable | ( | ) | const [inline] |
Definition at line 50 of file PoolOutputModule.h.
References whyNotFastClonable_.
Referenced by edm::RootOutputFile::beginInputFile().
{return whyNotFastClonable_;}
void edm::PoolOutputModule::write | ( | EventPrincipal const & | e | ) | [protected, virtual] |
Implements edm::OutputModule.
Reimplemented in edm::TimeoutPoolOutputModule.
Definition at line 241 of file PoolOutputModule.cc.
References edm::EventPrincipal::id(), rootOutputFile_, and statusFileName_.
{ rootOutputFile_->writeOne(e); if (!statusFileName_.empty()) { std::ofstream statusFile(statusFileName_.c_str()); statusFile << e.id() << " time: " << std::setprecision(3) << TimeOfDay() << '\n'; statusFile.close(); } }
void edm::PoolOutputModule::writeBranchIDListRegistry | ( | ) | [private, virtual] |
Reimplemented from edm::OutputModule.
Definition at line 274 of file PoolOutputModule.cc.
References rootOutputFile_.
{ rootOutputFile_->writeBranchIDListRegistry(); }
void edm::PoolOutputModule::writeFileFormatVersion | ( | ) | [private, virtual] |
Reimplemented from edm::OutputModule.
Definition at line 266 of file PoolOutputModule.cc.
References rootOutputFile_.
{ rootOutputFile_->writeFileFormatVersion(); }
void edm::PoolOutputModule::writeFileIdentifier | ( | ) | [private, virtual] |
Reimplemented from edm::OutputModule.
Definition at line 267 of file PoolOutputModule.cc.
References rootOutputFile_.
{ rootOutputFile_->writeFileIdentifier(); }
void edm::PoolOutputModule::writeIndexIntoFile | ( | ) | [private, virtual] |
Reimplemented from edm::OutputModule.
Definition at line 268 of file PoolOutputModule.cc.
References rootOutputFile_.
{ rootOutputFile_->writeIndexIntoFile(); }
void edm::PoolOutputModule::writeLuminosityBlock | ( | LuminosityBlockPrincipal const & | lb | ) | [private, virtual] |
Implements edm::OutputModule.
Definition at line 250 of file PoolOutputModule.cc.
References edm::LuminosityBlockPrincipal::id(), edm::LuminosityBlockID::luminosityBlock(), rootOutputFile_, and edm::LuminosityBlockID::run().
{ rootOutputFile_->writeLuminosityBlock(lb); Service<JobReport> reportSvc; reportSvc->reportLumiSection(lb.id().run(), lb.id().luminosityBlock()); }
void edm::PoolOutputModule::writeParameterSetRegistry | ( | ) | [private, virtual] |
Reimplemented from edm::OutputModule.
Definition at line 271 of file PoolOutputModule.cc.
References rootOutputFile_.
{ rootOutputFile_->writeParameterSetRegistry(); }
void edm::PoolOutputModule::writeParentageRegistry | ( | ) | [private, virtual] |
Reimplemented from edm::OutputModule.
Definition at line 273 of file PoolOutputModule.cc.
References rootOutputFile_.
{ rootOutputFile_->writeParentageRegistry(); }
void edm::PoolOutputModule::writeProcessConfigurationRegistry | ( | ) | [private, virtual] |
Reimplemented from edm::OutputModule.
Definition at line 269 of file PoolOutputModule.cc.
References rootOutputFile_.
{ rootOutputFile_->writeProcessConfigurationRegistry(); }
void edm::PoolOutputModule::writeProcessHistoryRegistry | ( | ) | [private, virtual] |
Reimplemented from edm::OutputModule.
Definition at line 270 of file PoolOutputModule.cc.
References rootOutputFile_.
{ rootOutputFile_->writeProcessHistoryRegistry(); }
void edm::PoolOutputModule::writeProductDependencies | ( | ) | [private, virtual] |
Reimplemented from edm::OutputModule.
Definition at line 275 of file PoolOutputModule.cc.
References rootOutputFile_.
{ rootOutputFile_->writeProductDependencies(); }
void edm::PoolOutputModule::writeProductDescriptionRegistry | ( | ) | [private, virtual] |
Reimplemented from edm::OutputModule.
Definition at line 272 of file PoolOutputModule.cc.
References rootOutputFile_.
{ rootOutputFile_->writeProductDescriptionRegistry(); }
void edm::PoolOutputModule::writeRun | ( | RunPrincipal const & | r | ) | [private, virtual] |
Implements edm::OutputModule.
Definition at line 256 of file PoolOutputModule.cc.
References rootOutputFile_, and edm::RunPrincipal::run().
{ rootOutputFile_->writeRun(r); Service<JobReport> reportSvc; reportSvc->reportRunNumber(r.run()); }
AuxItemArray edm::PoolOutputModule::auxItems_ [private] |
Definition at line 132 of file PoolOutputModule.h.
Referenced by auxItems(), and fillSelectedItemList().
std::string edm::PoolOutputModule::basketOrder_ [private] |
Definition at line 143 of file PoolOutputModule.h.
Referenced by basketOrder().
int const edm::PoolOutputModule::basketSize_ [private] |
Definition at line 140 of file PoolOutputModule.h.
Referenced by basketSize().
std::string const edm::PoolOutputModule::catalog_ [private] |
Definition at line 136 of file PoolOutputModule.h.
Referenced by catalog().
unsigned int edm::PoolOutputModule::childIndex_ [private] |
Definition at line 151 of file PoolOutputModule.h.
Referenced by doOpenFile(), and postForkReacquireResources().
std::string const edm::PoolOutputModule::compressionAlgorithm_ [private] |
Definition at line 139 of file PoolOutputModule.h.
Referenced by compressionAlgorithm().
int const edm::PoolOutputModule::compressionLevel_ [private] |
Definition at line 138 of file PoolOutputModule.h.
Referenced by compressionLevel().
Definition at line 146 of file PoolOutputModule.h.
Referenced by dropMetaData(), and PoolOutputModule().
int const edm::PoolOutputModule::eventAutoFlushSize_ [private] |
Definition at line 141 of file PoolOutputModule.h.
Referenced by eventAutoFlushSize().
std::string const edm::PoolOutputModule::fileName_ [private] |
Definition at line 134 of file PoolOutputModule.h.
Referenced by fileName().
bool edm::PoolOutputModule::initializedFromInput_ [private] |
Definition at line 148 of file PoolOutputModule.h.
Referenced by respondToOpenInputFile().
int edm::PoolOutputModule::inputFileCount_ [private] |
Definition at line 150 of file PoolOutputModule.h.
Referenced by doOpenFile(), inputFileCount(), and respondToOpenInputFile().
std::string const edm::PoolOutputModule::logicalFileName_ [private] |
Definition at line 135 of file PoolOutputModule.h.
Referenced by logicalFileName().
unsigned int const edm::PoolOutputModule::maxFileSize_ [private] |
Definition at line 137 of file PoolOutputModule.h.
Referenced by maxFileSize().
std::string const edm::PoolOutputModule::moduleLabel_ [private] |
Definition at line 147 of file PoolOutputModule.h.
Referenced by moduleLabel(), and PoolOutputModule().
unsigned int edm::PoolOutputModule::numberOfDigitsInIndex_ [private] |
Definition at line 152 of file PoolOutputModule.h.
Referenced by doOpenFile(), and postForkReacquireResources().
int edm::PoolOutputModule::outputFileCount_ [private] |
Definition at line 149 of file PoolOutputModule.h.
Referenced by doOpenFile().
bool edm::PoolOutputModule::overrideInputFileSplitLevels_ [private] |
Definition at line 153 of file PoolOutputModule.h.
Referenced by fillSelectedItemList(), and overrideInputFileSplitLevels().
std::unique_ptr<RootOutputFile> edm::PoolOutputModule::rootOutputFile_ [private] |
Definition at line 154 of file PoolOutputModule.h.
Referenced by beginInputFile(), currentFileName(), doOpenFile(), finishEndFile(), isFileOpen(), respondToCloseInputFile(), shouldWeCloseFile(), write(), writeBranchIDListRegistry(), writeFileFormatVersion(), writeFileIdentifier(), writeIndexIntoFile(), writeLuminosityBlock(), writeParameterSetRegistry(), writeParentageRegistry(), writeProcessConfigurationRegistry(), writeProcessHistoryRegistry(), writeProductDependencies(), writeProductDescriptionRegistry(), and writeRun().
Definition at line 131 of file PoolOutputModule.h.
Definition at line 133 of file PoolOutputModule.h.
Referenced by fillSelectedItemList(), and selectedOutputItemList().
int const edm::PoolOutputModule::splitLevel_ [private] |
Definition at line 142 of file PoolOutputModule.h.
Referenced by splitLevel().
std::string edm::PoolOutputModule::statusFileName_ [private] |
Definition at line 155 of file PoolOutputModule.h.
Referenced by PoolOutputModule(), and write().
int const edm::PoolOutputModule::treeMaxVirtualSize_ [private] |
Definition at line 144 of file PoolOutputModule.h.
Referenced by treeMaxVirtualSize().
int edm::PoolOutputModule::whyNotFastClonable_ [private] |
Definition at line 145 of file PoolOutputModule.h.
Referenced by PoolOutputModule(), and whyNotFastClonable().