if (!fEvent) fEvent = new AliESDEvent();
fEvent->ReadFromTree(fTree);
fNEvents = fTree->GetEntries();
+ if (fReadFriends) ConnectFriends();
if (fMixingHandler) fMixingHandler->Init(tree, opt);
-
return kTRUE;
}
if (!fEventCuts || !IsUserCallSelectionMask()) return;
fIsSelectedResult = fEventCuts->GetSelectionMask((AliESDEvent*)fEvent);
}
-
-//______________________________________________________________________________
-Bool_t AliESDInputHandler::FinishEvent()
-{
- // Finish the event
- if(fEvent)fEvent->Reset();
- if (fMixingHandler) fMixingHandler->FinishEvent();
- return kTRUE;
-}
//______________________________________________________________________________
-Bool_t AliESDInputHandler::Notify(const char* path)
+void AliESDInputHandler::ConnectFriends()
{
- // Notify a directory change
- static Bool_t firsttime = kFALSE;
- AliInfo(Form("Directory change %s \n", path));
+// Connect the friends tree as soon as available.
//
// Handle the friends first
//
- if (!fTree->FindBranch("ESDfriend.") && fReadFriends) {
+ if (!fTree->FindBranch("ESDfriend.")) {
// Try to add ESDfriend. branch as friend
TString esdFriendTreeFName;
esdFriendTreeFName = (fTree->GetCurrentFile())->GetName();
cTree->SetBranchStatus("ESDfriend.", 1);
fFriend = (AliESDfriend*)(fEvent->FindListObject("AliESDfriend"));
if (fFriend) cTree->SetBranchAddress("ESDfriend.", &fFriend);
- }
+ }
+}
+
+//______________________________________________________________________________
+Bool_t AliESDInputHandler::FinishEvent()
+{
+ // Finish the event
+ if(fEvent)fEvent->Reset();
+ if (fMixingHandler) fMixingHandler->FinishEvent();
+ return kTRUE;
+}
+
+//______________________________________________________________________________
+Bool_t AliESDInputHandler::Notify(const char* path)
+{
+ // Notify a directory change
+ static Bool_t firsttime = kFALSE;
+ AliInfo(Form("Directory change %s \n", path));
+ //
+ // Handle the friends first
+ //
+ if (fReadFriends) ConnectFriends();
//
//
SwitchOffBranches();