Changes needed to run simulation and reconstrruction in the same AliRoot session
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 12 Jul 2005 20:07:35 +0000 (20:07 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 12 Jul 2005 20:07:35 +0000 (20:07 +0000)
EMCAL/AliEMCALClusterizerv1.cxx
EMCAL/AliEMCALDigitizer.cxx
EMCAL/AliEMCALGetter.cxx
EMCAL/AliEMCALGetter.h
EMCAL/AliEMCALLoader.cxx
PHOS/AliPHOSDigitizer.cxx
PHOS/AliPHOSGetter.cxx
PHOS/AliPHOSLoader.cxx

index ba9084e..951c97a 100644 (file)
@@ -275,7 +275,9 @@ void AliEMCALClusterizerv1::Init()
   // Make all memory allocations which can not be done in default constructor.
   // Attach the Clusterizer task to the list of EMCAL tasks
   
-  AliEMCALGetter * gime = AliEMCALGetter::Instance(GetTitle(), fEventFolderName.Data());
+  AliEMCALGetter * gime = AliEMCALGetter::Instance();
+  if(!gime)
+    gime = AliEMCALGetter::Instance(GetTitle(), fEventFolderName.Data());
 
   AliEMCALGeometry * geom = gime->EMCALGeometry() ;
 
index 82e2259..ac37421 100644 (file)
@@ -140,6 +140,11 @@ AliEMCALDigitizer::AliEMCALDigitizer(AliRunDigitizer * rd):
 //____________________________________________________________________________ 
   AliEMCALDigitizer::~AliEMCALDigitizer()
 {
+  AliEMCALGetter * gime = AliEMCALGetter::Instance(GetTitle()) ;
+   
+  // Clean Digitizer from the white board
+  gime->EmcalLoader()->CleanDigitizer() ;
+
   delete [] fInputFileNames ; 
   delete [] fEventNames ; 
 
index 11a9b9d..7543cda 100644 (file)
@@ -67,40 +67,11 @@ ClassImp(AliEMCALGetter)
 AliEMCALGetter * AliEMCALGetter::fgObjGetter = 0 ; 
 AliEMCALLoader * AliEMCALGetter::fgEmcalLoader = 0;
 Int_t AliEMCALGetter::fgDebug = 0;
-TString AliEMCALGetter::fVersion = "";
 
 //  TFile * AliEMCALGetter::fgFile = 0 ; 
 
 //____________________________________________________________________________ 
-AliEMCALGetter::AliEMCALGetter(const char* headerFile, const char* version, Option_t * openingOption) 
-{
-  // ctor only called by Instance()
-
-  // initialize data members
-  SetDebug(0) ; 
-  //fBTE = 0 ; 
-  
-  fLoadingStatus = "" ; 
-
-  fgObjGetter=this;
-  
-  OpenFile(headerFile,version,openingOption);
-}
-
-
-//____________________________________________________________________________ 
-AliEMCALGetter::~AliEMCALGetter()
-{
-  //PH  AliRunLoader * rl = AliRunLoader::GetRunLoader(fgEmcalLoader->GetTitle());
-  //PH  delete rl;
-  fgEmcalLoader = 0 ;
-  fgObjGetter = 0; 
-  fVersion = "";
-}
-
-//____________________________________________________________________________ 
-void AliEMCALGetter::OpenFile(const char* headerFile, const char* version, Option_t * openingOption) {
-  fVersion = version;
+AliEMCALGetter::AliEMCALGetter(const char* headerFile, const char* version, Option_t * openingOption) {
   AliRunLoader* rl = AliRunLoader::GetRunLoader(version) ; 
   if (!rl) {
     rl = AliRunLoader::Open(headerFile, version, openingOption);
@@ -118,13 +89,31 @@ void AliEMCALGetter::OpenFile(const char* headerFile, const char* version, Optio
     Error("AliEMCALGetter", "Could not find EMCALLoader") ; 
   else 
     fgEmcalLoader->SetTitle(version);
+
+   // initialize data members
+  SetDebug(0) ; 
+  fLoadingStatus = "" ; 
+
+}
+
+//____________________________________________________________________________ 
+AliEMCALGetter::~AliEMCALGetter()
+{
+  if (fgEmcalLoader) {
+    delete fgEmcalLoader;
+    fgEmcalLoader = 0 ;
+  }
+  fgObjGetter = 0;
 }
 
+
 //____________________________________________________________________________ 
 void AliEMCALGetter::Reset()
 {
   // resets things in case the getter is called consecutively with different files
   // the EMCAL Loader is already deleted by the Run Loader
+  fgEmcalLoader = 0;
+  fgObjGetter = 0;
 
 }
 
@@ -232,10 +221,10 @@ void AliEMCALGetter::Event(Int_t event, const char* opt)
 {
   // Reads the content of all Tree's S, D and R
 
-  if ( event >= MaxEvent() ) {
-    Error("Event", "%d not found in TreeE !", event) ; 
-    return ; 
-  }
+//   if ( event >= MaxEvent() ) {
+//     Error("Event", "%d not found in TreeE !", event) ; 
+//     return ; 
+//   }
 
   AliRunLoader * rl = AliRunLoader::GetRunLoader(EmcalLoader()->GetTitle());
   // checks if we are dealing with test-beam data
@@ -317,14 +306,13 @@ AliEMCALGetter * AliEMCALGetter::Instance(const char* alirunFileName, const char
     fgObjGetter = new AliEMCALGetter(alirunFileName, version, openingOption) ;
   }
   else { // the getter has been called previously
-    AliRunLoader * rl = AliRunLoader::GetRunLoader(fVersion);
-    if (rl == 0)  fgObjGetter->OpenFile(alirunFileName, version, openingOption) ; 
-    else if ( rl->GetFileName() == alirunFileName ) {// the alirunFile has the same name
+    AliRunLoader * rl = AliRunLoader::GetRunLoader(fgEmcalLoader->GetTitle());
+    if ( rl->GetFileName() == alirunFileName ) {// the alirunFile has the same name
       // check if the file is already open
       TFile * galiceFile = dynamic_cast<TFile *>(gROOT->FindObject(rl->GetFileName()) ) ; 
       
       if ( !galiceFile ) 
-       fgObjGetter->OpenFile(alirunFileName, version, openingOption);
+       fgObjGetter = new AliEMCALGetter(alirunFileName, version, openingOption);
       
       else {  // the file is already open check the version name
        TString currentVersionName = rl->GetEventFolder()->GetName() ; 
@@ -333,15 +321,15 @@ AliEMCALGetter * AliEMCALGetter::Instance(const char* alirunFileName, const char
          if(fgDebug)
            ::Warning( "Instance", "Files with version %s already open", currentVersionName.Data() ) ;  
        else {    
-         fgEmcalLoader->SetTitle(version); fVersion = version;
+         fgObjGetter = new AliEMCALGetter(alirunFileName, version, openingOption) ; 
        }
       }
     }
     else { 
-      AliRunLoader * rl = AliRunLoader::GetRunLoader(fVersion);
+      AliRunLoader * rl = AliRunLoader::GetRunLoader(fgEmcalLoader->GetTitle());
       if ( strstr(version, AliConfig::GetDefaultEventFolderName()) ) // false in case of merging
        delete rl ; 
-      fgObjGetter->OpenFile(alirunFileName, version, openingOption) ;      
+      fgObjGetter = new AliEMCALGetter(alirunFileName, version, openingOption) ;      
     }
   }
   if (!fgObjGetter) 
@@ -635,13 +623,9 @@ Int_t AliEMCALGetter::ReadTreeD()
   // Read the Digits
   
    EmcalLoader()->CleanDigits() ; 
-  // gets TreeD from the root file (EMCAL.Digits.root)
-  //if ( !IsLoaded("D") ) {
-    EmcalLoader()->LoadDigits("UPDATE") ;
-    EmcalLoader()->LoadDigitizer("UPDATE") ;
-    //  SetLoaded("D") ; 
-    //} 
-  return Digits()->GetEntries() ; 
+   EmcalLoader()->LoadDigits("UPDATE") ;
+   EmcalLoader()->LoadDigitizer("UPDATE") ;
+   return Digits()->GetEntries() ; 
 }
 
 //____________________________________________________________________________ 
index 3b89de7..5904f8f 100644 (file)
@@ -69,9 +69,6 @@ class AliEMCALGetter : public TObject {
                                  const char* version = AliConfig::GetDefaultEventFolderName(),
                                  Option_t * openingOption = "READ" ) ; 
   static AliEMCALGetter * Instance() ; 
-  void   OpenFile(const char* headerFile,
-                 const char* version = AliConfig::GetDefaultEventFolderName(),
-                 Option_t * openingOption = "READ" );
 
   static void Print() ; 
   
@@ -214,14 +211,10 @@ private:
 
 private:
 
-//   static TFile * fgFile;           //! 
-
-//  AliEMCALBeamTestEvent * fBTE ;           //! Header if BeamTest Event
 
   static Int_t          fgDebug ;             //! Debug level
 
   TString           fLoadingStatus ;     //! tells which trees are loaded
-  static TString           fVersion;            //! stores the current folder name
 
 //  AliEMCALCalibrationDB * fcdb ;       //!
    
@@ -231,7 +224,7 @@ private:
   enum EDataTypes{kHits,kSDigits,kDigits,kRecPoints,kTracks,kNDataTypes};
 
 
-  ClassDef(AliEMCALGetter,5)  // Algorithm class that provides methods to retrieve objects from a list knowing the index 
+  ClassDef(AliEMCALGetter,6)  // Algorithm class that provides methods to retrieve objects from a list knowing the index 
 
 };
 
index 17be32b..d23adb2 100644 (file)
@@ -93,11 +93,9 @@ AliEMCALLoader::~AliEMCALLoader()
   Clean(fgkRecParticlesName);
   CleanFolders() ; 
  // set to 0x0 the objgetter in AliGetter ... weird isn it !
-  /* 
   AliEMCALGetter * gime = AliEMCALGetter::Instance() ; 
   if (gime) 
     gime->Reset() ;
-  */
 }
 
 //____________________________________________________________________________ 
@@ -285,13 +283,6 @@ Int_t AliEMCALLoader::LoadRecParticles(Option_t* opt)
       Error("LoadRecParticles","AliLoader::LoadRecParticles returned error");
       return res;
     }
-  
-  TFolder * emcalFolder = GetDetectorDataFolder();
-  if ( emcalFolder  == 0x0 ) 
-    {
-      Error("PostDigits","Can not get detector data folder");
-      return 1;
-    }
   return ReadRecParticles();
 }
 
@@ -305,7 +296,7 @@ Int_t AliEMCALLoader::PostHits()
      Error("PostHits","AliLoader::  returned error");
      return reval;
     }
-  return ReadHits();
+  return const_cast<AliEMCALLoader *>(this)->ReadHits();
 }
 
 //____________________________________________________________________________ 
@@ -318,7 +309,7 @@ Int_t AliEMCALLoader::PostSDigits()
      Error("PostSDigits","AliLoader::PostSDigits  returned error");
      return reval;
    }
-  return ReadSDigits();
+  return const_cast<AliEMCALLoader *>(this)->ReadSDigits();
 }
 
 //____________________________________________________________________________ 
@@ -331,7 +322,7 @@ Int_t AliEMCALLoader::PostDigits()
       Error("PostDigits","AliLoader::PostDigits  returned error");
       return reval;
     }
-  return ReadDigits();
+  return const_cast<AliEMCALLoader *>(this)->ReadDigits();
 }
 
 //____________________________________________________________________________ 
@@ -344,7 +335,7 @@ Int_t AliEMCALLoader::PostRecPoints()
      Error("PostRecPoints","AliLoader::PostRecPoints  returned error");
      return reval;
    }
-  return ReadRecPoints();
+  return const_cast<AliEMCALLoader *>(this)->ReadRecPoints();
 }
 
 //____________________________________________________________________________ 
@@ -358,7 +349,7 @@ Int_t AliEMCALLoader::PostRecParticles()
       Error("PostRecParticles","AliLoader::PostRecParticles  returned error");
       return reval;
     }
-  return ReadRecParticles();
+  return const_cast<AliEMCALLoader *>(this)->ReadRecParticles();
 }
 
 //____________________________________________________________________________ 
@@ -371,7 +362,7 @@ Int_t AliEMCALLoader::PostTracks()
       Error("PostTracks","AliLoader::PostTracks  returned error");
       return reval;
     }
-  return ReadTracks();
+  return const_cast<AliEMCALLoader *>(this)->ReadTracks();
 }
 
 //____________________________________________________________________________ 
index bb3b29b..f9e8693 100644 (file)
@@ -18,6 +18,9 @@
 /* History of cvs commits:
  *
  * $Log$
+ * Revision 1.85  2005/05/28 14:19:04  schutz
+ * Compilation warnings fixed by T.P.
+ *
  */
 
 //_________________________________________________________________________
@@ -147,6 +150,10 @@ AliPHOSDigitizer::AliPHOSDigitizer(AliRunDigitizer * rd):
 //____________________________________________________________________________ 
   AliPHOSDigitizer::~AliPHOSDigitizer()
 {
+  AliPHOSGetter * gime = AliPHOSGetter::Instance(GetTitle()) ;
+
+  // Clean Digitizer from the white board
+  gime->PhosLoader()->CleanDigitizer() ;
   // dtor
   delete [] fInputFileNames ; 
   delete [] fEventNames ; 
index e33507b..de0b7e4 100644 (file)
@@ -131,7 +131,7 @@ AliPHOSGetter::~AliPHOSGetter()
   if (fESDTree) 
     delete fESDTree ;
  
-  //  fgObjGetter = 0;
+  fgObjGetter = 0;
 }
 
 //____________________________________________________________________________ 
@@ -361,8 +361,6 @@ AliPHOSGetter * AliPHOSGetter::Instance(const char* alirunFileName, const char*
   // Creates and returns the pointer of the unique instance
   // Must be called only when the environment has changed
   
-  //::Info("Instance","alirunFileName=%s version=%s openingOption=%s",alirunFileName,version,openingOption);
-  
   if(!fgObjGetter){ // first time the getter is called 
     fgObjGetter = new AliPHOSGetter(alirunFileName, version, openingOption) ;
   }
index 542d520..8d4cd41 100644 (file)
@@ -18,6 +18,9 @@
 /* History of cvs commits:
  *
  * $Log$
+ * Revision 1.14  2005/05/28 14:19:04  schutz
+ * Compilation warnings fixed by T.P.
+ *
  */
 
 //_________________________________________________________________________
@@ -430,6 +433,7 @@ Int_t AliPHOSLoader::ReadHits()
          index++ ; 
        }
      }
+    tempo->Delete();
     delete tempo;
    }
   else