Adding track references at decay points (M.Ivanov)
[u/mrichter/AliRoot.git] / STEER / AliModule.cxx
index e99faa6..3e90897 100644 (file)
@@ -673,10 +673,15 @@ void AliModule::RemapTrackReferencesIDs(Int_t *map)
     if (ref) {
       Int_t newID = map[ref->GetTrack()];
       if (newID>=0) ref->SetTrack(newID);
-      else ref->SetTrack(-1);
-      
+      else {
+        //ref->SetTrack(-1);
+        ref->SetBit(kNotDeleted,kFALSE);
+        fTrackReferences->RemoveAt(i);  
+      }      
     }
   }
+  fTrackReferences->Compress();
+
 }
 
 
@@ -736,7 +741,7 @@ void AliModule::ResetTrackReferences()
  
 //_____________________________________________________________________________
 
-AliLoader*  AliModule::MakeLoader(const char* topfoldername) 
+AliLoader*  AliModule::MakeLoader(const char* /*topfoldername*/) 
  {
    return 0x0;
  }//skowron   
@@ -760,12 +765,17 @@ void AliModule::SetTreeAddress()
      branch = treeTR->GetBranch(GetName());
     if (branch) 
      {
-       if(GetDebug()) Info("SetTreeAddress","(%s) Setting for TrackRefs",GetName());
+       if(GetDebug()) 
+         Info("SetTreeAddress","(%s) Setting for TrackRefs",GetName());
        branch->SetAddress(&fTrackReferences);
      }
     else
-     {
-       Warning("SetTreeAddress","(%s) Failed for Track References. Can not find branch in tree.",GetName());
+     { 
+     //can be called before MakeBranch and than does not make sense to issue the warning
+       if(GetDebug()) 
+         Warning("SetTreeAddress",
+                 "(%s) Failed for Track References. Can not find branch in tree.",
+                 GetName());
      }
   }
 }
@@ -785,7 +795,7 @@ void  AliModule::AddTrackReference(Int_t label){
 
 
 //_____________________________________________________________________________
-void AliModule::MakeBranchTR(Option_t *option)
+void AliModule::MakeBranchTR(Option_t */*option*/)
 { 
     //
     // Makes branch in treeTR