#include <RootOutputFile.h>
Public Types | |
typedef PoolOutputModule::OutputItem | OutputItem |
typedef PoolOutputModule::OutputItemList | OutputItemList |
typedef std::array< edm::propagate_const< RootOutputTree * >, NumBranchTypes > | RootOutputTreePtrArray |
Public Member Functions | |
void | beginInputFile (FileBlock const &fb, int remainingEvents) |
std::string const & | fileName () const |
void | finishEndFile () |
void | respondToCloseInputFile (FileBlock const &fb) |
RootOutputFile (PoolOutputModule *om, std::string const &fileName, std::string const &logicalFileName, std::vector< std::string > const &processesWithSelectedMergeableRunProducts) | |
bool | shouldWeCloseFile () const |
void | writeBranchIDListRegistry () |
void | writeFileFormatVersion () |
void | writeFileIdentifier () |
void | writeIndexIntoFile () |
void | writeLuminosityBlock (LuminosityBlockForOutput const &lb) |
void | writeOne (EventForOutput const &e) |
void | writeParameterSetRegistry () |
void | writeParentageRegistry () |
void | writeProcessHistoryRegistry () |
void | writeProductDependencies () |
void | writeProductDescriptionRegistry () |
void | writeRun (RunForOutput const &r) |
void | writeStoredMergeableRunProductMetadata () |
void | writeThinnedAssociationsHelper () |
~RootOutputFile () | |
Private Member Functions | |
std::shared_ptr< TFile const > | filePtr () const |
std::shared_ptr< TFile > & | filePtr () |
void | fillBranches (BranchType const &branchType, OccurrenceForOutput const &occurrence, StoredProductProvenanceVector *productProvenanceVecPtr=0, ProductProvenanceRetriever const *provRetriever=0) |
void | insertAncestors (ProductProvenance const &iGetParents, ProductProvenanceRetriever const *iMapper, bool produced, std::set< BranchID > const &producedBranches, std::set< StoredProductProvenance > &oToFill) |
bool | insertProductProvenance (const ProductProvenance &, std::set< StoredProductProvenance > &oToInsert) |
StoredProductProvenanceVector const * | pEventEntryInfoVector () const |
StoredProductProvenanceVector *& | pEventEntryInfoVector () |
void | setBranchAliases (TTree *tree, SelectedProducts const &branches) const |
Definition at line 45 of file RootOutputFile.h.
Definition at line 47 of file RootOutputFile.h.
Definition at line 48 of file RootOutputFile.h.
typedef std::array<edm::propagate_const<RootOutputTree*>, NumBranchTypes> edm::RootOutputFile::RootOutputTreePtrArray |
Definition at line 49 of file RootOutputFile.h.
|
explicit |
Definition at line 80 of file RootOutputFile.cc.
References edm::RootOutputTree::addAuxiliary(), edm::RootOutputTree::addBranch(), MicroEventContent_cff::branch, branchesWithStoredHistory_, edm::poolNames::branchListIndexesBranchName(), edm::FileBlock::BranchMismatch, edm::BranchDescription::branchName(), revisionDML::branchType(), edm::BranchTypeToAuxiliaryBranchName(), edm::BranchTypeToProductProvenanceBranchName(), edm::FileBlock::CanFastClone, edm::errors::Configuration, edm::createGlobalIdentifier(), cms::Digest::digest(), edm::FileBlock::DisabledInConfigFile, edm::FileBlock::DuplicateEventsRemoved, edm::PoolOutputModule::eventAutoFlushSize(), edm::poolNames::eventSelectionsBranchName(), edm::FileBlock::EventSelectionUsed, edm::FileBlock::EventsOrLumisSelectedByID, edm::FileBlock::EventsToBeSorted, eventTree_, Exception, fid_, file_, filePtr_, edm::FileBlock::FileTooOld, edm::BranchDescription::fullClassName(), edm::propagate_const< T >::get(), edm::FileBlock::HasSecondaryFileSequence, mps_fire::i, edm::InEvent, edm::FileBlock::InitialEventsSkipped, edm::InLumi, edm::InRun, logicalFile_, lumiTree_, edm::RootOutputTree::makeTTree(), edm::FileBlock::MaxEventsTooSmall, edm::FileBlock::MaxLumisTooSmall, metaDataTree_, edm::poolNames::metaDataTreeName(), edm::BranchDescription::moduleLabel(), edm::moduleName(), edm::FileBlock::NoEventsInFile, edm::FileBlock::NoRootInputSource, edm::FileBlock::NotProcessingEvents, edm::NumBranchTypes, om_, edm::FileBlock::OutputMaxEventsTooSmall, edm::FileBlock::ParallelProcesses, parameterSetsTree_, edm::poolNames::parameterSetsTreeName(), parentageTree_, edm::poolNames::parentageTreeName(), pBranchListIndexes_, pEventAux_, pEventEntryInfoVector(), pEventSelectionIDs_, pLumiAux_, edm::BranchDescription::processName(), edm::BranchDescription::productInstanceName(), pRunAux_, reportToken_, edm::FileBlock::RunOrLumiNotContiguous, runTree_, edm::PoolOutputModule::selectedOutputItemList(), edm::RootOutputTree::setAutoFlush(), edm::sort_all(), edm::FileBlock::SplitLevelMismatch, AlCaHLTBitMon_QueryRunRegistry::string, cms::MD5Result::toString(), treePointers_, and edm::BranchDescription::wrappedName().
|
inline |
Definition at line 53 of file RootOutputFile.h.
References beginInputFile(), MillePedeFileConverter_cfg::e, benchmark_cfg::fb, finishEndFile(), alignCSCRings::r, respondToCloseInputFile(), shouldWeCloseFile(), writeBranchIDListRegistry(), writeFileFormatVersion(), writeFileIdentifier(), writeIndexIntoFile(), writeLuminosityBlock(), writeOne(), writeParameterSetRegistry(), writeParentageRegistry(), writeProcessHistoryRegistry(), writeProductDependencies(), writeProductDescriptionRegistry(), writeRun(), writeStoredMergeableRunProductMetadata(), and writeThinnedAssociationsHelper().
void edm::RootOutputFile::beginInputFile | ( | FileBlock const & | fb, |
int | remainingEvents | ||
) |
Definition at line 304 of file RootOutputFile.cc.
References edm::FileBlock::BranchMismatch, edm::FileBlock::CanFastClone, canFastCloneAux_, edm::RootOutputTree::checkIfFastClonable(), edm::RootOutputTree::checkSplitLevelsAndBasketSizes(), eventTree_, Exception, file_, edm::FileBlock::fileName(), edm::match(), edm::RootOutputTree::maybeFastCloneTree(), edm::errors::MismatchedInputFiles, edm::FileBlock::NoRootInputSource, om_, edm::FileBlock::OutputMaxEventsTooSmall, reportToken_, edm::FileBlock::SplitLevelMismatch, edm::FileBlock::tree(), edm::FileBlock::whyNotFastClonable(), and whyNotFastClonable_.
Referenced by ~RootOutputFile().
|
inline |
Definition at line 75 of file RootOutputFile.h.
References revisionDML::branchType(), file_, fillBranches(), insertAncestors(), insertProductProvenance(), and setBranchAliases().
|
inlineprivate |
Definition at line 102 of file RootOutputFile.h.
References filePtr_, and edm::get_underlying_safe().
|
inlineprivate |
Definition at line 103 of file RootOutputFile.h.
References filePtr_, and edm::get_underlying_safe().
|
private |
Definition at line 686 of file RootOutputFile.cc.
References branchesWithStoredHistory_, edm::ProductProvenanceRetriever::branchIDToProvenance(), revisionDML::branchType(), edm::FileBlock::CanFastClone, SimDataFormats::CaloAnalysis::cp, edm::PoolOutputModule::DropAll, edm::PoolOutputModule::DropNone, edm::PoolOutputModule::DropPrior, read312RV_cfg::fastCloning, runEdmFileComparison::found, edm::OccurrenceForOutput::getByToken(), edm::getWrapperBasePtr(), edm::InEvent, insertAncestors(), insertProductProvenance(), mps_monitormerge::items, eostools::move(), PFRecoTauDiscriminationByIsolation_cfi::offset, om_, AlCaHLTBitMon_ParallelJobs::p, edm::Provenance::productProvenance(), edm::BasicHandle::provenance(), mps_fire::result, treePointers_, whyNotFastClonable_, edm::BasicHandle::wrapper(), and wrapperBaseTClass_.
Referenced by fileName(), writeLuminosityBlock(), writeOne(), and writeRun().
void edm::RootOutputFile::finishEndFile | ( | ) |
Definition at line 611 of file RootOutputFile.cc.
References revisionDML::branchType(), filePtr_, mps_fire::i, edm::InEvent, metaDataTree_, edm::NumBranchTypes, om_, parameterSetsTree_, parentageTree_, reportToken_, setBranchAliases(), compare::tree, treePointers_, and edm::RootOutputTree::writeTTree().
Referenced by ~RootOutputFile().
|
private |
Definition at line 663 of file RootOutputFile.cc.
References branchesWithStoredHistory_, edm::ProductProvenance::branchID(), edm::ProductProvenanceRetriever::branchIDToProvenance(), edm::PoolOutputModule::DropAll, edm::PoolOutputModule::DropDroppedPrior, edm::PoolOutputModule::DropNone, edm::PoolOutputModule::DropPrior, info(), insertProductProvenance(), om_, edm::ProductProvenance::parentage(), and edm::Parentage::parents().
Referenced by fileName(), and fillBranches().
|
private |
Definition at line 763 of file RootOutputFile.cc.
References edm::ProductProvenance::branchID(), edm::StoredProductProvenance::branchID_, Exception, mps_fire::i, edm::BranchID::id(), edm::errors::LogicError, edm::ProductProvenance::parentageID(), edm::StoredProductProvenance::parentageIDIndex_, and parentageIDs_.
Referenced by fileName(), fillBranches(), and insertAncestors().
|
inlineprivate |
Definition at line 104 of file RootOutputFile.h.
References edm::get_underlying_safe(), and pEventEntryInfoVector_.
Referenced by RootOutputFile().
|
inlineprivate |
Definition at line 105 of file RootOutputFile.h.
References edm::get_underlying_safe(), and pEventEntryInfoVector_.
void edm::RootOutputFile::respondToCloseInputFile | ( | FileBlock const & | fb | ) |
Definition at line 385 of file RootOutputFile.cc.
References eventTree_, lumiTree_, runTree_, and edm::RootOutputTree::setEntries().
Referenced by ~RootOutputFile().
|
private |
Definition at line 644 of file RootOutputFile.cc.
References met_cff::alias, edm::BranchDescription::branchAliases(), edm::BranchDescription::branchName(), full, edm::BranchDescription::moduleLabel(), edm::BranchDescription::productInstanceName(), corrVsCorr::selection, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by fileName(), and finishEndFile().
bool edm::RootOutputFile::shouldWeCloseFile | ( | ) | const |
Definition at line 391 of file RootOutputFile.cc.
References filePtr_, om_, and findQualityFiles::size.
Referenced by ~RootOutputFile().
void edm::RootOutputFile::writeBranchIDListRegistry | ( | ) |
Definition at line 554 of file RootOutputFile.cc.
References b, edm::poolNames::branchIDListBranchName(), metaDataTree_, om_, and AlCaHLTBitMon_ParallelJobs::p.
Referenced by ~RootOutputFile().
void edm::RootOutputFile::writeFileFormatVersion | ( | ) |
Definition at line 510 of file RootOutputFile.cc.
References b, edm::poolNames::fileFormatVersionBranchName(), edm::getFileFormatVersion(), metaDataTree_, and om_.
Referenced by ~RootOutputFile().
void edm::RootOutputFile::writeFileIdentifier | ( | ) |
Definition at line 518 of file RootOutputFile.cc.
References b, fid_, edm::poolNames::fileIdentifierBranchName(), metaDataTree_, and om_.
Referenced by ~RootOutputFile().
void edm::RootOutputFile::writeIndexIntoFile | ( | ) |
Definition at line 525 of file RootOutputFile.cc.
References cms::Exception::addContext(), b, edm::RootOutputTree::checkEntriesInReadBranches(), eventEntryNumber_, eventTree_, indexIntoFile_, edm::poolNames::indexIntoFileBranchName(), metaDataTree_, om_, edm::errors::OtherCMS, and edm::IndexIntoFile::sortVector_Run_Or_Lumi_Entries().
Referenced by ~RootOutputFile().
void edm::RootOutputFile::writeLuminosityBlock | ( | LuminosityBlockForOutput const & | lb | ) |
Definition at line 444 of file RootOutputFile.cc.
References edm::IndexIntoFile::addEntry(), fillBranches(), edm::LuminosityBlockForOutput::id(), indexIntoFile_, edm::InLumi, lumiAux_, lumiEntryNumber_, edm::LuminosityBlockID::luminosityBlock(), edm::LuminosityBlockAuxiliary::luminosityBlock(), edm::LuminosityBlockForOutput::luminosityBlockAuxiliary(), lumiTree_, nEventsInLumi_, edm::RootOutputTree::optimizeBaskets(), edm::OccurrenceForOutput::processHistory(), edm::OccurrenceForOutput::processHistoryID(), processHistoryRegistry_, edm::ProcessHistoryRegistry::reducedProcessHistoryID(), edm::ProcessHistoryRegistry::registerProcessHistory(), reportToken_, edm::LuminosityBlockID::run(), edm::LuminosityBlockAuxiliary::run(), edm::LuminosityBlockAuxiliary::setProcessHistoryID(), and mitigatedMETSequence_cff::U.
Referenced by ~RootOutputFile().
void edm::RootOutputFile::writeOne | ( | EventForOutput const & | e | ) |
Definition at line 397 of file RootOutputFile.cc.
References edm::IndexIntoFile::addEntry(), edm::EventForOutput::branchListIndexes(), MergeFilesAndCalculateEfficiencies_cfg::dataType, dataTypeReported_, edm::EventID::event(), edm::EventAuxiliary::event(), edm::EventForOutput::eventAuxiliary(), eventEntryNumber_, edm::EventForOutput::eventSelectionIDs(), fillBranches(), edm::EventForOutput::id(), indexIntoFile_, edm::InEvent, edm::EventAuxiliary::isRealData(), edm::EventAuxiliary::luminosityBlock(), nEventsInLumi_, om_, pBranchListIndexes_, pEventAux_, pEventEntryInfoVector_, pEventSelectionIDs_, edm::OccurrenceForOutput::processHistory(), edm::OccurrenceForOutput::processHistoryID(), edm::EventAuxiliary::processHistoryID(), processHistoryRegistry_, edm::EventForOutput::productProvenanceRetrieverPtr(), edm::ProcessHistoryRegistry::reducedProcessHistoryID(), edm::ProcessHistoryRegistry::registerProcessHistory(), reportToken_, edm::EventID::run(), edm::EventAuxiliary::run(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by ~RootOutputFile().
void edm::RootOutputFile::writeParameterSetRegistry | ( | ) |
Definition at line 568 of file RootOutputFile.cc.
References edm::fillParameterSetBranch(), edm::propagate_const< T >::get(), om_, and parameterSetsTree_.
Referenced by ~RootOutputFile().
void edm::RootOutputFile::writeParentageRegistry | ( | ) |
Definition at line 486 of file RootOutputFile.cc.
References Exception, edm::errors::FatalRootError, edm::ParentageRegistry::getMapped(), edm::ParentageRegistry::instance(), om_, edm::poolNames::parentageBranchName(), parentageIDs_, and parentageTree_.
Referenced by ~RootOutputFile().
void edm::RootOutputFile::writeProcessHistoryRegistry | ( | ) |
Definition at line 550 of file RootOutputFile.cc.
References edm::fillProcessHistoryBranch(), edm::propagate_const< T >::get(), metaDataTree_, om_, and processHistoryRegistry_.
Referenced by ~RootOutputFile().
void edm::RootOutputFile::writeProductDependencies | ( | ) |
Definition at line 603 of file RootOutputFile.cc.
References b, metaDataTree_, om_, and edm::poolNames::productDependenciesBranchName().
Referenced by ~RootOutputFile().
void edm::RootOutputFile::writeProductDescriptionRegistry | ( | ) |
Definition at line 572 of file RootOutputFile.cc.
References b, branchesWithStoredHistory_, end, metaDataTree_, om_, parseEventContent::prod, and edm::poolNames::productDescriptionBranchName().
Referenced by ~RootOutputFile().
void edm::RootOutputFile::writeRun | ( | RunForOutput const & | r | ) |
Definition at line 465 of file RootOutputFile.cc.
References edm::IndexIntoFile::addEntry(), edm::MergeableRunProductMetadata::addEntryToStoredMetadata(), fillBranches(), indexIntoFile_, edm::InRun, edm::RunForOutput::mergeableRunProductMetadata(), edm::RootOutputTree::optimizeBaskets(), edm::OccurrenceForOutput::processHistory(), edm::OccurrenceForOutput::processHistoryID(), processHistoryRegistry_, edm::ProcessHistoryRegistry::reducedProcessHistoryID(), edm::ProcessHistoryRegistry::registerProcessHistory(), reportToken_, edm::RunAuxiliary::run(), edm::RunForOutput::run(), runAux_, edm::RunForOutput::runAuxiliary(), runEntryNumber_, runTree_, edm::RunAuxiliary::setProcessHistoryID(), storedMergeableRunProductMetadata_, and mitigatedMETSequence_cff::U.
Referenced by ~RootOutputFile().
void edm::RootOutputFile::writeStoredMergeableRunProductMetadata | ( | ) |
Definition at line 542 of file RootOutputFile.cc.
References b, edm::poolNames::mergeableRunProductMetadataBranchName(), metaDataTree_, om_, edm::StoredMergeableRunProductMetadata::optimizeBeforeWrite(), and storedMergeableRunProductMetadata_.
Referenced by ~RootOutputFile().
void edm::RootOutputFile::writeThinnedAssociationsHelper | ( | ) |
Definition at line 561 of file RootOutputFile.cc.
References b, metaDataTree_, om_, AlCaHLTBitMon_ParallelJobs::p, and edm::poolNames::thinnedAssociationsHelperBranchName().
Referenced by ~RootOutputFile().
|
private |
Definition at line 143 of file RootOutputFile.h.
Referenced by fillBranches(), insertAncestors(), RootOutputFile(), and writeProductDescriptionRegistry().
|
private |
Definition at line 115 of file RootOutputFile.h.
Referenced by beginInputFile().
|
private |
Definition at line 140 of file RootOutputFile.h.
Referenced by writeOne().
|
private |
Definition at line 132 of file RootOutputFile.h.
|
private |
Definition at line 118 of file RootOutputFile.h.
Referenced by writeIndexIntoFile(), and writeOne().
|
private |
Definition at line 136 of file RootOutputFile.h.
Referenced by beginInputFile(), respondToCloseInputFile(), RootOutputFile(), and writeIndexIntoFile().
|
private |
Definition at line 117 of file RootOutputFile.h.
Referenced by RootOutputFile(), and writeFileIdentifier().
|
private |
Definition at line 110 of file RootOutputFile.h.
Referenced by beginInputFile(), fileName(), and RootOutputFile().
|
private |
Definition at line 116 of file RootOutputFile.h.
Referenced by filePtr(), finishEndFile(), RootOutputFile(), and shouldWeCloseFile().
|
private |
Definition at line 121 of file RootOutputFile.h.
Referenced by writeIndexIntoFile(), writeLuminosityBlock(), writeOne(), and writeRun().
|
private |
Definition at line 111 of file RootOutputFile.h.
Referenced by RootOutputFile().
|
private |
Definition at line 127 of file RootOutputFile.h.
Referenced by writeLuminosityBlock().
|
private |
Definition at line 119 of file RootOutputFile.h.
Referenced by writeLuminosityBlock().
|
private |
Definition at line 137 of file RootOutputFile.h.
Referenced by respondToCloseInputFile(), RootOutputFile(), and writeLuminosityBlock().
|
private |
Definition at line 124 of file RootOutputFile.h.
Referenced by finishEndFile(), RootOutputFile(), writeBranchIDListRegistry(), writeFileFormatVersion(), writeFileIdentifier(), writeIndexIntoFile(), writeProcessHistoryRegistry(), writeProductDependencies(), writeProductDescriptionRegistry(), writeStoredMergeableRunProductMetadata(), and writeThinnedAssociationsHelper().
|
private |
Definition at line 123 of file RootOutputFile.h.
Referenced by writeLuminosityBlock(), and writeOne().
|
private |
Definition at line 113 of file RootOutputFile.h.
Referenced by beginInputFile(), fillBranches(), finishEndFile(), insertAncestors(), RootOutputFile(), shouldWeCloseFile(), writeBranchIDListRegistry(), writeFileFormatVersion(), writeFileIdentifier(), writeIndexIntoFile(), writeOne(), writeParameterSetRegistry(), writeParentageRegistry(), writeProcessHistoryRegistry(), writeProductDependencies(), writeProductDescriptionRegistry(), writeStoredMergeableRunProductMetadata(), and writeThinnedAssociationsHelper().
|
private |
Definition at line 125 of file RootOutputFile.h.
Referenced by finishEndFile(), RootOutputFile(), and writeParameterSetRegistry().
|
private |
Definition at line 142 of file RootOutputFile.h.
Referenced by insertProductProvenance(), and writeParentageRegistry().
|
private |
Definition at line 126 of file RootOutputFile.h.
Referenced by finishEndFile(), RootOutputFile(), and writeParentageRegistry().
|
private |
Definition at line 134 of file RootOutputFile.h.
Referenced by RootOutputFile(), and writeOne().
|
private |
Definition at line 129 of file RootOutputFile.h.
Referenced by RootOutputFile(), and writeOne().
|
private |
Definition at line 133 of file RootOutputFile.h.
Referenced by pEventEntryInfoVector(), and writeOne().
|
private |
Definition at line 135 of file RootOutputFile.h.
Referenced by RootOutputFile(), and writeOne().
|
private |
Definition at line 130 of file RootOutputFile.h.
Referenced by RootOutputFile().
|
private |
Definition at line 141 of file RootOutputFile.h.
Referenced by writeLuminosityBlock(), writeOne(), writeProcessHistoryRegistry(), and writeRun().
|
private |
Definition at line 131 of file RootOutputFile.h.
Referenced by RootOutputFile().
|
private |
Definition at line 112 of file RootOutputFile.h.
Referenced by beginInputFile(), finishEndFile(), RootOutputFile(), writeLuminosityBlock(), writeOne(), and writeRun().
|
private |
Definition at line 128 of file RootOutputFile.h.
Referenced by writeRun().
|
private |
Definition at line 120 of file RootOutputFile.h.
Referenced by writeRun().
|
private |
Definition at line 138 of file RootOutputFile.h.
Referenced by respondToCloseInputFile(), RootOutputFile(), and writeRun().
|
private |
Definition at line 122 of file RootOutputFile.h.
Referenced by writeRun(), and writeStoredMergeableRunProductMetadata().
|
private |
Definition at line 139 of file RootOutputFile.h.
Referenced by fillBranches(), finishEndFile(), and RootOutputFile().
|
private |
Definition at line 114 of file RootOutputFile.h.
Referenced by beginInputFile(), and fillBranches().
|
private |
Definition at line 144 of file RootOutputFile.h.
Referenced by fillBranches().