1 #ifndef FWLite_BranchMapReader_h 2 #define FWLite_BranchMapReader_h 36 class ThinnedAssociationsHelper;
46 virtual bool updateFile(TFile* file) = 0;
47 virtual bool updateEvent(Long_t eventEntry) = 0;
48 virtual bool updateLuminosityBlock(Long_t luminosityBlockEntry) = 0;
49 virtual bool updateRun(Long_t runEntry) = 0;
50 virtual bool updateMap() = 0;
54 virtual const std::vector<edm::BranchDescription>& getBranchDescriptions() = 0;
80 bool updateFile(TFile* file);
81 bool updateEvent(Long_t eventEntry);
82 bool updateLuminosityBlock(Long_t luminosityBlockEntry);
83 bool updateRun(Long_t runEntry);
87 return strategy_->branchIDToBranch(bid);
89 int getFileVersion(TFile* file);
92 TFile
const*
getFile()
const {
return strategy_->currentFile_; }
93 TFile*
getFile() {
return strategy_->currentFile_; }
94 TTree
const*
getEventTree()
const {
return strategy_->eventTree_; }
98 TTree
const*
getRunTree()
const {
return strategy_->runTree_; }
104 const std::vector<edm::BranchDescription>& getBranchDescriptions();
106 strategy_->updateMap();
107 return strategy_->branchListIndexes();
110 return strategy_->thinnedAssociationsHelper();
115 std::unique_ptr<internal::BMRStrategy> newStrategy(TFile* file,
int fileVersion);
edm::propagate_const< TFile * > currentFile_
std::unique_ptr< internal::BMRStrategy > strategy_
TUUID getFileUUID() const
TFile const * getFile() const
Long_t getLuminosityBlockEntry() const
const edm::BranchDescription & branchIDToBranch(const edm::BranchID &bid) const
edm::propagate_const< TTree * > eventTree_
Long_t getRunEntry() const
Long_t getEventEntry() const
TTree const * getLuminosityBlockTree() const
std::vector< BranchListIndex > BranchListIndexes
Long_t luminosityBlockEntry_
edm::propagate_const< TTree * > luminosityBlockTree_
TTree const * getEventTree() const
const edm::ThinnedAssociationsHelper & thinnedAssociationsHelper() const
TTree const * getRunTree() const
edm::propagate_const< TTree * > runTree_
int getFileVersion() const
edm::BranchID productToBranchID(const edm::ProductID &pid)
TTree * getLuminosityBlockTree()
const edm::BranchListIndexes & branchListIndexes() const