Delete the run loader before creating a new getter
authorschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 12 Feb 2004 12:54:24 +0000 (12:54 +0000)
committerschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 12 Feb 2004 12:54:24 +0000 (12:54 +0000)
EMCAL/AliEMCALGetter.cxx
PHOS/AliPHOSGetter.cxx

index c6ccc3fd6ad7f9644036e507c0c7eaf9ae0ffc5a..bbdcb011fc82e9655dd1c08c7c38998ab54ae4ce 100644 (file)
@@ -52,6 +52,7 @@
 #include "AliEMCAL.h"
 #include "AliRunLoader.h"
 #include "AliStack.h"  
 #include "AliEMCAL.h"
 #include "AliRunLoader.h"
 #include "AliStack.h"  
+#include "AliHeader.h"  
 #include "AliEMCALLoader.h"
 #include "AliMC.h"
 
 #include "AliEMCALLoader.h"
 #include "AliMC.h"
 
@@ -312,8 +313,11 @@ AliEMCALGetter * AliEMCALGetter::Instance(const char* alirunFileName, const char
        }
       }
     }
        }
       }
     }
-    else 
+    else { 
+      AliRunLoader * rl = AliRunLoader::GetRunLoader(fgEmcalLoader->GetTitle());
+      delete rl ; 
       fgObjGetter = new AliEMCALGetter(alirunFileName, version, openingOption) ;      
       fgObjGetter = new AliEMCALGetter(alirunFileName, version, openingOption) ;      
+    }
   }
   if (!fgObjGetter) 
     ::Error("AliEMCALGetter::Instance", "Failed to create the EMCAL Getter object") ;
   }
   if (!fgObjGetter) 
     ::Error("AliEMCALGetter::Instance", "Failed to create the EMCAL Getter object") ;
@@ -421,12 +425,10 @@ void AliEMCALGetter::ReadPrimaries()
   if ( ! rl->TreeK() )  // load treeK the first time
     rl->LoadKinematics() ;
   
   if ( ! rl->TreeK() )  // load treeK the first time
     rl->LoadKinematics() ;
   
-  fNPrimaries = rl->Stack()->GetNtrack() ; 
-
+  fNPrimaries = (rl->GetHeader())->GetNtrack(); 
   if (fgDebug) 
     Info("ReadTreeK", "Found %d particles in event # %d", fNPrimaries, EventNumber() ) ; 
 
   if (fgDebug) 
     Info("ReadTreeK", "Found %d particles in event # %d", fNPrimaries, EventNumber() ) ; 
 
-
   // first time creates the container
   if ( Primaries() ) 
     fPrimaries->Clear() ; 
   // first time creates the container
   if ( Primaries() ) 
     fPrimaries->Clear() ; 
index 97af7e82153fa549be09381d717c3ba7adce64b8..6c66cbb2e3536605006624c4fcd6fc2a0a105909 100644 (file)
@@ -51,6 +51,7 @@
 #include "AliPHOS.h"
 #include "AliRunLoader.h"
 #include "AliStack.h"  
 #include "AliPHOS.h"
 #include "AliRunLoader.h"
 #include "AliStack.h"  
+#include "AliHeader.h"  
 #include "AliPHOSLoader.h"
 #include "AliPHOSBeamTestEvent.h"
 #include "AliMC.h"
 #include "AliPHOSLoader.h"
 #include "AliPHOSBeamTestEvent.h"
 #include "AliMC.h"
@@ -335,8 +336,11 @@ AliPHOSGetter * AliPHOSGetter::Instance(const char* alirunFileName, const char*
        }
       }
     }
        }
       }
     }
-    else 
+    else {
+      AliRunLoader * rl = AliRunLoader::GetRunLoader(fgPhosLoader->GetTitle()) ; 
+      delete rl ; 
       fgObjGetter = new AliPHOSGetter(alirunFileName, version, openingOption) ;      
       fgObjGetter = new AliPHOSGetter(alirunFileName, version, openingOption) ;      
+    }
   }
   if (!fgObjGetter) 
     ::Error("AliPHOSGetter::Instance", "Failed to create the PHOS Getter object") ;
   }
   if (!fgObjGetter) 
     ::Error("AliPHOSGetter::Instance", "Failed to create the PHOS Getter object") ;
@@ -441,11 +445,11 @@ void AliPHOSGetter::ReadPrimaries()
   AliRunLoader * rl = AliRunLoader::GetRunLoader(PhosLoader()->GetTitle());
   
   // gets kine tree from the root file (Kinematics.root)
   AliRunLoader * rl = AliRunLoader::GetRunLoader(PhosLoader()->GetTitle());
   
   // gets kine tree from the root file (Kinematics.root)
-  if ( ! rl->TreeK() )  // load treeK the first time
+  if ( ! rl->TreeK() ) { // load treeK the first time
     rl->LoadKinematics() ;
     rl->LoadKinematics() ;
+  }
   
   
-  fNPrimaries = rl->Stack()->GetNtrack() ; 
-
+  fNPrimaries = (rl->GetHeader())->GetNtrack(); 
   if (fgDebug) 
     Info( "ReadTreeK", "Found %d particles in event # %d", fNPrimaries, EventNumber() ) ; 
 
   if (fgDebug) 
     Info( "ReadTreeK", "Found %d particles in event # %d", fNPrimaries, EventNumber() ) ;