fNewEvent = kTRUE;
//
+ static Int_t prevRunNumber = -1;
+ if (prevRunNumber != fEvent->GetRunNumber() && NeedField()) {
+ fEvent->InitMagneticField();
+ prevRunNumber = fEvent->GetRunNumber();
+ }
+ //
// Event selection
//
fIsSelectedResult = 0;
((AliESDEvent*)fEvent)->SetESDfriend(fFriend);
called = kTRUE;
+ // set transient pointer to event inside tracks
+ fEvent->ConnectTracks();
+
if (fMixingHandler) fMixingHandler->BeginEvent(entry);
if (fUseTags && fRunTag) {
fEventTag = 0;
//
// 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();
-
-
- if(esdFriendTreeFName.Contains("AliESDs.root")) {
- esdFriendTreeFName.ReplaceAll("AliESDs.root", fFriendFileName.Data());
- } else if(esdFriendTreeFName.Contains("AliESDs_wSDD.root")) {
- esdFriendTreeFName.ReplaceAll("AliESDs_wSDD.root", fFriendFileName.Data());
- }
+ 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;
cTree->AddFriend("esdFriendTree", esdFriendTreeFName.Data());
cTree->SetBranchStatus("ESDfriend.", 1);
- fFriend = (AliESDfriend*)(fEvent->FindListObject("AliESDfriend"));
+ fFriend = fEvent->FindFriend();
if (fFriend) cTree->SetBranchAddress("ESDfriend.", &fFriend);
}
}
{
// Finish the event
if(fEvent)fEvent->Reset();
+ if (fFriend) fFriend->Reset();
if (fMixingHandler) fMixingHandler->FinishEvent();
return kTRUE;
}
SwitchOffBranches();
SwitchOnBranches();
fFriend = (AliESDfriend*)(fEvent->FindListObject("AliESDfriend"));
+ fUserInfo=fTree->GetTree()->GetUserInfo();
+
//
if (fUseHLT) {
// Get HLTesdTree from current file
}
+
+
+