//
// Handle the friends first
//
- if (!fTree->FindBranch("ESDfriend.")) {
+ TTree* cTree = fTree->GetTree();
+ if (!cTree) cTree = fTree;
+ if (!cTree->FindBranch("ESDfriend.")) {
// Try to add ESDfriend. branch as friend
- TString esdFriendTreeFName;
- esdFriendTreeFName = (fTree->GetCurrentFile())->GetName();
- TString basename = gSystem->BaseName(esdFriendTreeFName);
- Int_t index = basename.Index("#")+1;
- basename.Remove(index);
- basename += fFriendFileName;
- TString dirname = gSystem->DirName(esdFriendTreeFName);
- dirname += "/";
- esdFriendTreeFName = dirname + basename;
-
- TTree* cTree = fTree->GetTree();
- if (!cTree) cTree = fTree;
+ TString esdFriendTreeFName;
+ esdFriendTreeFName = (fTree->GetCurrentFile())->GetName();
+ TString basename = gSystem->BaseName(esdFriendTreeFName);
+ Int_t index = basename.Index("#")+1;
+ basename.Remove(index);
+ basename += fFriendFileName;
+ TString dirname = gSystem->DirName(esdFriendTreeFName);
+ dirname += "/";
+ esdFriendTreeFName = dirname + basename;
+
cTree->AddFriend("esdFriendTree", esdFriendTreeFName.Data());
cTree->SetBranchStatus("ESDfriend.", 1);
fFriend = (AliESDfriend*)(fEvent->FindListObject("AliESDfriend"));
{
// Finish the event
if(fEvent)fEvent->Reset();
+ if (fFriend) fFriend->Reset();
if (fMixingHandler) fMixingHandler->FinishEvent();
return kTRUE;
}
}
+void AliESDfriend::Reset()
+{
+ //
+ // Reset friend information
+ //
+ fTracks.Delete();
+ for (Int_t i=0;i<72;i++)
+ {
+ fNclustersTPC[i]=0;
+ fNclustersTPCused[i]=0;
+ }
+ delete fESDVZEROfriend; fESDVZEROfriend=0;
+ delete fESDTZEROfriend; fESDTZEROfriend=0;
+}
+
void AliESDfriend::SetVZEROfriend(AliESDVZEROfriend * obj)
{