]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
fix memory leaks
authorabercuci <abercuci@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 3 Sep 2008 15:55:21 +0000 (15:55 +0000)
committerabercuci <abercuci@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 3 Sep 2008 15:55:21 +0000 (15:55 +0000)
TRD/qaRec/AliTRDcalibration.cxx
TRD/qaRec/AliTRDcalibration.h
TRD/qaRec/AliTRDtrackInfoGen.cxx
TRD/qaRec/AliTRDtrackInfoGen.h
TRD/qaRec/AliTRDtrackingEfficiency.cxx
TRD/qaRec/AliTRDtrackingEfficiency.h
TRD/qaRec/AliTRDtrackingEfficiencyCombined.cxx
TRD/qaRec/AliTRDtrackingEfficiencyCombined.h
TRD/qaRec/AliTRDtrackingResolution.cxx
TRD/qaRec/AliTRDtrackingResolution.h

index ae1ef07f201b8bce583f6650c7b9a2e4ee657f7a..f4c5395bc22ff951eb459d4d1ab9e4417729bf2c 100644 (file)
@@ -80,12 +80,23 @@ AliTRDcalibration::AliTRDcalibration(const char *name)
   DefineOutput(0, TList::Class());
   
   
+}  
+
+
+//________________________________________________________________________
+AliTRDcalibration::~AliTRDcalibration()
+{
+  
+  //delete AliTRDCalibraFillHisto::Instance();
+
+  fListHist->Delete();
+  delete fListHist;
 }
+
 //________________________________________________________________________
 void AliTRDcalibration::ConnectInputData(Option_t *) 
 {
   fTracks = dynamic_cast<TObjArray*>(GetInputData(0));
-  
 }
 //________________________________________________________________________
 void AliTRDcalibration::CreateOutputObjects() 
index e5ffa621cc73a8752998e4af2b9c88c26833a7d4..15f292fdf971ee93be9d0adba4da7ff73fdae61d 100644 (file)
@@ -23,7 +23,7 @@ class AliTRDcalibration : public AliAnalysisTask
 {
 public:
   AliTRDcalibration(const char *name = "AliTRDcalibration");
-  virtual ~AliTRDcalibration() {}
+  virtual ~AliTRDcalibration();
   
   virtual void   ConnectInputData(Option_t *);
   virtual void   CreateOutputObjects();
index 86d762e4972f5879c93f42a2c01eede8de2ed95a..21e57d88bf194bf99a3921f0ace32794384725d3 100644 (file)
@@ -82,6 +82,16 @@ AliTRDtrackInfoGen::AliTRDtrackInfoGen(const Char_t *name):
   //DefineOutput(1, TTree::Class());
 }
 
+//____________________________________________________________________
+AliTRDtrackInfoGen::~AliTRDtrackInfoGen()
+{
+  if(fTrackInfo) delete fTrackInfo;
+  if(fObjectContainer){
+    fObjectContainer->Delete();
+    delete fObjectContainer;
+  }
+}
+
 //____________________________________________________________________
 void AliTRDtrackInfoGen::ConnectInputData(Option_t *)
 {
index db35f9357c8dbb1a7191481df625625e49943b60..41cfbb50d82e92741f28b3f78d4ff7cd5f3eaf02 100644 (file)
@@ -24,7 +24,7 @@ class AliTRDtrackInfoGen : public AliAnalysisTask{
 public:
 
   AliTRDtrackInfoGen(const Char_t *name = "TRD Track Info");
-  ~AliTRDtrackInfoGen(){};
+  virtual ~AliTRDtrackInfoGen();
   
   void  ConnectInputData(Option_t *);
   void  CreateOutputObjects();
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");
index 59e7d88eec3af4b5119d7dd45f44a96171269f44..4b2bcc977f7c471278abdef55280611104b8bfc2 100644 (file)
@@ -21,7 +21,7 @@ class AliTRDtrackingEfficiency : public AliAnalysisTask
 {
 public:
   AliTRDtrackingEfficiency(const Char_t *name = "TRD Tracking efficiency");
-  ~AliTRDtrackingEfficiency(){};
+  virtual ~AliTRDtrackingEfficiency();
   void  ConnectInputData(Option_t *);
   void  CreateOutputObjects();
   Int_t GetDebugLevel() const {return fDebugLevel;} 
index 50feb9fdb516e89f19e7a7cd1a7f3ba652987a26..2ff15d2219facc2292223ca4eb1c0b13b8ad3b75 100644 (file)
@@ -58,6 +58,16 @@ AliTRDtrackingEfficiencyCombined::AliTRDtrackingEfficiencyCombined(const char *n
   DefineOutput(0, TObjArray::Class());
 }
 
+
+//_____________________________________________________________________________
+AliTRDtrackingEfficiencyCombined::~AliTRDtrackingEfficiencyCombined()
+{
+  if(fObjectContainer){
+    //fObjectContainer->Delete();
+    delete fObjectContainer;
+  }
+}
+
 //_____________________________________________________________________________
 void AliTRDtrackingEfficiencyCombined::ConnectInputData(Option_t *){
   //
index c603ba139da73991862a89eda954cd732d248bbd..305af9c09009f853c1ff1a1820dc7c79e916c89e 100644 (file)
@@ -17,28 +17,28 @@ class TObjArray;
 class TTreeSRedirector;
 
 class AliTRDtrackingEfficiencyCombined : public AliAnalysisTask{
-       public:
-               AliTRDtrackingEfficiencyCombined(const char *name = "combined tracking efficiency");
-               ~AliTRDtrackingEfficiencyCombined(){};
-               
-               virtual void ConnectInputData(Option_t *);
-               virtual void CreateOutputObjects();
-               virtual void Exec(Option_t *);
-               virtual void Terminate(Option_t *);
-               
-               void SetDebugLevel(Int_t debugLevel) { fDebugLevel = debugLevel;}
-               int GetDebugLevel() const { return fDebugLevel; }
-               
-       private:
-               AliTRDtrackingEfficiencyCombined(const AliTRDtrackingEfficiencyCombined &);
-               AliTRDtrackingEfficiencyCombined& operator=(const AliTRDtrackingEfficiencyCombined &);
-               
-               TObjArray *fObjectContainer;                   //! Container for output histograms
-               TObjArray *fTrackInfos;                        //! Input Container
-               Int_t fDebugLevel;                             // Debug level
-               TTreeSRedirector *fDebugStream;                // Debug streamer
-               
-               ClassDef(AliTRDtrackingEfficiencyCombined, 1); // Combined tracking efficiency
+public:
+  AliTRDtrackingEfficiencyCombined(const char *name = "combined tracking efficiency");
+  virtual ~AliTRDtrackingEfficiencyCombined();
+  
+  virtual void ConnectInputData(Option_t *);
+  virtual void CreateOutputObjects();
+  virtual void Exec(Option_t *);
+  virtual void Terminate(Option_t *);
+  
+  void SetDebugLevel(Int_t debugLevel) { fDebugLevel = debugLevel;}
+  int GetDebugLevel() const { return fDebugLevel; }
+  
+private:
+  AliTRDtrackingEfficiencyCombined(const AliTRDtrackingEfficiencyCombined &);
+  AliTRDtrackingEfficiencyCombined& operator=(const AliTRDtrackingEfficiencyCombined &);
+  
+  TObjArray *fObjectContainer;                //! Container for output histograms
+  TObjArray *fTrackInfos;                             //! Input Container
+  Int_t fDebugLevel;                             // Debug level
+  TTreeSRedirector *fDebugStream;                     // Debug streamer
+  
+  ClassDef(AliTRDtrackingEfficiencyCombined, 1); // Combined tracking efficiency
 };
                
 #endif
index c85c542af33cda3704b64f60cbda81391d69e75f..a3b6a80675f409e36d9c1baefe023a7c391ff95a 100644 (file)
@@ -65,18 +65,21 @@ AliTRDtrackingResolution::AliTRDtrackingResolution(const char * name):
   ,fDebugLevel(0)
   ,fDebugStream(0x0)
 {
-  AliCDBManager *cdb = AliCDBManager::Instance();
-  cdb->SetDefaultStorage("local://$ALICE_ROOT");
-  cdb->SetRun(0);
   TGeoManager::Import("geometry.root");
   fReconstructor = new AliTRDReconstructor();
   fReconstructor->SetRecoParam(AliTRDrecoParam::GetLowFluxParam());
-  AliTRDtrackerV1::SetNTimeBins(24);
 
   DefineInput(0, TObjArray::Class());
   DefineOutput(0, TList::Class());
 }
 
+//________________________________________________________
+AliTRDtrackingResolution::~AliTRDtrackingResolution()
+{
+  fHistos->Delete(); delete fHistos;
+  delete fReconstructor;
+}
+
 //________________________________________________________
 void AliTRDtrackingResolution::ConnectInputData(Option_t *){
   fTracks = dynamic_cast<TObjArray *>(GetInputData(0));
index 5d52a0ccbe9b9779d4ddb4a20f1ca381fe12958a..b16cd27c6cd247ce4299ca8420040984adfbba58 100644 (file)
@@ -24,7 +24,7 @@ class AliTRDtrackInfo;
 class AliTRDtrackingResolution : public AliAnalysisTask{
 public:
   AliTRDtrackingResolution(const char *name = "TRD Tracking Resolution");
-  ~AliTRDtrackingResolution(){};
+  virtual ~AliTRDtrackingResolution();
   
   void    ConnectInputData(Option_t *);
   void    CreateOutputObjects();