TObjArray* findClassesForAlias(THashList &list, const char* aliasName) { TObjArray* matchingTrClasses = new TObjArray(2); TIter iter(&list); TNamed *n = 0; iter.Reset(); while((n = dynamic_cast<TNamed*>(iter.Next()))){ TString aliasList(n->GetTitle()); if(aliasList.Contains(aliasName)){ TObjArray* arrAliases = aliasList.Tokenize(','); Int_t nAliases = arrAliases->GetEntries(); for(Int_t i=0; i<nAliases; i++){ TObjString *alias = (TObjString*) arrAliases->At(i); alias->Print(0); if(alias->String()==TString(aliasName)){ TObjString *trClass = new TObjString(n->GetName()); matchingTrClasses->Add(trClass); } } } } return matchingTrClasses; }
void test5() { TFile file("test.root"); TTree* tree = (TTree *)file.Get("tree;1"); TList* list = tree->GetUserInfo() ; list->Print(); TObjString* objstr = (TObjString*)list->At(0); objstr->Print(); TString xmlstring = objstr->GetString(); cout << xmlstring << endl; }