- if(fFriendChainName!="") {
- out << " TString fileFriend=coll->GetTURL(\"\");" << endl;
- out << " if (fileFriend.Index(\"#\") > -1) fileFriend.Remove(fileFriend.Index(\"#\"));" << endl;
- out << " fileFriend = gSystem->DirName(fileFriend);" << endl;
- out << " fileFriend += \"/\";" << endl;
- out << " fileFriend += \"" << fFriendChainName << "\";";
- out << " TFile *file = TFile::Open(fileFriend);" << endl;
- out << " if (file) {" << endl;
- out << " file->Close();" << endl;
- out << " chainFriend->Add(fileFriend.Data());" << endl;
- out << " } else {" << endl;
- out << " ::Fatal(\"CreateChain\", \"Cannot open friend file: %s\", fileFriend.Data());" << endl;
- out << " return 0;" << endl;
+ if(!fFriendChainName.IsNull()) {
+ out << " TString bpath=coll->GetTURL(\"\");" << endl;
+ out << " if (bpath.Index(\"#\") > -1) bpath.Remove(bpath.Index(\"#\"));" << endl;
+ out << " bpath = gSystem->DirName(bpath);" << endl;
+ out << " bpath += \"/\";" << endl;
+ out << " TString fileFriend;" << endl;
+ out << " nextfriend.Reset();" << endl;
+ out << " while ((cfriend=(TChain*)nextfriend())) {" << endl;
+ out << " fileFriend = bpath;" << endl;
+ out << " fileFriend += cfriend->GetTitle();" << endl;
+ out << " TFile *file = TFile::Open(fileFriend);" << endl;
+ out << " if (file) {" << endl;
+ out << " file->Close();" << endl;
+ out << " cfriend->Add(fileFriend.Data());" << endl;
+ out << " } else {" << endl;
+ out << " ::Fatal(\"CreateChain\", \"Cannot open friend file: %s\", fileFriend.Data());" << endl;
+ out << " return 0;" << endl;
+ out << " }" << endl;