]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONDataInterface.cxx
Updated list of MUON libraries
[u/mrichter/AliRoot.git] / MUON / AliMUONDataInterface.cxx
index 025fba08927bb9f905bdbc01469757558473c8ea..e0a2873e654fd5bbba2c95067293c37ef4be58b7 100644 (file)
@@ -15,6 +15,7 @@
  
 /* $Id$ */
 
+#include <cassert>
 #include <TError.h>
 #include <TParticle.h>
 
@@ -69,6 +70,7 @@ ClassImp(AliMUONDataInterface)
 AliMUONDataInterface::AliMUONDataInterface()
        : TObject(), 
          fCreatedRunLoader(kFALSE),
+         fCreatedRunLoaderSim(kFALSE),
          fHitAddressSet(kFALSE),
          fSDigitAddressSet(kFALSE),
          fDigitAddressSet(kFALSE),
@@ -76,10 +78,14 @@ AliMUONDataInterface::AliMUONDataInterface()
          fTriggerAddressSet(kFALSE),
          fRecTracksAddressSet(kFALSE),
          fRunloader(0x0),
-         fMuonloader(0x0),
-         fData(0x0, "MUON", "MUON"),
+         fRunloaderSim(0x0),
+         fRecLoader(0x0),
+         fSimLoader(0x0),
+         fRecData(0x0, "MUON", "MUON"),
+         fSimData(0x0, "MUON", "MUON"),
          fFilename(),
-         fFoldername(),
+         fFoldername("MUONLoader"),
+         fFoldernameSim("MUONLoaderSim"),
          fEventnumber(-1),
          fTrack(-1),
          fSCathode(-1),
@@ -98,6 +104,9 @@ AliMUONDataInterface::~AliMUONDataInterface()
 
        if (fRunloader != NULL && fCreatedRunLoader)
                delete fRunloader;
+
+       if (fRunloaderSim != NULL && fCreatedRunLoaderSim)
+               delete fRunloaderSim;
 }
 
 void AliMUONDataInterface::Reset()
@@ -107,8 +116,11 @@ void AliMUONDataInterface::Reset()
 /// Specificaly AliRunLoader is not deleted.
 
        fCreatedRunLoader = kFALSE;
+       fCreatedRunLoaderSim = kFALSE;
        fRunloader = NULL;
-       fMuonloader = NULL;
+       fRunloaderSim = NULL;
+       fRecLoader = NULL;
+       fSimLoader = NULL;
        fEventnumber = -1;
        fTrack = -1;
        fSCathode = -1;
@@ -132,10 +144,10 @@ Bool_t AliMUONDataInterface::UseCurrentRunLoader()
        if (fRunloader == NULL) return kFALSE;
        // Fetch the current file name, folder name and event number.
        fFilename = fRunloader->GetFileName();
-       fFoldername = fRunloader->GetEventFolder()->GetName();
+        // fFoldername = fRunloader->GetEventFolder()->GetName();
        fEventnumber = fRunloader->GetEventNumber();
 
-       if ( ! FetchMuonLoader(fFilename.Data(), fFoldername.Data()) )
+       if ( ! FetchMuonLoader(fFilename.Data()) )
        {
                Reset();
                return kFALSE;
@@ -145,52 +157,75 @@ Bool_t AliMUONDataInterface::UseCurrentRunLoader()
 }
 
 
-Bool_t AliMUONDataInterface::FetchMuonLoader(TString filename, TString foldername)
+Bool_t AliMUONDataInterface::FetchMuonLoader(TString filename)
 {
 /// Fetches the muon loader for the given filename/foldername
 
-       fMuonloader = fRunloader->GetLoader("MUONLoader");
-       if (fMuonloader == NULL)
+
+       fRecLoader = fRunloader->GetLoader("MUONLoader");
+       if (fRecLoader == NULL)
+       {
+               AliError(Form("Could not find the MUON loader in file: %s and folder: %s", 
+                       (const char*)filename, fFoldername.Data() ));
+               return kFALSE;
+       }
+       
+       // Need to connect the muon loader to the AliMUONData object,
+       // else class to fRecData will return NULL.
+       fRecData.SetLoader(fRecLoader);
+
+       fSimLoader = fRunloaderSim->GetLoader("MUONLoader");
+       if (fSimLoader == NULL)
        {
                AliError(Form("Could not find the MUON loader in file: %s and folder: %s", 
-                       (const char*)filename, (const char*)foldername));
+                       (const char*)filename, fFoldernameSim.Data()));
                return kFALSE;
        }
        
        // Need to connect the muon loader to the AliMUONData object,
-       // else class to fData will return NULL.
-       fData.SetLoader(fMuonloader);
+       // else class to fSimData will return NULL.
+       fSimData.SetLoader(fSimLoader);
        return kTRUE;
 }
 
 
-Bool_t AliMUONDataInterface::LoadLoaders(TString filename, TString foldername)
+Bool_t AliMUONDataInterface::LoadLoaders(TString filename)
 {
 /// Load the run and muon loaders from the specified file and folder.
 /// kTRUE is returned on success and kFALSE on failure.
 
-       fRunloader = AliRunLoader::Open(filename, foldername, "READ");
+       fRunloader = AliRunLoader::Open(filename, "MUONFolder", "READ");
        if (fRunloader == NULL)
        {
-               AliError(Form("Could not find or load the run loader for the file: %s and folder: %s", 
-                       (const char*)filename, (const char*)foldername));
+               AliError(Form("Could not find or load the run loader for the file: %s and folder: MUONFolder", 
+                       (const char*)filename));
                return kFALSE;
        }
        fCreatedRunLoader = kTRUE;
-       if ( ! FetchMuonLoader(filename, foldername) )
+
+       fRunloaderSim = AliRunLoader::Open(filename, "MUONFolderSim", "READ");
+       if (fRunloaderSim == NULL)
+       {
+               AliError(Form("Could not find or load the run loader for the file: %s and folder: MUONFolderSim", 
+                       (const char*)filename));
+               return kFALSE;
+       }
+       fCreatedRunLoaderSim = kTRUE;
+
+       if ( ! FetchMuonLoader(filename) )
        {
                fRunloader = NULL;
+               fRunloaderSim = NULL;
                return kFALSE;
        }
        
        fFilename = filename;
-       fFoldername = foldername;
        fEventnumber = -1;  // Reset the event number to force the event to be loaded.
        return kTRUE;
 }
 
 
-Bool_t AliMUONDataInterface::FetchLoaders(TString filename, TString foldername)
+Bool_t AliMUONDataInterface::FetchLoaders(TString filename)
 {
 /// Fetch the run loader and muon loader objects from memory if they already exist,
 /// or from memory if they do not. 
@@ -202,12 +237,12 @@ Bool_t AliMUONDataInterface::FetchLoaders(TString filename, TString foldername)
        {
                fRunloader = AliRunLoader::GetRunLoader();
                if (fRunloader == NULL)
-                       return LoadLoaders(filename, foldername);
+                       return LoadLoaders(filename);
                else
                {
-                       if (fMuonloader == NULL)
+                       if (fRecLoader == NULL)
                        {
-                               if ( ! FetchMuonLoader(filename, foldername) )
+                               if ( ! FetchMuonLoader(filename) )
                                {
                                        fRunloader = NULL;
                                        return kFALSE;
@@ -217,15 +252,15 @@ Bool_t AliMUONDataInterface::FetchLoaders(TString filename, TString foldername)
                
                // Fetch the current file and folder names.
                fFilename = fRunloader->GetFileName();
-               fFoldername = fRunloader->GetEventFolder()->GetName();
+               // fFoldername = fRunloader->GetEventFolder()->GetName();
        }
 
        // If filename or foldername are not the same as the ones currently selected then
        // reopen the file.
-       if ( filename.CompareTo(fFilename) != 0 || foldername.CompareTo(fFoldername) != 0 )
+       if ( filename.CompareTo(fFilename) != 0 )
        {
                delete fRunloader;
-               return LoadLoaders(filename, foldername);
+               return LoadLoaders(filename);
        }
        return kTRUE;
 }
@@ -273,10 +308,10 @@ Bool_t AliMUONDataInterface::FetchTreeK()
 {
 /// Fetch the Kine tree from the current run loader.
 
-       if (fRunloader->TreeK() == NULL)
+       if (fRunloaderSim->TreeK() == NULL)
        {
-               fRunloader->LoadKinematics("READ");
-               if (fRunloader->TreeK() == NULL)
+               fRunloaderSim->LoadKinematics("READ");
+               if (fRunloaderSim->TreeK() == NULL)
                {
                        AliError("Could not load TreeK.");
                        return kFALSE;
@@ -291,20 +326,20 @@ Bool_t AliMUONDataInterface::FetchTreeH()
 /// Fetch the Hits tree from the current muon loader.
 /// Set all the required addresses etc...
 
-       if (fMuonloader->TreeH() == NULL)
+       if (fSimLoader->TreeH() == NULL)
        {
-               fMuonloader->LoadHits("READ");
-               if (fMuonloader->TreeH() == NULL)
+               fSimLoader->LoadHits("READ");
+               if (fSimLoader->TreeH() == NULL)
                {
                        AliError("Could not load TreeH.");
                        return kFALSE;
                }
-               fData.SetTreeAddress("H");
+               fSimData.SetTreeAddress("H");
                fHitAddressSet = kTRUE;
        }
        else if ( ! fHitAddressSet )
        {
-               fData.SetTreeAddress("H");
+               fSimData.SetTreeAddress("H");
                fHitAddressSet = kTRUE;
        }
        return kTRUE;
@@ -316,20 +351,20 @@ Bool_t AliMUONDataInterface::FetchTreeS()
 /// Fetch the S-Digits tree from the current muon loader.
 /// Set all the required addresses etc...
 
-       if (fMuonloader->TreeS() == NULL)
+       if (fSimLoader->TreeS() == NULL)
        {
-               fMuonloader->LoadSDigits("READ");
-               if (fMuonloader->TreeS() == NULL)
+               fSimLoader->LoadSDigits("READ");
+               if (fSimLoader->TreeS() == NULL)
                {
                        AliError("Could not load TreeS.");
                        return kFALSE;
                }
-               fData.SetTreeAddress("S");
+               fSimData.SetTreeAddress("S");
                fSDigitAddressSet = kTRUE;
        }
        else if ( ! fSDigitAddressSet )
        {
-               fData.SetTreeAddress("S");
+               fSimData.SetTreeAddress("S");
                fSDigitAddressSet = kTRUE;
        }
        return kTRUE;
@@ -341,20 +376,20 @@ Bool_t AliMUONDataInterface::FetchTreeD()
 /// Fetch the digits tree from the current muon loader.
 /// Set all the required addresses etc...
 
-       if (fMuonloader->TreeD() == NULL)
+       if (fSimLoader->TreeD() == NULL)
        {
-               fMuonloader->LoadDigits("READ");
-               if (fMuonloader->TreeD() == NULL)
+               fSimLoader->LoadDigits("READ");
+               if (fSimLoader->TreeD() == NULL)
                {
                        AliError("Could not load TreeD.");
                        return kFALSE;
                }
-               fData.SetTreeAddress("D");
+               fSimData.SetTreeAddress("D");
                fDigitAddressSet = kTRUE;
        }
        else if ( ! fDigitAddressSet )
        {
-               fData.SetTreeAddress("D");
+               fSimData.SetTreeAddress("D");
                fDigitAddressSet = kTRUE;
        }
        return kTRUE;
@@ -366,10 +401,10 @@ Bool_t AliMUONDataInterface::FetchTreeR()
 /// Fetch the reconstructed objects tree from the current muon loader.
 /// Note: The addresses must still be set. 
   
-  if (fMuonloader->TreeR() == NULL)
+  if (fRecLoader->TreeR() == NULL)
     {
-      fMuonloader->LoadRecPoints("READ");
-      if (fMuonloader->TreeR() == NULL)
+      fRecLoader->LoadRecPoints("READ");
+      if (fRecLoader->TreeR() == NULL)
        {
          AliError("Could not load TreeR.");
          return kFALSE;
@@ -387,10 +422,10 @@ Bool_t AliMUONDataInterface::FetchTreeT()
 {
 /// fetch the reconstructed tracks tree from the current muon loader
 /// note : the addresses must still be set.
-  if (fMuonloader->TreeT() == NULL)
+  if (fRecLoader->TreeT() == NULL)
     {
-      fMuonloader->LoadTracks("READ");
-      if (fMuonloader->TreeT() == NULL)
+      fRecLoader->LoadTracks("READ");
+      if (fRecLoader->TreeT() == NULL)
        {
          AliError("Could not load TreeT.");
          return kFALSE;
@@ -407,7 +442,7 @@ Int_t AliMUONDataInterface::NumberOfEvents(TString filename, TString foldername)
 {
 /// Returns the number of events in the specified file/folder, and -1 on error.
 
-       if ( ! FetchLoaders(filename, foldername) ) return -1;
+       if ( ! FetchLoaders(filename) ) return -1;
        return fRunloader->GetNumberOfEvents();
 }
 
@@ -416,7 +451,7 @@ Int_t AliMUONDataInterface::NumberOfParticles(TString filename, TString folderna
 {
 /// Returns the number of events in the specified file/folder, and -1 on error.
 
-       if ( ! FetchLoaders(filename, foldername) ) return -1;
+       if ( ! FetchLoaders(filename) ) return -1;
        if ( ! FetchEvent(event) ) return -1;
        if ( ! FetchTreeK() ) return -1;
        return (Int_t) fRunloader->TreeK()->GetEntriesFast();
@@ -430,7 +465,7 @@ TParticle* AliMUONDataInterface::Particle(
 /// Returns the specified particle in the given file, folder and event.
 /// NULL is returned on error.
 
-       if ( ! FetchLoaders(filename, foldername) ) return NULL;
+       if ( ! FetchLoaders(filename) ) return NULL;
        if ( ! FetchEvent(event) ) return NULL;
        if ( ! FetchTreeK() ) return NULL;
        
@@ -447,10 +482,10 @@ Int_t AliMUONDataInterface::NumberOfTracks(TString filename, TString foldername,
 /// Returns the number of tracks in the specified file/folder and event.
 /// -1 is returned on error.
 
-       if ( ! FetchLoaders(filename, foldername) ) return -1;
+       if ( ! FetchLoaders(filename) ) return -1;
        if ( ! FetchEvent(event) ) return -1;
        if ( ! FetchTreeH() ) return -1;
-       return fData.GetNtracks();
+       return fSimData.GetNtracks();
 }
 
 
@@ -461,17 +496,17 @@ Int_t AliMUONDataInterface::NumberOfHits(
 /// Returns the number of hits in the specified file/folder, event and track.
 /// -1 is returned on error.
 
-       if ( ! FetchLoaders(filename, foldername) ) return -1;
+       if ( ! FetchLoaders(filename) ) return -1;
        if ( ! FetchEvent(event) ) return -1;
        if ( ! FetchTreeH() ) return -1;
 
        if (fTrack < 0 || fTrack != track)
        {
-               fData.ResetHits();
-               fData.GetTrack(track);
+               fSimData.ResetHits();
+               fSimData.GetTrack(track);
                fTrack = track;
        }
-       return fData.Hits()->GetEntriesFast();
+       return fSimData.Hits()->GetEntriesFast();
 }
 
 
@@ -483,17 +518,17 @@ AliMUONHit* AliMUONDataInterface::Hit(
 /// Returns the specified hit in the given file, folder, event and track.
 /// NULL is returned on error.
 
-       if ( ! FetchLoaders(filename, foldername) ) return NULL;
+       if ( ! FetchLoaders(filename) ) return NULL;
        if ( ! FetchEvent(event) ) return NULL;
        if ( ! FetchTreeH() ) return NULL;
 
        if (fTrack < 0 || fTrack != track)
        {
-               fData.ResetHits();
-               fData.GetTrack(track);
+               fSimData.ResetHits();
+               fSimData.GetTrack(track);
                fTrack = track;
        }
-       return static_cast<AliMUONHit*>( fData.Hits()->At(hit) );
+       return static_cast<AliMUONHit*>( fSimData.Hits()->At(hit) );
 }
 
 
@@ -505,20 +540,20 @@ Int_t AliMUONDataInterface::NumberOfSDigits(
 /// Returns the number of s-digits in the given file, folder, event,
 /// chamber and cathode. -1 is returned on error.
 
-       Assert( 0 <= chamber && chamber <= 13 );
-       Assert( 0 <= cathode && cathode <= 1 );
+       assert( 0 <= chamber && chamber <= 13 );
+       assert( 0 <= cathode && cathode <= 1 );
        
-       if ( ! FetchLoaders(filename, foldername) ) return -1;
+       if ( ! FetchLoaders(filename) ) return -1;
        if ( ! FetchEvent(event) ) return -1;
        if ( ! FetchTreeS() ) return -1;
 
        if ( fSCathode != cathode )
        {
-               fData.ResetSDigits();
-               fData.GetSDigits();
+               fSimData.ResetSDigits();
+               fSimData.GetSDigits();
                fSCathode = cathode;
        }
-       return fData.SDigits(chamber)->GetEntriesFast();
+       return fSimData.SDigits(chamber)->GetEntriesFast();
 }
 
 
@@ -530,20 +565,20 @@ AliMUONDigit* AliMUONDataInterface::SDigit(
 /// Returns the specified s-digit in the given file, folder, event,
 /// chamber and cathode. NULL is returned on error.
 
-       Assert( 0 <= chamber && chamber <= 13 );
-       Assert( 0 <= cathode && cathode <= 1 );
+       assert( 0 <= chamber && chamber <= 13 );
+       assert( 0 <= cathode && cathode <= 1 );
        
-       if ( ! FetchLoaders(filename, foldername) ) return NULL;
+       if ( ! FetchLoaders(filename) ) return NULL;
        if ( ! FetchEvent(event) ) return NULL;
        if ( ! FetchTreeS() ) return NULL;
 
        if ( fSCathode != cathode )
        {
-               fData.ResetSDigits();
-               fData.GetSDigits();
+               fSimData.ResetSDigits();
+               fSimData.GetSDigits();
                fSCathode = cathode;
        }
-       return static_cast<AliMUONDigit*>( fData.SDigits(chamber)->At(sdigit) );
+       return static_cast<AliMUONDigit*>( fSimData.SDigits(chamber)->At(sdigit) );
 }
 
 
@@ -554,20 +589,20 @@ Int_t AliMUONDataInterface::NumberOfDigits(
 {
 /// Returns the number of digits in the given file, folder, event,
 /// chamber and cathode. -1 is returned on error.
-       Assert( 0 <= chamber && chamber <= 13 );
-       Assert( 0 <= cathode && cathode <= 1 );
+       assert( 0 <= chamber && chamber <= 13 );
+       assert( 0 <= cathode && cathode <= 1 );
        
-       if ( ! FetchLoaders(filename, foldername) ) return -1;
+       if ( ! FetchLoaders(filename) ) return -1;
        if ( ! FetchEvent(event) ) return -1;
        if ( ! FetchTreeD() ) return -1;
 
        if ( fCathode != cathode )
        {
-               fData.ResetDigits();
-               fData.GetDigits();
+               fSimData.ResetDigits();
+               fSimData.GetDigits();
                fCathode = cathode;
        }
-       return fData.Digits(chamber)->GetEntriesFast();
+       return fSimData.Digits(chamber)->GetEntriesFast();
 }
 
 
@@ -579,20 +614,20 @@ AliMUONDigit* AliMUONDataInterface::Digit(
 /// Returns the specified digit in the given file, folder, event,
 /// chamber and cathode. NULL is returned on error.
 
-       Assert( 0 <= chamber && chamber <= 13 );
-       Assert( 0 <= cathode && cathode <= 1 );
+       assert( 0 <= chamber && chamber <= 13 );
+       assert( 0 <= cathode && cathode <= 1 );
        
-       if ( ! FetchLoaders(filename, foldername) ) return NULL;
+       if ( ! FetchLoaders(filename) ) return NULL;
        if ( ! FetchEvent(event) ) return NULL;
        if ( ! FetchTreeD() ) return NULL;
 
        if ( fCathode != cathode )
        {
-               fData.ResetDigits();
-               fData.GetDigits();
+               fSimData.ResetDigits();
+               fSimData.GetDigits();
                fCathode = cathode;
        }
-       return static_cast<AliMUONDigit*>( fData.Digits(chamber)->At(digit) );
+       return static_cast<AliMUONDigit*>( fSimData.Digits(chamber)->At(digit) );
 }
 
 
@@ -603,19 +638,19 @@ Int_t AliMUONDataInterface::NumberOfRawClusters(
 /// Returns the number of raw clusters in the specified file, folder, event and chamber.
 /// -1 is returned or error.
 
-       Assert( 0 <= chamber && chamber <= 13 );
-       if ( ! FetchLoaders(filename, foldername) ) return -1;
+       assert( 0 <= chamber && chamber <= 13 );
+       if ( ! FetchLoaders(filename) ) return -1;
        if ( ! FetchEvent(event) ) return -1;
        if ( ! FetchTreeR() ) return -1;
        if ( ! fClusterAddressSet )
        {
                // If the raw cluster address in TreeR is not set yet then set it now.
-               fData.SetTreeAddress("RC");
-               fData.ResetRawClusters();
-               fData.GetRawClusters();
+               fRecData.SetTreeAddress("RC");
+               fRecData.ResetRawClusters();
+               fRecData.GetRawClusters();
                fClusterAddressSet = kTRUE;
        }
-       return fData.RawClusters(chamber)->GetEntriesFast();
+       return fRecData.RawClusters(chamber)->GetEntriesFast();
 }
 
 
@@ -627,19 +662,19 @@ AliMUONRawCluster* AliMUONDataInterface::RawCluster(
 /// Fetch the specified raw cluster from the given file, folder, event and chamber number.
 /// NULL is returned on error.
 
-       Assert( 0 <= chamber && chamber <= 13 );
-       if ( ! FetchLoaders(filename, foldername) ) return NULL;
+       assert( 0 <= chamber && chamber <= 13 );
+       if ( ! FetchLoaders(filename) ) return NULL;
        if ( ! FetchEvent(event) ) return NULL;
        if ( ! FetchTreeR() ) return NULL;
        if ( ! fClusterAddressSet )
        {
                // If the raw cluster address in TreeR is not set yet then set it now.
-               fData.SetTreeAddress("RC");
-               fData.ResetRawClusters();
-               fData.GetRawClusters();
+               fRecData.SetTreeAddress("RC");
+               fRecData.ResetRawClusters();
+               fRecData.GetRawClusters();
                fClusterAddressSet = kTRUE;
        }
-       return static_cast<AliMUONRawCluster*>( fData.RawClusters(chamber)->At(cluster) );
+       return static_cast<AliMUONRawCluster*>( fRecData.RawClusters(chamber)->At(cluster) );
 }
 
 
@@ -648,18 +683,18 @@ Int_t AliMUONDataInterface::NumberOfLocalTriggers(TString filename, TString fold
 /// Return the number of local trigger objects in the specified file, folder and
 /// event number. -1 is returned on error.
 
-       if ( ! FetchLoaders(filename, foldername) ) return -1;
+       if ( ! FetchLoaders(filename) ) return -1;
        if ( ! FetchEvent(event) ) return -1;
        if ( ! FetchTreeD() ) return -1;
        if ( ! fTriggerAddressSet )
        {
                // If the local trigger address in TreeR is not set yet then set it now.
-               fData.SetTreeAddress("GLT");
-               fData.ResetTrigger();
-               fData.GetTriggerD();
+               fRecData.SetTreeAddress("GLT");
+               fRecData.ResetTrigger();
+               fRecData.GetTriggerD();
                fTriggerAddressSet = kTRUE;
        }
-       return fData.LocalTrigger()->GetEntriesFast();
+       return fRecData.LocalTrigger()->GetEntriesFast();
 }
 
 
@@ -670,18 +705,18 @@ AliMUONLocalTrigger* AliMUONDataInterface::LocalTrigger(
 /// Fetch the specified local trigger object from the given file, folder and event number.
 /// NULL is returned on error.
 
-       if ( ! FetchLoaders(filename, foldername) ) return NULL;
+       if ( ! FetchLoaders(filename) ) return NULL;
        if ( ! FetchEvent(event) ) return NULL;
        if ( ! FetchTreeD() ) return NULL;
        if ( ! fTriggerAddressSet )
        {
                // If the local trigger address in TreeR is not set yet then set it now.
-               fData.SetTreeAddress("GLT");
-               fData.ResetTrigger();
-               fData.GetTriggerD();
+               fRecData.SetTreeAddress("GLT");
+               fRecData.ResetTrigger();
+               fRecData.GetTriggerD();
                fTriggerAddressSet = kTRUE;
        }
-       return static_cast<AliMUONLocalTrigger*>( fData.LocalTrigger()->At(trigger) );
+       return static_cast<AliMUONLocalTrigger*>( fRecData.LocalTrigger()->At(trigger) );
 }
 
 Bool_t AliMUONDataInterface::SetFile(TString filename, TString foldername)
@@ -689,7 +724,7 @@ Bool_t AliMUONDataInterface::SetFile(TString filename, TString foldername)
 /// Set the current file and folder from which to fetch data.
 /// kTRUE is returned if the run and muon loaders were found, else kFALSE. 
 
-       return FetchLoaders(filename, foldername);
+       return FetchLoaders(filename);
 }
 
 
@@ -777,7 +812,7 @@ Int_t AliMUONDataInterface::NumberOfTracks()
                return -1;
        }
        if ( ! FetchTreeH() ) return -1;
-       return fData.GetNtracks();
+       return fSimData.GetNtracks();
 }
 
 
@@ -799,11 +834,11 @@ Int_t AliMUONDataInterface::NumberOfHits(Int_t track)
        if ( ! FetchTreeH() ) return -1;
        if (fTrack < 0 || fTrack != track)
        {
-               fData.ResetHits();
-               fData.GetTrack(track);
+               fSimData.ResetHits();
+               fSimData.GetTrack(track);
                fTrack = track;
        }
-       return fData.Hits()->GetEntriesFast();
+       return fSimData.Hits()->GetEntriesFast();
 }
 
 
@@ -825,11 +860,11 @@ AliMUONHit* AliMUONDataInterface::Hit(Int_t track, Int_t hit)
        if ( ! FetchTreeH() ) return NULL;
        if (fTrack < 0 || fTrack != track)
        {
-               fData.ResetHits();
-               fData.GetTrack(track);
+               fSimData.ResetHits();
+               fSimData.GetTrack(track);
                fTrack = track;
        }
-       return static_cast<AliMUONHit*>( fData.Hits()->At(hit) );
+       return static_cast<AliMUONHit*>( fSimData.Hits()->At(hit) );
 }
 
 
@@ -838,8 +873,8 @@ Int_t AliMUONDataInterface::NumberOfSDigits(Int_t chamber, Int_t cathode)
 /// Get the number of s-digits on the chamber, cathode in the current event.
 /// -1 is returned on error.
 
-       Assert( 0 <= chamber && chamber <= 13 );
-       Assert( 0 <= cathode && cathode <= 1 );
+       assert( 0 <= chamber && chamber <= 13 );
+       assert( 0 <= cathode && cathode <= 1 );
        
        if (fRunloader == NULL)
        {
@@ -855,11 +890,11 @@ Int_t AliMUONDataInterface::NumberOfSDigits(Int_t chamber, Int_t cathode)
        if ( ! FetchTreeS() ) return -1;
        if ( fSCathode != cathode )
        {
-               fData.ResetSDigits();
-               fData.GetSDigits();
+               fSimData.ResetSDigits();
+               fSimData.GetSDigits();
                fSCathode = cathode;
        }
-       return fData.SDigits(chamber)->GetEntriesFast();
+       return fSimData.SDigits(chamber)->GetEntriesFast();
 }
 
 
@@ -868,8 +903,8 @@ AliMUONDigit* AliMUONDataInterface::SDigit(Int_t chamber, Int_t cathode, Int_t s
 /// Fetch the specified s-digits on the chamber, cathode from the current event.
 /// NULL is returned on error.
 
-       Assert( 0 <= chamber && chamber <= 13 );
-       Assert( 0 <= cathode && cathode <= 1 );
+       assert( 0 <= chamber && chamber <= 13 );
+       assert( 0 <= cathode && cathode <= 1 );
        
        if (fRunloader == NULL)
        {
@@ -885,11 +920,11 @@ AliMUONDigit* AliMUONDataInterface::SDigit(Int_t chamber, Int_t cathode, Int_t s
        if ( ! FetchTreeS() ) return NULL;
        if ( fSCathode != cathode )
        {
-               fData.ResetSDigits();
-               fData.GetSDigits();
+               fSimData.ResetSDigits();
+               fSimData.GetSDigits();
                fSCathode = cathode;
        }
-       return static_cast<AliMUONDigit*>( fData.SDigits(chamber)->At(sdigit) );
+       return static_cast<AliMUONDigit*>( fSimData.SDigits(chamber)->At(sdigit) );
 }
 
 
@@ -898,8 +933,8 @@ Int_t AliMUONDataInterface::NumberOfDigits(Int_t chamber, Int_t cathode)
 /// Get the number of digits on the chamber, cathode in the current event.
 /// -1 is returned on error.
 
-       Assert( 0 <= chamber && chamber <= 13 );
-       Assert( 0 <= cathode && cathode <= 1 );
+       assert( 0 <= chamber && chamber <= 13 );
+       assert( 0 <= cathode && cathode <= 1 );
        
        if (fRunloader == NULL)
        {
@@ -915,11 +950,11 @@ Int_t AliMUONDataInterface::NumberOfDigits(Int_t chamber, Int_t cathode)
        if ( ! FetchTreeD() ) return -1;
        if ( fCathode != cathode )
        {
-               fData.ResetDigits();
-               fData.GetDigits();
+               fSimData.ResetDigits();
+               fSimData.GetDigits();
                fCathode = cathode;
        }
-       return fData.Digits(chamber)->GetEntriesFast();
+       return fSimData.Digits(chamber)->GetEntriesFast();
 }
 
 
@@ -928,8 +963,8 @@ AliMUONDigit* AliMUONDataInterface::Digit(Int_t chamber, Int_t cathode, Int_t di
 /// Fetch the specified digits on the chamber, cathode from the current event.
 /// NULL is returned on error.
 
-       Assert( 0 <= chamber && chamber <= 13 );
-       Assert( 0 <= cathode && cathode <= 1 );
+       assert( 0 <= chamber && chamber <= 13 );
+       assert( 0 <= cathode && cathode <= 1 );
        
        if (fRunloader == NULL)
        {
@@ -945,11 +980,11 @@ AliMUONDigit* AliMUONDataInterface::Digit(Int_t chamber, Int_t cathode, Int_t di
        if ( ! FetchTreeD() ) return NULL;
        if ( fCathode != cathode )
        {
-               fData.ResetDigits();
-               fData.GetDigits();
+               fSimData.ResetDigits();
+               fSimData.GetDigits();
                fCathode = cathode;
        }
-       return static_cast<AliMUONDigit*>( fData.Digits(chamber)->At(digit) );
+       return static_cast<AliMUONDigit*>( fSimData.Digits(chamber)->At(digit) );
 }
 
 
@@ -958,7 +993,7 @@ Int_t AliMUONDataInterface::NumberOfRawClusters(Int_t chamber)
 /// Get the number of raw clusters on the given chamber in the current event.
 /// -1 is returned on error.
 
-       Assert( 0 <= chamber && chamber <= 13 );
+       assert( 0 <= chamber && chamber <= 13 );
 
        if (fRunloader == NULL)
        {
@@ -974,12 +1009,12 @@ Int_t AliMUONDataInterface::NumberOfRawClusters(Int_t chamber)
        if ( ! FetchTreeR() ) return -1;
        if ( ! fClusterAddressSet )
        {
-               fData.SetTreeAddress("RC");
-               fData.ResetRawClusters();
-               fData.GetRawClusters();
+               fRecData.SetTreeAddress("RC");
+               fRecData.ResetRawClusters();
+               fRecData.GetRawClusters();
                fClusterAddressSet = kTRUE;
        }
-       return fData.RawClusters(chamber)->GetEntriesFast();
+       return fRecData.RawClusters(chamber)->GetEntriesFast();
 }
 
 
@@ -988,7 +1023,7 @@ AliMUONRawCluster* AliMUONDataInterface::RawCluster(Int_t chamber, Int_t cluster
 /// Fetch the specified raw cluster on the given chamber from the current event.
 /// NULL is returned on error.
 
-       Assert( 0 <= chamber && chamber <= 13 );
+       assert( 0 <= chamber && chamber <= 13 );
 
        if (fRunloader == NULL)
        {
@@ -1004,12 +1039,12 @@ AliMUONRawCluster* AliMUONDataInterface::RawCluster(Int_t chamber, Int_t cluster
        if ( ! FetchTreeR() ) return NULL;
        if ( ! fClusterAddressSet )
        {
-               fData.SetTreeAddress("RC");
-               fData.ResetRawClusters();
-               fData.GetRawClusters();
+               fRecData.SetTreeAddress("RC");
+               fRecData.ResetRawClusters();
+               fRecData.GetRawClusters();
                fClusterAddressSet = kTRUE;
        }
-       return static_cast<AliMUONRawCluster*>( fData.RawClusters(chamber)->At(cluster) );
+       return static_cast<AliMUONRawCluster*>( fRecData.RawClusters(chamber)->At(cluster) );
 }
 
 
@@ -1032,12 +1067,12 @@ Int_t AliMUONDataInterface::NumberOfLocalTriggers()
        if ( ! FetchTreeD() ) return -1;
        if ( ! fTriggerAddressSet )
        {
-               fData.SetTreeAddress("GLT");
-               fData.ResetTrigger();
-               fData.GetTriggerD();
+               fRecData.SetTreeAddress("GLT");
+               fRecData.ResetTrigger();
+               fRecData.GetTriggerD();
                fTriggerAddressSet = kTRUE;
        }
-       return fData.LocalTrigger()->GetEntriesFast();
+       return fRecData.LocalTrigger()->GetEntriesFast();
 }
 
 
@@ -1060,12 +1095,12 @@ AliMUONLocalTrigger* AliMUONDataInterface::LocalTrigger(Int_t trigger)
        if ( ! FetchTreeD() ) return NULL;
        if ( ! fTriggerAddressSet )
        {
-               fData.SetTreeAddress("GLT");
-               fData.ResetTrigger();
-               fData.GetTriggerD();
+               fRecData.SetTreeAddress("GLT");
+               fRecData.ResetTrigger();
+               fRecData.GetTriggerD();
                fTriggerAddressSet = kTRUE;
        }
-       return static_cast<AliMUONLocalTrigger*>( fData.LocalTrigger()->At(trigger) );
+       return static_cast<AliMUONLocalTrigger*>( fRecData.LocalTrigger()->At(trigger) );
 }
 
 Int_t AliMUONDataInterface::NumberOfGlobalTriggers()
@@ -1087,12 +1122,12 @@ Int_t AliMUONDataInterface::NumberOfGlobalTriggers()
   if ( ! FetchTreeD() ) return -1;
   if ( ! fTriggerAddressSet )
     {
-      fData.SetTreeAddress("GLT");
-      fData.ResetTrigger();
-      fData.GetTriggerD();
+      fRecData.SetTreeAddress("GLT");
+      fRecData.ResetTrigger();
+      fRecData.GetTriggerD();
       fTriggerAddressSet = kTRUE;
     }
-  return fData.GlobalTrigger()->GetEntriesFast();
+  return fRecData.GlobalTrigger()->GetEntriesFast();
 }
 
 AliMUONGlobalTrigger* AliMUONDataInterface::GlobalTrigger(Int_t trigger)
@@ -1114,12 +1149,12 @@ AliMUONGlobalTrigger* AliMUONDataInterface::GlobalTrigger(Int_t trigger)
   if ( ! FetchTreeD() ) return NULL;
   if ( ! fTriggerAddressSet )
     {
-      fData.SetTreeAddress("GLT");
-      fData.ResetTrigger();
-      fData.GetTriggerD();
+      fRecData.SetTreeAddress("GLT");
+      fRecData.ResetTrigger();
+      fRecData.GetTriggerD();
       fTriggerAddressSet = kTRUE;
     }
-  return static_cast<AliMUONGlobalTrigger*>( fData.GlobalTrigger()->At(trigger) );
+  return static_cast<AliMUONGlobalTrigger*>( fRecData.GlobalTrigger()->At(trigger) );
 }
 
 Int_t AliMUONDataInterface::NumberOfRecTracks()
@@ -1141,12 +1176,12 @@ Int_t AliMUONDataInterface::NumberOfRecTracks()
   if ( ! FetchTreeT() ) return -1;
   if ( ! fRecTracksAddressSet )
     {
-      fData.SetTreeAddress("RT");
-      fData.ResetRecTracks();
-      fData.GetRecTracks();
+      fRecData.SetTreeAddress("RT");
+      fRecData.ResetRecTracks();
+      fRecData.GetRecTracks();
       fRecTracksAddressSet = kTRUE;
     }
-  return fData.RecTracks()->GetEntriesFast();
+  return fRecData.RecTracks()->GetEntriesFast();
 }
 
 AliMUONTrack* AliMUONDataInterface::RecTrack(Int_t rectrack)
@@ -1168,11 +1203,11 @@ AliMUONTrack* AliMUONDataInterface::RecTrack(Int_t rectrack)
   if ( ! FetchTreeT() ) return NULL;
   if ( ! fRecTracksAddressSet )
     {
-      fData.SetTreeAddress("RT");
-      fData.ResetRecTracks();
-      fData.GetRecTracks();
+      fRecData.SetTreeAddress("RT");
+      fRecData.ResetRecTracks();
+      fRecData.GetRecTracks();
       fRecTracksAddressSet = kTRUE;
     }
-  return static_cast<AliMUONTrack*>( fData.RecTracks()->At(rectrack) );
-  // return (AliMUONTrack*)(fData.RecTracks()->At(rectrack));
+  return static_cast<AliMUONTrack*>( fRecData.RecTracks()->At(rectrack) );
+  // return (AliMUONTrack*)(fRecData.RecTracks()->At(rectrack));
 }