]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/qaRec/AliTRDtrackingEfficiency.cxx
fix memory leaks
[u/mrichter/AliRoot.git] / TRD / qaRec / AliTRDtrackingEfficiency.cxx
index 92c38422d7c890359a05507d6a796d5f2a86eb09..f860b98af6f91cdd3c1d049b9dd11eb3fefc7f3a 100644 (file)
@@ -28,6 +28,7 @@
 #include <TObjArray.h>
 #include <TList.h>
 #include <TProfile.h>
+#include "TTreeStream.h"
 
 #include "AliESDtrack.h"
 #include "AliTrackReference.h"
@@ -58,6 +59,19 @@ AliTRDtrackingEfficiency::AliTRDtrackingEfficiency(const Char_t *name):
   DefineOutput(0, TList::Class());
 }
 
+//____________________________________________________________________
+AliTRDtrackingEfficiency::~AliTRDtrackingEfficiency()
+{
+  if(fObjectContainer){
+    fObjectContainer->Delete();
+    delete fObjectContainer;
+  }
+  if(fMissed){
+    fMissed->Delete();
+    delete fMissed;
+  }
+}
+
 //____________________________________________________________________
 void  AliTRDtrackingEfficiency::ConnectInputData(Option_t *)
 {
@@ -242,7 +256,7 @@ void AliTRDtrackingEfficiency::Exec(Option_t *)
   }
 
   //if(fDebugLevel>=1)
-  printf("%3d Tracks: ESD[%3d] TPC[%3d] TRD[%3d | %5.2f%%] Off[%d]\n", (Int_t)AliAnalysisManager::GetAnalysisManager()->GetCurrentEntry(), fTracks->GetEntriesFast(), nTPC, nTRD, 1.E2*nTRD/float(nTPC), fMissed->GetEntriesFast());
+  printf("%3d Tracks: ESD[%3d] TPC[%3d] TRD[%3d | %5.2f%%] Off[%d]\n", (Int_t)AliAnalysisManager::GetAnalysisManager()->GetCurrentEntry(), fTracks->GetEntriesFast(), nTPC, nTRD, nTPC ? 1.E2*nTRD/float(nTPC) : 0., fMissed->GetEntriesFast());
 
   //fMissed->Delete();
        // check for double countings
@@ -262,6 +276,8 @@ void AliTRDtrackingEfficiency::Terminate(Option_t *)
   // Terminate
   //
 
+  if(fDebugStream) delete fDebugStream;
+
   fObjectContainer = dynamic_cast<TList*>(GetOutputData(0));
   if (!fObjectContainer) {
     Printf("ERROR: list not available");