AliESDInputHandlerRP::AliESDInputHandlerRP() :
AliESDInputHandler(),
fRTrees( new TObjArray()),
+ fRDirs ( new TObjArray()),
fRFiles( new TList()),
fDetectors(new TList()),
fDirR(0),
AliESDInputHandlerRP::AliESDInputHandlerRP(const char* name, const char* title):
AliESDInputHandler(name, title),
fRTrees( new TObjArray()),
+ fRDirs ( new TObjArray()),
fRFiles( new TList()),
fDetectors(new TList()),
fDirR(0),
Bool_t AliESDInputHandlerRP::BeginEvent(Long64_t entry)
{
// Begin the next event
- // Delegate first to base class
- AliESDInputHandler::BeginEvent(entry);
-//
+ //
if (entry == -1) {
fEventNumber++;
entry = fEventNumber;
AliWarning(Form("AliESDInputHandlerRP: Event number out of range %5d %5d\n", entry, fNEvents));
return kFALSE;
}
- return LoadEvent(entry);
+
+ LoadEvent(entry);
+
+ // Delegate to base class
+ return AliESDInputHandler::BeginEvent(entry);
+
}
Bool_t AliESDInputHandlerRP::LoadEvent(Int_t iev)
// Tree R
TIter next(fRFiles);
TFile* file;
- Int_t idx = 0;
+ Int_t idx = 0;
while ((file = (TFile*) next()))
{
file->GetObject(folder, fDirR);
+
if (!fDirR) {
AliWarning(Form("AliESDInputHandlerRP: Event #%5d not found\n", iev));
return kFALSE;
}
TTree* tree = 0;
fDirR->GetObject("TreeR", tree);
- fRTrees->AddAt(tree, idx++);
+ fRDirs ->AddAt(fDirR, idx );
+ fRTrees->AddAt(tree, idx++);
}
return kTRUE;
}
Bool_t AliESDInputHandlerRP::FinishEvent()
{
// Clean-up after each event
- delete fDirR; fDirR = 0;
+ fRDirs->Delete();
AliESDInputHandler::FinishEvent();
return kTRUE;
}