Repairing leak in AliEveFMDLoader.
authorjniedzie <jeremi.niedziela@cern.ch>
Wed, 10 Sep 2014 07:13:03 +0000 (09:13 +0200)
committerjniedzie <jeremi.niedziela@cern.ch>
Wed, 10 Sep 2014 07:13:48 +0000 (09:13 +0200)
.gitignore
EVE/EveBase/AliEveEventManager.cxx
EVE/EveDet/AliEveFMDLoader.cxx
EVE/macros/alieve_online_new.C

index 8a70750..9eb0a94 100644 (file)
@@ -1,8 +1,9 @@
 
-AliRootProject/
+AliRootXcode/
+AliRootXcode.xcodeproj/
+AliRootXcode/**
 *.DS_Store
 *.xworkspace
-xAliRoot/
 *.xcodeproj
 
 # Compiled Object files
index d11dcb8..3e7eae1 100644 (file)
@@ -248,9 +248,7 @@ void AliEveEventManager::CheckStorageStatus()
         if(eventManager->Send(request,CLIENT_COMMUNICATION_REQ,5000))
         {
             StorageManagerOk();
-            cout<<"WARNING -- Storage Manager is OK."<<endl;
             long response = eventManager->GetLong(CLIENT_COMMUNICATION_REQ);
-            cout<<"RESPONSE:"<<response<<endl;
         }
         else
         {
index 3d81aaa..c2c1c8b 100644 (file)
@@ -688,6 +688,7 @@ void
 AliEveFMDLoader::LoadESD()
 {
   // Load and display ESD information 
+  
   ClearDigitSets(kESD);
 
   AliESDEvent* esd =  AliEveEventManager::AssertESD();
@@ -715,9 +716,18 @@ AliEveFMDLoader::LoadESD()
          Float_t mult = fmd->Multiplicity(det,*rng,sec,str);
          if (mult == AliESDFMD::kInvalidMult) continue;
          Float_t eta  = fmd->Eta(det,*rng,sec,str);
-         AddSignal(kESD, det, *rng, sec, str, mult, min, max, 
-                   new TNamed(Form("FMD%d%c[%02d,%03d]", det, *rng, sec, str), 
-                              Form("Mch=%f, eta=%f", mult, eta)));
+         
+        // As it was before, it causes big memory leak:
+//        AddSignal(kESD, det, *rng, sec, str, mult, min, max,
+//                  new TNamed(Form("FMD%d%c[%02d,%03d]", det, *rng, sec, str),
+//                             Form("Mch=%f, eta=%f", mult, eta)));
+                
+        // I propose to replace it with:
+        TNamed *tmpNamed = new TNamed(Form("FMD%d%c[%02d,%03d]", det, *rng, sec, str),Form("Mch=%f, eta=%f", mult, eta));
+        AddSignal(kESD, det, *rng, sec, str, mult, min, max,tmpNamed);
+        if(tmpNamed)delete tmpNamed;
+        //
+        
        }
       }
     }
index 25bb6d8..4feb9ac 100644 (file)
@@ -94,8 +94,8 @@ void alieve_online_new()
   exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "REC Clus HMPID", "hmpid_clusters.C", "hmpid_clusters"));
   exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "REC Clus MUON",  "muon_clusters.C",  "muon_clusters"));
 
+  
   exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "DIG EMCAL",   "emcal_digits.C",   "emcal_digits"));
-
   exec->AddMacro(new AliEveMacro(AliEveMacro::kRawReader, "RAW ITS",     "its_raw.C",     "its_raw"));
   //  exec->AddMacro(new AliEveMacro(AliEveMacro::kRawReader, "RAW TPC",     "tpc_raw.C",     "tpc_raw"));
   exec->AddMacro(new AliEveMacro(AliEveMacro::kRawReader, "RAW TOF",     "tof_raw.C",     "tof_raw"));
@@ -103,13 +103,20 @@ void alieve_online_new()
   exec->AddMacro(new AliEveMacro(AliEveMacro::kRawReader, "RAW ACORDE",  "acorde_raw.C",  "acorde_raw", "", kFALSE));
   exec->AddMacro(new AliEveMacro(AliEveMacro::kRawReader, "RAW MUON",    "muon_raw.C",  "muon_raw"));
   exec->AddMacro(new AliEveMacro(AliEveMacro::kRawReader, "RAW FMD",     "fmd_raw.C",     "fmd_raw"));
 
   exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC Track",      "esd_tracks.C",        "esd_tracks",             "", kFALSE));
   exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC Track",      "esd_tracks.C",        "esd_tracks_MI",          "", kFALSE));
-  exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC Track",      "esd_tracks.C",        "esd_tracks_by_category", "", kTRUE));
   exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC Track MUON", "esd_muon_tracks.C", "esd_muon_tracks",        "kTRUE,kFALSE", kTRUE));
-  exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC FMD",        "fmd_esd.C",           "fmd_esd",                "", kTRUE));
 
+    
+    // these macros were leaking:
+  exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC Track",      "esd_tracks.C",        "esd_tracks_by_category", "", kTRUE));// just a little
+  exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC FMD",        "fmd_esd.C",           "fmd_esd",                "", kTRUE));//huge leak
+    //
+    
+    
+    
   // ???
   // exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC TRD", "trd_detectors.C", "trd_detectors",         "", kFALSE));
   // trd_tracks disabled due to memory leaks