Memory leak fix
authorddobrigk <david.dobrigkeit.chinellato@cern.ch>
Tue, 25 Nov 2014 14:29:36 +0000 (12:29 -0200)
committerddobrigk <david.dobrigkeit.chinellato@cern.ch>
Tue, 25 Nov 2014 14:30:22 +0000 (12:30 -0200)
ANALYSIS/AliPPVsMultUtils.cxx

index 66ea61d..749083c 100644 (file)
@@ -71,19 +71,19 @@ AliPPVsMultUtils &AliPPVsMultUtils::operator=(const AliPPVsMultUtils &c)
 
 //______________________________________________________________________
 Float_t AliPPVsMultUtils::GetMultiplicityPercentile(AliVEvent *event, TString lMethod)
-// Function to get multiplicity quantiles 
+// Function to get multiplicity quantiles
 {
     Int_t lRequestedRunNumber = event->GetRunNumber();
     if( lRequestedRunNumber != fRunNumber ) fCalibrationLoaded = LoadCalibration( lRequestedRunNumber );
     
-    if ( !fCalibrationLoaded ){ 
-      return -1000; //Return absurd value (hopefully noone will use this...) 
+    if ( !fCalibrationLoaded ){
+        return -1000; //Return absurd value (hopefully noone will use this...)
     }
     if ( !fBoundaryHisto_V0M   || !fBoundaryHisto_V0A   || !fBoundaryHisto_V0C ||
         !fBoundaryHisto_V0MEq || !fBoundaryHisto_V0AEq || !fBoundaryHisto_V0CEq ){
-      return -1000; //Return absurd value (hopefully noone will use this...) 
+        return -1000; //Return absurd value (hopefully noone will use this...)
     }
-
+    
     Float_t lreturnval = -1;
     
     //Get VZERO Information for multiplicity later
@@ -105,22 +105,22 @@ Float_t AliPPVsMultUtils::GetMultiplicityPercentile(AliVEvent *event, TString lM
     //Getters for uncorrected multiplicity
     multV0A=esdV0->GetMTotV0A();
     multV0C=esdV0->GetMTotV0C();
-   
+    
     //Getting around to the SPD vertex -> typecast to ESD/AOD
     const AliVVertex *lPrimarySPDVtx = NULL;
     /* get ESD vertex SPD */
     if (event->InheritsFrom("AliESDEvent")) {
-      AliESDEvent *esdevent = dynamic_cast<AliESDEvent *>(event);
-      if (!esdevent) return kFALSE;
-      lPrimarySPDVtx = esdevent->GetPrimaryVertexSPD();
+        AliESDEvent *esdevent = dynamic_cast<AliESDEvent *>(event);
+        if (!esdevent) return kFALSE;
+        lPrimarySPDVtx = esdevent->GetPrimaryVertexSPD();
     }
     /* get AOD vertex SPD */
     else if (event->InheritsFrom("AliAODEvent")) {
-      AliAODEvent *aodevent = dynamic_cast<AliAODEvent *>(event);
-      if (!aodevent) return kFALSE;
-      lPrimarySPDVtx = aodevent->GetPrimaryVertexSPD();
+        AliAODEvent *aodevent = dynamic_cast<AliAODEvent *>(event);
+        if (!aodevent) return kFALSE;
+        lPrimarySPDVtx = aodevent->GetPrimaryVertexSPD();
     }
-   
+    
     //Get Z vertex position of SPD vertex (why not Tracking if available?)
     Float_t zvtx = lPrimarySPDVtx->GetZ();
     
@@ -182,9 +182,9 @@ Bool_t AliPPVsMultUtils::LoadCalibration(Int_t lLoadThisCalibration)
     lCalibFile_V0MEq = TFile::Open("$ALICE_ROOT/PWGLF/STRANGENESS/Cascades/corrections/calibration_V0MEq.root");
     lCalibFile_V0AEq = TFile::Open("$ALICE_ROOT/PWGLF/STRANGENESS/Cascades/corrections/calibration_V0AEq.root");
     lCalibFile_V0CEq = TFile::Open("$ALICE_ROOT/PWGLF/STRANGENESS/Cascades/corrections/calibration_V0CEq.root");
-
+    
     //AliInfo("Casting");
-    //check memory consumption later... 
+    //check memory consumption later...
     fBoundaryHisto_V0M   = dynamic_cast<TH1F *>(lCalibFile_V0M  -> Get(Form("histocalib%i",lLoadThisCalibration)) );
     fBoundaryHisto_V0A   = dynamic_cast<TH1F *>(lCalibFile_V0A  -> Get(Form("histocalib%i",lLoadThisCalibration)) );
     fBoundaryHisto_V0C   = dynamic_cast<TH1F *>(lCalibFile_V0C  -> Get(Form("histocalib%i",lLoadThisCalibration)) );
@@ -214,13 +214,12 @@ Bool_t AliPPVsMultUtils::LoadCalibration(Int_t lLoadThisCalibration)
     fBoundaryHisto_V0CEq->SetDirectory(0);
     
     //AliInfo("Closing");
-    
-    if( lCalibFile_V0M ) lCalibFile_V0M->Close();
-    if( lCalibFile_V0A ) lCalibFile_V0A->Close();
-    if( lCalibFile_V0C ) lCalibFile_V0C->Close();
-    if( lCalibFile_V0MEq ) lCalibFile_V0MEq->Close();
-    if( lCalibFile_V0AEq ) lCalibFile_V0AEq->Close();
-    if( lCalibFile_V0CEq ) lCalibFile_V0CEq->Close();
+    if( lCalibFile_V0M ) {lCalibFile_V0M->Close(); lCalibFile_V0M->Delete(); delete lCalibFile_V0M; }
+    if( lCalibFile_V0A ) {lCalibFile_V0A->Close(); lCalibFile_V0A->Delete(); delete lCalibFile_V0A; }
+    if( lCalibFile_V0C ) {lCalibFile_V0C->Close(); lCalibFile_V0C->Delete(); delete lCalibFile_V0C; }
+    if( lCalibFile_V0MEq ) {lCalibFile_V0MEq->Close(); lCalibFile_V0MEq->Delete(); delete lCalibFile_V0MEq; }
+    if( lCalibFile_V0AEq ) {lCalibFile_V0AEq->Close(); lCalibFile_V0AEq->Delete(); delete lCalibFile_V0AEq; }
+    if( lCalibFile_V0CEq ) {lCalibFile_V0CEq->Close(); lCalibFile_V0CEq->Delete(); delete lCalibFile_V0CEq; }
     
     fRunNumber = lLoadThisCalibration; //Loaded!
     AliInfo(Form("Finished loading calibration for run %i",lLoadThisCalibration));