94 const std::string& br_name = this->par()[1];
97 Long64_t ientry =
tree->GetReadEntry();
110 tree->SetBranchStatus(br_name.c_str(), 1);
114 TBranch *branch =
tree->GetBranch(br_name.c_str());
119 branch =
tree->GetBranch((br_name+
".").c_str());
124 Long64_t bentry = branch->GetReadEntry();
125 if ( bentry != ientry || ientry < 0) {
130 branch->GetEntry(ientry);
131 bentry = branch->GetReadEntry();
142 TClass *cls = TClass::GetClass(branch->GetClassName());
144 if (!branch->GetAddress()) {
145 branch->GetEntry(ientry);
147 if (branch->GetAddress()) {
149 void* addr = *(
char**)branch->GetAddress();
151 if (t != rflx_type && !t.Id()) {
168 TLeaf *leaf =
tree->GetLeaf(br_name.c_str());
170 if (branch && !leaf) {
171 leaf = branch->GetLeaf(br_name.c_str());
173 TObjArray *leaves = branch->GetListOfLeaves();
174 if (leaves->GetSize() && (leaves->First() == leaves->Last())) {
176 leaf = (TLeaf*)leaves->At(0);
184 if ( 1 < leaf->GetLenStatic() || leaf->GetLeafCount() ) {
187 std::string tname = leaf->GetTypeName();
188 void *addr = (
void*)leaf->GetValuePointer();
190 if (t != rflx_type && !t.Id()) {
199 std::string tname = leaf->GetTypeName();
202 void *addr = (
void*)leaf->GetValuePointer();
204 if (t != rflx_type && !t.Id()) {