]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/FlavourJetTasks/AliAnalysisTaskFlavourFilterAndJetCorrelations.cxx
fix mem leak from TClonesArray
[u/mrichter/AliRoot.git] / PWGJE / FlavourJetTasks / AliAnalysisTaskFlavourFilterAndJetCorrelations.cxx
index fe9e5b551c021489f97aa29f3b5974f34a8bf6ce..cc4db57796d490ddd0fe5a0083e5344bf69ea57e 100644 (file)
@@ -62,13 +62,16 @@ fNProngs(),
 fPDGdaughters(),
 fBranchName(),
 fmyOutput(0),
+fmyOutputF(0),
 fCuts(0),
 fMinMass(),
 fMaxMass(),  
 fJetArrName(0),
 fCandArrName(0),
 fLeadingJetOnly(kFALSE),
-fJetRadius(0)
+fJetRadius(0),
+fCandidateArray(0),
+fSideBandArray(0)
 {
    //
    // Default ctor
@@ -96,7 +99,9 @@ fMaxMass(),
 fJetArrName(0),
 fCandArrName(0),
 fLeadingJetOnly(kFALSE),
-fJetRadius(0)
+fJetRadius(0),
+fCandidateArray(0),
+fSideBandArray(0)
 {
    //
    // Constructor. Initialization of Inputs and Outputs
@@ -199,6 +204,15 @@ void AliAnalysisTaskFlavourFilterAndJetCorrelations::Init(){
 //_______________________________________________________________________________
 
 void AliAnalysisTaskFlavourFilterAndJetCorrelations::UserCreateOutputObjects() { 
+   
+   fCandidateArray = new TClonesArray("AliAODRecoDecayHF",0);
+   fCandidateArray->SetName(Form("fCandidateArray%s%s",fCandArrName.Data(),fUseReco ? "rec" : "gen"));
+   
+   if (fCandidateType==kDstartoKpipi){
+      fSideBandArray = new TClonesArray("AliAODRecoCascadeHF",0); //this is for the DStar only!
+      fSideBandArray->SetName(Form("fSideBandArray%s%s",fCandArrName.Data(),fUseReco ? "rec" : "gen"));
+   }
+   
    // output 
    Info("UserCreateOutputObjects","CreateOutputObjects of task %s\n", GetName());
    fmyOutput = new TList();
@@ -279,13 +293,9 @@ void AliAnalysisTaskFlavourFilterAndJetCorrelations::UserExec(Option_t *)
    
    
    //FILTER D MESONS
-   fCandidateArray = new TClonesArray("AliAODRecoDecayHF",0);
-   fCandidateArray->SetName(Form("fCandidateArray%s%s",fCandArrName.Data(),fUseReco ? "rec" : "gen"));
-   
-   if (fCandidateType==kDstartoKpipi){
-      fSideBandArray = new TClonesArray("AliAODRecoCascadeHF",0); //this is for the DStar only!
-      fSideBandArray->SetName(Form("fSideBandArray%s%s",fCandArrName.Data(),fUseReco ? "rec" : "gen"));
-   }
+
+   fCandidateArray->Clear();
+   fSideBandArray->Clear();
    
    //Histograms
    TH1I* hstatF = (TH1I*)fmyOutputF->FindObject("hstatF");