CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
edm::RootOutputFile Class Reference

#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)
 
bool shouldWeCloseFile () const
 
void writeBranchIDListRegistry ()
 
void writeFileFormatVersion ()
 
void writeFileIdentifier ()
 
void writeIndexIntoFile ()
 
void writeLuminosityBlock (LuminosityBlockPrincipal const &lb, ModuleCallingContext const *)
 
void writeOne (EventPrincipal const &e, ModuleCallingContext const *)
 
void writeParameterSetRegistry ()
 
void writeParentageRegistry ()
 
void writeProcessHistoryRegistry ()
 
void writeProductDependencies ()
 
void writeProductDescriptionRegistry ()
 
void writeRun (RunPrincipal const &r, ModuleCallingContext const *)
 
void writeThinnedAssociationsHelper ()
 
 ~RootOutputFile ()
 

Private Member Functions

std::shared_ptr< TFile const > filePtr () const
 
std::shared_ptr< TFile > & filePtr ()
 
void fillBranches (BranchType const &branchType, Principal const &principal, StoredProductProvenanceVector *productProvenanceVecPtr, ModuleCallingContext const *)
 
void insertAncestors (ProductProvenance const &iGetParents, EventPrincipal const &principal, bool produced, std::set< StoredProductProvenance > &oToFill, ModuleCallingContext const *)
 
bool insertProductProvenance (const ProductProvenance &, std::set< StoredProductProvenance > &oToInsert)
 
StoredProductProvenanceVector
const * 
pEventEntryInfoVector () const
 
StoredProductProvenanceVector *& pEventEntryInfoVector ()
 
void setBranchAliases (TTree *tree, SelectedProducts const &branches) const
 

Private Attributes

std::set< BranchIDbranchesWithStoredHistory_
 
bool canFastCloneAux_
 
bool dataTypeReported_
 
StoredProductProvenanceVector eventEntryInfoVector_
 
IndexIntoFile::EntryNumber_t eventEntryNumber_
 
RootOutputTree eventTree_
 
FileID fid_
 
std::string file_
 
edm::propagate_const
< std::shared_ptr< TFile > > 
filePtr_
 
IndexIntoFile indexIntoFile_
 
std::string logicalFile_
 
LuminosityBlockAuxiliary lumiAux_
 
IndexIntoFile::EntryNumber_t lumiEntryNumber_
 
RootOutputTree lumiTree_
 
edm::propagate_const< TTree * > metaDataTree_
 
unsigned long nEventsInLumi_
 
edm::propagate_const
< PoolOutputModule * > 
om_
 
edm::propagate_const< TTree * > parameterSetsTree_
 
std::map< ParentageID,
unsigned int > 
parentageIDs_
 
edm::propagate_const< TTree * > parentageTree_
 
BranchListIndexes const * pBranchListIndexes_
 
EventAuxiliary const * pEventAux_
 
edm::propagate_const
< StoredProductProvenanceVector * > 
pEventEntryInfoVector_
 
EventSelectionIDVector const * pEventSelectionIDs_
 
LuminosityBlockAuxiliary const * pLumiAux_
 
ProcessHistoryRegistry processHistoryRegistry_
 
RunAuxiliary const * pRunAux_
 
JobReport::Token reportToken_
 
RunAuxiliary runAux_
 
IndexIntoFile::EntryNumber_t runEntryNumber_
 
RootOutputTree runTree_
 
RootOutputTreePtrArray treePointers_
 
int whyNotFastClonable_
 
edm::propagate_const< TClass * > wrapperBaseTClass_
 

Detailed Description

Definition at line 45 of file RootOutputFile.h.

Member Typedef Documentation

Definition at line 47 of file RootOutputFile.h.

Definition at line 48 of file RootOutputFile.h.

Definition at line 49 of file RootOutputFile.h.

Constructor & Destructor Documentation

edm::RootOutputFile::RootOutputFile ( PoolOutputModule om,
std::string const &  fileName,
std::string const &  logicalFileName 
)
explicit

Definition at line 77 of file RootOutputFile.cc.

edm::RootOutputFile::~RootOutputFile ( )
inline

Definition at line 52 of file RootOutputFile.h.

52 {}

Member Function Documentation

void edm::RootOutputFile::beginInputFile ( FileBlock const &  fb,
int  remainingEvents 
)

Definition at line 298 of file RootOutputFile.cc.

std::string const& edm::RootOutputFile::fileName ( ) const
inline

Definition at line 73 of file RootOutputFile.h.

References file_.

73 {return file_;}
std::shared_ptr<TFile const> edm::RootOutputFile::filePtr ( ) const
inlineprivate

Definition at line 100 of file RootOutputFile.h.

References filePtr_, and edm::get_underlying_safe().

100 {return get_underlying_safe(filePtr_);}
edm::propagate_const< std::shared_ptr< TFile > > filePtr_
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
std::shared_ptr<TFile>& edm::RootOutputFile::filePtr ( )
inlineprivate

Definition at line 101 of file RootOutputFile.h.

References filePtr_, and edm::get_underlying_safe().

101 {return get_underlying_safe(filePtr_);}
edm::propagate_const< std::shared_ptr< TFile > > filePtr_
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
void edm::RootOutputFile::fillBranches ( BranchType const &  branchType,
Principal const &  principal,
StoredProductProvenanceVector productProvenanceVecPtr,
ModuleCallingContext const *  mcc 
)
private

Definition at line 688 of file RootOutputFile.cc.

void edm::RootOutputFile::finishEndFile ( )

Definition at line 611 of file RootOutputFile.cc.

void edm::RootOutputFile::insertAncestors ( ProductProvenance const &  iGetParents,
EventPrincipal const &  principal,
bool  produced,
std::set< StoredProductProvenance > &  oToFill,
ModuleCallingContext const *  mcc 
)
private

Definition at line 663 of file RootOutputFile.cc.

bool edm::RootOutputFile::insertProductProvenance ( const ProductProvenance ,
std::set< StoredProductProvenance > &  oToInsert 
)
private

Definition at line 747 of file RootOutputFile.cc.

StoredProductProvenanceVector const* edm::RootOutputFile::pEventEntryInfoVector ( ) const
inlineprivate

Definition at line 102 of file RootOutputFile.h.

References edm::get_underlying_safe(), and pEventEntryInfoVector_.

std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
edm::propagate_const< StoredProductProvenanceVector * > pEventEntryInfoVector_
StoredProductProvenanceVector*& edm::RootOutputFile::pEventEntryInfoVector ( )
inlineprivate

Definition at line 103 of file RootOutputFile.h.

References edm::get_underlying_safe(), and pEventEntryInfoVector_.

std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
edm::propagate_const< StoredProductProvenanceVector * > pEventEntryInfoVector_
void edm::RootOutputFile::respondToCloseInputFile ( FileBlock const &  fb)

Definition at line 379 of file RootOutputFile.cc.

void edm::RootOutputFile::setBranchAliases ( TTree *  tree,
SelectedProducts const &  branches 
) const
private

Definition at line 644 of file RootOutputFile.cc.

bool edm::RootOutputFile::shouldWeCloseFile ( ) const

Definition at line 385 of file RootOutputFile.cc.

void edm::RootOutputFile::writeBranchIDListRegistry ( )

Definition at line 545 of file RootOutputFile.cc.

void edm::RootOutputFile::writeFileFormatVersion ( )

Definition at line 502 of file RootOutputFile.cc.

void edm::RootOutputFile::writeFileIdentifier ( )

Definition at line 510 of file RootOutputFile.cc.

void edm::RootOutputFile::writeIndexIntoFile ( )

Definition at line 517 of file RootOutputFile.cc.

void edm::RootOutputFile::writeLuminosityBlock ( LuminosityBlockPrincipal const &  lb,
ModuleCallingContext const *  mcc 
)

Definition at line 437 of file RootOutputFile.cc.

void edm::RootOutputFile::writeOne ( EventPrincipal const &  e,
ModuleCallingContext const *  mcc 
)

Definition at line 391 of file RootOutputFile.cc.

void edm::RootOutputFile::writeParameterSetRegistry ( )

Definition at line 559 of file RootOutputFile.cc.

void edm::RootOutputFile::writeParentageRegistry ( )

Definition at line 478 of file RootOutputFile.cc.

void edm::RootOutputFile::writeProcessHistoryRegistry ( )

Definition at line 534 of file RootOutputFile.cc.

void edm::RootOutputFile::writeProductDependencies ( )

Definition at line 603 of file RootOutputFile.cc.

void edm::RootOutputFile::writeProductDescriptionRegistry ( )

Definition at line 572 of file RootOutputFile.cc.

void edm::RootOutputFile::writeRun ( RunPrincipal const &  r,
ModuleCallingContext const *  mcc 
)

Definition at line 458 of file RootOutputFile.cc.

void edm::RootOutputFile::writeThinnedAssociationsHelper ( )

Definition at line 552 of file RootOutputFile.cc.

Member Data Documentation

std::set<BranchID> edm::RootOutputFile::branchesWithStoredHistory_
private

Definition at line 140 of file RootOutputFile.h.

bool edm::RootOutputFile::canFastCloneAux_
private

Definition at line 113 of file RootOutputFile.h.

bool edm::RootOutputFile::dataTypeReported_
private

Definition at line 137 of file RootOutputFile.h.

StoredProductProvenanceVector edm::RootOutputFile::eventEntryInfoVector_
private

Definition at line 129 of file RootOutputFile.h.

IndexIntoFile::EntryNumber_t edm::RootOutputFile::eventEntryNumber_
private

Definition at line 116 of file RootOutputFile.h.

RootOutputTree edm::RootOutputFile::eventTree_
private

Definition at line 133 of file RootOutputFile.h.

FileID edm::RootOutputFile::fid_
private

Definition at line 115 of file RootOutputFile.h.

std::string edm::RootOutputFile::file_
private

Definition at line 108 of file RootOutputFile.h.

Referenced by fileName().

edm::propagate_const<std::shared_ptr<TFile> > edm::RootOutputFile::filePtr_
private

Definition at line 114 of file RootOutputFile.h.

Referenced by filePtr().

IndexIntoFile edm::RootOutputFile::indexIntoFile_
private

Definition at line 119 of file RootOutputFile.h.

std::string edm::RootOutputFile::logicalFile_
private

Definition at line 109 of file RootOutputFile.h.

LuminosityBlockAuxiliary edm::RootOutputFile::lumiAux_
private

Definition at line 124 of file RootOutputFile.h.

IndexIntoFile::EntryNumber_t edm::RootOutputFile::lumiEntryNumber_
private

Definition at line 117 of file RootOutputFile.h.

RootOutputTree edm::RootOutputFile::lumiTree_
private

Definition at line 134 of file RootOutputFile.h.

edm::propagate_const<TTree*> edm::RootOutputFile::metaDataTree_
private

Definition at line 121 of file RootOutputFile.h.

unsigned long edm::RootOutputFile::nEventsInLumi_
private

Definition at line 120 of file RootOutputFile.h.

edm::propagate_const<PoolOutputModule*> edm::RootOutputFile::om_
private

Definition at line 111 of file RootOutputFile.h.

edm::propagate_const<TTree*> edm::RootOutputFile::parameterSetsTree_
private

Definition at line 122 of file RootOutputFile.h.

std::map<ParentageID,unsigned int> edm::RootOutputFile::parentageIDs_
private

Definition at line 139 of file RootOutputFile.h.

edm::propagate_const<TTree*> edm::RootOutputFile::parentageTree_
private

Definition at line 123 of file RootOutputFile.h.

BranchListIndexes const* edm::RootOutputFile::pBranchListIndexes_
private

Definition at line 131 of file RootOutputFile.h.

EventAuxiliary const* edm::RootOutputFile::pEventAux_
private

Definition at line 126 of file RootOutputFile.h.

edm::propagate_const<StoredProductProvenanceVector*> edm::RootOutputFile::pEventEntryInfoVector_
private

Definition at line 130 of file RootOutputFile.h.

Referenced by pEventEntryInfoVector().

EventSelectionIDVector const* edm::RootOutputFile::pEventSelectionIDs_
private

Definition at line 132 of file RootOutputFile.h.

LuminosityBlockAuxiliary const* edm::RootOutputFile::pLumiAux_
private

Definition at line 127 of file RootOutputFile.h.

ProcessHistoryRegistry edm::RootOutputFile::processHistoryRegistry_
private

Definition at line 138 of file RootOutputFile.h.

RunAuxiliary const* edm::RootOutputFile::pRunAux_
private

Definition at line 128 of file RootOutputFile.h.

JobReport::Token edm::RootOutputFile::reportToken_
private

Definition at line 110 of file RootOutputFile.h.

RunAuxiliary edm::RootOutputFile::runAux_
private

Definition at line 125 of file RootOutputFile.h.

IndexIntoFile::EntryNumber_t edm::RootOutputFile::runEntryNumber_
private

Definition at line 118 of file RootOutputFile.h.

RootOutputTree edm::RootOutputFile::runTree_
private

Definition at line 135 of file RootOutputFile.h.

RootOutputTreePtrArray edm::RootOutputFile::treePointers_
private

Definition at line 136 of file RootOutputFile.h.

int edm::RootOutputFile::whyNotFastClonable_
private

Definition at line 112 of file RootOutputFile.h.

edm::propagate_const<TClass*> edm::RootOutputFile::wrapperBaseTClass_
private

Definition at line 141 of file RootOutputFile.h.