TDirectory* dir = gDirectory;
fFile = TFile::Open(fileName);
- if (!fFile) {
+ if (!fFile || !fFile->IsOpen()) {
Error("AliVertexGenFile", "could not open file %s", fileName);
+ delete fFile;
+ fFile = NULL;
return;
}
fTree = (TTree*) fFile->Get("TE");
if (!fTree) {
- Error("AliVertexGenFile", "not header tree found in file %s", fileName);
+ Error("AliVertexGenFile", "no header tree found in file %s", fileName);
dir->cd();
return;
}
{
// clean up
- fFile->Close();
+ if (fFile) fFile->Close();
delete fFile;
delete fHeader;
}
// get the vertex from the event header tree
Int_t entry = fEvent++ / fEventsPerEntry;
+ if (!fTree) {
+ Error("GetVertex", "no header tree");
+ return TVector3(0,0,0);
+ }
+
if (fTree->GetEntry(entry) <= 0) {
Error("GetVertex", "error loading entry %d", entry);
return TVector3(0,0,0);