|
|
Go to the documentation of this file.
45 luminosityBlockTree_(nullptr),
48 luminosityBlockEntry_(-1),
50 fileVersion_(fileVersion) {
59 typedef std::map<edm::BranchID, edm::BranchDescription>
bidToDesc;
88 std::vector<edm::BranchDescription>
bDesc_;
96 thinnedAssociationsHelper_(new
edm::ThinnedAssociationsHelper) {
117 TBranch* bReg(
nullptr);
120 if (
nullptr != metaDataTree) {
122 bReg->SetAddress(ppReg);
196 for (
auto&
item : prodList) {
207 return nullptr !=
br;
231 bool updateRun(Long_t runEntry)
override;
243 :
Strategy(
file, fileVersion), eventEntryInfoVector_(), pEventEntryInfoVector_(&eventEntryInfoVector_) {
277 if (
nullptr != metaDataTree) {
296 for (
auto&
item : prodList) {
306 return nullptr !=
br;
331 bool updateRun(Long_t runEntry)
override;
344 :
Strategy(
file, fileVersion), eventHistoryTree_(nullptr), pHistory_(&history_) {
378 if (
nullptr == metaDataTree) {
386 b->SetAddress(&branchIDListsPtr);
406 for (
auto&
item : prodList) {
417 return nullptr !=
br;
423 if (!eventHistoryBranch) {
428 eventHistoryBranch->SetAddress(&
pHistory_);
446 bool updateRun(Long_t runEntry)
override;
459 :
Strategy(
file, fileVersion), eventsTree_(nullptr), pBranchListIndexes_(&branchListIndexes_) {
492 if (
nullptr == metaDataTree) {
501 b->SetAddress(&thinnedAssociationsHelperPtr);
509 b->SetAddress(&branchIDListsPtr);
529 for (
auto&
item : prodList) {
540 return nullptr !=
br;
545 TBranch* branchListIndexesBranch =
547 if (!branchListIndexesBranch) {
549 <<
"Failed to find branch list indexes branch in event tree";
579 if (
nullptr ==
file) {
591 if (
nullptr == metaDataTree) {
598 bVer->SetAddress(&pV);
616 TFile* currentFile(
strategy_->currentFile_);
617 bool isNew(
file != currentFile);
624 isNew = eventTreeTemp !=
strategy_->eventTree_ ||
strategy_->fileUUID_ != currentFile->GetUUID();
628 if (fileVersion !=
strategy_->fileVersion_) {
642 return strategy_->getBranchDescriptions();
646 std::unique_ptr<internal::BMRStrategy>
s;
648 if (fileVersion >= 17) {
649 s = std::make_unique<internal::BranchMapReaderStrategyV17>(
file, fileVersion);
650 }
else if (fileVersion >= 11) {
651 s = std::make_unique<internal::BranchMapReaderStrategyV11>(
file, fileVersion);
652 }
else if (fileVersion >= 8) {
653 s = std::make_unique<internal::BranchMapReaderStrategyV8>(
file, fileVersion);
654 }
else if (fileVersion >= 7) {
655 s = std::make_unique<internal::BranchMapReaderStrategyV7>(
file, fileVersion);
657 s = std::make_unique<internal::BranchMapReaderStrategyV1>(
file, fileVersion);
edm::BranchListIndexes const & branchListIndexes() const override
edm::BranchListIndexes const & branchListIndexes() const override
bool updateFile(TFile *file) override
std::string const & branchIDListBranchName()
bool updateLuminosityBlock(Long_t luminosityBlockEntry) override
std::string const & fileFormatVersionBranchName()
std::string const & runTreeName()
edm::propagate_const< std::unique_ptr< edm::BranchIDLists > > branchIDLists_
bool updateMap() override
bool updateFile(TFile *file) override
std::map< edm::BranchID, edm::BranchDescription > bidToDesc
std::string const & eventTreeName()
edm::ThinnedAssociationsHelper const & thinnedAssociationsHelper() const override
bool updateRun(Long_t runEntry) override
bidToDesc branchDescriptionMap_
void setFrozen(bool initializeLookupInfo=true)
edm::BranchDescription const & productToBranch(edm::ProductID const &pid) override
std::string const & eventMetaDataTreeName()
edm::History const * pHistory_
bool updateFile(TFile *file) override
std::vector< edm::BranchDescription > bDesc_
bool updateLuminosityBlock(Long_t luminosityBlockEntry) override
std::string const & luminosityBlockTreeName()
std::vector< BranchListIndex > BranchListIndexes
BranchMapReaderStrategyV7(TFile *file, int fileVersion)
bool updateMap() override
Strategy(TFile *file, int fileVersion)
edm::EventEntryInfoVector const * pEventEntryInfoVector_
edm::propagate_const< TTree * > eventHistoryTree_
std::string const & branchListIndexesBranchName()
bool updateLuminosityBlock(Long_t luminosityBlockEntry)
bool updateEvent(Long_t eventEntry)
bool updateEvent(Long_t eventEntry) override
std::string const & BranchTypeToBranchEntryInfoBranchName(BranchType const &branchType)
edm::BranchListIndexes const & branchListIndexes() const override
bool updateFile(TFile *file)
element_type const * get() const
edm::BranchListIndexes dummyBranchListIndexes_
edm::EventEntryInfoVector eventEntryInfoVector_
ProductList & productListUpdator()
edm::propagate_const< TTree * > eventTree_
static const edm::BranchDescription kDefaultBranchDescription
edm::propagate_const< std::unique_ptr< edm::BranchIDLists > > branchIDLists_
bool updateEvent(Long_t eventEntry) override
edm::BranchListIndexes dummyBranchListIndexes_
std::vector< BranchIDList > BranchIDLists
Long_t luminosityBlockEntry_
edm::BranchListIndexes const & branchListIndexes() const override
BranchMapReaderStrategyV11(TFile *file, int fileVersion)
std::vector< edm::BranchDescription > const & getBranchDescriptions() override
std::map< BranchKey, BranchDescription > ProductList
edm::BranchID productToBranchID(edm::ProductID const &pid) override
edm::propagate_const< TFile * > currentFile_
bool updateFile(TFile *file) override
std::string const & productDescriptionBranchName()
const edm::BranchDescription & productToBranch(const edm::ProductID &pid)
edm::propagate_const< TTree * > eventsTree_
edm::BranchListIndexes dummyBranchListIndexes_
edm::propagate_const< std::unique_ptr< edm::ThinnedAssociationsHelper > > thinnedAssociationsHelper_
edm::propagate_const< TTree * > luminosityBlockTree_
bool updateRun(Long_t runEntry) override
Container::value_type value_type
const std::vector< edm::BranchDescription > & getBranchDescriptions()
BranchListIndexes const & branchListIndexes() const
BranchMapReaderStrategyV1(TFile *file, int fileVersion)
bool updateRun(Long_t runEntry) override
TBranch * getBranchRegistry(edm::ProductRegistry **pReg)
bool updateMap() override
int getFileVersion() const
std::string const & metaDataTreeName()
BMRStrategy(TFile *file, int fileVersion)
bool updateMap() override
edm::BranchDescription const & branchIDToBranch(edm::BranchID const &bid) const override
bool updateEvent(Long_t eventEntry) override
BranchMapReaderStrategyV8(TFile *file, int fileVersion)
std::string const & thinnedAssociationsHelperBranchName()
std::vector< EventEntryInfo > EventEntryInfoVector
BranchID productIDToBranchID(ProductID const &pid, BranchIDLists const &lists, BranchListIndexes const &indexes)
edm::BranchListIndexes branchListIndexes_
bool updateLuminosityBlock(Long_t luminosityBlockEntry) override
bool updateFile(TFile *file) override
bool updateLuminosityBlock(Long_t luminosityBlockEntry) override
std::string const & eventHistoryTreeName()
edm::BranchID productToBranchID(edm::ProductID const &pid) override
std::unique_ptr< internal::BMRStrategy > newStrategy(TFile *file, int fileVersion)
edm::BranchID productToBranchID(edm::ProductID const &pid) override
bool updateMap() override
bool updateRun(Long_t runEntry)
edm::propagate_const< TTree * > runTree_
bool updateRun(Long_t runEntry) override
std::unique_ptr< internal::BMRStrategy > strategy_
bool updateEvent(Long_t eventEntry) override
edm::propagate_const< edm::BranchListIndexes * > pBranchListIndexes_
edm::propagate_const< TBranch * > entryInfoBranch_
edm::BranchListIndexes const & branchListIndexes() const override
std::string const & eventHistoryBranchName()
BranchMapReaderStrategyV17(TFile *file, int fileVersion)