CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

edm::FileBlock Class Reference

#include <FileBlock.h>

List of all members.

Public Types

enum  WhyNotFastClonable {
  CanFastClone = 0x0, NoRootInputSource = 0x1, ParallelProcesses = (NoRootInputSource << 1), NotProcessingEvents = (ParallelProcesses << 1),
  HasSecondaryFileSequence = (NotProcessingEvents << 1), FileTooOld = (HasSecondaryFileSequence << 1), NoEventsInFile = (FileTooOld << 1), EventsToBeSorted = (NoEventsInFile << 1),
  RunOrLumiNotContiguous = (EventsToBeSorted << 1), EventsOrLumisSelectedByID = (RunOrLumiNotContiguous << 1), InitialEventsSkipped = (EventsOrLumisSelectedByID << 1), MaxEventsTooSmall = (InitialEventsSkipped << 1),
  MaxLumisTooSmall = (MaxEventsTooSmall << 1), RunNumberModified = (MaxLumisTooSmall << 1), DuplicateEventsRemoved = (RunNumberModified << 1), DisabledInConfigFile = (DuplicateEventsRemoved << 1),
  EventSelectionUsed = (DisabledInConfigFile << 1), OutputMaxEventsTooSmall = (EventSelectionUsed << 1), SplitLevelMismatch = (OutputMaxEventsTooSmall << 1), BranchMismatch = (SplitLevelMismatch << 1)
}

Public Member Functions

BranchChildren const & branchChildren () const
bool branchListIndexesUnchanged () const
void close ()
 FileBlock (FileFormatVersion const &version, TTree const *ev, TTree const *meta, TTree const *lumi, TTree const *lumiMeta, TTree const *run, TTree const *runMeta, int whyNotFastClonable, std::array< bool, NumBranchTypes > const &hasNewlyDroppedBranch, std::string const &fileName, bool branchListIndexesUnchanged, bool modifiedIDs, boost::shared_ptr< BranchChildren > branchChildren)
 FileBlock ()
FileFormatVersion const & fileFormatVersion () const
std::string const & fileName () const
std::array< bool,
NumBranchTypes > const & 
hasNewlyDroppedBranch () const
TTree * lumiMetaTree () const
TTree * lumiTree () const
TTree * metaTree () const
bool modifiedIDs () const
TTree * runMetaTree () const
TTree * runTree () const
void setNotFastClonable (WhyNotFastClonable const &why)
TTree * tree () const
int whyNotFastClonable () const
 ~FileBlock ()

Private Attributes

boost::shared_ptr< BranchChildrenbranchChildren_
bool branchListIndexesUnchanged_
FileFormatVersion fileFormatVersion_
std::string fileName_
std::array< bool, NumBranchTypes > hasNewlyDroppedBranch_
TTree * lumiMetaTree_
TTree * lumiTree_
TTree * metaTree_
bool modifiedIDs_
TTree * runMetaTree_
TTree * runTree_
TTree * tree_
int whyNotFastClonable_

Detailed Description

Definition at line 19 of file FileBlock.h.


Member Enumeration Documentation

Enumerator:
CanFastClone 
NoRootInputSource 
ParallelProcesses 
NotProcessingEvents 
HasSecondaryFileSequence 
FileTooOld 
NoEventsInFile 
EventsToBeSorted 
RunOrLumiNotContiguous 
EventsOrLumisSelectedByID 
InitialEventsSkipped 
MaxEventsTooSmall 
MaxLumisTooSmall 
RunNumberModified 
DuplicateEventsRemoved 
DisabledInConfigFile 
EventSelectionUsed 
OutputMaxEventsTooSmall 
SplitLevelMismatch 
BranchMismatch 

Definition at line 22 of file FileBlock.h.

                       {
      CanFastClone = 0x0,

      // For entire job
      NoRootInputSource = 0x1,
      ParallelProcesses = (NoRootInputSource << 1),
      NotProcessingEvents = (ParallelProcesses << 1),
      HasSecondaryFileSequence = (NotProcessingEvents << 1),

      // For a given input file
      FileTooOld = (HasSecondaryFileSequence << 1),
      NoEventsInFile = (FileTooOld << 1),
      EventsToBeSorted = (NoEventsInFile << 1),
      RunOrLumiNotContiguous = (EventsToBeSorted << 1),
      EventsOrLumisSelectedByID = (RunOrLumiNotContiguous << 1),
      InitialEventsSkipped = (EventsOrLumisSelectedByID << 1),
      MaxEventsTooSmall = (InitialEventsSkipped << 1),
      MaxLumisTooSmall = (MaxEventsTooSmall << 1),
      RunNumberModified = (MaxLumisTooSmall << 1),
      DuplicateEventsRemoved = (RunNumberModified << 1),

      // The remainder of these are defined here for convenience,
      // but never set in FileBlock, because they are output module specific.

      // For a given output module
      DisabledInConfigFile = (DuplicateEventsRemoved << 1),
      EventSelectionUsed = (DisabledInConfigFile << 1),

      // For given input and output files
      OutputMaxEventsTooSmall = (EventSelectionUsed << 1),
      SplitLevelMismatch = (OutputMaxEventsTooSmall << 1),
      BranchMismatch = (SplitLevelMismatch << 1)
    };

Constructor & Destructor Documentation

edm::FileBlock::FileBlock ( ) [inline]
edm::FileBlock::FileBlock ( FileFormatVersion const &  version,
TTree const *  ev,
TTree const *  meta,
TTree const *  lumi,
TTree const *  lumiMeta,
TTree const *  run,
TTree const *  runMeta,
int  whyNotFastClonable,
std::array< bool, NumBranchTypes > const &  hasNewlyDroppedBranch,
std::string const &  fileName,
bool  branchListIndexesUnchanged,
bool  modifiedIDs,
boost::shared_ptr< BranchChildren branchChildren 
) [inline]

Definition at line 69 of file FileBlock.h.

                                                              :
      fileFormatVersion_(version),
      tree_(const_cast<TTree*>(ev)),
      metaTree_(const_cast<TTree*>(meta)),
      lumiTree_(const_cast<TTree*>(lumi)),
      lumiMetaTree_(const_cast<TTree*>(lumiMeta)),
      runTree_(const_cast<TTree*>(run)),
      runMetaTree_(const_cast<TTree*>(runMeta)),
      whyNotFastClonable_(whyNotFastClonable),
      hasNewlyDroppedBranch_(hasNewlyDroppedBranch),
      fileName_(fileName),
      branchListIndexesUnchanged_(branchListIndexesUnchanged),
      modifiedIDs_(modifiedIDs),
      branchChildren_(branchChildren) {}
edm::FileBlock::~FileBlock ( ) [inline]

Definition at line 93 of file FileBlock.h.

{}

Member Function Documentation

BranchChildren const& edm::FileBlock::branchChildren ( ) const [inline]

Definition at line 112 of file FileBlock.h.

References branchChildren_.

{ return *branchChildren_; }
bool edm::FileBlock::branchListIndexesUnchanged ( ) const [inline]

Definition at line 106 of file FileBlock.h.

References branchListIndexesUnchanged_.

Referenced by edm::RootOutputFile::beginInputFile().

void edm::FileBlock::close ( void  ) [inline]
FileFormatVersion const& edm::FileBlock::fileFormatVersion ( ) const [inline]

Definition at line 95 of file FileBlock.h.

References fileFormatVersion_.

Referenced by edm::RootOutputFile::beginInputFile().

std::string const& edm::FileBlock::fileName ( ) const [inline]

Definition at line 105 of file FileBlock.h.

References fileName_.

Referenced by edm::RootOutputFile::beginInputFile().

{return fileName_;}
std::array<bool, NumBranchTypes> const& edm::FileBlock::hasNewlyDroppedBranch ( ) const [inline]

Definition at line 104 of file FileBlock.h.

References hasNewlyDroppedBranch_.

Referenced by edm::RootOutputFile::beginInputFile().

TTree* edm::FileBlock::lumiMetaTree ( ) const [inline]

Definition at line 99 of file FileBlock.h.

References lumiMetaTree_.

{return lumiMetaTree_;}
TTree* edm::FileBlock::lumiTree ( ) const [inline]

Definition at line 98 of file FileBlock.h.

References lumiTree_.

Referenced by edm::PoolOutputModule::respondToOpenInputFile().

{return lumiTree_;}
TTree* edm::FileBlock::metaTree ( ) const [inline]

Definition at line 97 of file FileBlock.h.

References metaTree_.

{return metaTree_;}
bool edm::FileBlock::modifiedIDs ( ) const [inline]

Definition at line 107 of file FileBlock.h.

References modifiedIDs_.

Referenced by edm::RootOutputFile::beginInputFile().

{return modifiedIDs_;}
TTree* edm::FileBlock::runMetaTree ( ) const [inline]

Definition at line 101 of file FileBlock.h.

References runMetaTree_.

{return runMetaTree_;}
TTree* edm::FileBlock::runTree ( ) const [inline]

Definition at line 100 of file FileBlock.h.

References runTree_.

Referenced by edm::PoolOutputModule::respondToOpenInputFile().

{return runTree_;}
void edm::FileBlock::setNotFastClonable ( WhyNotFastClonable const &  why) [inline]

Definition at line 109 of file FileBlock.h.

References whyNotFastClonable_.

                                                           {
      whyNotFastClonable_ |= why;
    }
TTree* edm::FileBlock::tree ( ) const [inline]

Definition at line 96 of file FileBlock.h.

References tree_.

Referenced by edm::RootOutputFile::beginInputFile(), and edm::PoolOutputModule::respondToOpenInputFile().

{return tree_;}
int edm::FileBlock::whyNotFastClonable ( ) const [inline]

Definition at line 103 of file FileBlock.h.

References whyNotFastClonable_.

Referenced by edm::RootOutputFile::beginInputFile().


Member Data Documentation

boost::shared_ptr<BranchChildren> edm::FileBlock::branchChildren_ [private]

Definition at line 129 of file FileBlock.h.

Referenced by branchChildren().

Definition at line 127 of file FileBlock.h.

Referenced by branchListIndexesUnchanged().

Definition at line 116 of file FileBlock.h.

Referenced by fileFormatVersion().

std::string edm::FileBlock::fileName_ [private]

Definition at line 126 of file FileBlock.h.

Referenced by fileName().

std::array<bool, NumBranchTypes> edm::FileBlock::hasNewlyDroppedBranch_ [private]

Definition at line 125 of file FileBlock.h.

Referenced by hasNewlyDroppedBranch().

Definition at line 121 of file FileBlock.h.

Referenced by close(), and lumiMetaTree().

TTree* edm::FileBlock::lumiTree_ [private]

Definition at line 120 of file FileBlock.h.

Referenced by close(), and lumiTree().

TTree* edm::FileBlock::metaTree_ [private]

Definition at line 119 of file FileBlock.h.

Referenced by close(), and metaTree().

Definition at line 128 of file FileBlock.h.

Referenced by modifiedIDs().

TTree* edm::FileBlock::runMetaTree_ [private]

Definition at line 123 of file FileBlock.h.

Referenced by close(), and runMetaTree().

TTree* edm::FileBlock::runTree_ [private]

Definition at line 122 of file FileBlock.h.

Referenced by close(), and runTree().

TTree* edm::FileBlock::tree_ [private]

Definition at line 118 of file FileBlock.h.

Referenced by close(), and tree().

Definition at line 124 of file FileBlock.h.

Referenced by setNotFastClonable(), and whyNotFastClonable().