+Bool_t AliMUONDataInterface::UseCurrentRunLoader()
+{
+// Tries to fetch the current runloader with AliRunLoader::GetRunLoader. If nothing is
+// currently loaded then kFALSE is returned and AliMUONDataInterface is reset.
+
+ Reset();
+ fRunloader = AliRunLoader::GetRunLoader();
+ if (fRunloader == NULL) return kFALSE;
+ // Fetch the current file name, folder name and event number.
+ fFilename = fRunloader->GetFileName();
+ fFoldername = fRunloader->GetEventFolder()->GetName();
+ fEventnumber = fRunloader->GetEventNumber();
+
+ if ( ! FetchMuonLoader(fFilename.Data(), fFoldername.Data()) )
+ {
+ Reset();
+ return kFALSE;
+ }
+
+ return kTRUE;
+}
+
+
+Bool_t AliMUONDataInterface::FetchMuonLoader(TString filename, TString foldername)
+{
+ fMuonloader = fRunloader->GetLoader("MUONLoader");
+ if (fMuonloader == NULL)
+ {
+ AliError(Form("Could not find the MUON loader in file: %s and folder: %s",
+ (const char*)filename, (const char*)foldername));
+ return kFALSE;
+ }
+
+ // Need to connect the muon loader to the AliMUONData object,
+ // else class to fData will return NULL.
+ fData.SetLoader(fMuonloader);
+ return kTRUE;
+}
+
+