Enlarging array
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALGetter.cxx
index 7458ea7..403f92f 100644 (file)
@@ -41,7 +41,6 @@
 // --- ROOT system ---
 
 #include "TSystem.h"
-#include "TFile.h"
 #include "TROOT.h"
 
 
@@ -53,6 +52,7 @@
 #include "AliEMCAL.h"
 #include "AliRunLoader.h"
 #include "AliStack.h"  
+#include "AliHeader.h"  
 #include "AliEMCALLoader.h"
 #include "AliMC.h"
 
@@ -207,7 +207,7 @@ TClonesArray * AliEMCALGetter::RecParticles() const
   return rv ; 
 }
 //____________________________________________________________________________ 
-void AliEMCALGetter::Event(const Int_t event, const char* opt) 
+void AliEMCALGetter::Event(Int_t event, const char* opt) 
 {
   // Reads the content of all Tree's S, D and R
 
@@ -217,7 +217,6 @@ void AliEMCALGetter::Event(const 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){
@@ -313,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") ;
@@ -396,7 +399,7 @@ TClonesArray * AliEMCALGetter::Primaries()
   // creates the Primaries container if needed
   if ( !fPrimaries ) {
     if (fgDebug) 
-      printf("Primaries: Creating a new TClonesArray for primaries") ; 
+      Info("Primaries", "Creating a new TClonesArray for primaries") ; 
     fPrimaries = new TClonesArray("TParticle", 1000) ;
   } 
   return fPrimaries ; 
@@ -408,7 +411,7 @@ void  AliEMCALGetter::Print()
   // Print usefull information about the getter
     
   AliRunLoader * rl = AliRunLoader::GetRunLoader(fgEmcalLoader->GetTitle());
-  printf("Print: gAlice file is %s -- version name is %s", (rl->GetFileName()).Data(), rl->GetEventFolder()->GetName() ) ; 
+  ::Info("Print", "gAlice file is %s -- version name is %s", (rl->GetFileName()).Data(), rl->GetEventFolder()->GetName() ) ; 
 }
 
 //____________________________________________________________________________ 
@@ -422,11 +425,9 @@ void AliEMCALGetter::ReadPrimaries()
   if ( ! rl->TreeK() )  // load treeK the first time
     rl->LoadKinematics() ;
   
-  fNPrimaries = rl->Stack()->GetNtrack() ; 
-
+  fNPrimaries = (rl->GetHeader())->GetNtrack(); 
   if (fgDebug) 
-    printf("ReadTreeK: Found %d particles in event # %d", fNPrimaries, EventNumber() ) ; 
-
+    Info("ReadTreeK", "Found %d particles in event # %d", fNPrimaries, EventNumber() ) ; 
 
   // first time creates the container
   if ( Primaries() ) 
@@ -460,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() ; 
@@ -519,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") ; 
   }
 
@@ -546,7 +547,7 @@ TClonesArray * AliEMCALGetter::SDigits() const
 //____________________________________________________________________________ 
 AliEMCALSDigitizer * AliEMCALGetter::SDigitizer() 
 { 
-  // return pointer to SDigitizer Tree
+  // Return pointer to SDigitizer task
   AliEMCALSDigitizer * rv ; 
   rv =  dynamic_cast<AliEMCALSDigitizer *>(EmcalLoader()->SDigitizer()) ;
   if (!rv) {
@@ -557,7 +558,7 @@ AliEMCALSDigitizer * AliEMCALGetter::SDigitizer()
 }
 
 //____________________________________________________________________________ 
-TParticle * AliEMCALGetter::Secondary(const TParticle* p, const Int_t index) const
+TParticle * AliEMCALGetter::Secondary(const TParticle* p, Int_t index) const
 {
   // Return first (index=1) or second (index=2) secondary particle of primary particle p 
 
@@ -576,7 +577,7 @@ TParticle * AliEMCALGetter::Secondary(const TParticle* p, const Int_t index) con
 }
 
 //____________________________________________________________________________ 
-void AliEMCALGetter::Track(const Int_t itrack) 
+void AliEMCALGetter::Track(Int_t itrack) 
 {
   // Read the first entry of EMCAL branch in hit tree gAlice->TreeH()
  
@@ -712,7 +713,6 @@ Bool_t AliEMCALGetter::VersionExists(TString & opt) const
       Warning("VersionExists", "The file %s already exists", fileName.Data()) ;  
       rv = kTRUE ; 
     }
-    EmcalLoader()->SetDigitsFileName(fileName) ;
   }
 
   return rv ;