00001
00002
00003 #include "StjTreeReaderTwoTrees.h"
00004
00005 #include "StjTreeIndex.h"
00006
00007 #include <TTree.h>
00008
00009 #include <iostream>
00010
00011 ClassImp(StjTreeReaderTwoTrees)
00012
00013 using namespace std;
00014
00015 void StjTreeReaderTwoTrees::Init()
00016 {
00017 _tree1->BuildIndex("runNumber", "eventId");
00018 _tree2->BuildIndex("runNumber", "eventId");
00019 SetBranchAddress(_tree1, _tree2);
00020 }
00021
00022 Long64_t StjTreeReaderTwoTrees::GetEntryWithIndex(const StjTreeIndex& idx)
00023 {
00024 return StjTreeReader::GetEntryWithIndex(idx);
00025 }
00026
00027 Long64_t StjTreeReaderTwoTrees::GetEntryWithIndex(Int_t major, Int_t minor)
00028 {
00029 clearEntry();
00030
00031 Long64_t ret1 = _tree1->GetEntryWithIndex(major, minor);
00032
00033 if(ret1 <= 0) return ret1;
00034
00035 Long64_t ret2 = _tree2->GetEntryWithIndex(major, minor);
00036
00037 if(ret2 <= 0) return ret2;
00038
00039 readEntry();
00040
00041 return ret1 + ret2;
00042 }