Enlarging array
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALGetter.cxx
index c6ccc3f..403f92f 100644 (file)
@@ -52,6 +52,7 @@
 #include "AliEMCAL.h"
 #include "AliRunLoader.h"
 #include "AliStack.h"  
+#include "AliHeader.h"  
 #include "AliEMCALLoader.h"
 #include "AliMC.h"
 
@@ -216,7 +217,6 @@ void AliEMCALGetter::Event(Int_t event, const char* opt)
   }
 
   AliRunLoader * rl = AliRunLoader::GetRunLoader(EmcalLoader()->GetTitle());
-
   // checks if we are dealing with test-beam data
 //   TBranch * btb = rl->TreeE()->GetBranch("AliEMCALBeamTestEvent") ;
 //   if(btb){
@@ -312,8 +312,12 @@ AliEMCALGetter * AliEMCALGetter::Instance(const char* alirunFileName, const char
        }
       }
     }
-    else 
+    else { 
+      AliRunLoader * rl = AliRunLoader::GetRunLoader(fgEmcalLoader->GetTitle());
+      if ( strstr(version, AliConfig::fgkDefaultEventFolderName) ) // false in case of merging
+       delete rl ; 
       fgObjGetter = new AliEMCALGetter(alirunFileName, version, openingOption) ;      
+    }
   }
   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() ;
   
-  fNPrimaries = rl->Stack()->GetNtrack() ; 
-
+  fNPrimaries = (rl->GetHeader())->GetNtrack(); 
   if (fgDebug) 
     Info("ReadTreeK", "Found %d particles in event # %d", fNPrimaries, EventNumber() ) ; 
 
-
   // first time creates the container
   if ( Primaries() ) 
     fPrimaries->Clear() ; 
@@ -459,7 +461,7 @@ Int_t AliEMCALGetter::ReadTreeH()
     
   // gets TreeH from the root file (EMCAL.Hit.root)
   if ( !IsLoaded("H") ) {
-    EmcalLoader()->LoadHits("UPDATE") ;
+    EmcalLoader()->LoadHits("READ") ;
     SetLoaded("H") ; 
   }  
   return Hits()->GetEntries() ; 
@@ -518,9 +520,9 @@ Int_t AliEMCALGetter::ReadTreeS()
   
   
   // gets TreeS from the root file (EMCAL.SDigits.root)
-  if ( !IsLoaded("S") ) {
-    EmcalLoader()->LoadSDigits("UPDATE") ;
-    EmcalLoader()->LoadSDigitizer("UPDATE") ;
+   if ( !IsLoaded("S") ) {
+    EmcalLoader()->LoadSDigits("READ") ;
+    EmcalLoader()->LoadSDigitizer("READ") ;
     SetLoaded("S") ; 
   }