saveViews extended to print trigger classes, displaying of logo fixed. Cleanup of...
[u/mrichter/AliRoot.git] / EVE / EveBase / AliEveEventManager.cxx
index 6c1be1d..8c0d9a3 100644 (file)
@@ -130,52 +130,49 @@ AliEveEventManager* AliEveEventManager::fgMaster  = 0;
 AliEveEventManager* AliEveEventManager::fgCurrent = 0;
 
 AliEveEventManager::AliEveEventManager(const TString& name, Int_t ev) :
-    TEveEventManager(name, ""),
-    fEventId(-1),
-    fRunLoader (0),
-    fESDFile   (0), fESDTree (0), fHLTESDTree(0), fESD (0),
-    fESDfriend (0), fESDfriendExists(kFALSE),
-    fAODFile   (0), fAODTree (0), fAOD (0),
-    fRawReader (0), fEventInfo(),
-    fAutoLoad  (kFALSE),fLoopMarked(kFALSE), fAutoLoadTime (5),      fAutoLoadTimer(0),
-    fIsOpen    (kFALSE), fHasEvent     (kFALSE), fExternalCtrl (kFALSE),
-    fGlobal    (0), fGlobalReplace (kTRUE), fGlobalUpdate (kTRUE),
-    fExecutor    (0), fTransients(0), fTransientLists(0),
-    fPEventSelector(0),
-    fSubManagers (0),
-    fAutoLoadTimerRunning(kFALSE),
-    fMutex(new TMutex()),
-    fgSubSock(EVENTS_SERVER_SUB),
-    fCurrentRun(-1),
-    fEventInUse(1),
-    fWritingToEventIndex(0),
-    fIsNewEventAvaliable(false),
-       fOnlineMode(kFALSE),
-    fStorageDown(false),
-    fFinished(false)
+TEveEventManager(name, ""),
+fEventId(-1),
+fRunLoader (0),
+fESDFile   (0), fESDTree (0), fHLTESDTree(0), fESD (0),
+fESDfriend (0), fESDfriendExists(kFALSE),
+fAODFile   (0), fAODTree (0), fAOD (0),
+fRawReader (0), fEventInfo(),
+fAutoLoad  (kFALSE),fLoopMarked(kFALSE), fAutoLoadTime (5),fAutoLoadTimer(0),
+fIsOpen    (kFALSE), fHasEvent(kFALSE),
+fGlobal    (0), fGlobalReplace (kTRUE), fGlobalUpdate (kTRUE),
+fExecutor    (0), fTransients(0), fTransientLists(0),
+fPEventSelector(0),
+fSubManagers (0),
+fAutoLoadTimerRunning(kFALSE),
+fMutex(new TMutex()),
+fgSubSock(EVENTS_SERVER_SUB),
+fCurrentRun(-1),
+fEventInUse(1),
+fWritingToEventIndex(0),
+fIsNewEventAvaliable(false),
+fOnlineMode(kFALSE),
+fStorageDown(false),
+fFinished(false)
 {
     // Constructor with event-id.
-  if (0 == name.CompareTo("online")) {fOnlineMode = kTRUE;}
-  else{fOnlineMode = kFALSE;}  
-  
-  InitInternals();
-
-  Open();
-  if (ev >= 0)
-    {
-        GotoEvent(ev);
-    }
+    if (0 == name.CompareTo("online")) {fOnlineMode = kTRUE;}
+    else{fOnlineMode = kFALSE;}
+    
+    InitInternals();
+    
+    Open();
+    if (ev >= 0){GotoEvent(ev);}
     
 #ifdef ZMQ
     if(fOnlineMode)
-      {
-    cout<<"ZMQ FOUND. Starting subscriber thread."<<endl;
-    fEventListenerThread = new TThread("fEventListenerThread",DispatchEventListener,(void*)this);
-    fEventListenerThread->Run();
-    
-    // fStorageManagerWatcherThread = new TThread("fStorageManagerWatcherThread",DispatchStorageManagerWatcher,(void*)this);
-    //fStorageManagerWatcherThread->Run();
-      }
+    {
+        cout<<"ZMQ FOUND. Starting subscriber thread."<<endl;
+        fEventListenerThread = new TThread("fEventListenerThread",DispatchEventListener,(void*)this);
+        fEventListenerThread->Run();
+        
+        // fStorageManagerWatcherThread = new TThread("fStorageManagerWatcherThread",DispatchStorageManagerWatcher,(void*)this);
+        //fStorageManagerWatcherThread->Run();
+    }
 #else
     cout<<"NO ZMQ FOUND. Online events not avaliable."<<endl;
 #endif
@@ -204,38 +201,38 @@ AliEveEventManager::~AliEveEventManager()
     fAutoLoadTimer->Stop();
     fAutoLoadTimer->Disconnect("Timeout");
     fAutoLoadTimer->Disconnect("AutoLoadNextEvent");
-
+    
     if(fSubManagers){delete fSubManagers;}
     if(fMutex){delete fMutex;}
     if (fIsOpen){Close();}
-
-//    fTransients->DecDenyDestroy();
-//    fTransients->Destroy();
-
-//    fTransientLists->DecDenyDestroy();
-//    fTransientLists->Destroy();
-
+    
+    //    fTransients->DecDenyDestroy();
+    //    fTransients->Destroy();
+    
+    //    fTransientLists->DecDenyDestroy();
+    //    fTransientLists->Destroy();
+    
     //delete fExecutor;
 }
 
 void AliEveEventManager::GetNextEvent()
 {
 #ifdef ZMQ
-  if(!fOnlineMode){return;}
-  cout<<"\n\nGet next event called\n\n"<<endl;
-
+    if(!fOnlineMode){return;}
+    cout<<"\n\nGet next event called\n\n"<<endl;
+    
     AliStorageEventManager *eventManager = AliStorageEventManager::GetEventManagerInstance();
     eventManager->CreateSocket(EVENTS_SERVER_SUB);
     eventManager->CreateSocket(SERVER_COMMUNICATION_REQ);
     
     fCurrentEvent[0]=0;
     fCurrentEvent[1]=0;
-
+    
     AliESDEvent *tmpEvent = NULL;
     
     // get list of marked events:
     struct listRequestStruct list;
-
+    
     list.runNumber[0]=0;
     list.runNumber[1]=999999;
     list.eventNumber[0]=0;
@@ -257,40 +254,34 @@ void AliEveEventManager::GetNextEvent()
     vector<serverListStruct> receivedList = eventManager->GetServerListVector(SERVER_COMMUNICATION_REQ,3000);
     cout<<"EVENT DISPLAY -- received list of marked events"<<endl;
     
-    for(int i=0;i<receivedList.size();i++)
-    {
-        cout<<"ev:"<<receivedList[i].eventNumber<<endl;
-    }
-    
+    for(int i=0;i<receivedList.size();i++){cout<<"ev:"<<receivedList[i].eventNumber<<endl;}
     int iter=0;
-
+    
     cout<<"Starting subscriber's loop"<<endl;
     while(!fFinished)
     {
-      cout<<"not finished"<<endl;
         if(!fLoopMarked || receivedList.size()<=0)
         {
-            cout<<"taking event from reco server"<<endl;
+            cout<<"Waiting for event from online reconstruction...";
             tmpEvent = eventManager->GetEvent(EVENTS_SERVER_SUB,5000);
-           cout<<"after get event"<<endl;
+            cout<<"received.";
             if(!tmpEvent){sleep(1);}
         }
         else
         {
-            cout<<"taking event from storage manager"<<endl;
             if(iter<receivedList.size())
             {
                 cout<<"i:"<<iter<<endl;
                 struct eventStruct mark;
                 mark.runNumber = receivedList[iter].runNumber;
                 mark.eventNumber = receivedList[iter].eventNumber;
-             
+                
                 requestMessage->messageType = REQUEST_GET_EVENT;
                 requestMessage->event = mark;
-                
+                cout<<"Waiting for event from Storage Manager...";
                 eventManager->Send(requestMessage,SERVER_COMMUNICATION_REQ);
                 tmpEvent = eventManager->GetEvent(SERVER_COMMUNICATION_REQ);
-
+                cout<<"received.";
                 iter++;
                 sleep(1);
             }
@@ -299,13 +290,13 @@ void AliEveEventManager::GetNextEvent()
         
         if(tmpEvent)
         {
-            cout<<"tmpEvent:"<<tmpEvent->GetRunNumber()<<endl;
+            cout<<" ("<<tmpEvent->GetRunNumber();
             if(tmpEvent->GetRunNumber()>=0)
             {
                 fMutex->Lock();
                 if(fEventInUse == 0){fWritingToEventIndex = 1;}
                 else if(fEventInUse == 1){fWritingToEventIndex = 0;}
-                cout<<"Received new event:"<<tmpEvent->GetEventNumberInFile()<<endl;
+                cout<<","<<tmpEvent->GetEventNumberInFile()<<")"<<endl;
                 if(fCurrentEvent[fWritingToEventIndex])
                 {
                     delete fCurrentEvent[fWritingToEventIndex];
@@ -317,8 +308,8 @@ void AliEveEventManager::GetNextEvent()
                 fMutex->UnLock();
             }
         }
-        else{cout<<"didn't receive new event"<<endl;}
-     
+        else{cout<<"Did not receive new event."<<endl;}
+        
     }
     delete requestMessage;
     
@@ -328,8 +319,8 @@ void AliEveEventManager::GetNextEvent()
 void AliEveEventManager::CheckStorageStatus()
 {
 #ifdef ZMQ
-  if(!fOnlineMode){return;}
-
+    if(!fOnlineMode){return;}
+    
     AliEveConfigManager *configManager = AliEveConfigManager::GetMaster();
     configManager->ConnectEventManagerSignals();
     
@@ -345,7 +336,7 @@ void AliEveEventManager::CheckStorageStatus()
         {
             StorageManagerOk();
             long response = eventManager->GetLong(CLIENT_COMMUNICATION_REQ);
-           fStorageDown = kFALSE;
+            fStorageDown = kFALSE;
         }
         else
         {
@@ -369,16 +360,11 @@ void AliEveEventManager::InitInternals()
     
     static const TEveException kEH("AliEveEventManager::InitInternals ");
     
-    if (fgCurrent != 0)
-    {
+    if (fgCurrent != 0){
         throw(kEH + "Dependent event-managers should be created via static method AddDependentManager().");
     }
     
-    if (fgMaster == 0)
-    {
-        fgMaster = this;
-    }
-    
+    if (fgMaster == 0){fgMaster = this;}
     fgCurrent = this;
     
     fAutoLoadTimer = new TTimer;
@@ -407,16 +393,14 @@ void AliEveEventManager::SetESDFileName(const TString& esd, EVisibleESDTrees sho
     fgESDvisibleTrees = shown;
     // Set file-name for opening ESD, default "AliESDs.root".
     if (esd.IsNull()) return;
-
+    
     fgESDFileName = esd;
     if (esd.EndsWith(".zip")) fgESDFileName.Form("%s#AliESDs.root",esd.Data());
-
 }
 
 void AliEveEventManager::SetESDfriendFileName(const TString& esdf)
 {
     // Set file-name for opening ESD friend, default "AliESDfriends.root".
-
     if (esdf.IsNull()) return;
     fgESDfriendsFileName = esdf;
     
@@ -426,19 +410,17 @@ void AliEveEventManager::SetESDfriendFileName(const TString& esdf)
 void AliEveEventManager::SetAODFileName(const TString& aod)
 {
     // Set file-name for opening AOD, default "AliAOD.root".
-
     if (aod.IsNull()) return;
     fgAODFileName = aod;
     
     if (aod.EndsWith(".zip")) fgAODFileName.Form("%s#AliAOD.root",aod.Data());
-    
 }
 
 void AliEveEventManager::AddAODfriend(const TString& friendFileName)
 {
     // Add new AOD friend file-name to be attached when opening AOD.
     // This should include '.root', as in 'AliAOD.VertexingHF.root'.
-
+    
     if (fgAODfriends == 0)
     {
         fgAODfriends = new TList;
@@ -467,14 +449,14 @@ void AliEveEventManager::SetCdbUri(const TString& cdb)
 void AliEveEventManager::SetSpecificCdbUri(const TString& path,const TString& value)
 {
     // Set path to specific CDB object, there is no default.
-  if ( ! value.IsNull()) fgSpecificCdbUriValue = value;
-  if ( ! path.IsNull()) fgSpecificCdbUriPath = path;
+    if ( ! value.IsNull()) fgSpecificCdbUriValue = value;
+    if ( ! path.IsNull()) fgSpecificCdbUriPath = path;
 }
 
 void AliEveEventManager::SetGAliceFileName(const TString& galice)
 {
     // Set file-name for opening gAlice, default "galice.root".
-
+    
     if ( galice.IsNull()) return;
     fgGAliceFileName = galice;
     
@@ -489,7 +471,7 @@ void AliEveEventManager::SetFilesPath(const TString& urlPath)
     {
         path = gSystem->WorkingDirectory();
     }
-
+    
     TString sep;
     if(path.EndsWith(".zip")) // if given a path to root_archive.zip
         sep= "#";
@@ -509,7 +491,7 @@ void AliEveEventManager::SetAssertElements(Bool_t assertRunloader, Bool_t assert
 {
     // Set global flags that detrmine which parts of the event-data must
     // be present when the event is opened.
-
+    
     fgAssertRunLoader = assertRunloader;
     fgAssertESD = assertEsd;
     fgAssertAOD = assertAod;
@@ -521,7 +503,7 @@ void AliEveEventManager::SearchRawForCentralReconstruction()
     // Enable searching of raw data in standard location. The path passed to
     // Open() is expected to point to a centrally reconstructed run, e.g.:
     // "alien:///alice/data/2009/LHC09c/000101134/ESDs/pass1/09000101134018.10".
-
+    
     fgRawFromStandardLoc = kTRUE;
 }
 
@@ -534,302 +516,256 @@ void AliEveEventManager::Open()
     // Warning is reported if run-loader or ESD is not found.
     // Global data-members fgAssertRunLoader and fgAssertESD can be set
     // to throw exceptions instead.
-
+    
     static const TEveException kEH("AliEveEventManager::Open ");
-
-    if (fExternalCtrl)
+    if (fIsOpen){throw (kEH + "Event-files already opened.");}
+    
+    Int_t runNo = -1;
+    
+    // Open ESD and ESDfriends
+    if(fOnlineMode)
     {
-        throw (kEH + "Event-loop is under external control.");
+        InitOCDB(runNo);
+        fIsOpen = kTRUE;
+        return;
     }
-    if (fIsOpen)
+    
+    if ((fESDFile = TFile::Open(fgESDFileName)))
     {
-        throw (kEH + "Event-files already opened.");
+        fESD = new AliESDEvent();
+        
+        switch(fgESDvisibleTrees){
+            case AliEveEventManager::kOfflineTree :
+                fESDTree = readESDTree("esdTree", runNo);
+                break;
+            case AliEveEventManager::kHLTTree :
+                fHLTESDTree = readESDTree("HLTesdTree", runNo);
+                break;
+            default:
+                fESDTree    = readESDTree("esdTree", runNo);
+                fHLTESDTree = readESDTree("HLTesdTree", runNo);
+        }
+        
+        if(!fESDTree && !fHLTESDTree){
+            // both ESD trees are == 0
+            delete fESDFile; fESDFile = 0;
+            delete fESD; fESD = 0;
+        }
+        
+        
     }
-
-    Int_t runNo = -1;
-
-    // Open ESD and ESDfriends
-    if(!fOnlineMode)
-      {
-       if ((fESDFile = TFile::Open(fgESDFileName)))
-         {
-           fESD = new AliESDEvent();
-
-           switch(fgESDvisibleTrees){
-           case AliEveEventManager::kOfflineTree :
-             fESDTree = readESDTree("esdTree", runNo);
-             break;
-           case AliEveEventManager::kHLTTree :
-             fHLTESDTree = readESDTree("HLTesdTree", runNo);
-             break;
-           default:
-             fESDTree    = readESDTree("esdTree", runNo);
-             fHLTESDTree = readESDTree("HLTesdTree", runNo);
-           }
-
-           if(!fESDTree && !fHLTESDTree){
-             // both ESD trees are == 0
-             delete fESDFile; fESDFile = 0;
-             delete fESD; fESD = 0;
-           }
-
-
-         }
-       else // esd file not readable
-         {
-           Warning(kEH, "can not read ESD file '%s'.", fgESDFileName.Data());
-         }
-       if (fESDTree == 0 && fHLTESDTree==0)
-         {
-           if (fgAssertESD)
-             {
-               throw (kEH + "ESD not initialized. Its precence was requested.");
-             } else {
-             Warning(kEH, "ESD not initialized.");
-           }
-         }
-
-       // Open AOD and registered friends
-       if ( (fAODFile = TFile::Open(fgAODFileName)) )
-         {
-           fAOD = new AliAODEvent();
-           fAODTree = (TTree*) fAODFile->Get("aodTree");
-           if (fAODTree != 0)
-             {
-               // Check if AODfriends exist and attach them.
-               TIter       friends(fgAODfriends);
-               TObjString *name;
-               while ((name = (TObjString*) friends()) != 0)
-                 {
-                   TString p(Form("%s/%s", fgAODFileName.Data(), name->GetName()));
-                   if (fgAODFileName.EndsWith(".zip")) p.Form("%s#%s",fgAODFileName.Data(),name->GetName());
-                   if (gSystem->AccessPathName(p, kReadPermission) == kFALSE)
-                     {
-                       fAODTree->AddFriend("aodTree", name->GetName());
-                     }
-                 }
-
-               fAOD->ReadFromTree(fAODTree);
-
-               if (fAODTree->GetEntry(0) <= 0)
-                 {
-                   delete fAODFile; fAODFile = 0;
-                   delete fAOD;     fAOD     = 0;
-                   Warning(kEH, "failed getting the first entry from addTree.");
-                 }
-               else
-                 {
-                   if (runNo < 0)
-                     runNo = fAOD->GetRunNumber();
-                 }
-             }
-           else // aodtree == 0
-             {
-               delete fAODFile; fAODFile = 0;
-               delete fAOD;     fAOD     = 0;
-               Warning(kEH, "failed getting the aodTree.");
-             }
-         }
-       else // aod not readable
-         {
-           Warning(kEH, "can not read AOD file '%s'.", fgAODFileName.Data());
-         }
-       if (fAODTree == 0)
-         {
-           if (fgAssertAOD)
-             {
-               throw (kEH + "AOD not initialized. Its precence was requested.");
-             } else {
-             Warning(kEH, "AOD not initialized.");
-           }
-         }
-
-       // Open RunLoader from galice.root
-       //    fgGAliceFileName = "/Users/Jerus/galice.root"; // temp
-    
-       TFile *gafile = TFile::Open(fgGAliceFileName);
-       cout<<"Opening galice"<<endl;
-       if (gafile)
-         {
-           gafile->Close();
-           delete gafile;
-           cout<<"SETTING RUN LOADER in Open()"<<endl;
-           fRunLoader = AliRunLoader::Open(fgGAliceFileName, GetName());
-           if (fRunLoader)
-             {
-               TString alicePath(gSystem->DirName(fgGAliceFileName));
-               alicePath.Append("/");
-               fRunLoader->SetDirName(alicePath);
-
-               if (fRunLoader->LoadgAlice() != 0)
-                 Warning(kEH, "failed loading gAlice via run-loader.");
-
-               if (fRunLoader->LoadHeader() == 0)
-                 {
-                   if (runNo < 0)
-                     runNo = fRunLoader->GetHeader()->GetRun();
-                 }
-               else
-                 {
-                   Warning(kEH, "failed loading run-loader's header.");
-                   delete fRunLoader;
-                   fRunLoader = 0;
-                 }
-             }
-           else // run-loader open failed
-             {
-               Warning(kEH, "failed opening ALICE run-loader from '%s'.", fgGAliceFileName.Data());
-             }
+    else{Warning(kEH, "can not read ESD file '%s'.", fgESDFileName.Data());}
+    if (fESDTree == 0 && fHLTESDTree==0)
+    {
+        if (fgAssertESD){throw (kEH + "ESD not initialized. Its precence was requested.");}
+        else {Warning(kEH, "ESD not initialized.");}
+    }
+    
+    // Open AOD and registered friends
+    if ( (fAODFile = TFile::Open(fgAODFileName)) )
+    {
+        fAOD = new AliAODEvent();
+        fAODTree = (TTree*) fAODFile->Get("aodTree");
+        if (fAODTree != 0)
+        {
+            // Check if AODfriends exist and attach them.
+            TIter       friends(fgAODfriends);
+            TObjString *name;
+            while ((name = (TObjString*) friends()) != 0)
+            {
+                TString p(Form("%s/%s", fgAODFileName.Data(), name->GetName()));
+                if (fgAODFileName.EndsWith(".zip")) p.Form("%s#%s",fgAODFileName.Data(),name->GetName());
+                if (gSystem->AccessPathName(p, kReadPermission) == kFALSE)
+                {
+                    fAODTree->AddFriend("aodTree", name->GetName());
+                }
+            }
+            
+            fAOD->ReadFromTree(fAODTree);
+            
+            if (fAODTree->GetEntry(0) <= 0)
+            {
+                delete fAODFile; fAODFile = 0;
+                delete fAOD;     fAOD     = 0;
+                Warning(kEH, "failed getting the first entry from addTree.");
+            }
+            else if (runNo < 0){runNo = fAOD->GetRunNumber();}
+        }
+        else // aodtree == 0
+        {
+            delete fAODFile; fAODFile = 0;
+            delete fAOD;     fAOD     = 0;
+            Warning(kEH, "failed getting the aodTree.");
+        }
+    }
+    else // aod not readable
+    {
+        Warning(kEH, "can not read AOD file '%s'.", fgAODFileName.Data());
+    }
+    if (fAODTree == 0)
+    {
+        if (fgAssertAOD){throw (kEH + "AOD not initialized. Its precence was requested.");}
+        else {Warning(kEH, "AOD not initialized.");}
+    }
+    
+    // Open RunLoader from galice.root
+    //    fgGAliceFileName = "/Users/Jerus/galice.root"; // temp
+    
+    TFile *gafile = TFile::Open(fgGAliceFileName);
+    cout<<"Opening galice"<<endl;
+    if (gafile)
+    {
+        gafile->Close();
+        delete gafile;
+        cout<<"SETTING RUN LOADER in Open()"<<endl;
+        fRunLoader = AliRunLoader::Open(fgGAliceFileName, GetName());
+        if (fRunLoader)
+        {
+            TString alicePath(gSystem->DirName(fgGAliceFileName));
+            alicePath.Append("/");
+            fRunLoader->SetDirName(alicePath);
+            
+            if (fRunLoader->LoadgAlice() != 0){Warning(kEH, "failed loading gAlice via run-loader.");}
+            
+            if (fRunLoader->LoadHeader() == 0 && runNo < 0){
+                    runNo = fRunLoader->GetHeader()->GetRun();
+            }
+            else{
+                Warning(kEH, "failed loading run-loader's header.");
+                delete fRunLoader;
+                fRunLoader = 0;
+            }
+        }
+        else{Warning(kEH, "failed opening ALICE run-loader from '%s'.", fgGAliceFileName.Data());}
+    }
+    else{Warning(kEH, "can not read '%s'.", fgGAliceFileName.Data());}
+    
+    if (fRunLoader == 0)
+    {
+        if (fgAssertRunLoader){throw (kEH + "Bootstraping of run-loader failed. Its precence was requested.");}
+        else{Warning(kEH, "Bootstraping of run-loader failed.");}
+    }
+    
+    // Open raw-data file
+    TString rawPath;
+    if (fgRawFromStandardLoc)
+    {
+        if (!fgRawFileName.BeginsWith("alien:")){
+            throw kEH + "Standard raw search requested, but the directory is not in AliEn.";
+        }
+        if (!fgRawFileName.Contains("/ESDs/")){
+            throw kEH + "Standard raw search requested, but does not contain 'ESDs' directory.";
+        }
+        
+        TPMERegexp chunk("/([\\d\\.])+/?$");
+        Int_t nm = chunk.Match(fgRawFileName);
+        if (nm != 2){
+            throw kEH + "Standard raw search requested, but the path does not end with chunk-id directory.";
+        }
+        
+        TPMERegexp esdstrip("/ESDs/.*");
+        rawPath = fgRawFileName;
+        esdstrip.Substitute(rawPath, "/raw/");
+        rawPath += chunk[0];
+        rawPath += ".root";
         
-         }
-       else // galice not readable
-         {
-           Warning(kEH, "can not read '%s'.", fgGAliceFileName.Data());
-         }
-       if (fRunLoader == 0)
-         {
-           if (fgAssertRunLoader)
-             throw (kEH + "Bootstraping of run-loader failed. Its precence was requested.");
-           else
-             Warning(kEH, "Bootstraping of run-loader failed.");
-         }
-
-       // Open raw-data file
-
-       TString rawPath;
-       if (fgRawFromStandardLoc)
-         {
-           if (!fgRawFileName.BeginsWith("alien:"))
-             throw kEH + "Standard raw search requested, but the directory is not in AliEn.";
-           if (!fgRawFileName.Contains("/ESDs/"))
-             throw kEH + "Standard raw search requested, but does not contain 'ESDs' directory.";
-
-           TPMERegexp chunk("/([\\d\\.])+/?$");
-           Int_t nm = chunk.Match(fgRawFileName);
-           if (nm != 2)
-             throw kEH + "Standard raw search requested, but the path does not end with chunk-id directory.";
-
-           TPMERegexp esdstrip("/ESDs/.*");
-           rawPath = fgRawFileName;
-           esdstrip.Substitute(rawPath, "/raw/");
-           rawPath += chunk[0];
-           rawPath += ".root";
-
-           Info(kEH, "Standard raw search requested, using the following path:\n  %s\n", rawPath.Data());
-         }
-       else
-         {
-           rawPath = fgRawFileName;
-         }
-       // If i use open directly, raw-reader reports an error but i have
-       // no way to detect it.
-       // Is this (AccessPathName check) ok for xrootd / alien? Yes, not for http.
-       AliLog::EType_t oldLogLevel = (AliLog::EType_t) AliLog::GetGlobalLogLevel();
-       if (fgAssertRaw == kFALSE)
-         {
-           AliLog::SetGlobalLogLevel(AliLog::kFatal);
-         }
-       if (gSystem->AccessPathName(rawPath, kReadPermission) == kFALSE)
-         {
-           fRawReader = AliRawReader::Create(rawPath);
-         }
-       else
-         {
-           fRawReader = AliRawReader::Create(fgRawFileName);
-         }
-       if (fgAssertRaw == kFALSE)
-         {
-           AliLog::SetGlobalLogLevel(oldLogLevel);
-         }
-
-       if (fRawReader == 0)
-         {
-           if (fgAssertRaw)
-             {
-               throw (kEH + "raw-data not initialized. Its precence was requested.");
-             }
-           else
-             {
-               Warning(kEH, "raw-data not initialized.");
-             }
-         }
-
-       if (runNo < 0)
-         {
-           if (fRawReader)
-             {
-               if ( ! fRawReader->NextEvent())
-                 {
-                   throw (kEH + "can not go to first event in raw-reader to determine run-id.");
-                 }
-               runNo = fRawReader->GetRunNumber();
-               Info(kEH, "Determining run-no from raw ... run=%d.", runNo);
-               fRawReader->RewindEvents();
-             }
-           else
-             {
-               fExternalCtrl = kTRUE;
-               fEventId = 0;
-               return;
-             }
-         }
-      }
+        Info(kEH, "Standard raw search requested, using the following path:\n  %s\n", rawPath.Data());
+    }
+    else
+    {
+        rawPath = fgRawFileName;
+    }
+    
+    // If i use open directly, raw-reader reports an error but i have
+    // no way to detect it.
+    // Is this (AccessPathName check) ok for xrootd / alien? Yes, not for http.
+    AliLog::EType_t oldLogLevel = (AliLog::EType_t) AliLog::GetGlobalLogLevel();
+    if (fgAssertRaw == kFALSE){AliLog::SetGlobalLogLevel(AliLog::kFatal);}
+    
+    if (gSystem->AccessPathName(rawPath, kReadPermission) == kFALSE){
+        fRawReader = AliRawReader::Create(rawPath);
+    }
+    else{
+        fRawReader = AliRawReader::Create(fgRawFileName);
+    }
+    
+    if (fgAssertRaw == kFALSE){AliLog::SetGlobalLogLevel(oldLogLevel);}
+    
+    if (fRawReader == 0)
+    {
+        if (fgAssertRaw){throw (kEH + "raw-data not initialized. Its precence was requested.");}
+        else{Warning(kEH, "raw-data not initialized.");}
+    }
+    
+    if (runNo < 0)
+    {
+        if (fRawReader)
+        {
+            if (!fRawReader->NextEvent()){throw (kEH + "can not go to first event in raw-reader to determine run-id.");}
+            runNo = fRawReader->GetRunNumber();
+            Info(kEH, "Determining run-no from raw ... run=%d.", runNo);
+            fRawReader->RewindEvents();
+        }
+        else
+        {
+            fEventId = 0;
+            return;
+        }
+    }
+    
     // Initialize OCDB ... only in master event-manager
-
     InitOCDB(runNo);
-
-
     fIsOpen = kTRUE;
 }
 
 void AliEveEventManager::InitOCDB(int runNo)
 {
-  TString cdbPath = Form("local://%s/ed_ocdb_objects/",gSystem->Getenv("HOME"));
-  AliCDBManager* cdb = AliCDBManager::Instance();
+    TString cdbPath = Form("local://%s/ed_ocdb_objects/",gSystem->Getenv("HOME"));
+    AliCDBManager* cdb = AliCDBManager::Instance();
 #ifdef ZMQ
-  if(fOnlineMode)
-    {
-      if(runNo != fCurrentRun)
-       { 
-         cout<<"Loading OCDB for new run:"<<runNo<<" in online mode."<<endl;
-         TEnv settings;
-         settings.ReadFile(AliOnlineReconstructionUtil::GetPathToServerConf(), kEnvUser);
-         fCurrentRun = runNo;
-         cout<<"config read"<<endl;
-
-         // Retrieve GRP entry for given run from aldaqdb.
-         TString dbHost = settings.GetValue("logbook.host", DEFAULT_LOGBOOK_HOST);
-         Int_t   dbPort =  settings.GetValue("logbook.port", DEFAULT_LOGBOOK_PORT);
-         TString dbName =  settings.GetValue("logbook.db", DEFAULT_LOGBOOK_DB);
-         TString user =  settings.GetValue("logbook.user", DEFAULT_LOGBOOK_USER);
-         TString password = settings.GetValue("logbook.pass", DEFAULT_LOGBOOK_PASS);
-         
-         gSystem->cd(cdbPath.Data());
-         gSystem->Exec("rm -fr GRP/");
-         cout<<"CDB path for GRP:"<<cdbPath<<endl;
-
-         TString gdc;
-
-         Int_t ret=AliGRPPreprocessor::ReceivePromptRecoParameters(fCurrentRun, dbHost.Data(),
-                                                                   dbPort, dbName.Data(),
-                                                                   user.Data(), password.Data(),
-                                                                   Form("%s",cdbPath.Data()),
-                                                                   gdc);
-
-         if(ret>0) Info("RetrieveGRP","Last run of the same type is: %d",ret);
-         else if(ret==0) Warning("RetrieveGRP","No previous run of the same type found");
-         else if(ret<0) Error("Retrieve","Error code while retrieving GRP parameters returned: %d",ret);
-
-
-         cdb->SetDefaultStorage(settings.GetValue("cdb.defaultStorage", DEFAULT_CDB_STORAGE));
-         cdb->SetSpecificStorage("GRP/GRP/Data",cdbPath.Data());
-         cdb->SetRun(fCurrentRun);
-         cdb->Print();
-       }
+    if(fOnlineMode)
+    {
+        if(runNo != fCurrentRun)
+        {
+            cout<<"Loading OCDB for new run:"<<runNo<<" in online mode."<<endl;
+            TEnv settings;
+            settings.ReadFile(AliOnlineReconstructionUtil::GetPathToServerConf(), kEnvUser);
+            fCurrentRun = runNo;
+            cout<<"config read"<<endl;
+            
+            // Retrieve GRP entry for given run from aldaqdb.
+            TString dbHost = settings.GetValue("logbook.host", DEFAULT_LOGBOOK_HOST);
+            Int_t   dbPort =  settings.GetValue("logbook.port", DEFAULT_LOGBOOK_PORT);
+            TString dbName =  settings.GetValue("logbook.db", DEFAULT_LOGBOOK_DB);
+            TString user =  settings.GetValue("logbook.user", DEFAULT_LOGBOOK_USER);
+            TString password = settings.GetValue("logbook.pass", DEFAULT_LOGBOOK_PASS);
+            
+            gSystem->cd(cdbPath.Data());
+            gSystem->Exec("rm -fr GRP/");
+            cout<<"CDB path for GRP:"<<cdbPath<<endl;
+            
+            TString gdc;
+            
+            Int_t ret=AliGRPPreprocessor::ReceivePromptRecoParameters(fCurrentRun, dbHost.Data(),
+                                                                      dbPort, dbName.Data(),
+                                                                      user.Data(), password.Data(),
+                                                                      Form("%s",cdbPath.Data()),
+                                                                      gdc);
+            
+            if(ret>0) Info("RetrieveGRP","Last run of the same type is: %d",ret);
+            else if(ret==0) Warning("RetrieveGRP","No previous run of the same type found");
+            else if(ret<0) Error("Retrieve","Error code while retrieving GRP parameters returned: %d",ret);
+            
+            
+            cdb->SetDefaultStorage(settings.GetValue("cdb.defaultStorage", DEFAULT_CDB_STORAGE));
+            cdb->SetSpecificStorage("GRP/GRP/Data",cdbPath.Data());
+            cdb->SetRun(fCurrentRun);
+            cdb->Print();
+        }
     }
 #endif
-
-  static const TEveException kEH("AliEveEventManager::InitOCDB ");
+    
+    static const TEveException kEH("AliEveEventManager::InitOCDB ");
     //if (this == fgMaster)
     {
         if (cdb->IsDefaultStorageSet() == kTRUE)
@@ -844,7 +780,7 @@ void AliEveEventManager::InitOCDB(int runNo)
                 gEnv->SetValue("Root.Stacktrace", "no");
                 Fatal("Open()", "OCDB path was not specified.");
             }
-           cout<<"Setting default storage:"<<fgCdbUri<<endl;
+            cout<<"Setting default storage:"<<fgCdbUri<<endl;
             // Handle some special cases for MC (should be in OCDBManager).
             if (fgCdbUri == "mcideal://")
                 cdb->SetDefaultStorage("MC", "Ideal");
@@ -853,17 +789,17 @@ void AliEveEventManager::InitOCDB(int runNo)
             else if (fgCdbUri == "mcfull://")
                 cdb->SetDefaultStorage("MC", "Full");
             else if (fgCdbUri == "local://"){
-               fgCdbUri = Form("local://%s/OCDB", gSystem->Getenv("ALICE_ROOT"));
-               cdb->SetDefaultStorage(fgCdbUri);
-             } 
-           else{
-             cdb->SetDefaultStorage(fgCdbUri);
-             }
+                fgCdbUri = Form("local://%s/OCDB", gSystem->Getenv("ALICE_ROOT"));
+                cdb->SetDefaultStorage(fgCdbUri);
+            }
+            else{
+                cdb->SetDefaultStorage(fgCdbUri);
+            }
             cdb->SetRun(runNo);
-
-            if (cdb->IsDefaultStorageSet() == kFALSE)
-                throw kEH + "CDB initialization failed for '" + fgCdbUri + "'.";
-        }/*
+            
+            if (cdb->IsDefaultStorageSet() == kFALSE){throw kEH + "CDB initialization failed for '" + fgCdbUri + "'.";}
+        }
+        /*
         if (fgCdbUri.BeginsWith("local://"))
         {
             TString curPath = gSystem->WorkingDirectory();
@@ -871,19 +807,18 @@ void AliEveEventManager::InitOCDB(int runNo)
             TString grppath = curPath + "/" + grp;
             if (gSystem->AccessPathName(grppath, kReadPermission) == kFALSE)
             {
-                if (cdb->GetSpecificStorage(grp))
-                {
+                if (cdb->GetSpecificStorage(grp)){
                     Warning(kEH, "Local GRP exists, but the specific storage is already set.");
                 }
-                else
-                {
+                else{
                     Info(kEH, "Setting CDB specific-storage for GRP from event directory.");
                     TString lpath("local://");
                     lpath += curPath;
                     cdb->SetSpecificStorage(grp, lpath);
                 }
             }
-           }*/
+        }
+         */
     }
 }
 
@@ -892,33 +827,32 @@ void AliEveEventManager::SetEvent(AliRunLoader *runLoader, AliRawReader *rawRead
     // Set an event from an external source.
     // The method is used in the online visualisation.
     // AOD is not supported.
-
+    
     static const TEveException kEH("AliEveEventManager::SetEvent ");
-
+    
     if (fIsOpen)
     {
         Warning(kEH, "Event-files were open. Closing and switching to external control.");
         Close();
     }
-
-                       Info(kEH,"setting it!!! ============================");
-
+    
+    Info(kEH,"setting it!!! ============================");
+    
     fRunLoader = runLoader;
     fRawReader = rawReader;
     fESD       = esd;
     fESDfriend = esdf;
     fAOD       = 0;
-
+    
     fEventId++;
-    fHasEvent     = kTRUE;
-    //fExternalCtrl = kTRUE;
-
+    fHasEvent = kTRUE;
+    
     SetTitle("Online event in memory");
     SetName ("Online Event");
     ElementChanged();
-
+    
     AfterNewEventLoaded();
-
+    
     if (fAutoLoad || fLoopMarked) StartAutoLoadTimer();
     
 }
@@ -932,14 +866,14 @@ Int_t AliEveEventManager::GetMaxEventId(Bool_t refreshESD) const
     // If neither data-source is initialised an exception is thrown.
     // If refresh_esd is true and ESD is the primary event-data source
     // its header is re-read from disk.
-
+    
     static const TEveException kEH("AliEveEventManager::GetMaxEventId ");
-
-    if (fExternalCtrl || fIsOpen == kFALSE || fOnlineMode)
+    
+    if (fIsOpen == kFALSE || fOnlineMode)
     {
         return -1;
     }
-
+    
     if ((fESDTree!=0) || (fHLTESDTree!=0))
     {
         if (refreshESD)
@@ -948,18 +882,18 @@ Int_t AliEveEventManager::GetMaxEventId(Bool_t refreshESD) const
             if(fHLTESDTree!=0) fHLTESDTree->Refresh();
             fPEventSelector->Update();
         }
-
+        
         Int_t maxEventId=0;
         switch(fgESDvisibleTrees){
-        default:
-        case AliEveEventManager::kOfflineTree :
-            maxEventId = fESDTree->GetEntries() - 1;
-            break;
-        case AliEveEventManager::kHLTTree :
-            maxEventId = fHLTESDTree->GetEntries() - 1;
-            break;
-       }
-
+            default:
+            case AliEveEventManager::kOfflineTree :
+                maxEventId = fESDTree->GetEntries() - 1;
+                break;
+            case AliEveEventManager::kHLTTree :
+                maxEventId = fHLTESDTree->GetEntries() - 1;
+                break;
+        }
+        
         return maxEventId;
     }
     else if (fAODTree)
@@ -995,110 +929,106 @@ void AliEveEventManager::GotoEvent(Int_t event)
     // available events, thus passing -1 will load the last event.
     // This is not supported when raw-data is the only data-source
     // as the number of events is not known.
-
+    
     static const TEveException kEH("AliEveEventManager::GotoEvent ");
-
+    
     if (fAutoLoadTimerRunning)
     {
         throw (kEH + "Event auto-load timer is running.");
     }
-    if (fExternalCtrl)
-    {
-        throw (kEH + "Event-loop is under external control.");
-    }
     else if (!fIsOpen)
     {
         throw (kEH + "Event-files not opened.");
     }
     
 #ifdef ZMQ
-      if(fOnlineMode)
-       {
-         if (fStorageDown && -1 == event) 
-           {
-             NextEvent();
-             return;
-           }
-
-         if (fESD)
-           {
-             // create new server request:
-             struct serverRequestStruct *requestMessage = new struct serverRequestStruct;
+    if(fOnlineMode)
+    {
+        if (fStorageDown && -1 == event)
+        {
+            NextEvent();
+            return;
+        }
+        
+        if (fESD)
+        {
+            // create new server request:
+            struct serverRequestStruct *requestMessage = new struct serverRequestStruct;
             
-             // set request type:
-             if (event == -1)      {requestMessage->messageType = REQUEST_GET_LAST_EVENT;}
-             else  if (event == 0) {requestMessage->messageType = REQUEST_GET_FIRST_EVENT;}
-             else  if (event == 1) {requestMessage->messageType = REQUEST_GET_PREV_EVENT;}
-             else  if (event == 2) {requestMessage->messageType = REQUEST_GET_NEXT_EVENT;}
+            // set request type:
+            if (event == -1)      {requestMessage->messageType = REQUEST_GET_LAST_EVENT;}
+            else  if (event == 0) {requestMessage->messageType = REQUEST_GET_FIRST_EVENT;}
+            else  if (event == 1) {requestMessage->messageType = REQUEST_GET_PREV_EVENT;}
+            else  if (event == 2) {requestMessage->messageType = REQUEST_GET_NEXT_EVENT;}
             
-             // set event struct:
-             struct eventStruct eventToLoad;
-             eventToLoad.runNumber = fESD->GetRunNumber();
-             eventToLoad.eventNumber = fESD->GetEventNumberInFile();
-             requestMessage->event = eventToLoad;
+            // set event struct:
+            struct eventStruct eventToLoad;
+            eventToLoad.runNumber = fESD->GetRunNumber();
+            eventToLoad.eventNumber = fESD->GetEventNumberInFile();
+            requestMessage->event = eventToLoad;
             
-             // create event manager:
-             AliStorageEventManager *eventManager =
-               AliStorageEventManager::GetEventManagerInstance();
-             AliESDEvent *resultEvent = NULL;
+            // create event manager:
+            AliStorageEventManager *eventManager =
+            AliStorageEventManager::GetEventManagerInstance();
+            AliESDEvent *resultEvent = NULL;
             
-             eventManager->CreateSocket(SERVER_COMMUNICATION_REQ);
-             fMutex->Lock();
+            eventManager->CreateSocket(SERVER_COMMUNICATION_REQ);
+            fMutex->Lock();
             
-             // send request and receive event:
-             eventManager->Send(requestMessage,SERVER_COMMUNICATION_REQ);
-             resultEvent = eventManager->GetEvent(SERVER_COMMUNICATION_REQ);
+            // send request and receive event:
+            eventManager->Send(requestMessage,SERVER_COMMUNICATION_REQ);
+            resultEvent = eventManager->GetEvent(SERVER_COMMUNICATION_REQ);
             
-             if(resultEvent)
-               {
-                 DestroyElements();
-                 InitOCDB(resultEvent->GetRunNumber());
-                 SetEvent(0,0,resultEvent,0);
-               }
-             else
-               {
-                 if(event==-1){cout<<"\n\nWARNING -- No last event is avaliable.\n\n"<<endl;}
-                 if(event==0){cout<<"\n\nWARNING -- No first event is avaliable.\n\n"<<endl;}
-                 if(event==1){cout<<"\n\nWARNING -- No previous event is avaliable.\n\n"<<endl;}
-                 if(event==2){cout<<"\n\nWARNING -- No next event is avaliable.\n\n"<<endl;}
-               }
+            if(resultEvent)
+            {
+                DestroyElements();
+                InitOCDB(resultEvent->GetRunNumber());
+                SetEvent(0,0,resultEvent,0);
+            }
+            else
+            {
+                if(event==-1){cout<<"\n\nWARNING -- No last event is avaliable.\n\n"<<endl;}
+                if(event==0){cout<<"\n\nWARNING -- No first event is avaliable.\n\n"<<endl;}
+                if(event==1){cout<<"\n\nWARNING -- No previous event is avaliable.\n\n"<<endl;}
+                if(event==2){cout<<"\n\nWARNING -- No next event is avaliable.\n\n"<<endl;}
+            }
+            
+            fMutex->UnLock();
+        }
+        else
+        {
+            cout<<"\n\nWARNING -- No event has been already loaded. Loading the most recent event...\n\n"<<endl;
             
-             fMutex->UnLock();
-           }
-         else
-           {
-             cout<<"\n\nWARNING -- No event has been already loaded. Loading the most recent event...\n\n"<<endl;
-
-             struct serverRequestStruct *requestMessage = new struct serverRequestStruct;
-             requestMessage->messageType = REQUEST_GET_LAST_EVENT;
+            struct serverRequestStruct *requestMessage = new struct serverRequestStruct;
+            requestMessage->messageType = REQUEST_GET_LAST_EVENT;
             
-             AliStorageEventManager *eventManager = AliStorageEventManager::GetEventManagerInstance();
-             eventManager->CreateSocket(SERVER_COMMUNICATION_REQ);
-             AliESDEvent *resultEvent = NULL;
+            AliStorageEventManager *eventManager = AliStorageEventManager::GetEventManagerInstance();
+            eventManager->CreateSocket(SERVER_COMMUNICATION_REQ);
+            AliESDEvent *resultEvent = NULL;
             
-             fMutex->Lock();
-             eventManager->Send(requestMessage,SERVER_COMMUNICATION_REQ);
-             resultEvent = eventManager->GetEvent(SERVER_COMMUNICATION_REQ);
+            fMutex->Lock();
+            eventManager->Send(requestMessage,SERVER_COMMUNICATION_REQ);
+            resultEvent = eventManager->GetEvent(SERVER_COMMUNICATION_REQ);
             
-             if(resultEvent)
-               {
-                 fESD=resultEvent;
-                 DestroyElements();
-                 InitOCDB(resultEvent->GetRunNumber());
-                 SetEvent(0,0,resultEvent,0);
-               }
-             else{cout<<"\n\nWARNING -- The most recent event is not avaliable.\n\n"<<endl;}
-             fMutex->UnLock();
-           }
-       }
-#endif 
-
-   
-
+            if(resultEvent)
+            {
+                fESD=resultEvent;
+                DestroyElements();
+                InitOCDB(resultEvent->GetRunNumber());
+                SetEvent(0,0,resultEvent,0);
+            }
+            else{cout<<"\n\nWARNING -- The most recent event is not avaliable.\n\n"<<endl;}
+            fMutex->UnLock();
+        }
+    }
+#endif
+    
+    
+    
     fEventInfo.Reset();
-
+    
     fHasEvent = kFALSE;
-
+    
     Int_t maxEvent = 0;
     if ((fESDTree!=0) || (fHLTESDTree!=0))
     {
@@ -1109,14 +1039,14 @@ void AliEveEventManager::GotoEvent(Int_t event)
             if (event < 0)
                 event = fESDTree->GetEntries() + event;
         }
-
+        
         if(fHLTESDTree){
             if (event >= fHLTESDTree->GetEntries())
                 fHLTESDTree->Refresh();
             maxEvent = fHLTESDTree->GetEntries() - 1;
             if (event < 0)
                 event = fHLTESDTree->GetEntries() + event;
-
+            
         }
     }
     else if (fAODTree)
@@ -1160,17 +1090,17 @@ void AliEveEventManager::GotoEvent(Int_t event)
     }
     if (event > maxEvent)
     {
-      event=0;
-      cout<<"Event number out of range. Going to event 0"<<endl;
+        event=0;
+        cout<<"Event number out of range. Going to event 0"<<endl;
     }
-
+    
     TString sysInfoHeader;
     sysInfoHeader.Form("AliEveEventManager::GotoEvent(%d) - ", event);
     AliSysInfo::AddStamp(sysInfoHeader + "Start");
-
+    
     TEveManager::TRedrawDisabler rd(gEve);
     gEve->Redraw3D(kFALSE, kTRUE); // Enforce drop of all logicals.
-
+    
     // !!! MT this is somewhat brutal; at least optionally, one could be
     // a bit gentler, checking for objs owning their external refs and having
     // additinal parents.
@@ -1182,35 +1112,35 @@ void AliEveEventManager::GotoEvent(Int_t event)
         (*i)->DestroyElements();
     }
     DestroyElements();
-
+    
     AliSysInfo::AddStamp(sysInfoHeader + "PostDestroy");
-
+    
     if (fESDTree) {
         if (fESDTree->GetEntry(event) <= 0)
             throw (kEH + "failed getting required event from ESD.");
-
+        
         if (fESDfriendExists)
             fESD->SetESDfriend(fESDfriend);
     }
-
+    
     if (fHLTESDTree) {
         if (fHLTESDTree->GetEntry(event) <= 0)
             throw (kEH + "failed getting required event from HLT ESD.");
-
+        
         if (fESDfriendExists)
             fESD->SetESDfriend(fESDfriend);
     }
-
+    
     if (fAODTree) {
         if (fAODTree->GetEntry(event) <= 0)
             throw (kEH + "failed getting required event from AOD.");
     }
-
+    
     if (fRunLoader) {
         if (fRunLoader->GetEvent(event) != 0)
             throw (kEH + "failed getting required event.");
     }
-
+    
     if (fRawReader)
     {
         // AliRawReader::GotoEvent(Int_t) works for AliRawReaderRoot/Chain.
@@ -1223,7 +1153,7 @@ void AliEveEventManager::GotoEvent(Int_t event)
                 fRawReader->RewindEvents();
                 rawEv = -1;
             }
-
+            
             while (rawEv < event)
             {
                 if ( ! fRawReader->NextEvent())
@@ -1237,7 +1167,7 @@ void AliEveEventManager::GotoEvent(Int_t event)
             Warning(kEH, "Loaded raw-event %d with fallback method.\n", rawEv);
         }
     }
-
+    
     fHasEvent = kTRUE;
     fEventId  = event;
     if (this == fgMaster)
@@ -1245,11 +1175,11 @@ void AliEveEventManager::GotoEvent(Int_t event)
         SetName(Form("Event %d", fEventId));
         ElementChanged();
     }
-
+    
     AliSysInfo::AddStamp(sysInfoHeader + "PostLoadEvent");
-
+    
     AfterNewEventLoaded();
-
+    
     AliSysInfo::AddStamp(sysInfoHeader + "PostUserActions");
 }
 
@@ -1259,103 +1189,91 @@ void AliEveEventManager::Timeout()
 }
 
 void AliEveEventManager::PrepareForNewEvent(AliESDEvent *event)
-{      
-       DestroyElements();
-       InitOCDB(event->GetRunNumber());
-       printf("======================= setting event to %d\n", fEventId);
-       SetEvent(0,0,event,0);
+{
+    DestroyElements();
+    InitOCDB(event->GetRunNumber());
+    printf("======================= setting event to %d\n", fEventId);
+    SetEvent(0,0,event,0);
 }
 
 void AliEveEventManager::NextEvent()
 {
     // Loads next event.
     // Does magick needed for online display when under external event control.
-
+    
     static const TEveException kEH("AliEveEventManager::NextEvent ");
-
-    if (fAutoLoadTimerRunning){throw (kEH + "Event auto-load timer is running.");}    
-    if (fExternalCtrl){throw (kEH + "External control");}
+    
+    if (fAutoLoadTimerRunning){throw (kEH + "Event auto-load timer is running.");}
     
     if(fOnlineMode)
-      {
+    {
 #ifdef ZMQ
-      
-         if(fIsNewEventAvaliable)
-           {
-             fMutex->Lock();
-             if(fWritingToEventIndex == 0) fEventInUse = 0;
-             else if(fWritingToEventIndex == 1) fEventInUse = 1;
+        
+        if(fIsNewEventAvaliable)
+        {
+            fMutex->Lock();
+            if(fWritingToEventIndex == 0) fEventInUse = 0;
+            else if(fWritingToEventIndex == 1) fEventInUse = 1;
             
-             if(fCurrentEvent[fEventInUse])
-               {
-                 if(fCurrentEvent[fEventInUse]->GetRunNumber() >= 0)
-                   {
-                     printf("======================= setting event to %d\n", fCurrentEvent[fEventInUse]->GetEventNumberInFile());
+            if(fCurrentEvent[fEventInUse])
+            {
+                if(fCurrentEvent[fEventInUse]->GetRunNumber() >= 0)
+                {
+                    printf("======================= setting event to %d\n", fCurrentEvent[fEventInUse]->GetEventNumberInFile());
                     
-                     DestroyElements();
-                     InitOCDB(fCurrentEvent[fEventInUse]->GetRunNumber());
-                     SetEvent(0,0,fCurrentEvent[fEventInUse],0);
+                    DestroyElements();
+                    InitOCDB(fCurrentEvent[fEventInUse]->GetRunNumber());
+                    SetEvent(0,0,fCurrentEvent[fEventInUse],0);
                     
-                   }
-               }
-             fIsNewEventAvaliable = false;
-             fMutex->UnLock();
-           }
-         else
-           {
-             cout<<"No new event is avaliable."<<endl;
-             NoEventLoaded();
-           }
+                }
+            }
+            fIsNewEventAvaliable = false;
+            fMutex->UnLock();
+        }
+        else
+        {
+            cout<<"No new event is avaliable."<<endl;
+            NoEventLoaded();
+        }
 #endif
-      }
+    }
     else if ((fESDTree!=0) || (fHLTESDTree!=0))
     {
-      cout<<"There is ESD or HLTESD tree"<<endl;
-      Int_t nextevent=0;
-      if (fPEventSelector->FindNext(nextevent))
-      {
-       cout<<"GotoEvent:"<<nextevent<<endl;
-        GotoEvent(nextevent);
-      }
+        cout<<"There is ESD or HLTESD tree"<<endl;
+        Int_t nextevent=0;
+        if (fPEventSelector->FindNext(nextevent))
+        {
+            cout<<"GotoEvent:"<<nextevent<<endl;
+            GotoEvent(nextevent);
+        }
     }
     else if (fEventId < GetMaxEventId(kTRUE))
     {
-      cout<<"GotoEvent:"<<fEventId+1<<endl;
-      GotoEvent(fEventId + 1);
+        cout<<"GotoEvent:"<<fEventId+1<<endl;
+        GotoEvent(fEventId + 1);
     }
     else
-      {
-       cout<<"Going back to event 0"<<endl;
-       GotoEvent(0);
-      }
+    {
+        cout<<"Going back to event 0"<<endl;
+        GotoEvent(0);
+    }
     
     gSystem->ProcessEvents();
     
-    /*
-    cout<<"VSD"<<endl;
-    AliEveVSDCreator *vsdCreator = new AliEveVSDCreator();
-    cout<<"contructor called"<<endl;
-    vsdCreator->CreateVSD("myVSD.root");
-    cout<<"PO"<<endl;
-*/
     //if(fEventListenerThread){delete fEventListenerThread;fEventListenerThread=0;}
 }
 
 void AliEveEventManager::PrevEvent()
 {
     // Loads previous event.
-
+    
     static const TEveException kEH("AliEveEventManager::PrevEvent ");
-
+    
     if (fAutoLoadTimerRunning)
     {
         throw (kEH + "Event auto-load timer is running.");
     }
-    if (fExternalCtrl)
-    {
-        throw (kEH + "Event-loop is under external control.");
-    }
-
+    
     if ((fESDTree!=0) || (fHLTESDTree!=0))
     {
         Int_t nextevent=0;
@@ -1373,53 +1291,53 @@ void AliEveEventManager::PrevEvent()
 void AliEveEventManager::MarkCurrentEvent()
 {
 #ifdef ZMQ
-  if(!fOnlineMode){return;}
-
-       struct serverRequestStruct *requestMessage = new struct serverRequestStruct;
-       struct eventStruct mark;
-       mark.runNumber = fESD->GetRunNumber();
-       mark.eventNumber = fESD->GetEventNumberInFile();
-       requestMessage->messageType = REQUEST_MARK_EVENT;
-       requestMessage->event = mark;
-
-       AliStorageEventManager *eventManager =
-               AliStorageEventManager::GetEventManagerInstance();
-       eventManager->CreateSocket(SERVER_COMMUNICATION_REQ);
-
-       /*
-       std::future<bool> unused = std::async([]()
-       {
-               eventManager->Send(requestMessage,SERVER_COMMUNICATION_REQ);
-               bool response =  eventManager->GetBool(SERVER_COMMUNICATION_REQ);
-
-               if(response)
-               {
-               //fStatusLabel->SetText("Event marked");
-               cout<<"ADMIN PANEL -- Event marked succesfully"<<endl;
-               }
-               else
-               {
-               //fStatusLabel->SetText("Couldn't mark this event");
-               cout<<"ADMIN PANEL -- Could not matk event"<<endl;
-               }
-       });
-       */
-       
-       eventManager->Send(requestMessage,SERVER_COMMUNICATION_REQ);
-       bool response =  eventManager->GetBool(SERVER_COMMUNICATION_REQ);
-       
-       
-       if(response)
-       {
-               //fStatusLabel->SetText("Event marked");
-               cout<<"ADMIN PANEL -- Event marked succesfully"<<endl;
-       }
-       else
-       {
-               //fStatusLabel->SetText("Couldn't mark this event");
-               cout<<"ADMIN PANEL -- Could not matk event"<<endl;
-       }
-       if(requestMessage){delete requestMessage;}
+    if(!fOnlineMode){return;}
+    
+    struct serverRequestStruct *requestMessage = new struct serverRequestStruct;
+    struct eventStruct mark;
+    mark.runNumber = fESD->GetRunNumber();
+    mark.eventNumber = fESD->GetEventNumberInFile();
+    requestMessage->messageType = REQUEST_MARK_EVENT;
+    requestMessage->event = mark;
+    
+    AliStorageEventManager *eventManager =
+    AliStorageEventManager::GetEventManagerInstance();
+    eventManager->CreateSocket(SERVER_COMMUNICATION_REQ);
+    
+    /*
+     std::future<bool> unused = std::async([]()
+     {
+     eventManager->Send(requestMessage,SERVER_COMMUNICATION_REQ);
+     bool response =  eventManager->GetBool(SERVER_COMMUNICATION_REQ);
+     
+     if(response)
+     {
+     //fStatusLabel->SetText("Event marked");
+     cout<<"ADMIN PANEL -- Event marked succesfully"<<endl;
+     }
+     else
+     {
+     //fStatusLabel->SetText("Couldn't mark this event");
+     cout<<"ADMIN PANEL -- Could not matk event"<<endl;
+     }
+     });
+     */
+    
+    eventManager->Send(requestMessage,SERVER_COMMUNICATION_REQ);
+    bool response =  eventManager->GetBool(SERVER_COMMUNICATION_REQ);
+    
+    
+    if(response)
+    {
+        //fStatusLabel->SetText("Event marked");
+        cout<<"ADMIN PANEL -- Event marked succesfully"<<endl;
+    }
+    else
+    {
+        //fStatusLabel->SetText("Couldn't mark this event");
+        cout<<"ADMIN PANEL -- Could not matk event"<<endl;
+    }
+    if(requestMessage){delete requestMessage;}
 #endif
 }
 
@@ -1427,45 +1345,45 @@ void AliEveEventManager::Close()
 {
     // Close the event data-files and delete ESD, ESDfriend, run-loader
     // and raw-reader.
-
+    
     cout<<"\n\n\nClose() called!!\n\n\n"<<endl;
     
     static const TEveException kEH("AliEveEventManager::Close ");
-
+    
     if (!fIsOpen)
     {
         throw (kEH + "Event-files not opened.");
     }
-
+    
     if (fAutoLoadTimerRunning)
         StopAutoLoadTimer();
-
+    
     if ((fESDTree!=0) || (fHLTESDTree!=0)) {
         delete fESD;       fESD       = 0;
         // delete fESDfriend; // friend tree is deleted with the tree
         fESDfriend = 0;
         fESDfriendExists = kFALSE;
-
+        
         if(fESDTree) { delete fESDTree;   fESDTree = 0; }
         if(fHLTESDTree) { delete fHLTESDTree;   fHLTESDTree = 0; }
         delete fESDFile;   fESDFile = 0;
     }
-
+    
     if (fAODTree) {
         delete fAOD;       fAOD       = 0;
-
+        
         delete fAODTree;   fAODTree = 0;
         delete fAODFile;   fAODFile = 0;
     }
-
+    
     if (fRunLoader) {
         delete fRunLoader; fRunLoader = 0;
     }
-
+    
     if (fRawReader) {
         delete fRawReader; fRawReader = 0;
     }
-
+    
     fEventId  = -1;
     fIsOpen   = kFALSE;
     fHasEvent = kFALSE;
@@ -1479,9 +1397,9 @@ void AliEveEventManager::Close()
 Int_t AliEveEventManager::CurrentEventId()
 {
     // Return current event-id.
-
+    
     static const TEveException kEH("AliEveEventManager::CurrentEventId ");
-
+    
     if (fgCurrent == 0 || fgCurrent->fHasEvent == kFALSE)
         throw (kEH + "ALICE event not ready.");
     return fgCurrent->GetEventId();
@@ -1490,35 +1408,35 @@ Int_t AliEveEventManager::CurrentEventId()
 Bool_t AliEveEventManager::HasRunLoader()
 {
     // Check if AliRunLoader is initialized.
-
+    
     return fgCurrent && fgCurrent->fHasEvent && fgCurrent->fRunLoader;
 }
 
 Bool_t AliEveEventManager::HasESD()
 {
     // Check if AliESDEvent is initialized.
-
+    
     return fgCurrent && fgCurrent->fHasEvent && fgCurrent->fESD;
 }
 
 Bool_t AliEveEventManager::HasESDfriend()
 {
     // Check if AliESDfriend is initialized.
-
+    
     return fgCurrent && fgCurrent->fHasEvent && fgCurrent->fESDfriend;
 }
 
 Bool_t AliEveEventManager::HasAOD()
 {
     // Check if AliESDEvent is initialized.
-
+    
     return fgCurrent && fgCurrent->fHasEvent && fgCurrent->fAOD;
 }
 
 Bool_t AliEveEventManager::HasRawReader()
 {
     // Check if raw-reader is initialized.
-
+    
     return fgCurrent && fgCurrent->fHasEvent && fgCurrent->fRawReader;
 }
 
@@ -1527,9 +1445,9 @@ AliRunLoader* AliEveEventManager::AssertRunLoader()
     // Make sure AliRunLoader is initialized and return it.
     // Throws exception in case run-loader is not available.
     // Static utility for macros.
-
+    
     static const TEveException kEH("AliEveEventManager::AssertRunLoader ");
-
+    
     if (fgCurrent == 0 || fgCurrent->fHasEvent == kFALSE)
         throw (kEH + "ALICE event not ready.");
     if (fgCurrent->fRunLoader == 0)
@@ -1542,9 +1460,9 @@ AliESDEvent* AliEveEventManager::AssertESD()
     // Make sure AliESDEvent is initialized and return it.
     // Throws exception in case ESD is not available.
     // Static utility for macros.
-
+    
     static const TEveException kEH("AliEveEventManager::AssertESD ");
-
+    
     if (fgCurrent == 0 || fgCurrent->fHasEvent == kFALSE)
         throw (kEH + "ALICE event not ready.");
     if (fgCurrent->fESD == 0)
@@ -1557,9 +1475,9 @@ AliESDfriend* AliEveEventManager::AssertESDfriend()
     // Make sure AliESDfriend is initialized and return it.
     // Throws exception in case ESDfriend-loader is not available.
     // Static utility for macros.
-
+    
     static const TEveException kEH("AliEveEventManager::AssertESDfriend ");
-
+    
     if (fgCurrent == 0 || fgCurrent->fHasEvent == kFALSE)
         throw (kEH + "ALICE event not ready.");
     if (fgCurrent->fESDfriend == 0)
@@ -1572,9 +1490,9 @@ AliAODEvent* AliEveEventManager::AssertAOD()
     // Make sure AliAODEvent is initialized and return it.
     // Throws exception in case AOD is not available.
     // Static utility for macros.
-
+    
     static const TEveException kEH("AliEveEventManager::AssertAOD ");
-
+    
     if (fgCurrent == 0 || fgCurrent->fHasEvent == kFALSE)
         throw (kEH + "ALICE event not ready.");
     if (fgCurrent->fAOD == 0)
@@ -1585,30 +1503,30 @@ AliAODEvent* AliEveEventManager::AssertAOD()
 AliRawReader* AliEveEventManager::AssertRawReader()
 {
     // Make sure raw-reader is initialized and return it.
-
+    
     static const TEveException kEH("AliEveEventManager::AssertRawReader ");
-
+    
     if (fgCurrent == 0 || fgCurrent->fHasEvent == kFALSE)
         throw (kEH + "ALICE event not ready.");
     if (fgCurrent->fRawReader == 0)
         throw (kEH + "RawReader not ready.");
-
+    
     return fgCurrent->fRawReader;
 }
 
 //==============================================================================
 
-AliMagF* AliEveEventManager::AssertMagField()   
-{       
+AliMagF* AliEveEventManager::AssertMagField()
+{
     // Make sure AliMagF is initialized and returns it.
     // Throws exception in case magnetic field is not available.
     // Static utility for macros.
-
+    
     static const TEveException kEH("AliEveEventManager::AssertMagField ");
-
+    
     if (fgMagField)
         return fgMagField;
-
+    
     if (TGeoGlobalMagField::Instance()->GetField())
     {
         fgMagField = dynamic_cast<AliMagF*>(TGeoGlobalMagField::Instance()->GetField());
@@ -1616,12 +1534,12 @@ AliMagF* AliEveEventManager::AssertMagField()
             throw kEH + "Global field set, but it is not AliMagF.";
         return fgMagField;
     }
-
+    
     if (!fgGRPLoaded)
     {
         InitGRP();
     }
-
+    
     if (TGeoGlobalMagField::Instance()->GetField())
     {
         fgMagField = dynamic_cast<AliMagF*>(TGeoGlobalMagField::Instance()->GetField());
@@ -1632,7 +1550,7 @@ AliMagF* AliEveEventManager::AssertMagField()
     {
         throw kEH + "Could not initialize magnetic field.";
     }
-
+    
     return fgMagField;
 }
 
@@ -1644,14 +1562,14 @@ TGeoManager* AliEveEventManager::AssertGeometry()
     // Throws exception if geometry can not be loaded or if it is not
     // available and the TGeoManager is locked.
     // Static utility for macros.
-
+    
     static const TEveException kEH("AliEveEventManager::AssertGeometry ");
-
+    
     if (AliGeomManager::GetGeometry() == 0)
     {
         if (TGeoManager::IsLocked())
             throw (kEH + "geometry is not loaded but TGeoManager is locked.");
-
+        
         gGeoManager = 0;
         AliGeomManager::LoadGeometry();
         if ( ! AliGeomManager::GetGeometry())
@@ -1665,7 +1583,7 @@ TGeoManager* AliEveEventManager::AssertGeometry()
         }
         AliGeomManager::GetGeometry()->DefaultColors();
     }
-
+    
     gGeoManager = AliGeomManager::GetGeometry();
     return gGeoManager;
 }
@@ -1674,7 +1592,7 @@ AliRecoParam* AliEveEventManager::AssertRecoParams()
 {
     if(!fgRecoParam)
         InitRecoParam();
-
+    
     return fgRecoParam;
 }
 
@@ -1683,20 +1601,20 @@ Bool_t AliEveEventManager::InitRecoParam()
     // This is mostly a reap-off from reconstruction
     // The method accesses OCDB and retrieves all
     // the available reco-param objects from there.
-
+    
     fgRecoParam = new AliRecoParam;
     const Int_t  kNDetectors = 14;
-
+    
     static const TEveException kEH("AliEveEventManager::InitRecoParam");
-
+    
     Bool_t isOK = kTRUE;
-
+    
     if (fgRecoParam->GetDetRecoParamArray(kNDetectors)) {
         ::Info(kEH, "Using custom GRP reconstruction parameters");
     }
     else {
         ::Info(kEH, "Loading GRP reconstruction parameter objects");
-
+        
         AliCDBPath path("GRP","Calib","RecoParam");
         AliCDBEntry *entry=AliCDBManager::Instance()->Get(path.GetPath());
         if(!entry){
@@ -1724,19 +1642,19 @@ Bool_t AliEveEventManager::InitRecoParam()
             entry->SetOwner(0);
         }
     }
-
+    
     const char* fgkDetectorName[kNDetectors] = {"ITS", "TPC", "TRD", "TOF", "PHOS", "HMPID", "EMCAL", "MUON", "FMD", "ZDC", "PMD", "T0", "VZERO", "ACORDE" };
-
-
+    
+    
     for (Int_t iDet = 0; iDet < kNDetectors; iDet++) {
-
+        
         if (fgRecoParam->GetDetRecoParamArray(iDet)) {
             ::Info(kEH, "Using custom reconstruction parameters for detector %s",fgkDetectorName[iDet]);
             continue;
         }
-
+        
         ::Info(kEH, "Loading reconstruction parameter objects for detector %s",fgkDetectorName[iDet]);
-
+        
         AliCDBPath path(fgkDetectorName[iDet],"Calib","RecoParam");
         AliCDBEntry *entry=AliCDBManager::Instance()->Get(path.GetPath());
         if(!entry){
@@ -1762,26 +1680,26 @@ Bool_t AliEveEventManager::InitRecoParam()
                 isOK = kFALSE;
             }
             entry->SetOwner(0);
-
+            
         }
     }
-
+    
     if(!isOK) {
         delete fgRecoParam;
         fgRecoParam = 0;
     }
-
+    
     return isOK;
 }
 
 TTree *AliEveEventManager::readESDTree(const char *treeName, int &runNo)
 {
     if(!fESDFile && !fESD) return 0;
-
+    
     static const TEveException kEH("AliEveEventManager::readESDTree ");
-
+    
     TTree* tempTree = 0;
-
+    
     tempTree =(TTree*) fESDFile->Get(treeName);
     if (tempTree != 0)
     {
@@ -1796,7 +1714,7 @@ TTree *AliEveEventManager::readESDTree(const char *treeName, int &runNo)
             }
             delete esdFriendFile;
         }
-
+        
         fESD->ReadFromTree(tempTree);
         if (fESDfriendExists)
         {
@@ -1807,7 +1725,7 @@ TTree *AliEveEventManager::readESDTree(const char *treeName, int &runNo)
         {
             Warning(kEH, "ESDfriend not found.");
         }
-
+        
         if (tempTree->GetEntry(0) <= 0)
         {
             Warning(kEH, "failed getting the first entry from tree: %s", treeName);
@@ -1822,7 +1740,7 @@ TTree *AliEveEventManager::readESDTree(const char *treeName, int &runNo)
     {
         Warning(kEH, "failed getting the tree:%s", treeName);
     }
-
+    
     return tempTree;
 }
 
@@ -1833,18 +1751,18 @@ AliEveEventManager* AliEveEventManager::AddDependentManager(const TString& name,
 {
     // Create and attach a dependent event-manager.
     // It is not added into eve list tree.
-
+    
     static const TEveException kEH("AliEveEventManager::AddDependentManager ");
-
+    
     if (fgMaster == 0)
         throw(kEH + "Master event-manager must be instantiated first.");
-
+    
     if (fgMaster->fSubManagers == 0)
     {
         fgMaster->fSubManagers = new TList;
         fgMaster->fSubManagers->SetOwner(kTRUE);
     }
-
+    
     AliEveEventManager* new_mgr = 0;
     fgCurrent = 0;
     try
@@ -1858,7 +1776,7 @@ AliEveEventManager* AliEveEventManager::AddDependentManager(const TString& name,
         ::Error(kEH, "Creation of new event-manager failed: '%s'.", exc.Data());
     }
     fgCurrent = fgMaster;
-
+    
     return new_mgr;
 }
 
@@ -1867,29 +1785,29 @@ AliEveEventManager* AliEveEventManager::GetDependentManager(const TString& name)
     // Get a dependant manager by name.
     // This will not change the current manager, use helper class
     // AliEveEventManager::CurrentChanger for that.
-
+    
     static const TEveException kEH("AliEveEventManager::GetDependentManager ");
-
+    
     if (fgMaster == 0)
         throw(kEH + "Master event-manager must be instantiated first.");
-
+    
     if (fgMaster->fSubManagers == 0)
         return 0;
-
+    
     return dynamic_cast<AliEveEventManager*>(fgMaster->fSubManagers->FindObject(name));
 }
 
 AliEveEventManager* AliEveEventManager::GetMaster()
 {
     // Get master event-manager.
-
+    
     return fgMaster;
 }
 
 AliEveEventManager* AliEveEventManager::GetCurrent()
 {
     // Get current event-manager.
-
+    
     return fgCurrent;
 }
 
@@ -1910,22 +1828,22 @@ void AliEveEventManager::RegisterTransientList(TEveElement* element)
 void AliEveEventManager::SetAutoLoadTime(Float_t time)
 {
     // Set the auto-load time in seconds
-
+    
     fAutoLoadTime = time;
 }
 
 void AliEveEventManager::SetAutoLoad(Bool_t autoLoad)
 {
     // Set the automatic event loading mode
-
+    
     static const TEveException kEH("AliEveEventManager::SetAutoLoad ");
-
+    
     if (fAutoLoad == autoLoad)
     {
         Warning(kEH, "Setting autoload to the same value as before - %s. Ignoring.", fAutoLoad ? "true" : "false");
         return;
     }
-
+    
     fAutoLoad = autoLoad;
     if (fAutoLoad)
     {
@@ -1940,24 +1858,24 @@ void AliEveEventManager::SetAutoLoad(Bool_t autoLoad)
 void AliEveEventManager::SetLoopMarked(Bool_t loopMarked)
 {
     // Set the automatic event loading mode
-  if(fLoopMarked == loopMarked)
+    if(fLoopMarked == loopMarked)
     {
-      cout<<"loop marked has the same value - ignoring"<<endl;
-      return;
+        cout<<"loop marked has the same value - ignoring"<<endl;
+        return;
     }
-  else
+    else
     {
-      cout<<"Setting loof marked to:"<<loopMarked<<endl;
-      fLoopMarked = loopMarked;
-      if (fLoopMarked){StartAutoLoadTimer();}
-      else{StopAutoLoadTimer();}
+        cout<<"Setting loof marked to:"<<loopMarked<<endl;
+        fLoopMarked = loopMarked;
+        if (fLoopMarked){StartAutoLoadTimer();}
+        else{StopAutoLoadTimer();}
     }
 }
 
 void AliEveEventManager::SetTrigSel(Int_t trig)
 {
     static const TEveException kEH("AliEveEventManager::SetTrigSel ");
-
+    
     if (!fRawReader)
     {
         Warning(kEH, "No Raw-reader exists. Ignoring the call.");
@@ -1975,7 +1893,7 @@ void AliEveEventManager::SetTrigSel(Int_t trig)
 void AliEveEventManager::StartAutoLoadTimer()
 {
     // Start the auto-load timer.
-
+    
     fAutoLoadTimer->SetTime((Long_t)(1000*fAutoLoadTime));
     fAutoLoadTimer->Reset();
     fAutoLoadTimer->TurnOn();
@@ -1985,31 +1903,31 @@ void AliEveEventManager::StartAutoLoadTimer()
 void AliEveEventManager::StopAutoLoadTimer()
 {
     // Stop the auto-load timer.
-
+    
     fAutoLoadTimerRunning = kFALSE;
     fAutoLoadTimer->TurnOff();
 }
 
 void AliEveEventManager::AutoLoadNextEvent()
 {
-       // Called from auto-load timer, so it has to be public.
-       // Do NOT call it directly.
-
-       static const TEveException kEH("AliEveEventManager::AutoLoadNextEvent ");
-         
-       Info(kEH, "called!");
-
-       if ( ! fAutoLoadTimerRunning || ! fAutoLoadTimer->HasTimedOut())
-       {
-               Warning(kEH, "Called unexpectedly - ignoring the call. Should ONLY be called from an internal timer.");
-               return;
-       }
-
-       StopAutoLoadTimer();
-       NextEvent();
-       if (fAutoLoad || fLoopMarked){
-               StartAutoLoadTimer();
-       }
+    // Called from auto-load timer, so it has to be public.
+    // Do NOT call it directly.
+    
+    static const TEveException kEH("AliEveEventManager::AutoLoadNextEvent ");
+    
+    Info(kEH, "called!");
+    
+    if ( ! fAutoLoadTimerRunning || ! fAutoLoadTimer->HasTimedOut())
+    {
+        Warning(kEH, "Called unexpectedly - ignoring the call. Should ONLY be called from an internal timer.");
+        return;
+    }
+    
+    StopAutoLoadTimer();
+    NextEvent();
+    if (fAutoLoad || fLoopMarked){
+        StartAutoLoadTimer();
+    }
 }
 
 //------------------------------------------------------------------------------
@@ -2018,43 +1936,43 @@ void AliEveEventManager::AutoLoadNextEvent()
 
 void AliEveEventManager::AfterNewEventLoaded()
 {
-  // Execute registered macros and commands.
-  // At the end emit NewEventLoaded signal.
-  //
-  // Virtual from TEveEventManager.
-
-  static const TEveException kEH("AliEveEventManager::AfterNewEventLoaded ");
-
-  Info(kEH, "------------------!!!------------");
-                      
-  NewEventDataLoaded();
-  if (fExecutor) fExecutor->ExecMacros();
-
-  TEveEventManager::AfterNewEventLoaded();
-  NewEventLoaded();
-
-  if (this == fgMaster && fSubManagers != 0)
-  {
-    TIter next(fSubManagers);
-    while ((fgCurrent = dynamic_cast<AliEveEventManager*>(next())) != 0)
-    {
-      gEve->SetCurrentEvent(fgCurrent);
-      try
-      {
-        fgCurrent->GotoEvent(fEventId);
-      }
-      catch (TEveException& exc)
-      {
-        // !!! Should somehow tag / disable / remove it?
-        Error(kEH, "Getting event %d for sub-event-manager '%s' failed: '%s'.",
-              fEventId, fgCurrent->GetName(), exc.Data());
-      }
-      Info(kEH, "------------------!!! while() gEve->SetCurrentEvent() ------------");
+    // Execute registered macros and commands.
+    // At the end emit NewEventLoaded signal.
+    //
+    // Virtual from TEveEventManager.
+    
+    static const TEveException kEH("AliEveEventManager::AfterNewEventLoaded ");
+    
+    Info(kEH, "------------------!!!------------");
+    
+    NewEventDataLoaded();
+    if (fExecutor) fExecutor->ExecMacros();
+    
+    TEveEventManager::AfterNewEventLoaded();
+    NewEventLoaded();
+    
+    if (this == fgMaster && fSubManagers != 0)
+    {
+        TIter next(fSubManagers);
+        while ((fgCurrent = dynamic_cast<AliEveEventManager*>(next())) != 0)
+        {
+            gEve->SetCurrentEvent(fgCurrent);
+            try
+            {
+                fgCurrent->GotoEvent(fEventId);
+            }
+            catch (TEveException& exc)
+            {
+                // !!! Should somehow tag / disable / remove it?
+                Error(kEH, "Getting event %d for sub-event-manager '%s' failed: '%s'.",
+                      fEventId, fgCurrent->GetName(), exc.Data());
+            }
+            Info(kEH, "------------------!!! while() gEve->SetCurrentEvent() ------------");
+        }
+        fgCurrent = fgMaster;
+        Info(kEH, "------------------!!! while() gEve->SetCurrentEvent(MASTER) ------------");
+        gEve->SetCurrentEvent(fgMaster);
     }
-    fgCurrent = fgMaster;
-    Info(kEH, "------------------!!! while() gEve->SetCurrentEvent(MASTER) ------------");
-    gEve->SetCurrentEvent(fgMaster);
-  }
 }
 
 void AliEveEventManager::NewEventDataLoaded()
@@ -2088,19 +2006,19 @@ void AliEveEventManager::StorageManagerDown()
 // Event info dumpers
 //------------------------------------------------------------------------------
 
-const AliEventInfo* AliEveEventManager::GetEventInfo() 
+const AliEventInfo* AliEveEventManager::GetEventInfo()
 {
     // Fill the event info object
-
+    
     AliCentralTrigger *aCTP = NULL;
     if (fRawReader) {
         fEventInfo.SetEventType(fRawReader->GetType());
-
+        
         ULong64_t mask = fRawReader->GetClassMask();
         fEventInfo.SetTriggerMask(mask);
         UInt_t clmask = fRawReader->GetDetectorPattern()[0];
         fEventInfo.SetTriggerCluster(AliDAQ::ListOfTriggeredDetectors(clmask));
-
+        
         aCTP = new AliCentralTrigger();
         TString configstr("");
         if (!aCTP->LoadConfiguration(configstr)) { // Load CTP config from OCDB
@@ -2110,7 +2028,7 @@ const AliEventInfo* AliEveEventManager::GetEventInfo()
         }
         aCTP->SetClassMask(mask);
         aCTP->SetClusterMask(clmask);
-
+        
         if (fRunLoader) {
             AliCentralTrigger* rlCTP = fRunLoader->GetTrigger();
             if (rlCTP) {
@@ -2121,7 +2039,7 @@ const AliEventInfo* AliEveEventManager::GetEventInfo()
     }
     else {
         fEventInfo.SetEventType(AliRawEventHeaderBase::kPhysicsEvent);
-
+        
         if (fRunLoader && (!fRunLoader->LoadTrigger())) {
             aCTP = fRunLoader->GetTrigger();
             fEventInfo.SetTriggerMask(aCTP->GetClassMask());
@@ -2137,16 +2055,16 @@ const AliEventInfo* AliEveEventManager::GetEventInfo()
             return 0;
         }
     }
-
+    
     AliTriggerConfiguration *config = aCTP->GetConfiguration();
     if (!config) {
         AliError("No trigger configuration has been found! The trigger configuration information will not be used!");
         if (fRawReader) delete aCTP;
         return 0;
     }
-
+    
     TString declTriggerClasses;
-
+    
     // Load trigger aliases and declare the trigger classes included in aliases
     AliCDBEntry * entry = AliCDBManager::Instance()->Get("GRP/CTP/Aliases");
     if (entry) {
@@ -2169,7 +2087,7 @@ const AliEventInfo* AliEveEventManager::GetEventInfo()
     else {
         AliError("No OCDB entry for the trigger aliases!");
     }
-
+    
     // Load trigger classes for this run
     UChar_t clustmask = 0;
     TString trclasses;
@@ -2191,14 +2109,14 @@ const AliEventInfo* AliEveEventManager::GetEventInfo()
         }
     }
     fEventInfo.SetTriggerClasses(trclasses);
-
+    
     if (!aCTP->CheckTriggeredDetectors()) {
         if (fRawReader) delete aCTP;
         return 0;
     }
-
+    
     if (fRawReader) delete aCTP;
-
+    
     // everything went ok, return pointer
     return (&fEventInfo);
 }
@@ -2207,9 +2125,9 @@ const AliEventInfo* AliEveEventManager::GetEventInfo()
 TString AliEveEventManager::GetEventInfoHorizontal() const
 {
     // Dumps the event-header contents in vertical formatting.
-
+    
     TString rawInfo, esdInfo;
-
+    
     if (!fRawReader)
     {
         rawInfo = "No raw-data event info is available!\n";
@@ -2226,7 +2144,7 @@ TString AliEveEventManager::GetEventInfoHorizontal() const
                      *fRawReader->GetDetectorPattern(),AliDAQ::ListOfTriggeredDetectors(*fRawReader->GetDetectorPattern()),
                      attr[0],attr[1],attr[2], ts.AsString("s"));
     }
-
+    
     if (!fESD)
     {
         esdInfo = "No ESD event info is available!";
@@ -2245,16 +2163,16 @@ TString AliEveEventManager::GetEventInfoHorizontal() const
                      fESD->GetTriggerMask(),firedtrclasses.Data(),
                      fESD->GetEventNumberInFile(), ts.AsString("s"), fESD->GetMagneticField());
     }
-
+    
     return rawInfo + esdInfo;
 }
 
 TString AliEveEventManager::GetEventInfoVertical() const
 {
     // Dumps the event-header contents in vertical formatting.
-
+    
     TString rawInfo, esdInfo;
-
+    
     if (!fRawReader)
     {
         rawInfo = "No raw-data event info is available!\n";
@@ -2270,7 +2188,7 @@ TString AliEveEventManager::GetEventInfoVertical() const
                      attr[0],attr[1],attr[2],
                      fRawReader->GetTimestamp());
     }
-
+    
     if (!fESD)
     {
         esdInfo = "No ESD event info is available!\n";
@@ -2288,7 +2206,7 @@ TString AliEveEventManager::GetEventInfoVertical() const
                      fESD->GetEventNumberInFile(),
                      fESD->GetTimeStamp());
     }
-
+    
     return rawInfo + "\n" + esdInfo;
 }
 
@@ -2304,9 +2222,9 @@ Bool_t AliEveEventManager::InitGRP()
     //------------------------------------
     // Initialization of the GRP entry
     //------------------------------------
-
+    
     static const TEveException kEH("AliEveEventManager::InitGRP ");
-
+    
     AliGRPManager grpMgr;
     if (!grpMgr.ReadGRPEntry()) {
         return kFALSE;
@@ -2315,33 +2233,33 @@ Bool_t AliEveEventManager::InitGRP()
     if (!grpMgr.SetMagField()) {
         throw kEH + "Setting of field failed!";
     }
-
+    
     //*** Get the diamond profiles from OCDB
     // Eventually useful.
-
+    
     /*
-    entry = AliCDBManager::Instance()->Get("GRP/Calib/MeanVertexSPD");
-    if (entry) {
-    fDiamondProfileSPD = dynamic_cast<AliESDVertex*> (entry->GetObject());
-    } else {
-    ::Error(kEH, "No SPD diamond profile found in OCDB!");
-    }
-
-    entry = AliCDBManager::Instance()->Get("GRP/Calib/MeanVertex");
-    if (entry) {
-    fDiamondProfile = dynamic_cast<AliESDVertex*> (entry->GetObject());
-    } else {
-    ::Error(kEH, "No diamond profile found in OCDB!");
-    }
-
-    entry = AliCDBManager::Instance()->Get("GRP/Calib/MeanVertexTPC");
-    if (entry) {
-    fDiamondProfileTPC = dynamic_cast<AliESDVertex*> (entry->GetObject());
-    } else {
-    ::Error(kEH, "No TPC diamond profile found in OCDB!");
-    }
-  */
-
+     entry = AliCDBManager::Instance()->Get("GRP/Calib/MeanVertexSPD");
+     if (entry) {
+     fDiamondProfileSPD = dynamic_cast<AliESDVertex*> (entry->GetObject());
+     } else {
+     ::Error(kEH, "No SPD diamond profile found in OCDB!");
+     }
+     
+     entry = AliCDBManager::Instance()->Get("GRP/Calib/MeanVertex");
+     if (entry) {
+     fDiamondProfile = dynamic_cast<AliESDVertex*> (entry->GetObject());
+     } else {
+     ::Error(kEH, "No diamond profile found in OCDB!");
+     }
+     
+     entry = AliCDBManager::Instance()->Get("GRP/Calib/MeanVertexTPC");
+     if (entry) {
+     fDiamondProfileTPC = dynamic_cast<AliESDVertex*> (entry->GetObject());
+     } else {
+     ::Error(kEH, "No TPC diamond profile found in OCDB!");
+     }
+     */
+    
     return kTRUE;
 } 
 
@@ -2365,7 +2283,7 @@ Bool_t AliEveEventManager::InsertGlobal(const TString& tag, TEveElement* model,
         {
             model->IncDenyDestroy();
             model->SetRnrChildren(kFALSE);
-
+            
             TEveElement* old_model = dynamic_cast<TEveElement*>(pair->Value());
             if(!old_model) AliFatal("old_model == 0, dynamic cast failed\n");
             while (old_model->HasChildren())
@@ -2379,7 +2297,7 @@ Bool_t AliEveEventManager::InsertGlobal(const TString& tag, TEveElement* model,
                 }
             }
             old_model->DecDenyDestroy();
-
+            
             pair->SetValue(dynamic_cast<TObject*>(model));
             return kTRUE;
         }
@@ -2403,12 +2321,12 @@ TEveElement* AliEveEventManager::FindGlobal(const TString& tag)
 }
 Int_t AliEveEventManager::NewEventAvailable()
 {
-  if (fIsNewEventAvaliable)
-  {
-    return 1;
-  }
-  else
-  {
-    return 0;
-  }
+    if (fIsNewEventAvaliable)
+    {
+        return 1;
+    }
+    else
+    {
+        return 0;
+    }
 }