ROOT logo
// $Id: AliEveEventManager.cxx 64557 2013-10-16 20:03:08Z hristov $
// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007

/**************************************************************************
 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
 * full copyright notice.                                                 *
 **************************************************************************/

#include "AliEveEventManager.h"
#include "AliEveEventSelector.h"
#include "AliEveMacroExecutor.h"
#include "AliEveConfigManager.h"
#include "AliEveVSDCreator.h"

#include <THashList.h>
#include <TEveElement.h>
#include <TEveManager.h>
#include <TEveViewer.h>

#include <AliLog.h>
#include <AliRunLoader.h>
#include <AliRun.h>
#include <AliESDRun.h>
#include <AliESDEvent.h>
#include <AliESDfriend.h>
#include <AliAODEvent.h>

#include <AliRecoParam.h>
#include <AliCentralTrigger.h>
#include <AliCDBEntry.h>
#include <AliTriggerClass.h>
#include <AliTriggerConfiguration.h>
#include <AliTriggerCluster.h>
#include <AliDetectorRecoParam.h>

#include <AliDAQ.h>
#include <AliRawEventHeaderBase.h>
#include <AliRawReaderRoot.h>
#include <AliRawReaderFile.h>
#include <AliRawReaderDate.h>
#include <AliMagF.h>
#include <AliCDBManager.h>
#include <AliCDBStorage.h>
#include <AliGRPObject.h>
#include <AliHeader.h>
#include <AliGeomManager.h>
#include <AliGRPManager.h>
#include <AliSysInfo.h>

#include <TFile.h>
#include <TTree.h>
#include <TGeoManager.h>
#include <TGeoGlobalMagField.h>
#include <TSystem.h>
#include <TTimeStamp.h>
#include <TPRegexp.h>
#include <TError.h>
#include <TEnv.h>
#include <TString.h>
#include <TMap.h>
#include <TROOT.h>

#ifdef ZMQ
#include "AliStorageEventManager.h"
#endif

using std::cout;
using std::endl;
using std::vector;
//==============================================================================
//==============================================================================
// AliEveEventManager
//==============================================================================

//______________________________________________________________________________
//
// Provides interface for loading and navigating standard AliRoot data
// (AliRunLoader), ESD, AOD and RAW.
//
// ESDfriend is attached automatically, if the file is found.
//
// AODfriends are not attached automatically as there are several
// possible files involved. To have a specific AODfriend attached, call
// static method
//   AliEveEventManager::AddAODfriend("AliAOD.VertexingHF.root");
// before initializing the event-manager.
//
// Also provides interface to magnetic-field and geometry. Mostly
// intended as wrappers over standard AliRoot functionality for
// convenient use from visualizateion macros.
//
// There can be a single main event-manger, it is stored in private
// data member fgMaster and can be accessed via static member function
// GetMaster().
//
// For event overlaying and embedding one can instantiate additional
// event-managers via static method AddDependentManager(const TString& path).
// This interface is under development.

ClassImp(AliEveEventManager)

Bool_t AliEveEventManager::fgAssertRunLoader = kFALSE;
Bool_t AliEveEventManager::fgAssertESD       = kFALSE;
Bool_t AliEveEventManager::fgAssertAOD       = kFALSE;
Bool_t AliEveEventManager::fgAssertRaw       = kFALSE;

TString  AliEveEventManager::fgESDFileName("AliESDs.root");
AliEveEventManager::EVisibleESDTrees  AliEveEventManager::fgESDvisibleTrees(AliEveEventManager::kOfflineTree);
TString  AliEveEventManager::fgESDfriendsFileName("AliESDfriends.root");
TString  AliEveEventManager::fgAODFileName("AliAOD.root");
TString  AliEveEventManager::fgGAliceFileName("galice.root");
TString  AliEveEventManager::fgRawFileName("raw.root");
TString  AliEveEventManager::fgCdbUri;

TList*   AliEveEventManager::fgAODfriends = 0;

Bool_t   AliEveEventManager::fgRawFromStandardLoc = kFALSE;

Bool_t   AliEveEventManager::fgGRPLoaded    = kFALSE;
AliMagF* AliEveEventManager::fgMagField     = 0;
AliRecoParam* AliEveEventManager::fgRecoParam = 0;
Bool_t   AliEveEventManager::fgUniformField = kFALSE;

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),
    fEventInUse(1),
    fWritingToEventIndex(0),
    fIsNewEventAvaliable(false),
	fOnlineMode(kFALSE),
    fStorageDown(false),
    fFinished(false)
{
    // Constructor with event-id.
		
    InitInternals();

    Open();
    if (ev >= 0)
    {
        GotoEvent(ev);
    }
    
    if (0 == name.CompareTo("online")) {
      fOnlineMode = kTRUE;
    }
    else{
      fOnlineMode = kFALSE;
    }


#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();
      }
#else
    cout<<"NO ZMQ FOUND. Online events not avaliable."<<endl;
#endif
}

AliEveEventManager::~AliEveEventManager()
{
    // Destructor.
    
    fFinished = true;
    if(fEventListenerThread)
    {
        fEventListenerThread->Join();
        fEventListenerThread->Kill();
        delete fEventListenerThread;
        cout<<"listener thread killed and deleted"<<endl;
    }
    if(fStorageManagerWatcherThread)
    {
        fStorageManagerWatcherThread->Join();
        fStorageManagerWatcherThread->Kill();
        delete fStorageManagerWatcherThread;
        cout<<"storage watcher thread killed and deleted"<<endl;
    }
    
    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();

    //delete fExecutor;
}

void AliEveEventManager::GetNextEvent()
{
#ifdef ZMQ
  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;
    list.eventNumber[1]=999999;
    list.marked[0]=1;
    list.marked[1]=1;
    list.multiplicity[0]=1;
    list.multiplicity[1]=999999;
    strcpy(list.system[0],"p-p");
    strcpy(list.system[1],"A-A");
    
    struct serverRequestStruct *requestMessage = new struct serverRequestStruct;
    requestMessage->messageType = REQUEST_LIST_EVENTS;
    requestMessage->list = list;
    
    eventManager->Send(requestMessage,SERVER_COMMUNICATION_REQ);
    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;
    }
    
    int iter=0;
    while(!fFinished)
    {
        if(!fLoopMarked || receivedList.size()<=0)
        {
            cout<<"taking event from reco server"<<endl;
            tmpEvent = eventManager->GetEvent(EVENTS_SERVER_SUB,5000);
            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;
                
                eventManager->Send(requestMessage,SERVER_COMMUNICATION_REQ);
                tmpEvent = eventManager->GetEvent(SERVER_COMMUNICATION_REQ);

                iter++;
                sleep(1);
            }
            else{iter=0;}
        }
        
        if(tmpEvent)
        {
            cout<<"tmpEvent:"<<tmpEvent->GetRunNumber()<<endl;
            if(tmpEvent->GetRunNumber()>=0)
            {
                fMutex->Lock();
                if(fEventInUse == 0){fWritingToEventIndex = 1;}
                else if(fEventInUse == 1){fWritingToEventIndex = 0;}
                cout<<"Received new event:"<<tmpEvent->GetEventNumberInFile()<<endl;
                if(fCurrentEvent[fWritingToEventIndex])
                {
                    delete fCurrentEvent[fWritingToEventIndex];
                    fCurrentEvent[fWritingToEventIndex]=0;
                }
                fCurrentEvent[fWritingToEventIndex] = tmpEvent;
                fIsNewEventAvaliable = true;
                NewEventLoaded();
                fMutex->UnLock();
            }
        }
        else{cout<<"didn't receive new event"<<endl;}
    }
    delete requestMessage;
    
#endif
}

void AliEveEventManager::CheckStorageStatus()
{
#ifdef ZMQ
  if(!fOnlineMode){return;}

    AliEveConfigManager *configManager = AliEveConfigManager::GetMaster();
    configManager->ConnectEventManagerSignals();
    
    AliStorageEventManager *eventManager = AliStorageEventManager::GetEventManagerInstance();
    eventManager->CreateSocket(CLIENT_COMMUNICATION_REQ);
    
    struct clientRequestStruct *request = new struct clientRequestStruct;
    request->messageType = REQUEST_CONNECTION;
    
    while (!fFinished)
    {
        if(eventManager->Send(request,CLIENT_COMMUNICATION_REQ,5000))
        {
            StorageManagerOk();
            long response = eventManager->GetLong(CLIENT_COMMUNICATION_REQ);
	    fStorageDown = kFALSE;
        }
        else
        {
            StorageManagerDown();
            cout<<"WARNING -- Storage Manager is DOWN!!"<<endl;
            fStorageDown = kTRUE;
        }
        sleep(1);
    }
    
    AliEveEventManager *manager = AliEveEventManager::GetCurrent();
    manager->Disconnect("StorageManagerOk");
    manager->Disconnect("StorageManagerDown");
    
#endif
}

void AliEveEventManager::InitInternals()
{
    // Initialize internal members.
    
    static const TEveException kEH("AliEveEventManager::InitInternals ");
    
    if (fgCurrent != 0)
    {
        throw(kEH + "Dependent event-managers should be created via static method AddDependentManager().");
    }
    
    if (fgMaster == 0)
    {
        fgMaster = this;
    }
    
    fgCurrent = this;
    
    fAutoLoadTimer = new TTimer;
    fAutoLoadTimer->Connect("Timeout()", "AliEveEventManager", this, "AutoLoadNextEvent()");
    fAutoLoadTimer->Connect("Timeout()", "AliEveEventManager", this, "Timeout()");
    
    fExecutor = new AliEveMacroExecutor;
    
    fTransients = new TEveElementList("Transients", "Transient per-event elements.");
    fTransients->IncDenyDestroy();
    gEve->AddToListTree(fTransients, kFALSE);
    
    fTransientLists = new TEveElementList("Transient Lists", "Containers of transient elements.");
    fTransientLists->IncDenyDestroy();
    gEve->AddToListTree(fTransientLists, kFALSE);
    
    fPEventSelector = new AliEveEventSelector(this);
    
    fGlobal = new TMap; fGlobal->SetOwnerKeyValue();
}

/******************************************************************************/

void AliEveEventManager::SetESDFileName(const TString& esd, EVisibleESDTrees shown)
{
    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;
    
    if (esdf.EndsWith(".zip")) fgESDfriendsFileName.Form("%s#AliESDfriends.root",esdf.Data());
}

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;
        fgAODfriends->SetOwner(kTRUE);
    }
    if (fgAODfriends->FindObject(friendFileName) == 0)
    {
        fgAODfriends->Add(new TObjString(friendFileName));
    }
}

void AliEveEventManager::SetRawFileName(const TString& raw)
{
    // Set file-name for opening of raw-data, default "raw.root"
    if (raw.IsNull()) return;
    
    fgRawFileName = raw;
}

void AliEveEventManager::SetCdbUri(const TString& cdb)
{
    // Set path to CDB, there is no default.
    if ( ! cdb.IsNull()) fgCdbUri = cdb;
}

void AliEveEventManager::SetGAliceFileName(const TString& galice)
{
    // Set file-name for opening gAlice, default "galice.root".

    if ( galice.IsNull()) return;
    fgGAliceFileName = galice;
    
    if (galice.EndsWith(".zip")) fgGAliceFileName.Form("%s#galice.root",galice.Data());
}

void AliEveEventManager::SetFilesPath(const TString& urlPath)
{
    TString path = urlPath;
    gSystem->ExpandPathName(path);
    if (path.IsNull() || path == ".")
    {
        path = gSystem->WorkingDirectory();
    }

    TString sep;
    if(path.EndsWith(".zip")) // if given a path to root_archive.zip
        sep= "#";
    else if(!path.EndsWith("/"))
        sep = "/";
    
    SetESDFileName( TString(Form("%s%sAliESDs.root", path.Data(), sep.Data())) );
    SetESDfriendFileName(  TString(Form("%s%sAliESDfriends.root", path.Data(), sep.Data())) );
    SetAODFileName(  TString(Form("%s%sAliAOD.root", path.Data(), sep.Data())) );
    AddAODfriend(  TString(Form("%s%sAliAOD.VertexingHF.root", path.Data(), sep.Data())) );
    SetGAliceFileName( TString(Form("%s%sgalice.root", path.Data(), sep.Data())) );
    SetRawFileName(TString(Form("%s%sraw.root", path.Data(), sep.Data())));
}

void AliEveEventManager::SetAssertElements(Bool_t assertRunloader, Bool_t assertEsd,
                                           Bool_t assertAod, Bool_t assertRaw)
{
    // 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;
    fgAssertRaw = assertRaw;
}

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;
}

/******************************************************************************/

void AliEveEventManager::Open()
{
    // Open event-data from URL specified in path.
    // Attempts to create AliRunLoader() and to open ESD with ESDfriends.
    // 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)
    {
        throw (kEH + "Event-loop is under external control.");
    }
    if (fIsOpen)
    {
        throw (kEH + "Event-files already opened.");
    }

    Int_t runNo = -1;

    // Open ESD and ESDfriends
    
    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 // 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;
        }
    }

    // Initialize OCDB ... only in master event-manager

		InitOCDB(runNo);


    fIsOpen = kTRUE;
}

void AliEveEventManager::InitOCDB(int runNo)
{
  static const TEveException kEH("AliEveEventManager::InitOCDB ");
    //if (this == fgMaster)
    {
      AliCDBManager* cdb = AliCDBManager::Instance();
        if (cdb->IsDefaultStorageSet() == kTRUE)
        {
            Warning(kEH, "CDB already set - using the old storage:\n  '%s'",
                    cdb->GetDefaultStorage()->GetURI().Data());
        }
        else
        {
            if (fgCdbUri.IsNull())
            {
                gEnv->SetValue("Root.Stacktrace", "no");
                Fatal("Open()", "OCDB path was not specified.");
            }

            // Handle some special cases for MC (should be in OCDBManager).
            if (fgCdbUri == "mcideal://")
                cdb->SetDefaultStorage("MC", "Ideal");
            else if (fgCdbUri == "mcresidual://")
                cdb->SetDefaultStorage("MC", "Residual");
            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);

            cdb->SetRun(runNo);

            if (cdb->IsDefaultStorageSet() == kFALSE)
                throw kEH + "CDB initialization failed for '" + fgCdbUri + "'.";
        }
        if (fgCdbUri.BeginsWith("local://"))
        {
            TString curPath = gSystem->WorkingDirectory();
            TString grp     = "GRP/GRP/Data";
            TString grppath = curPath + "/" + grp;
            if (gSystem->AccessPathName(grppath, kReadPermission) == kFALSE)
            {
                if (cdb->GetSpecificStorage(grp))
                {
                    Warning(kEH, "Local GRP exists, but the specific storage is already set.");
                }
                else
                {
                    Info(kEH, "Setting CDB specific-storage for GRP from event directory.");
                    TString lpath("local://");
                    lpath += curPath;
                    cdb->SetSpecificStorage(grp, lpath);
                }
            }
	}
    }
}

void AliEveEventManager::SetEvent(AliRunLoader *runLoader, AliRawReader *rawReader, AliESDEvent *esd, AliESDfriend *esdf)
{
    // 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!!! ============================");

    fRunLoader = runLoader;
    fRawReader = rawReader;
    fESD       = esd;
    fESDfriend = esdf;
    fAOD       = 0;

    fEventId++;
    fHasEvent     = kTRUE;
    fExternalCtrl = kTRUE;

    SetTitle("Online event in memory");
    SetName ("Online Event");
    ElementChanged();

    AfterNewEventLoaded();

    if (fAutoLoad || fLoopMarked) StartAutoLoadTimer();
    
}

Int_t AliEveEventManager::GetMaxEventId(Bool_t refreshESD) const
{
    // Returns maximum available event id.
    // If under external control or event is not opened -1 is returned.
    // If raw-data is the only data-source this can not be known
    // and 10,000,000 is returned.
    // 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)
    {
        return -1;
    }

    if ((fESDTree!=0) || (fHLTESDTree!=0))
    {
        if (refreshESD)
        {
            if(fESDTree!=0) fESDTree->Refresh();
            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;
       }

        return maxEventId;
    }
    else if (fAODTree)
    {
        return fAODTree->GetEntries() - 1;
    }
    else if (fRunLoader)
    {
        return fRunLoader->GetNumberOfEvents() - 1;
    }
    else if (fRawReader)
    {
        Int_t n = fRawReader->GetNumberOfEvents() - 1;
        return n > -1 ? n : 10000000;
    }
    else
    {
        throw (kEH + "neither ESD, AOD, RunLoader nor Raw loaded.");
    }
}

void AliEveEventManager::GotoEvent(Int_t event)
{
    cout<<"Go to event:"<<event<<endl;
    // Load data for specified event.
    // If event is out of range an exception is thrown and old state
    // is preserved.
    // After successful loading of event, the virtual function
    // AfterNewEventLoaded() is called. This executes commands that
    // were registered via TEveEventManager::AddNewEventCommand().
    //
    // If event is negative, it is subtracted from the number of
    // 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.");
#ifdef ZMQ
      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 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;
            
	      eventManager->CreateSocket(SERVER_COMMUNICATION_REQ);
	      fMutex->Lock();
            
	      // 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;}
		}
            
	      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;
            
	      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);
            
	      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	

    }
    else if (!fIsOpen)
    {
        throw (kEH + "Event-files not opened.");
    }

    fEventInfo.Reset();

    fHasEvent = kFALSE;

    Int_t maxEvent = 0;
    if ((fESDTree!=0) || (fHLTESDTree!=0))
    {
        if(fESDTree){
            if (event >= fESDTree->GetEntries())
                fESDTree->Refresh();
            maxEvent = fESDTree->GetEntries() - 1;
            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)
    {
        maxEvent = fAODTree->GetEntries() - 1;
        if (event < 0)
            event = fAODTree->GetEntries() + event;
    }
    else if (fRunLoader)
    {
        maxEvent = fRunLoader->GetNumberOfEvents() - 1;
        if (event < 0)
            event = fRunLoader->GetNumberOfEvents() + event;
    }
    else if (fRawReader)
    {
        maxEvent = fRawReader->GetNumberOfEvents() - 1;
        if (maxEvent < 0)
        {
            maxEvent = 10000000;
            if (event < 0) {
                Error(kEH, "current raw-data source does not support direct event access.");
                return;
            }
            Info(kEH, "number of events unknown for current raw-data source, setting max-event id to 10M.");
        }
        else
        {
            if (event < 0)
                event = fRawReader->GetNumberOfEvents() + event;
        }
    }
    else
    {
        throw (kEH + "neither RunLoader, ESD nor Raw loaded.");
    }
    if (event < 0 || event > maxEvent)
    {
        throw (kEH + Form("event %d not present, available range [%d, %d].",
                          event, 0, maxEvent));
    }

    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.
    gEve->GetViewers()->DeleteAnnotations();
    fTransients->DestroyElements();
    for (TEveElement::List_i i = fTransientLists->BeginChildren();
         i != fTransientLists->EndChildren(); ++i)
    {
        (*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.
        if (fRawReader->GotoEvent(event) == kFALSE)
        {
            // Use fallback method - iteration with NextEvent().
            Int_t rawEv = fEventId;
            if (event < rawEv)
            {
                fRawReader->RewindEvents();
                rawEv = -1;
            }

            while (rawEv < event)
            {
                if ( ! fRawReader->NextEvent())
                {
                    fRawReader->RewindEvents();
                    fEventId = -1;
                    throw (kEH + Form("Error going to next raw-event from event %d.", rawEv));
                }
                ++rawEv;
            }
            Warning(kEH, "Loaded raw-event %d with fallback method.\n", rawEv);
        }
    }

    fHasEvent = kTRUE;
    fEventId  = event;
    if (this == fgMaster)
    {
        SetName(Form("Event %d", fEventId));
        ElementChanged();
    }

    AliSysInfo::AddStamp(sysInfoHeader + "PostLoadEvent");

    AfterNewEventLoaded();

    AliSysInfo::AddStamp(sysInfoHeader + "PostUserActions");
}

void AliEveEventManager::Timeout()
{
    Emit("Timeout()");
}

void AliEveEventManager::PrepareForNewEvent(AliESDEvent *event)
{	
	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)
    {
#ifdef ZMQ
      if(fOnlineMode)
	{
	  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());
                    
		      DestroyElements();
		      InitOCDB(fCurrentEvent[fEventInUse]->GetRunNumber());
		      SetEvent(0,0,fCurrentEvent[fEventInUse],0);
                    
		    }
		}
	      fIsNewEventAvaliable = false;
	      fMutex->UnLock();
	    }
	  else
	    {
	      cout<<"No new event is avaliable."<<endl;
	      NoEventLoaded();
	    }
	}
#endif
    }
    else if ((fESDTree!=0) || (fHLTESDTree!=0))
    {
      Int_t nextevent=0;
      if (fPEventSelector->FindNext(nextevent))
      {
        GotoEvent(nextevent);
      }
    }
    else if (fEventId < GetMaxEventId(kTRUE))
    {
      GotoEvent(fEventId + 1);
    }
    
    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;
        if (fPEventSelector->FindPrev(nextevent))
        {
            GotoEvent(nextevent);
        }
    }
    else if (fEventId > 0)
    {
        GotoEvent(fEventId - 1);
    }
}

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;}
#endif
}

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;
}


//------------------------------------------------------------------------------
// Static convenience functions, mainly used from macros.
//------------------------------------------------------------------------------

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();
}

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;
}

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)
        throw (kEH + "AliRunLoader not initialised.");
    return fgCurrent->fRunLoader;
}

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)
        throw (kEH + "AliESD not initialised.");
    return fgCurrent->fESD;
}

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)
        throw (kEH + "AliESDfriend not initialised.");
    return fgCurrent->fESDfriend;
}

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)
        throw (kEH + "AliAOD not initialised.");
    return fgCurrent->fAOD;
}

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() 	 
{ 	 
    // 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());
        if (fgMagField == 0)
            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());
        if (fgMagField == 0)
            throw kEH + "Global field set, but it is not AliMagF.";
    }
    else
    {
        throw kEH + "Could not initialize magnetic field.";
    }

    return fgMagField;
}

TGeoManager* AliEveEventManager::AssertGeometry()
{
    // Make sure AliGeomManager is initialized and returns the
    // corresponding TGeoManger.
    // gGeoManager is set to the return value.
    // 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())
        {
            throw (kEH + "can not load geometry.");
        }
        if ( ! AliGeomManager::ApplyAlignObjsFromCDB("ITS TPC TRD TOF PHOS HMPID EMCAL MUON FMD ZDC PMD T0 VZERO ACORDE"))
        {
            ::Warning(kEH, "mismatch of alignable volumes. Proceeding.");
            // throw (kEH + "could not apply align objs.");
        }
        AliGeomManager::GetGeometry()->DefaultColors();
    }

    gGeoManager = AliGeomManager::GetGeometry();
    return gGeoManager;
}

AliRecoParam* AliEveEventManager::AssertRecoParams()
{
    if(!fgRecoParam)
        InitRecoParam();

    return fgRecoParam;
}

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){
            ::Warning(kEH, "Couldn't find GRP RecoParam entry in OCDB");
            isOK = kFALSE;
        }
        else {
            TObject *recoParamObj = entry->GetObject();
            if (dynamic_cast<TObjArray*>(recoParamObj)) {
                // GRP has a normal TobjArray of AliDetectorRecoParam objects
                // Registering them in AliRecoParam
                fgRecoParam->AddDetRecoParamArray(kNDetectors,dynamic_cast<TObjArray*>(recoParamObj));
            }
            else if (dynamic_cast<AliDetectorRecoParam*>(recoParamObj)) {
                // GRP has only onse set of reco parameters
                // Registering it in AliRecoParam
                ::Info(kEH, "Single set of GRP reconstruction parameters found");
                dynamic_cast<AliDetectorRecoParam*>(recoParamObj)->SetAsDefault();
                fgRecoParam->AddDetRecoParam(kNDetectors,dynamic_cast<AliDetectorRecoParam*>(recoParamObj));
            }
            else {
                ::Error(kEH, "No valid GRP RecoParam object found in the OCDB");
                isOK = kFALSE;
            }
            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){
            ::Warning(kEH, "Couldn't find RecoParam entry in OCDB for detector %s",fgkDetectorName[iDet]);
            isOK = kFALSE;
        }
        else {
            TObject *recoParamObj = entry->GetObject();
            if (dynamic_cast<TObjArray*>(recoParamObj)) {
                // The detector has a normal TobjArray of AliDetectorRecoParam objects
                // Registering them in AliRecoParam
                fgRecoParam->AddDetRecoParamArray(iDet,dynamic_cast<TObjArray*>(recoParamObj));
            }
            else if (dynamic_cast<AliDetectorRecoParam*>(recoParamObj)) {
                // The detector has only onse set of reco parameters
                // Registering it in AliRecoParam
                ::Info(kEH, "Single set of reconstruction parameters found for detector %s",fgkDetectorName[iDet]);
                dynamic_cast<AliDetectorRecoParam*>(recoParamObj)->SetAsDefault();
                fgRecoParam->AddDetRecoParam(iDet,dynamic_cast<AliDetectorRecoParam*>(recoParamObj));
            }
            else {
                ::Error(kEH, "No valid RecoParam object found in the OCDB for detector %s",fgkDetectorName[iDet]);
                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)
    {
        TFile *esdFriendFile = TFile::Open(fgESDfriendsFileName);
        if (esdFriendFile)
        {
            if (!esdFriendFile->IsZombie())
            {
                esdFriendFile->Close();
                fESDfriendExists = kTRUE;
                tempTree->SetBranchStatus ("ESDfriend*", 1);
            }
            delete esdFriendFile;
        }

        fESD->ReadFromTree(tempTree);
        if (fESDfriendExists)
        {
            fESDfriend = (AliESDfriend*) fESD->FindListObject("AliESDfriend");
            Info(kEH, "found and attached ESD friend.");
        }
        else
        {
            Warning(kEH, "ESDfriend not found.");
        }

        if (tempTree->GetEntry(0) <= 0)
        {
            Warning(kEH, "failed getting the first entry from tree: %s", treeName);
        }
        else
        {
            if (runNo < 0)
                runNo = fESD->GetESDRun()->GetRunNumber();
        }
    }
    else // tree == 0
    {
        Warning(kEH, "failed getting the tree:%s", treeName);
    }

    return tempTree;
}


//------------------------------------------------------------------------------

AliEveEventManager* AliEveEventManager::AddDependentManager(const TString& name, const TString& path)
{
    // 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
    {
        new_mgr = new AliEveEventManager(name, fgMaster->fEventId);
        new_mgr->SetFilesPath(path);
        fgMaster->fSubManagers->Add(new_mgr);
    }
    catch (TEveException& exc)
    {
        ::Error(kEH, "Creation of new event-manager failed: '%s'.", exc.Data());
    }
    fgCurrent = fgMaster;

    return new_mgr;
}

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;
}

void AliEveEventManager::RegisterTransient(TEveElement* element)
{
    GetCurrent()->fTransients->AddElement(element);
}

void AliEveEventManager::RegisterTransientList(TEveElement* element)
{
    GetCurrent()->fTransientLists->AddElement(element);
}

//------------------------------------------------------------------------------
// Autoloading of events
//------------------------------------------------------------------------------

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)
    {
        StartAutoLoadTimer();
    }
    else
    {
        StopAutoLoadTimer();
    }
}

void AliEveEventManager::SetLoopMarked(Bool_t loopMarked)
{
    // Set the automatic event loading mode
    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.");
        return;
    }
    else
    {
        ULong64_t trigMask = 0;
        if (trig >= 0) trigMask = (1ull << trig);
        Info(kEH,"Trigger selection: 0x%llx",trigMask);
        fRawReader->SelectEvents(-1,trigMask,NULL);
    }
}

void AliEveEventManager::StartAutoLoadTimer()
{
    // Start the auto-load timer.

    fAutoLoadTimer->SetTime((Long_t)(1000*fAutoLoadTime));
    fAutoLoadTimer->Reset();
    fAutoLoadTimer->TurnOn();
    fAutoLoadTimerRunning = kTRUE;
}

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();
}

//------------------------------------------------------------------------------
// Post event-loading functions
//------------------------------------------------------------------------------

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() ------------");
    }
    fgCurrent = fgMaster;
    Info(kEH, "------------------!!! while() gEve->SetCurrentEvent(MASTER) ------------");
    gEve->SetCurrentEvent(fgMaster);
  }
}

void AliEveEventManager::NewEventDataLoaded()
{
    // Emit NewEventDataLoaded signal.
    Emit("NewEventDataLoaded()");
}
void AliEveEventManager::NewEventLoaded()
{
    // Emit NewEventLoaded signal.
    Emit("NewEventLoaded()");
}
void AliEveEventManager::NoEventLoaded()
{
    // Emit NoEventLoaded signal.
    Emit("NoEventLoaded()");
}
void AliEveEventManager::StorageManagerOk()
{
    // Emit StorageManagerOk signal.
    Emit("StorageManagerOk()");
}
void AliEveEventManager::StorageManagerDown()
{
    // Emit StorageManagerOk signal.
    Emit("StorageManagerDown()");
}


//------------------------------------------------------------------------------
// Event info dumpers
//------------------------------------------------------------------------------

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
            AliError("No trigger configuration found in OCDB! The trigger configuration information will not be used!");
            delete aCTP;
            return 0;
        }
        aCTP->SetClassMask(mask);
        aCTP->SetClusterMask(clmask);

        if (fRunLoader) {
            AliCentralTrigger* rlCTP = fRunLoader->GetTrigger();
            if (rlCTP) {
                rlCTP->SetClassMask(mask);
                rlCTP->SetClusterMask(clmask);
            }
        }
    }
    else {
        fEventInfo.SetEventType(AliRawEventHeaderBase::kPhysicsEvent);

        if (fRunLoader && (!fRunLoader->LoadTrigger())) {
            aCTP = fRunLoader->GetTrigger();
            fEventInfo.SetTriggerMask(aCTP->GetClassMask());
            // get inputs from actp - just get
            AliESDHeader* esdheader = fESD->GetHeader();
            esdheader->SetL0TriggerInputs(aCTP->GetL0TriggerInputs());
            esdheader->SetL1TriggerInputs(aCTP->GetL1TriggerInputs());
            esdheader->SetL2TriggerInputs(aCTP->GetL2TriggerInputs());
            fEventInfo.SetTriggerCluster(AliDAQ::ListOfTriggeredDetectors(aCTP->GetClusterMask()));
        }
        else {
            AliWarning("No trigger can be loaded! The trigger information will not be used!");
            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) {
        THashList * lst = dynamic_cast<THashList*>(entry->GetObject());
        if (lst) {
            lst->Sort(kSortDescending); // to avoid problems with substrings
            if (fRawReader) fRawReader->LoadTriggerAlias(lst);
            // Now declare all the triggers present in the aliases
            TIter iter(lst);
            TNamed *nmd = 0;
            while((nmd = dynamic_cast<TNamed*>(iter.Next()))){
                declTriggerClasses += " ";
                declTriggerClasses += nmd->GetName();
            }
        }
        else {
            AliError("Cannot cast the object with trigger aliases to THashList!");
        }
    }
    else {
        AliError("No OCDB entry for the trigger aliases!");
    }

    // Load trigger classes for this run
    UChar_t clustmask = 0;
    TString trclasses;
    ULong64_t trmask = fEventInfo.GetTriggerMask();
    const TObjArray& classesArray = config->GetClasses();
    Int_t nclasses = classesArray.GetEntriesFast();
    for( Int_t iclass=0; iclass < nclasses; iclass++ ) {
        AliTriggerClass* trclass = (AliTriggerClass*)classesArray.At(iclass);
        if (trclass && trclass->GetMask()>0) {
            Int_t trindex = TMath::Nint(TMath::Log2(trclass->GetMask()));
            if (fESD) fESD->SetTriggerClass(trclass->GetName(),trindex);
            if (fRawReader) fRawReader->LoadTriggerClass(trclass->GetName(),trindex);
            if (trmask & (1ull << trindex)) {
                trclasses += " ";
                trclasses += trclass->GetName();
                trclasses += " ";
                clustmask |= trclass->GetCluster()->GetClusterMask();
            }
        }
    }
    fEventInfo.SetTriggerClasses(trclasses);

    if (!aCTP->CheckTriggeredDetectors()) {
        if (fRawReader) delete aCTP;
        return 0;
    }

    if (fRawReader) delete aCTP;

    // everything went ok, return pointer
    return (&fEventInfo);
}


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";
    }
    else
    {
        const UInt_t* attr = fRawReader->GetAttributes();
        TTimeStamp ts(fRawReader->GetTimestamp());
        rawInfo.Form("RAW event info: Run#: %d  Event type: %d (%s)  Period: %x  Orbit: %x  BC: %x\n"
                     "Trigger: %llx\nDetectors: %x (%s)\nAttributes:%x-%x-%x  Timestamp: %s\n",
                     fRawReader->GetRunNumber(),fRawReader->GetType(),AliRawEventHeaderBase::GetTypeName(fRawReader->GetType()),
                     fRawReader->GetPeriod(),fRawReader->GetOrbitID(),fRawReader->GetBCID(),
                     fRawReader->GetClassMask(),
                     *fRawReader->GetDetectorPattern(),AliDAQ::ListOfTriggeredDetectors(*fRawReader->GetDetectorPattern()),
                     attr[0],attr[1],attr[2], ts.AsString("s"));
    }

    if (!fESD)
    {
        esdInfo = "No ESD event info is available!";
    }
    else
    {
        TString acttrclasses   = fESD->GetESDRun()->GetActiveTriggerClasses();
        TString firedtrclasses = fESD->GetFiredTriggerClasses();
        TTimeStamp ts(fESD->GetTimeStamp());
        esdInfo.Form("ESD event info: Run#: %d  Event type: %d (%s)  Period: %x  Orbit: %x  BC: %x\n"
                     "Active trigger classes: %s\nTrigger: %llx (%s)\nEvent# in file: %d  Timestamp: %s, MagField: %.2e",
                     fESD->GetRunNumber(),
                     fESD->GetEventType(),AliRawEventHeaderBase::GetTypeName(fESD->GetEventType()),
                     fESD->GetPeriodNumber(),fESD->GetOrbitNumber(),fESD->GetBunchCrossNumber(),
                     acttrclasses.Data(),
                     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";
    }
    else
    {
        const UInt_t* attr = fRawReader->GetAttributes();
        rawInfo.Form("Raw-data event info:\nRun#: %d\nEvent type: %d (%s)\nPeriod: %x\nOrbit: %x   BC: %x\nTrigger: %llx\nDetectors: %x (%s)\nAttributes:%x-%x-%x\nTimestamp: %x\n",
                     fRawReader->GetRunNumber(),fRawReader->GetType(),AliRawEventHeaderBase::GetTypeName(fRawReader->GetType()),
                     fRawReader->GetPeriod(),fRawReader->GetOrbitID(),fRawReader->GetBCID(),
                     fRawReader->GetClassMask(),
                     *fRawReader->GetDetectorPattern(),AliDAQ::ListOfTriggeredDetectors(*fRawReader->GetDetectorPattern()),
                     attr[0],attr[1],attr[2],
                     fRawReader->GetTimestamp());
    }

    if (!fESD)
    {
        esdInfo = "No ESD event info is available!\n";
    }
    else
    {
        TString acttrclasses   = fESD->GetESDRun()->GetActiveTriggerClasses();
        TString firedtrclasses = fESD->GetFiredTriggerClasses();
        esdInfo.Form("ESD event info:\nRun#: %d\nActive trigger classes: %s\nEvent type: %d (%s)\nPeriod: %x\nOrbit: %x   BC: %x\nTrigger: %llx (%s)\nEvent# in file:%d\nTimestamp: %x\n",
                     fESD->GetRunNumber(),
                     acttrclasses.Data(),
                     fESD->GetEventType(),AliRawEventHeaderBase::GetTypeName(fESD->GetEventType()),
                     fESD->GetPeriodNumber(),fESD->GetOrbitNumber(),fESD->GetBunchCrossNumber(),
                     fESD->GetTriggerMask(),firedtrclasses.Data(),
                     fESD->GetEventNumberInFile(),
                     fESD->GetTimeStamp());
    }

    return rawInfo + "\n" + esdInfo;
}


//==============================================================================
// Reading of GRP and MagneticField.
// This is a reap-off from reconstruction ... should really be a common
// code to do this somewhere in STEER.
//==============================================================================

Bool_t AliEveEventManager::InitGRP()
{
    //------------------------------------
    // Initialization of the GRP entry
    //------------------------------------

    static const TEveException kEH("AliEveEventManager::InitGRP ");

    AliGRPManager grpMgr;
    if (!grpMgr.ReadGRPEntry()) {
        return kFALSE;
    }
    fgGRPLoaded = kTRUE;
    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!");
    }
  */

    return kTRUE;
} 

//------------------------------------
// Global variables management
//------------------------------------

Bool_t AliEveEventManager::InsertGlobal(const TString& tag, TEveElement* model)
{
    // Insert a new visualization-parameter database entry with the default
    return InsertGlobal(tag, model, fGlobalReplace, fGlobalUpdate);
}

Bool_t AliEveEventManager::InsertGlobal(const TString& tag, TEveElement* model,
                                        Bool_t replace, Bool_t update)
{
    TPair* pair = (TPair*) fGlobal->FindObject(tag);
    if (pair)
    {
        if (replace)
        {
            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())
            {
                TEveElement *el = old_model->FirstChild();
                el->SetVizModel(model);
                if (update)
                {
                    el->CopyVizParams(model);
                    el->PropagateVizParamsToProjecteds();
                }
            }
            old_model->DecDenyDestroy();

            pair->SetValue(dynamic_cast<TObject*>(model));
            return kTRUE;
        }
        else
        {
            return kFALSE;
        }
    }
    else
    {
        model->IncDenyDestroy();
        model->SetRnrChildren(kFALSE);
        fGlobal->Add(new TObjString(tag), dynamic_cast<TObject*>(model));
        return kTRUE;
    }
}

TEveElement* AliEveEventManager::FindGlobal(const TString& tag)
{
    return dynamic_cast<TEveElement*>(fGlobal->GetValue(tag));
}
Int_t AliEveEventManager::NewEventAvailable()
{
  if (fIsNewEventAvaliable)
  {
    return 1;
  }
  else
  {
    return 0;
  }
}
 AliEveEventManager.cxx:1
 AliEveEventManager.cxx:2
 AliEveEventManager.cxx:3
 AliEveEventManager.cxx:4
 AliEveEventManager.cxx:5
 AliEveEventManager.cxx:6
 AliEveEventManager.cxx:7
 AliEveEventManager.cxx:8
 AliEveEventManager.cxx:9
 AliEveEventManager.cxx:10
 AliEveEventManager.cxx:11
 AliEveEventManager.cxx:12
 AliEveEventManager.cxx:13
 AliEveEventManager.cxx:14
 AliEveEventManager.cxx:15
 AliEveEventManager.cxx:16
 AliEveEventManager.cxx:17
 AliEveEventManager.cxx:18
 AliEveEventManager.cxx:19
 AliEveEventManager.cxx:20
 AliEveEventManager.cxx:21
 AliEveEventManager.cxx:22
 AliEveEventManager.cxx:23
 AliEveEventManager.cxx:24
 AliEveEventManager.cxx:25
 AliEveEventManager.cxx:26
 AliEveEventManager.cxx:27
 AliEveEventManager.cxx:28
 AliEveEventManager.cxx:29
 AliEveEventManager.cxx:30
 AliEveEventManager.cxx:31
 AliEveEventManager.cxx:32
 AliEveEventManager.cxx:33
 AliEveEventManager.cxx:34
 AliEveEventManager.cxx:35
 AliEveEventManager.cxx:36
 AliEveEventManager.cxx:37
 AliEveEventManager.cxx:38
 AliEveEventManager.cxx:39
 AliEveEventManager.cxx:40
 AliEveEventManager.cxx:41
 AliEveEventManager.cxx:42
 AliEveEventManager.cxx:43
 AliEveEventManager.cxx:44
 AliEveEventManager.cxx:45
 AliEveEventManager.cxx:46
 AliEveEventManager.cxx:47
 AliEveEventManager.cxx:48
 AliEveEventManager.cxx:49
 AliEveEventManager.cxx:50
 AliEveEventManager.cxx:51
 AliEveEventManager.cxx:52
 AliEveEventManager.cxx:53
 AliEveEventManager.cxx:54
 AliEveEventManager.cxx:55
 AliEveEventManager.cxx:56
 AliEveEventManager.cxx:57
 AliEveEventManager.cxx:58
 AliEveEventManager.cxx:59
 AliEveEventManager.cxx:60
 AliEveEventManager.cxx:61
 AliEveEventManager.cxx:62
 AliEveEventManager.cxx:63
 AliEveEventManager.cxx:64
 AliEveEventManager.cxx:65
 AliEveEventManager.cxx:66
 AliEveEventManager.cxx:67
 AliEveEventManager.cxx:68
 AliEveEventManager.cxx:69
 AliEveEventManager.cxx:70
 AliEveEventManager.cxx:71
 AliEveEventManager.cxx:72
 AliEveEventManager.cxx:73
 AliEveEventManager.cxx:74
 AliEveEventManager.cxx:75
 AliEveEventManager.cxx:76
 AliEveEventManager.cxx:77
 AliEveEventManager.cxx:78
 AliEveEventManager.cxx:79
 AliEveEventManager.cxx:80
 AliEveEventManager.cxx:81
 AliEveEventManager.cxx:82
 AliEveEventManager.cxx:83
 AliEveEventManager.cxx:84
 AliEveEventManager.cxx:85
 AliEveEventManager.cxx:86
 AliEveEventManager.cxx:87
 AliEveEventManager.cxx:88
 AliEveEventManager.cxx:89
 AliEveEventManager.cxx:90
 AliEveEventManager.cxx:91
 AliEveEventManager.cxx:92
 AliEveEventManager.cxx:93
 AliEveEventManager.cxx:94
 AliEveEventManager.cxx:95
 AliEveEventManager.cxx:96
 AliEveEventManager.cxx:97
 AliEveEventManager.cxx:98
 AliEveEventManager.cxx:99
 AliEveEventManager.cxx:100
 AliEveEventManager.cxx:101
 AliEveEventManager.cxx:102
 AliEveEventManager.cxx:103
 AliEveEventManager.cxx:104
 AliEveEventManager.cxx:105
 AliEveEventManager.cxx:106
 AliEveEventManager.cxx:107
 AliEveEventManager.cxx:108
 AliEveEventManager.cxx:109
 AliEveEventManager.cxx:110
 AliEveEventManager.cxx:111
 AliEveEventManager.cxx:112
 AliEveEventManager.cxx:113
 AliEveEventManager.cxx:114
 AliEveEventManager.cxx:115
 AliEveEventManager.cxx:116
 AliEveEventManager.cxx:117
 AliEveEventManager.cxx:118
 AliEveEventManager.cxx:119
 AliEveEventManager.cxx:120
 AliEveEventManager.cxx:121
 AliEveEventManager.cxx:122
 AliEveEventManager.cxx:123
 AliEveEventManager.cxx:124
 AliEveEventManager.cxx:125
 AliEveEventManager.cxx:126
 AliEveEventManager.cxx:127
 AliEveEventManager.cxx:128
 AliEveEventManager.cxx:129
 AliEveEventManager.cxx:130
 AliEveEventManager.cxx:131
 AliEveEventManager.cxx:132
 AliEveEventManager.cxx:133
 AliEveEventManager.cxx:134
 AliEveEventManager.cxx:135
 AliEveEventManager.cxx:136
 AliEveEventManager.cxx:137
 AliEveEventManager.cxx:138
 AliEveEventManager.cxx:139
 AliEveEventManager.cxx:140
 AliEveEventManager.cxx:141
 AliEveEventManager.cxx:142
 AliEveEventManager.cxx:143
 AliEveEventManager.cxx:144
 AliEveEventManager.cxx:145
 AliEveEventManager.cxx:146
 AliEveEventManager.cxx:147
 AliEveEventManager.cxx:148
 AliEveEventManager.cxx:149
 AliEveEventManager.cxx:150
 AliEveEventManager.cxx:151
 AliEveEventManager.cxx:152
 AliEveEventManager.cxx:153
 AliEveEventManager.cxx:154
 AliEveEventManager.cxx:155
 AliEveEventManager.cxx:156
 AliEveEventManager.cxx:157
 AliEveEventManager.cxx:158
 AliEveEventManager.cxx:159
 AliEveEventManager.cxx:160
 AliEveEventManager.cxx:161
 AliEveEventManager.cxx:162
 AliEveEventManager.cxx:163
 AliEveEventManager.cxx:164
 AliEveEventManager.cxx:165
 AliEveEventManager.cxx:166
 AliEveEventManager.cxx:167
 AliEveEventManager.cxx:168
 AliEveEventManager.cxx:169
 AliEveEventManager.cxx:170
 AliEveEventManager.cxx:171
 AliEveEventManager.cxx:172
 AliEveEventManager.cxx:173
 AliEveEventManager.cxx:174
 AliEveEventManager.cxx:175
 AliEveEventManager.cxx:176
 AliEveEventManager.cxx:177
 AliEveEventManager.cxx:178
 AliEveEventManager.cxx:179
 AliEveEventManager.cxx:180
 AliEveEventManager.cxx:181
 AliEveEventManager.cxx:182
 AliEveEventManager.cxx:183
 AliEveEventManager.cxx:184
 AliEveEventManager.cxx:185
 AliEveEventManager.cxx:186
 AliEveEventManager.cxx:187
 AliEveEventManager.cxx:188
 AliEveEventManager.cxx:189
 AliEveEventManager.cxx:190
 AliEveEventManager.cxx:191
 AliEveEventManager.cxx:192
 AliEveEventManager.cxx:193
 AliEveEventManager.cxx:194
 AliEveEventManager.cxx:195
 AliEveEventManager.cxx:196
 AliEveEventManager.cxx:197
 AliEveEventManager.cxx:198
 AliEveEventManager.cxx:199
 AliEveEventManager.cxx:200
 AliEveEventManager.cxx:201
 AliEveEventManager.cxx:202
 AliEveEventManager.cxx:203
 AliEveEventManager.cxx:204
 AliEveEventManager.cxx:205
 AliEveEventManager.cxx:206
 AliEveEventManager.cxx:207
 AliEveEventManager.cxx:208
 AliEveEventManager.cxx:209
 AliEveEventManager.cxx:210
 AliEveEventManager.cxx:211
 AliEveEventManager.cxx:212
 AliEveEventManager.cxx:213
 AliEveEventManager.cxx:214
 AliEveEventManager.cxx:215
 AliEveEventManager.cxx:216
 AliEveEventManager.cxx:217
 AliEveEventManager.cxx:218
 AliEveEventManager.cxx:219
 AliEveEventManager.cxx:220
 AliEveEventManager.cxx:221
 AliEveEventManager.cxx:222
 AliEveEventManager.cxx:223
 AliEveEventManager.cxx:224
 AliEveEventManager.cxx:225
 AliEveEventManager.cxx:226
 AliEveEventManager.cxx:227
 AliEveEventManager.cxx:228
 AliEveEventManager.cxx:229
 AliEveEventManager.cxx:230
 AliEveEventManager.cxx:231
 AliEveEventManager.cxx:232
 AliEveEventManager.cxx:233
 AliEveEventManager.cxx:234
 AliEveEventManager.cxx:235
 AliEveEventManager.cxx:236
 AliEveEventManager.cxx:237
 AliEveEventManager.cxx:238
 AliEveEventManager.cxx:239
 AliEveEventManager.cxx:240
 AliEveEventManager.cxx:241
 AliEveEventManager.cxx:242
 AliEveEventManager.cxx:243
 AliEveEventManager.cxx:244
 AliEveEventManager.cxx:245
 AliEveEventManager.cxx:246
 AliEveEventManager.cxx:247
 AliEveEventManager.cxx:248
 AliEveEventManager.cxx:249
 AliEveEventManager.cxx:250
 AliEveEventManager.cxx:251
 AliEveEventManager.cxx:252
 AliEveEventManager.cxx:253
 AliEveEventManager.cxx:254
 AliEveEventManager.cxx:255
 AliEveEventManager.cxx:256
 AliEveEventManager.cxx:257
 AliEveEventManager.cxx:258
 AliEveEventManager.cxx:259
 AliEveEventManager.cxx:260
 AliEveEventManager.cxx:261
 AliEveEventManager.cxx:262
 AliEveEventManager.cxx:263
 AliEveEventManager.cxx:264
 AliEveEventManager.cxx:265
 AliEveEventManager.cxx:266
 AliEveEventManager.cxx:267
 AliEveEventManager.cxx:268
 AliEveEventManager.cxx:269
 AliEveEventManager.cxx:270
 AliEveEventManager.cxx:271
 AliEveEventManager.cxx:272
 AliEveEventManager.cxx:273
 AliEveEventManager.cxx:274
 AliEveEventManager.cxx:275
 AliEveEventManager.cxx:276
 AliEveEventManager.cxx:277
 AliEveEventManager.cxx:278
 AliEveEventManager.cxx:279
 AliEveEventManager.cxx:280
 AliEveEventManager.cxx:281
 AliEveEventManager.cxx:282
 AliEveEventManager.cxx:283
 AliEveEventManager.cxx:284
 AliEveEventManager.cxx:285
 AliEveEventManager.cxx:286
 AliEveEventManager.cxx:287
 AliEveEventManager.cxx:288
 AliEveEventManager.cxx:289
 AliEveEventManager.cxx:290
 AliEveEventManager.cxx:291
 AliEveEventManager.cxx:292
 AliEveEventManager.cxx:293
 AliEveEventManager.cxx:294
 AliEveEventManager.cxx:295
 AliEveEventManager.cxx:296
 AliEveEventManager.cxx:297
 AliEveEventManager.cxx:298
 AliEveEventManager.cxx:299
 AliEveEventManager.cxx:300
 AliEveEventManager.cxx:301
 AliEveEventManager.cxx:302
 AliEveEventManager.cxx:303
 AliEveEventManager.cxx:304
 AliEveEventManager.cxx:305
 AliEveEventManager.cxx:306
 AliEveEventManager.cxx:307
 AliEveEventManager.cxx:308
 AliEveEventManager.cxx:309
 AliEveEventManager.cxx:310
 AliEveEventManager.cxx:311
 AliEveEventManager.cxx:312
 AliEveEventManager.cxx:313
 AliEveEventManager.cxx:314
 AliEveEventManager.cxx:315
 AliEveEventManager.cxx:316
 AliEveEventManager.cxx:317
 AliEveEventManager.cxx:318
 AliEveEventManager.cxx:319
 AliEveEventManager.cxx:320
 AliEveEventManager.cxx:321
 AliEveEventManager.cxx:322
 AliEveEventManager.cxx:323
 AliEveEventManager.cxx:324
 AliEveEventManager.cxx:325
 AliEveEventManager.cxx:326
 AliEveEventManager.cxx:327
 AliEveEventManager.cxx:328
 AliEveEventManager.cxx:329
 AliEveEventManager.cxx:330
 AliEveEventManager.cxx:331
 AliEveEventManager.cxx:332
 AliEveEventManager.cxx:333
 AliEveEventManager.cxx:334
 AliEveEventManager.cxx:335
 AliEveEventManager.cxx:336
 AliEveEventManager.cxx:337
 AliEveEventManager.cxx:338
 AliEveEventManager.cxx:339
 AliEveEventManager.cxx:340
 AliEveEventManager.cxx:341
 AliEveEventManager.cxx:342
 AliEveEventManager.cxx:343
 AliEveEventManager.cxx:344
 AliEveEventManager.cxx:345
 AliEveEventManager.cxx:346
 AliEveEventManager.cxx:347
 AliEveEventManager.cxx:348
 AliEveEventManager.cxx:349
 AliEveEventManager.cxx:350
 AliEveEventManager.cxx:351
 AliEveEventManager.cxx:352
 AliEveEventManager.cxx:353
 AliEveEventManager.cxx:354
 AliEveEventManager.cxx:355
 AliEveEventManager.cxx:356
 AliEveEventManager.cxx:357
 AliEveEventManager.cxx:358
 AliEveEventManager.cxx:359
 AliEveEventManager.cxx:360
 AliEveEventManager.cxx:361
 AliEveEventManager.cxx:362
 AliEveEventManager.cxx:363
 AliEveEventManager.cxx:364
 AliEveEventManager.cxx:365
 AliEveEventManager.cxx:366
 AliEveEventManager.cxx:367
 AliEveEventManager.cxx:368
 AliEveEventManager.cxx:369
 AliEveEventManager.cxx:370
 AliEveEventManager.cxx:371
 AliEveEventManager.cxx:372
 AliEveEventManager.cxx:373
 AliEveEventManager.cxx:374
 AliEveEventManager.cxx:375
 AliEveEventManager.cxx:376
 AliEveEventManager.cxx:377
 AliEveEventManager.cxx:378
 AliEveEventManager.cxx:379
 AliEveEventManager.cxx:380
 AliEveEventManager.cxx:381
 AliEveEventManager.cxx:382
 AliEveEventManager.cxx:383
 AliEveEventManager.cxx:384
 AliEveEventManager.cxx:385
 AliEveEventManager.cxx:386
 AliEveEventManager.cxx:387
 AliEveEventManager.cxx:388
 AliEveEventManager.cxx:389
 AliEveEventManager.cxx:390
 AliEveEventManager.cxx:391
 AliEveEventManager.cxx:392
 AliEveEventManager.cxx:393
 AliEveEventManager.cxx:394
 AliEveEventManager.cxx:395
 AliEveEventManager.cxx:396
 AliEveEventManager.cxx:397
 AliEveEventManager.cxx:398
 AliEveEventManager.cxx:399
 AliEveEventManager.cxx:400
 AliEveEventManager.cxx:401
 AliEveEventManager.cxx:402
 AliEveEventManager.cxx:403
 AliEveEventManager.cxx:404
 AliEveEventManager.cxx:405
 AliEveEventManager.cxx:406
 AliEveEventManager.cxx:407
 AliEveEventManager.cxx:408
 AliEveEventManager.cxx:409
 AliEveEventManager.cxx:410
 AliEveEventManager.cxx:411
 AliEveEventManager.cxx:412
 AliEveEventManager.cxx:413
 AliEveEventManager.cxx:414
 AliEveEventManager.cxx:415
 AliEveEventManager.cxx:416
 AliEveEventManager.cxx:417
 AliEveEventManager.cxx:418
 AliEveEventManager.cxx:419
 AliEveEventManager.cxx:420
 AliEveEventManager.cxx:421
 AliEveEventManager.cxx:422
 AliEveEventManager.cxx:423
 AliEveEventManager.cxx:424
 AliEveEventManager.cxx:425
 AliEveEventManager.cxx:426
 AliEveEventManager.cxx:427
 AliEveEventManager.cxx:428
 AliEveEventManager.cxx:429
 AliEveEventManager.cxx:430
 AliEveEventManager.cxx:431
 AliEveEventManager.cxx:432
 AliEveEventManager.cxx:433
 AliEveEventManager.cxx:434
 AliEveEventManager.cxx:435
 AliEveEventManager.cxx:436
 AliEveEventManager.cxx:437
 AliEveEventManager.cxx:438
 AliEveEventManager.cxx:439
 AliEveEventManager.cxx:440
 AliEveEventManager.cxx:441
 AliEveEventManager.cxx:442
 AliEveEventManager.cxx:443
 AliEveEventManager.cxx:444
 AliEveEventManager.cxx:445
 AliEveEventManager.cxx:446
 AliEveEventManager.cxx:447
 AliEveEventManager.cxx:448
 AliEveEventManager.cxx:449
 AliEveEventManager.cxx:450
 AliEveEventManager.cxx:451
 AliEveEventManager.cxx:452
 AliEveEventManager.cxx:453
 AliEveEventManager.cxx:454
 AliEveEventManager.cxx:455
 AliEveEventManager.cxx:456
 AliEveEventManager.cxx:457
 AliEveEventManager.cxx:458
 AliEveEventManager.cxx:459
 AliEveEventManager.cxx:460
 AliEveEventManager.cxx:461
 AliEveEventManager.cxx:462
 AliEveEventManager.cxx:463
 AliEveEventManager.cxx:464
 AliEveEventManager.cxx:465
 AliEveEventManager.cxx:466
 AliEveEventManager.cxx:467
 AliEveEventManager.cxx:468
 AliEveEventManager.cxx:469
 AliEveEventManager.cxx:470
 AliEveEventManager.cxx:471
 AliEveEventManager.cxx:472
 AliEveEventManager.cxx:473
 AliEveEventManager.cxx:474
 AliEveEventManager.cxx:475
 AliEveEventManager.cxx:476
 AliEveEventManager.cxx:477
 AliEveEventManager.cxx:478
 AliEveEventManager.cxx:479
 AliEveEventManager.cxx:480
 AliEveEventManager.cxx:481
 AliEveEventManager.cxx:482
 AliEveEventManager.cxx:483
 AliEveEventManager.cxx:484
 AliEveEventManager.cxx:485
 AliEveEventManager.cxx:486
 AliEveEventManager.cxx:487
 AliEveEventManager.cxx:488
 AliEveEventManager.cxx:489
 AliEveEventManager.cxx:490
 AliEveEventManager.cxx:491
 AliEveEventManager.cxx:492
 AliEveEventManager.cxx:493
 AliEveEventManager.cxx:494
 AliEveEventManager.cxx:495
 AliEveEventManager.cxx:496
 AliEveEventManager.cxx:497
 AliEveEventManager.cxx:498
 AliEveEventManager.cxx:499
 AliEveEventManager.cxx:500
 AliEveEventManager.cxx:501
 AliEveEventManager.cxx:502
 AliEveEventManager.cxx:503
 AliEveEventManager.cxx:504
 AliEveEventManager.cxx:505
 AliEveEventManager.cxx:506
 AliEveEventManager.cxx:507
 AliEveEventManager.cxx:508
 AliEveEventManager.cxx:509
 AliEveEventManager.cxx:510
 AliEveEventManager.cxx:511
 AliEveEventManager.cxx:512
 AliEveEventManager.cxx:513
 AliEveEventManager.cxx:514
 AliEveEventManager.cxx:515
 AliEveEventManager.cxx:516
 AliEveEventManager.cxx:517
 AliEveEventManager.cxx:518
 AliEveEventManager.cxx:519
 AliEveEventManager.cxx:520
 AliEveEventManager.cxx:521
 AliEveEventManager.cxx:522
 AliEveEventManager.cxx:523
 AliEveEventManager.cxx:524
 AliEveEventManager.cxx:525
 AliEveEventManager.cxx:526
 AliEveEventManager.cxx:527
 AliEveEventManager.cxx:528
 AliEveEventManager.cxx:529
 AliEveEventManager.cxx:530
 AliEveEventManager.cxx:531
 AliEveEventManager.cxx:532
 AliEveEventManager.cxx:533
 AliEveEventManager.cxx:534
 AliEveEventManager.cxx:535
 AliEveEventManager.cxx:536
 AliEveEventManager.cxx:537
 AliEveEventManager.cxx:538
 AliEveEventManager.cxx:539
 AliEveEventManager.cxx:540
 AliEveEventManager.cxx:541
 AliEveEventManager.cxx:542
 AliEveEventManager.cxx:543
 AliEveEventManager.cxx:544
 AliEveEventManager.cxx:545
 AliEveEventManager.cxx:546
 AliEveEventManager.cxx:547
 AliEveEventManager.cxx:548
 AliEveEventManager.cxx:549
 AliEveEventManager.cxx:550
 AliEveEventManager.cxx:551
 AliEveEventManager.cxx:552
 AliEveEventManager.cxx:553
 AliEveEventManager.cxx:554
 AliEveEventManager.cxx:555
 AliEveEventManager.cxx:556
 AliEveEventManager.cxx:557
 AliEveEventManager.cxx:558
 AliEveEventManager.cxx:559
 AliEveEventManager.cxx:560
 AliEveEventManager.cxx:561
 AliEveEventManager.cxx:562
 AliEveEventManager.cxx:563
 AliEveEventManager.cxx:564
 AliEveEventManager.cxx:565
 AliEveEventManager.cxx:566
 AliEveEventManager.cxx:567
 AliEveEventManager.cxx:568
 AliEveEventManager.cxx:569
 AliEveEventManager.cxx:570
 AliEveEventManager.cxx:571
 AliEveEventManager.cxx:572
 AliEveEventManager.cxx:573
 AliEveEventManager.cxx:574
 AliEveEventManager.cxx:575
 AliEveEventManager.cxx:576
 AliEveEventManager.cxx:577
 AliEveEventManager.cxx:578
 AliEveEventManager.cxx:579
 AliEveEventManager.cxx:580
 AliEveEventManager.cxx:581
 AliEveEventManager.cxx:582
 AliEveEventManager.cxx:583
 AliEveEventManager.cxx:584
 AliEveEventManager.cxx:585
 AliEveEventManager.cxx:586
 AliEveEventManager.cxx:587
 AliEveEventManager.cxx:588
 AliEveEventManager.cxx:589
 AliEveEventManager.cxx:590
 AliEveEventManager.cxx:591
 AliEveEventManager.cxx:592
 AliEveEventManager.cxx:593
 AliEveEventManager.cxx:594
 AliEveEventManager.cxx:595
 AliEveEventManager.cxx:596
 AliEveEventManager.cxx:597
 AliEveEventManager.cxx:598
 AliEveEventManager.cxx:599
 AliEveEventManager.cxx:600
 AliEveEventManager.cxx:601
 AliEveEventManager.cxx:602
 AliEveEventManager.cxx:603
 AliEveEventManager.cxx:604
 AliEveEventManager.cxx:605
 AliEveEventManager.cxx:606
 AliEveEventManager.cxx:607
 AliEveEventManager.cxx:608
 AliEveEventManager.cxx:609
 AliEveEventManager.cxx:610
 AliEveEventManager.cxx:611
 AliEveEventManager.cxx:612
 AliEveEventManager.cxx:613
 AliEveEventManager.cxx:614
 AliEveEventManager.cxx:615
 AliEveEventManager.cxx:616
 AliEveEventManager.cxx:617
 AliEveEventManager.cxx:618
 AliEveEventManager.cxx:619
 AliEveEventManager.cxx:620
 AliEveEventManager.cxx:621
 AliEveEventManager.cxx:622
 AliEveEventManager.cxx:623
 AliEveEventManager.cxx:624
 AliEveEventManager.cxx:625
 AliEveEventManager.cxx:626
 AliEveEventManager.cxx:627
 AliEveEventManager.cxx:628
 AliEveEventManager.cxx:629
 AliEveEventManager.cxx:630
 AliEveEventManager.cxx:631
 AliEveEventManager.cxx:632
 AliEveEventManager.cxx:633
 AliEveEventManager.cxx:634
 AliEveEventManager.cxx:635
 AliEveEventManager.cxx:636
 AliEveEventManager.cxx:637
 AliEveEventManager.cxx:638
 AliEveEventManager.cxx:639
 AliEveEventManager.cxx:640
 AliEveEventManager.cxx:641
 AliEveEventManager.cxx:642
 AliEveEventManager.cxx:643
 AliEveEventManager.cxx:644
 AliEveEventManager.cxx:645
 AliEveEventManager.cxx:646
 AliEveEventManager.cxx:647
 AliEveEventManager.cxx:648
 AliEveEventManager.cxx:649
 AliEveEventManager.cxx:650
 AliEveEventManager.cxx:651
 AliEveEventManager.cxx:652
 AliEveEventManager.cxx:653
 AliEveEventManager.cxx:654
 AliEveEventManager.cxx:655
 AliEveEventManager.cxx:656
 AliEveEventManager.cxx:657
 AliEveEventManager.cxx:658
 AliEveEventManager.cxx:659
 AliEveEventManager.cxx:660
 AliEveEventManager.cxx:661
 AliEveEventManager.cxx:662
 AliEveEventManager.cxx:663
 AliEveEventManager.cxx:664
 AliEveEventManager.cxx:665
 AliEveEventManager.cxx:666
 AliEveEventManager.cxx:667
 AliEveEventManager.cxx:668
 AliEveEventManager.cxx:669
 AliEveEventManager.cxx:670
 AliEveEventManager.cxx:671
 AliEveEventManager.cxx:672
 AliEveEventManager.cxx:673
 AliEveEventManager.cxx:674
 AliEveEventManager.cxx:675
 AliEveEventManager.cxx:676
 AliEveEventManager.cxx:677
 AliEveEventManager.cxx:678
 AliEveEventManager.cxx:679
 AliEveEventManager.cxx:680
 AliEveEventManager.cxx:681
 AliEveEventManager.cxx:682
 AliEveEventManager.cxx:683
 AliEveEventManager.cxx:684
 AliEveEventManager.cxx:685
 AliEveEventManager.cxx:686
 AliEveEventManager.cxx:687
 AliEveEventManager.cxx:688
 AliEveEventManager.cxx:689
 AliEveEventManager.cxx:690
 AliEveEventManager.cxx:691
 AliEveEventManager.cxx:692
 AliEveEventManager.cxx:693
 AliEveEventManager.cxx:694
 AliEveEventManager.cxx:695
 AliEveEventManager.cxx:696
 AliEveEventManager.cxx:697
 AliEveEventManager.cxx:698
 AliEveEventManager.cxx:699
 AliEveEventManager.cxx:700
 AliEveEventManager.cxx:701
 AliEveEventManager.cxx:702
 AliEveEventManager.cxx:703
 AliEveEventManager.cxx:704
 AliEveEventManager.cxx:705
 AliEveEventManager.cxx:706
 AliEveEventManager.cxx:707
 AliEveEventManager.cxx:708
 AliEveEventManager.cxx:709
 AliEveEventManager.cxx:710
 AliEveEventManager.cxx:711
 AliEveEventManager.cxx:712
 AliEveEventManager.cxx:713
 AliEveEventManager.cxx:714
 AliEveEventManager.cxx:715
 AliEveEventManager.cxx:716
 AliEveEventManager.cxx:717
 AliEveEventManager.cxx:718
 AliEveEventManager.cxx:719
 AliEveEventManager.cxx:720
 AliEveEventManager.cxx:721
 AliEveEventManager.cxx:722
 AliEveEventManager.cxx:723
 AliEveEventManager.cxx:724
 AliEveEventManager.cxx:725
 AliEveEventManager.cxx:726
 AliEveEventManager.cxx:727
 AliEveEventManager.cxx:728
 AliEveEventManager.cxx:729
 AliEveEventManager.cxx:730
 AliEveEventManager.cxx:731
 AliEveEventManager.cxx:732
 AliEveEventManager.cxx:733
 AliEveEventManager.cxx:734
 AliEveEventManager.cxx:735
 AliEveEventManager.cxx:736
 AliEveEventManager.cxx:737
 AliEveEventManager.cxx:738
 AliEveEventManager.cxx:739
 AliEveEventManager.cxx:740
 AliEveEventManager.cxx:741
 AliEveEventManager.cxx:742
 AliEveEventManager.cxx:743
 AliEveEventManager.cxx:744
 AliEveEventManager.cxx:745
 AliEveEventManager.cxx:746
 AliEveEventManager.cxx:747
 AliEveEventManager.cxx:748
 AliEveEventManager.cxx:749
 AliEveEventManager.cxx:750
 AliEveEventManager.cxx:751
 AliEveEventManager.cxx:752
 AliEveEventManager.cxx:753
 AliEveEventManager.cxx:754
 AliEveEventManager.cxx:755
 AliEveEventManager.cxx:756
 AliEveEventManager.cxx:757
 AliEveEventManager.cxx:758
 AliEveEventManager.cxx:759
 AliEveEventManager.cxx:760
 AliEveEventManager.cxx:761
 AliEveEventManager.cxx:762
 AliEveEventManager.cxx:763
 AliEveEventManager.cxx:764
 AliEveEventManager.cxx:765
 AliEveEventManager.cxx:766
 AliEveEventManager.cxx:767
 AliEveEventManager.cxx:768
 AliEveEventManager.cxx:769
 AliEveEventManager.cxx:770
 AliEveEventManager.cxx:771
 AliEveEventManager.cxx:772
 AliEveEventManager.cxx:773
 AliEveEventManager.cxx:774
 AliEveEventManager.cxx:775
 AliEveEventManager.cxx:776
 AliEveEventManager.cxx:777
 AliEveEventManager.cxx:778
 AliEveEventManager.cxx:779
 AliEveEventManager.cxx:780
 AliEveEventManager.cxx:781
 AliEveEventManager.cxx:782
 AliEveEventManager.cxx:783
 AliEveEventManager.cxx:784
 AliEveEventManager.cxx:785
 AliEveEventManager.cxx:786
 AliEveEventManager.cxx:787
 AliEveEventManager.cxx:788
 AliEveEventManager.cxx:789
 AliEveEventManager.cxx:790
 AliEveEventManager.cxx:791
 AliEveEventManager.cxx:792
 AliEveEventManager.cxx:793
 AliEveEventManager.cxx:794
 AliEveEventManager.cxx:795
 AliEveEventManager.cxx:796
 AliEveEventManager.cxx:797
 AliEveEventManager.cxx:798
 AliEveEventManager.cxx:799
 AliEveEventManager.cxx:800
 AliEveEventManager.cxx:801
 AliEveEventManager.cxx:802
 AliEveEventManager.cxx:803
 AliEveEventManager.cxx:804
 AliEveEventManager.cxx:805
 AliEveEventManager.cxx:806
 AliEveEventManager.cxx:807
 AliEveEventManager.cxx:808
 AliEveEventManager.cxx:809
 AliEveEventManager.cxx:810
 AliEveEventManager.cxx:811
 AliEveEventManager.cxx:812
 AliEveEventManager.cxx:813
 AliEveEventManager.cxx:814
 AliEveEventManager.cxx:815
 AliEveEventManager.cxx:816
 AliEveEventManager.cxx:817
 AliEveEventManager.cxx:818
 AliEveEventManager.cxx:819
 AliEveEventManager.cxx:820
 AliEveEventManager.cxx:821
 AliEveEventManager.cxx:822
 AliEveEventManager.cxx:823
 AliEveEventManager.cxx:824
 AliEveEventManager.cxx:825
 AliEveEventManager.cxx:826
 AliEveEventManager.cxx:827
 AliEveEventManager.cxx:828
 AliEveEventManager.cxx:829
 AliEveEventManager.cxx:830
 AliEveEventManager.cxx:831
 AliEveEventManager.cxx:832
 AliEveEventManager.cxx:833
 AliEveEventManager.cxx:834
 AliEveEventManager.cxx:835
 AliEveEventManager.cxx:836
 AliEveEventManager.cxx:837
 AliEveEventManager.cxx:838
 AliEveEventManager.cxx:839
 AliEveEventManager.cxx:840
 AliEveEventManager.cxx:841
 AliEveEventManager.cxx:842
 AliEveEventManager.cxx:843
 AliEveEventManager.cxx:844
 AliEveEventManager.cxx:845
 AliEveEventManager.cxx:846
 AliEveEventManager.cxx:847
 AliEveEventManager.cxx:848
 AliEveEventManager.cxx:849
 AliEveEventManager.cxx:850
 AliEveEventManager.cxx:851
 AliEveEventManager.cxx:852
 AliEveEventManager.cxx:853
 AliEveEventManager.cxx:854
 AliEveEventManager.cxx:855
 AliEveEventManager.cxx:856
 AliEveEventManager.cxx:857
 AliEveEventManager.cxx:858
 AliEveEventManager.cxx:859
 AliEveEventManager.cxx:860
 AliEveEventManager.cxx:861
 AliEveEventManager.cxx:862
 AliEveEventManager.cxx:863
 AliEveEventManager.cxx:864
 AliEveEventManager.cxx:865
 AliEveEventManager.cxx:866
 AliEveEventManager.cxx:867
 AliEveEventManager.cxx:868
 AliEveEventManager.cxx:869
 AliEveEventManager.cxx:870
 AliEveEventManager.cxx:871
 AliEveEventManager.cxx:872
 AliEveEventManager.cxx:873
 AliEveEventManager.cxx:874
 AliEveEventManager.cxx:875
 AliEveEventManager.cxx:876
 AliEveEventManager.cxx:877
 AliEveEventManager.cxx:878
 AliEveEventManager.cxx:879
 AliEveEventManager.cxx:880
 AliEveEventManager.cxx:881
 AliEveEventManager.cxx:882
 AliEveEventManager.cxx:883
 AliEveEventManager.cxx:884
 AliEveEventManager.cxx:885
 AliEveEventManager.cxx:886
 AliEveEventManager.cxx:887
 AliEveEventManager.cxx:888
 AliEveEventManager.cxx:889
 AliEveEventManager.cxx:890
 AliEveEventManager.cxx:891
 AliEveEventManager.cxx:892
 AliEveEventManager.cxx:893
 AliEveEventManager.cxx:894
 AliEveEventManager.cxx:895
 AliEveEventManager.cxx:896
 AliEveEventManager.cxx:897
 AliEveEventManager.cxx:898
 AliEveEventManager.cxx:899
 AliEveEventManager.cxx:900
 AliEveEventManager.cxx:901
 AliEveEventManager.cxx:902
 AliEveEventManager.cxx:903
 AliEveEventManager.cxx:904
 AliEveEventManager.cxx:905
 AliEveEventManager.cxx:906
 AliEveEventManager.cxx:907
 AliEveEventManager.cxx:908
 AliEveEventManager.cxx:909
 AliEveEventManager.cxx:910
 AliEveEventManager.cxx:911
 AliEveEventManager.cxx:912
 AliEveEventManager.cxx:913
 AliEveEventManager.cxx:914
 AliEveEventManager.cxx:915
 AliEveEventManager.cxx:916
 AliEveEventManager.cxx:917
 AliEveEventManager.cxx:918
 AliEveEventManager.cxx:919
 AliEveEventManager.cxx:920
 AliEveEventManager.cxx:921
 AliEveEventManager.cxx:922
 AliEveEventManager.cxx:923
 AliEveEventManager.cxx:924
 AliEveEventManager.cxx:925
 AliEveEventManager.cxx:926
 AliEveEventManager.cxx:927
 AliEveEventManager.cxx:928
 AliEveEventManager.cxx:929
 AliEveEventManager.cxx:930
 AliEveEventManager.cxx:931
 AliEveEventManager.cxx:932
 AliEveEventManager.cxx:933
 AliEveEventManager.cxx:934
 AliEveEventManager.cxx:935
 AliEveEventManager.cxx:936
 AliEveEventManager.cxx:937
 AliEveEventManager.cxx:938
 AliEveEventManager.cxx:939
 AliEveEventManager.cxx:940
 AliEveEventManager.cxx:941
 AliEveEventManager.cxx:942
 AliEveEventManager.cxx:943
 AliEveEventManager.cxx:944
 AliEveEventManager.cxx:945
 AliEveEventManager.cxx:946
 AliEveEventManager.cxx:947
 AliEveEventManager.cxx:948
 AliEveEventManager.cxx:949
 AliEveEventManager.cxx:950
 AliEveEventManager.cxx:951
 AliEveEventManager.cxx:952
 AliEveEventManager.cxx:953
 AliEveEventManager.cxx:954
 AliEveEventManager.cxx:955
 AliEveEventManager.cxx:956
 AliEveEventManager.cxx:957
 AliEveEventManager.cxx:958
 AliEveEventManager.cxx:959
 AliEveEventManager.cxx:960
 AliEveEventManager.cxx:961
 AliEveEventManager.cxx:962
 AliEveEventManager.cxx:963
 AliEveEventManager.cxx:964
 AliEveEventManager.cxx:965
 AliEveEventManager.cxx:966
 AliEveEventManager.cxx:967
 AliEveEventManager.cxx:968
 AliEveEventManager.cxx:969
 AliEveEventManager.cxx:970
 AliEveEventManager.cxx:971
 AliEveEventManager.cxx:972
 AliEveEventManager.cxx:973
 AliEveEventManager.cxx:974
 AliEveEventManager.cxx:975
 AliEveEventManager.cxx:976
 AliEveEventManager.cxx:977
 AliEveEventManager.cxx:978
 AliEveEventManager.cxx:979
 AliEveEventManager.cxx:980
 AliEveEventManager.cxx:981
 AliEveEventManager.cxx:982
 AliEveEventManager.cxx:983
 AliEveEventManager.cxx:984
 AliEveEventManager.cxx:985
 AliEveEventManager.cxx:986
 AliEveEventManager.cxx:987
 AliEveEventManager.cxx:988
 AliEveEventManager.cxx:989
 AliEveEventManager.cxx:990
 AliEveEventManager.cxx:991
 AliEveEventManager.cxx:992
 AliEveEventManager.cxx:993
 AliEveEventManager.cxx:994
 AliEveEventManager.cxx:995
 AliEveEventManager.cxx:996
 AliEveEventManager.cxx:997
 AliEveEventManager.cxx:998
 AliEveEventManager.cxx:999
 AliEveEventManager.cxx:1000
 AliEveEventManager.cxx:1001
 AliEveEventManager.cxx:1002
 AliEveEventManager.cxx:1003
 AliEveEventManager.cxx:1004
 AliEveEventManager.cxx:1005
 AliEveEventManager.cxx:1006
 AliEveEventManager.cxx:1007
 AliEveEventManager.cxx:1008
 AliEveEventManager.cxx:1009
 AliEveEventManager.cxx:1010
 AliEveEventManager.cxx:1011
 AliEveEventManager.cxx:1012
 AliEveEventManager.cxx:1013
 AliEveEventManager.cxx:1014
 AliEveEventManager.cxx:1015
 AliEveEventManager.cxx:1016
 AliEveEventManager.cxx:1017
 AliEveEventManager.cxx:1018
 AliEveEventManager.cxx:1019
 AliEveEventManager.cxx:1020
 AliEveEventManager.cxx:1021
 AliEveEventManager.cxx:1022
 AliEveEventManager.cxx:1023
 AliEveEventManager.cxx:1024
 AliEveEventManager.cxx:1025
 AliEveEventManager.cxx:1026
 AliEveEventManager.cxx:1027
 AliEveEventManager.cxx:1028
 AliEveEventManager.cxx:1029
 AliEveEventManager.cxx:1030
 AliEveEventManager.cxx:1031
 AliEveEventManager.cxx:1032
 AliEveEventManager.cxx:1033
 AliEveEventManager.cxx:1034
 AliEveEventManager.cxx:1035
 AliEveEventManager.cxx:1036
 AliEveEventManager.cxx:1037
 AliEveEventManager.cxx:1038
 AliEveEventManager.cxx:1039
 AliEveEventManager.cxx:1040
 AliEveEventManager.cxx:1041
 AliEveEventManager.cxx:1042
 AliEveEventManager.cxx:1043
 AliEveEventManager.cxx:1044
 AliEveEventManager.cxx:1045
 AliEveEventManager.cxx:1046
 AliEveEventManager.cxx:1047
 AliEveEventManager.cxx:1048
 AliEveEventManager.cxx:1049
 AliEveEventManager.cxx:1050
 AliEveEventManager.cxx:1051
 AliEveEventManager.cxx:1052
 AliEveEventManager.cxx:1053
 AliEveEventManager.cxx:1054
 AliEveEventManager.cxx:1055
 AliEveEventManager.cxx:1056
 AliEveEventManager.cxx:1057
 AliEveEventManager.cxx:1058
 AliEveEventManager.cxx:1059
 AliEveEventManager.cxx:1060
 AliEveEventManager.cxx:1061
 AliEveEventManager.cxx:1062
 AliEveEventManager.cxx:1063
 AliEveEventManager.cxx:1064
 AliEveEventManager.cxx:1065
 AliEveEventManager.cxx:1066
 AliEveEventManager.cxx:1067
 AliEveEventManager.cxx:1068
 AliEveEventManager.cxx:1069
 AliEveEventManager.cxx:1070
 AliEveEventManager.cxx:1071
 AliEveEventManager.cxx:1072
 AliEveEventManager.cxx:1073
 AliEveEventManager.cxx:1074
 AliEveEventManager.cxx:1075
 AliEveEventManager.cxx:1076
 AliEveEventManager.cxx:1077
 AliEveEventManager.cxx:1078
 AliEveEventManager.cxx:1079
 AliEveEventManager.cxx:1080
 AliEveEventManager.cxx:1081
 AliEveEventManager.cxx:1082
 AliEveEventManager.cxx:1083
 AliEveEventManager.cxx:1084
 AliEveEventManager.cxx:1085
 AliEveEventManager.cxx:1086
 AliEveEventManager.cxx:1087
 AliEveEventManager.cxx:1088
 AliEveEventManager.cxx:1089
 AliEveEventManager.cxx:1090
 AliEveEventManager.cxx:1091
 AliEveEventManager.cxx:1092
 AliEveEventManager.cxx:1093
 AliEveEventManager.cxx:1094
 AliEveEventManager.cxx:1095
 AliEveEventManager.cxx:1096
 AliEveEventManager.cxx:1097
 AliEveEventManager.cxx:1098
 AliEveEventManager.cxx:1099
 AliEveEventManager.cxx:1100
 AliEveEventManager.cxx:1101
 AliEveEventManager.cxx:1102
 AliEveEventManager.cxx:1103
 AliEveEventManager.cxx:1104
 AliEveEventManager.cxx:1105
 AliEveEventManager.cxx:1106
 AliEveEventManager.cxx:1107
 AliEveEventManager.cxx:1108
 AliEveEventManager.cxx:1109
 AliEveEventManager.cxx:1110
 AliEveEventManager.cxx:1111
 AliEveEventManager.cxx:1112
 AliEveEventManager.cxx:1113
 AliEveEventManager.cxx:1114
 AliEveEventManager.cxx:1115
 AliEveEventManager.cxx:1116
 AliEveEventManager.cxx:1117
 AliEveEventManager.cxx:1118
 AliEveEventManager.cxx:1119
 AliEveEventManager.cxx:1120
 AliEveEventManager.cxx:1121
 AliEveEventManager.cxx:1122
 AliEveEventManager.cxx:1123
 AliEveEventManager.cxx:1124
 AliEveEventManager.cxx:1125
 AliEveEventManager.cxx:1126
 AliEveEventManager.cxx:1127
 AliEveEventManager.cxx:1128
 AliEveEventManager.cxx:1129
 AliEveEventManager.cxx:1130
 AliEveEventManager.cxx:1131
 AliEveEventManager.cxx:1132
 AliEveEventManager.cxx:1133
 AliEveEventManager.cxx:1134
 AliEveEventManager.cxx:1135
 AliEveEventManager.cxx:1136
 AliEveEventManager.cxx:1137
 AliEveEventManager.cxx:1138
 AliEveEventManager.cxx:1139
 AliEveEventManager.cxx:1140
 AliEveEventManager.cxx:1141
 AliEveEventManager.cxx:1142
 AliEveEventManager.cxx:1143
 AliEveEventManager.cxx:1144
 AliEveEventManager.cxx:1145
 AliEveEventManager.cxx:1146
 AliEveEventManager.cxx:1147
 AliEveEventManager.cxx:1148
 AliEveEventManager.cxx:1149
 AliEveEventManager.cxx:1150
 AliEveEventManager.cxx:1151
 AliEveEventManager.cxx:1152
 AliEveEventManager.cxx:1153
 AliEveEventManager.cxx:1154
 AliEveEventManager.cxx:1155
 AliEveEventManager.cxx:1156
 AliEveEventManager.cxx:1157
 AliEveEventManager.cxx:1158
 AliEveEventManager.cxx:1159
 AliEveEventManager.cxx:1160
 AliEveEventManager.cxx:1161
 AliEveEventManager.cxx:1162
 AliEveEventManager.cxx:1163
 AliEveEventManager.cxx:1164
 AliEveEventManager.cxx:1165
 AliEveEventManager.cxx:1166
 AliEveEventManager.cxx:1167
 AliEveEventManager.cxx:1168
 AliEveEventManager.cxx:1169
 AliEveEventManager.cxx:1170
 AliEveEventManager.cxx:1171
 AliEveEventManager.cxx:1172
 AliEveEventManager.cxx:1173
 AliEveEventManager.cxx:1174
 AliEveEventManager.cxx:1175
 AliEveEventManager.cxx:1176
 AliEveEventManager.cxx:1177
 AliEveEventManager.cxx:1178
 AliEveEventManager.cxx:1179
 AliEveEventManager.cxx:1180
 AliEveEventManager.cxx:1181
 AliEveEventManager.cxx:1182
 AliEveEventManager.cxx:1183
 AliEveEventManager.cxx:1184
 AliEveEventManager.cxx:1185
 AliEveEventManager.cxx:1186
 AliEveEventManager.cxx:1187
 AliEveEventManager.cxx:1188
 AliEveEventManager.cxx:1189
 AliEveEventManager.cxx:1190
 AliEveEventManager.cxx:1191
 AliEveEventManager.cxx:1192
 AliEveEventManager.cxx:1193
 AliEveEventManager.cxx:1194
 AliEveEventManager.cxx:1195
 AliEveEventManager.cxx:1196
 AliEveEventManager.cxx:1197
 AliEveEventManager.cxx:1198
 AliEveEventManager.cxx:1199
 AliEveEventManager.cxx:1200
 AliEveEventManager.cxx:1201
 AliEveEventManager.cxx:1202
 AliEveEventManager.cxx:1203
 AliEveEventManager.cxx:1204
 AliEveEventManager.cxx:1205
 AliEveEventManager.cxx:1206
 AliEveEventManager.cxx:1207
 AliEveEventManager.cxx:1208
 AliEveEventManager.cxx:1209
 AliEveEventManager.cxx:1210
 AliEveEventManager.cxx:1211
 AliEveEventManager.cxx:1212
 AliEveEventManager.cxx:1213
 AliEveEventManager.cxx:1214
 AliEveEventManager.cxx:1215
 AliEveEventManager.cxx:1216
 AliEveEventManager.cxx:1217
 AliEveEventManager.cxx:1218
 AliEveEventManager.cxx:1219
 AliEveEventManager.cxx:1220
 AliEveEventManager.cxx:1221
 AliEveEventManager.cxx:1222
 AliEveEventManager.cxx:1223
 AliEveEventManager.cxx:1224
 AliEveEventManager.cxx:1225
 AliEveEventManager.cxx:1226
 AliEveEventManager.cxx:1227
 AliEveEventManager.cxx:1228
 AliEveEventManager.cxx:1229
 AliEveEventManager.cxx:1230
 AliEveEventManager.cxx:1231
 AliEveEventManager.cxx:1232
 AliEveEventManager.cxx:1233
 AliEveEventManager.cxx:1234
 AliEveEventManager.cxx:1235
 AliEveEventManager.cxx:1236
 AliEveEventManager.cxx:1237
 AliEveEventManager.cxx:1238
 AliEveEventManager.cxx:1239
 AliEveEventManager.cxx:1240
 AliEveEventManager.cxx:1241
 AliEveEventManager.cxx:1242
 AliEveEventManager.cxx:1243
 AliEveEventManager.cxx:1244
 AliEveEventManager.cxx:1245
 AliEveEventManager.cxx:1246
 AliEveEventManager.cxx:1247
 AliEveEventManager.cxx:1248
 AliEveEventManager.cxx:1249
 AliEveEventManager.cxx:1250
 AliEveEventManager.cxx:1251
 AliEveEventManager.cxx:1252
 AliEveEventManager.cxx:1253
 AliEveEventManager.cxx:1254
 AliEveEventManager.cxx:1255
 AliEveEventManager.cxx:1256
 AliEveEventManager.cxx:1257
 AliEveEventManager.cxx:1258
 AliEveEventManager.cxx:1259
 AliEveEventManager.cxx:1260
 AliEveEventManager.cxx:1261
 AliEveEventManager.cxx:1262
 AliEveEventManager.cxx:1263
 AliEveEventManager.cxx:1264
 AliEveEventManager.cxx:1265
 AliEveEventManager.cxx:1266
 AliEveEventManager.cxx:1267
 AliEveEventManager.cxx:1268
 AliEveEventManager.cxx:1269
 AliEveEventManager.cxx:1270
 AliEveEventManager.cxx:1271
 AliEveEventManager.cxx:1272
 AliEveEventManager.cxx:1273
 AliEveEventManager.cxx:1274
 AliEveEventManager.cxx:1275
 AliEveEventManager.cxx:1276
 AliEveEventManager.cxx:1277
 AliEveEventManager.cxx:1278
 AliEveEventManager.cxx:1279
 AliEveEventManager.cxx:1280
 AliEveEventManager.cxx:1281
 AliEveEventManager.cxx:1282
 AliEveEventManager.cxx:1283
 AliEveEventManager.cxx:1284
 AliEveEventManager.cxx:1285
 AliEveEventManager.cxx:1286
 AliEveEventManager.cxx:1287
 AliEveEventManager.cxx:1288
 AliEveEventManager.cxx:1289
 AliEveEventManager.cxx:1290
 AliEveEventManager.cxx:1291
 AliEveEventManager.cxx:1292
 AliEveEventManager.cxx:1293
 AliEveEventManager.cxx:1294
 AliEveEventManager.cxx:1295
 AliEveEventManager.cxx:1296
 AliEveEventManager.cxx:1297
 AliEveEventManager.cxx:1298
 AliEveEventManager.cxx:1299
 AliEveEventManager.cxx:1300
 AliEveEventManager.cxx:1301
 AliEveEventManager.cxx:1302
 AliEveEventManager.cxx:1303
 AliEveEventManager.cxx:1304
 AliEveEventManager.cxx:1305
 AliEveEventManager.cxx:1306
 AliEveEventManager.cxx:1307
 AliEveEventManager.cxx:1308
 AliEveEventManager.cxx:1309
 AliEveEventManager.cxx:1310
 AliEveEventManager.cxx:1311
 AliEveEventManager.cxx:1312
 AliEveEventManager.cxx:1313
 AliEveEventManager.cxx:1314
 AliEveEventManager.cxx:1315
 AliEveEventManager.cxx:1316
 AliEveEventManager.cxx:1317
 AliEveEventManager.cxx:1318
 AliEveEventManager.cxx:1319
 AliEveEventManager.cxx:1320
 AliEveEventManager.cxx:1321
 AliEveEventManager.cxx:1322
 AliEveEventManager.cxx:1323
 AliEveEventManager.cxx:1324
 AliEveEventManager.cxx:1325
 AliEveEventManager.cxx:1326
 AliEveEventManager.cxx:1327
 AliEveEventManager.cxx:1328
 AliEveEventManager.cxx:1329
 AliEveEventManager.cxx:1330
 AliEveEventManager.cxx:1331
 AliEveEventManager.cxx:1332
 AliEveEventManager.cxx:1333
 AliEveEventManager.cxx:1334
 AliEveEventManager.cxx:1335
 AliEveEventManager.cxx:1336
 AliEveEventManager.cxx:1337
 AliEveEventManager.cxx:1338
 AliEveEventManager.cxx:1339
 AliEveEventManager.cxx:1340
 AliEveEventManager.cxx:1341
 AliEveEventManager.cxx:1342
 AliEveEventManager.cxx:1343
 AliEveEventManager.cxx:1344
 AliEveEventManager.cxx:1345
 AliEveEventManager.cxx:1346
 AliEveEventManager.cxx:1347
 AliEveEventManager.cxx:1348
 AliEveEventManager.cxx:1349
 AliEveEventManager.cxx:1350
 AliEveEventManager.cxx:1351
 AliEveEventManager.cxx:1352
 AliEveEventManager.cxx:1353
 AliEveEventManager.cxx:1354
 AliEveEventManager.cxx:1355
 AliEveEventManager.cxx:1356
 AliEveEventManager.cxx:1357
 AliEveEventManager.cxx:1358
 AliEveEventManager.cxx:1359
 AliEveEventManager.cxx:1360
 AliEveEventManager.cxx:1361
 AliEveEventManager.cxx:1362
 AliEveEventManager.cxx:1363
 AliEveEventManager.cxx:1364
 AliEveEventManager.cxx:1365
 AliEveEventManager.cxx:1366
 AliEveEventManager.cxx:1367
 AliEveEventManager.cxx:1368
 AliEveEventManager.cxx:1369
 AliEveEventManager.cxx:1370
 AliEveEventManager.cxx:1371
 AliEveEventManager.cxx:1372
 AliEveEventManager.cxx:1373
 AliEveEventManager.cxx:1374
 AliEveEventManager.cxx:1375
 AliEveEventManager.cxx:1376
 AliEveEventManager.cxx:1377
 AliEveEventManager.cxx:1378
 AliEveEventManager.cxx:1379
 AliEveEventManager.cxx:1380
 AliEveEventManager.cxx:1381
 AliEveEventManager.cxx:1382
 AliEveEventManager.cxx:1383
 AliEveEventManager.cxx:1384
 AliEveEventManager.cxx:1385
 AliEveEventManager.cxx:1386
 AliEveEventManager.cxx:1387
 AliEveEventManager.cxx:1388
 AliEveEventManager.cxx:1389
 AliEveEventManager.cxx:1390
 AliEveEventManager.cxx:1391
 AliEveEventManager.cxx:1392
 AliEveEventManager.cxx:1393
 AliEveEventManager.cxx:1394
 AliEveEventManager.cxx:1395
 AliEveEventManager.cxx:1396
 AliEveEventManager.cxx:1397
 AliEveEventManager.cxx:1398
 AliEveEventManager.cxx:1399
 AliEveEventManager.cxx:1400
 AliEveEventManager.cxx:1401
 AliEveEventManager.cxx:1402
 AliEveEventManager.cxx:1403
 AliEveEventManager.cxx:1404
 AliEveEventManager.cxx:1405
 AliEveEventManager.cxx:1406
 AliEveEventManager.cxx:1407
 AliEveEventManager.cxx:1408
 AliEveEventManager.cxx:1409
 AliEveEventManager.cxx:1410
 AliEveEventManager.cxx:1411
 AliEveEventManager.cxx:1412
 AliEveEventManager.cxx:1413
 AliEveEventManager.cxx:1414
 AliEveEventManager.cxx:1415
 AliEveEventManager.cxx:1416
 AliEveEventManager.cxx:1417
 AliEveEventManager.cxx:1418
 AliEveEventManager.cxx:1419
 AliEveEventManager.cxx:1420
 AliEveEventManager.cxx:1421
 AliEveEventManager.cxx:1422
 AliEveEventManager.cxx:1423
 AliEveEventManager.cxx:1424
 AliEveEventManager.cxx:1425
 AliEveEventManager.cxx:1426
 AliEveEventManager.cxx:1427
 AliEveEventManager.cxx:1428
 AliEveEventManager.cxx:1429
 AliEveEventManager.cxx:1430
 AliEveEventManager.cxx:1431
 AliEveEventManager.cxx:1432
 AliEveEventManager.cxx:1433
 AliEveEventManager.cxx:1434
 AliEveEventManager.cxx:1435
 AliEveEventManager.cxx:1436
 AliEveEventManager.cxx:1437
 AliEveEventManager.cxx:1438
 AliEveEventManager.cxx:1439
 AliEveEventManager.cxx:1440
 AliEveEventManager.cxx:1441
 AliEveEventManager.cxx:1442
 AliEveEventManager.cxx:1443
 AliEveEventManager.cxx:1444
 AliEveEventManager.cxx:1445
 AliEveEventManager.cxx:1446
 AliEveEventManager.cxx:1447
 AliEveEventManager.cxx:1448
 AliEveEventManager.cxx:1449
 AliEveEventManager.cxx:1450
 AliEveEventManager.cxx:1451
 AliEveEventManager.cxx:1452
 AliEveEventManager.cxx:1453
 AliEveEventManager.cxx:1454
 AliEveEventManager.cxx:1455
 AliEveEventManager.cxx:1456
 AliEveEventManager.cxx:1457
 AliEveEventManager.cxx:1458
 AliEveEventManager.cxx:1459
 AliEveEventManager.cxx:1460
 AliEveEventManager.cxx:1461
 AliEveEventManager.cxx:1462
 AliEveEventManager.cxx:1463
 AliEveEventManager.cxx:1464
 AliEveEventManager.cxx:1465
 AliEveEventManager.cxx:1466
 AliEveEventManager.cxx:1467
 AliEveEventManager.cxx:1468
 AliEveEventManager.cxx:1469
 AliEveEventManager.cxx:1470
 AliEveEventManager.cxx:1471
 AliEveEventManager.cxx:1472
 AliEveEventManager.cxx:1473
 AliEveEventManager.cxx:1474
 AliEveEventManager.cxx:1475
 AliEveEventManager.cxx:1476
 AliEveEventManager.cxx:1477
 AliEveEventManager.cxx:1478
 AliEveEventManager.cxx:1479
 AliEveEventManager.cxx:1480
 AliEveEventManager.cxx:1481
 AliEveEventManager.cxx:1482
 AliEveEventManager.cxx:1483
 AliEveEventManager.cxx:1484
 AliEveEventManager.cxx:1485
 AliEveEventManager.cxx:1486
 AliEveEventManager.cxx:1487
 AliEveEventManager.cxx:1488
 AliEveEventManager.cxx:1489
 AliEveEventManager.cxx:1490
 AliEveEventManager.cxx:1491
 AliEveEventManager.cxx:1492
 AliEveEventManager.cxx:1493
 AliEveEventManager.cxx:1494
 AliEveEventManager.cxx:1495
 AliEveEventManager.cxx:1496
 AliEveEventManager.cxx:1497
 AliEveEventManager.cxx:1498
 AliEveEventManager.cxx:1499
 AliEveEventManager.cxx:1500
 AliEveEventManager.cxx:1501
 AliEveEventManager.cxx:1502
 AliEveEventManager.cxx:1503
 AliEveEventManager.cxx:1504
 AliEveEventManager.cxx:1505
 AliEveEventManager.cxx:1506
 AliEveEventManager.cxx:1507
 AliEveEventManager.cxx:1508
 AliEveEventManager.cxx:1509
 AliEveEventManager.cxx:1510
 AliEveEventManager.cxx:1511
 AliEveEventManager.cxx:1512
 AliEveEventManager.cxx:1513
 AliEveEventManager.cxx:1514
 AliEveEventManager.cxx:1515
 AliEveEventManager.cxx:1516
 AliEveEventManager.cxx:1517
 AliEveEventManager.cxx:1518
 AliEveEventManager.cxx:1519
 AliEveEventManager.cxx:1520
 AliEveEventManager.cxx:1521
 AliEveEventManager.cxx:1522
 AliEveEventManager.cxx:1523
 AliEveEventManager.cxx:1524
 AliEveEventManager.cxx:1525
 AliEveEventManager.cxx:1526
 AliEveEventManager.cxx:1527
 AliEveEventManager.cxx:1528
 AliEveEventManager.cxx:1529
 AliEveEventManager.cxx:1530
 AliEveEventManager.cxx:1531
 AliEveEventManager.cxx:1532
 AliEveEventManager.cxx:1533
 AliEveEventManager.cxx:1534
 AliEveEventManager.cxx:1535
 AliEveEventManager.cxx:1536
 AliEveEventManager.cxx:1537
 AliEveEventManager.cxx:1538
 AliEveEventManager.cxx:1539
 AliEveEventManager.cxx:1540
 AliEveEventManager.cxx:1541
 AliEveEventManager.cxx:1542
 AliEveEventManager.cxx:1543
 AliEveEventManager.cxx:1544
 AliEveEventManager.cxx:1545
 AliEveEventManager.cxx:1546
 AliEveEventManager.cxx:1547
 AliEveEventManager.cxx:1548
 AliEveEventManager.cxx:1549
 AliEveEventManager.cxx:1550
 AliEveEventManager.cxx:1551
 AliEveEventManager.cxx:1552
 AliEveEventManager.cxx:1553
 AliEveEventManager.cxx:1554
 AliEveEventManager.cxx:1555
 AliEveEventManager.cxx:1556
 AliEveEventManager.cxx:1557
 AliEveEventManager.cxx:1558
 AliEveEventManager.cxx:1559
 AliEveEventManager.cxx:1560
 AliEveEventManager.cxx:1561
 AliEveEventManager.cxx:1562
 AliEveEventManager.cxx:1563
 AliEveEventManager.cxx:1564
 AliEveEventManager.cxx:1565
 AliEveEventManager.cxx:1566
 AliEveEventManager.cxx:1567
 AliEveEventManager.cxx:1568
 AliEveEventManager.cxx:1569
 AliEveEventManager.cxx:1570
 AliEveEventManager.cxx:1571
 AliEveEventManager.cxx:1572
 AliEveEventManager.cxx:1573
 AliEveEventManager.cxx:1574
 AliEveEventManager.cxx:1575
 AliEveEventManager.cxx:1576
 AliEveEventManager.cxx:1577
 AliEveEventManager.cxx:1578
 AliEveEventManager.cxx:1579
 AliEveEventManager.cxx:1580
 AliEveEventManager.cxx:1581
 AliEveEventManager.cxx:1582
 AliEveEventManager.cxx:1583
 AliEveEventManager.cxx:1584
 AliEveEventManager.cxx:1585
 AliEveEventManager.cxx:1586
 AliEveEventManager.cxx:1587
 AliEveEventManager.cxx:1588
 AliEveEventManager.cxx:1589
 AliEveEventManager.cxx:1590
 AliEveEventManager.cxx:1591
 AliEveEventManager.cxx:1592
 AliEveEventManager.cxx:1593
 AliEveEventManager.cxx:1594
 AliEveEventManager.cxx:1595
 AliEveEventManager.cxx:1596
 AliEveEventManager.cxx:1597
 AliEveEventManager.cxx:1598
 AliEveEventManager.cxx:1599
 AliEveEventManager.cxx:1600
 AliEveEventManager.cxx:1601
 AliEveEventManager.cxx:1602
 AliEveEventManager.cxx:1603
 AliEveEventManager.cxx:1604
 AliEveEventManager.cxx:1605
 AliEveEventManager.cxx:1606
 AliEveEventManager.cxx:1607
 AliEveEventManager.cxx:1608
 AliEveEventManager.cxx:1609
 AliEveEventManager.cxx:1610
 AliEveEventManager.cxx:1611
 AliEveEventManager.cxx:1612
 AliEveEventManager.cxx:1613
 AliEveEventManager.cxx:1614
 AliEveEventManager.cxx:1615
 AliEveEventManager.cxx:1616
 AliEveEventManager.cxx:1617
 AliEveEventManager.cxx:1618
 AliEveEventManager.cxx:1619
 AliEveEventManager.cxx:1620
 AliEveEventManager.cxx:1621
 AliEveEventManager.cxx:1622
 AliEveEventManager.cxx:1623
 AliEveEventManager.cxx:1624
 AliEveEventManager.cxx:1625
 AliEveEventManager.cxx:1626
 AliEveEventManager.cxx:1627
 AliEveEventManager.cxx:1628
 AliEveEventManager.cxx:1629
 AliEveEventManager.cxx:1630
 AliEveEventManager.cxx:1631
 AliEveEventManager.cxx:1632
 AliEveEventManager.cxx:1633
 AliEveEventManager.cxx:1634
 AliEveEventManager.cxx:1635
 AliEveEventManager.cxx:1636
 AliEveEventManager.cxx:1637
 AliEveEventManager.cxx:1638
 AliEveEventManager.cxx:1639
 AliEveEventManager.cxx:1640
 AliEveEventManager.cxx:1641
 AliEveEventManager.cxx:1642
 AliEveEventManager.cxx:1643
 AliEveEventManager.cxx:1644
 AliEveEventManager.cxx:1645
 AliEveEventManager.cxx:1646
 AliEveEventManager.cxx:1647
 AliEveEventManager.cxx:1648
 AliEveEventManager.cxx:1649
 AliEveEventManager.cxx:1650
 AliEveEventManager.cxx:1651
 AliEveEventManager.cxx:1652
 AliEveEventManager.cxx:1653
 AliEveEventManager.cxx:1654
 AliEveEventManager.cxx:1655
 AliEveEventManager.cxx:1656
 AliEveEventManager.cxx:1657
 AliEveEventManager.cxx:1658
 AliEveEventManager.cxx:1659
 AliEveEventManager.cxx:1660
 AliEveEventManager.cxx:1661
 AliEveEventManager.cxx:1662
 AliEveEventManager.cxx:1663
 AliEveEventManager.cxx:1664
 AliEveEventManager.cxx:1665
 AliEveEventManager.cxx:1666
 AliEveEventManager.cxx:1667
 AliEveEventManager.cxx:1668
 AliEveEventManager.cxx:1669
 AliEveEventManager.cxx:1670
 AliEveEventManager.cxx:1671
 AliEveEventManager.cxx:1672
 AliEveEventManager.cxx:1673
 AliEveEventManager.cxx:1674
 AliEveEventManager.cxx:1675
 AliEveEventManager.cxx:1676
 AliEveEventManager.cxx:1677
 AliEveEventManager.cxx:1678
 AliEveEventManager.cxx:1679
 AliEveEventManager.cxx:1680
 AliEveEventManager.cxx:1681
 AliEveEventManager.cxx:1682
 AliEveEventManager.cxx:1683
 AliEveEventManager.cxx:1684
 AliEveEventManager.cxx:1685
 AliEveEventManager.cxx:1686
 AliEveEventManager.cxx:1687
 AliEveEventManager.cxx:1688
 AliEveEventManager.cxx:1689
 AliEveEventManager.cxx:1690
 AliEveEventManager.cxx:1691
 AliEveEventManager.cxx:1692
 AliEveEventManager.cxx:1693
 AliEveEventManager.cxx:1694
 AliEveEventManager.cxx:1695
 AliEveEventManager.cxx:1696
 AliEveEventManager.cxx:1697
 AliEveEventManager.cxx:1698
 AliEveEventManager.cxx:1699
 AliEveEventManager.cxx:1700
 AliEveEventManager.cxx:1701
 AliEveEventManager.cxx:1702
 AliEveEventManager.cxx:1703
 AliEveEventManager.cxx:1704
 AliEveEventManager.cxx:1705
 AliEveEventManager.cxx:1706
 AliEveEventManager.cxx:1707
 AliEveEventManager.cxx:1708
 AliEveEventManager.cxx:1709
 AliEveEventManager.cxx:1710
 AliEveEventManager.cxx:1711
 AliEveEventManager.cxx:1712
 AliEveEventManager.cxx:1713
 AliEveEventManager.cxx:1714
 AliEveEventManager.cxx:1715
 AliEveEventManager.cxx:1716
 AliEveEventManager.cxx:1717
 AliEveEventManager.cxx:1718
 AliEveEventManager.cxx:1719
 AliEveEventManager.cxx:1720
 AliEveEventManager.cxx:1721
 AliEveEventManager.cxx:1722
 AliEveEventManager.cxx:1723
 AliEveEventManager.cxx:1724
 AliEveEventManager.cxx:1725
 AliEveEventManager.cxx:1726
 AliEveEventManager.cxx:1727
 AliEveEventManager.cxx:1728
 AliEveEventManager.cxx:1729
 AliEveEventManager.cxx:1730
 AliEveEventManager.cxx:1731
 AliEveEventManager.cxx:1732
 AliEveEventManager.cxx:1733
 AliEveEventManager.cxx:1734
 AliEveEventManager.cxx:1735
 AliEveEventManager.cxx:1736
 AliEveEventManager.cxx:1737
 AliEveEventManager.cxx:1738
 AliEveEventManager.cxx:1739
 AliEveEventManager.cxx:1740
 AliEveEventManager.cxx:1741
 AliEveEventManager.cxx:1742
 AliEveEventManager.cxx:1743
 AliEveEventManager.cxx:1744
 AliEveEventManager.cxx:1745
 AliEveEventManager.cxx:1746
 AliEveEventManager.cxx:1747
 AliEveEventManager.cxx:1748
 AliEveEventManager.cxx:1749
 AliEveEventManager.cxx:1750
 AliEveEventManager.cxx:1751
 AliEveEventManager.cxx:1752
 AliEveEventManager.cxx:1753
 AliEveEventManager.cxx:1754
 AliEveEventManager.cxx:1755
 AliEveEventManager.cxx:1756
 AliEveEventManager.cxx:1757
 AliEveEventManager.cxx:1758
 AliEveEventManager.cxx:1759
 AliEveEventManager.cxx:1760
 AliEveEventManager.cxx:1761
 AliEveEventManager.cxx:1762
 AliEveEventManager.cxx:1763
 AliEveEventManager.cxx:1764
 AliEveEventManager.cxx:1765
 AliEveEventManager.cxx:1766
 AliEveEventManager.cxx:1767
 AliEveEventManager.cxx:1768
 AliEveEventManager.cxx:1769
 AliEveEventManager.cxx:1770
 AliEveEventManager.cxx:1771
 AliEveEventManager.cxx:1772
 AliEveEventManager.cxx:1773
 AliEveEventManager.cxx:1774
 AliEveEventManager.cxx:1775
 AliEveEventManager.cxx:1776
 AliEveEventManager.cxx:1777
 AliEveEventManager.cxx:1778
 AliEveEventManager.cxx:1779
 AliEveEventManager.cxx:1780
 AliEveEventManager.cxx:1781
 AliEveEventManager.cxx:1782
 AliEveEventManager.cxx:1783
 AliEveEventManager.cxx:1784
 AliEveEventManager.cxx:1785
 AliEveEventManager.cxx:1786
 AliEveEventManager.cxx:1787
 AliEveEventManager.cxx:1788
 AliEveEventManager.cxx:1789
 AliEveEventManager.cxx:1790
 AliEveEventManager.cxx:1791
 AliEveEventManager.cxx:1792
 AliEveEventManager.cxx:1793
 AliEveEventManager.cxx:1794
 AliEveEventManager.cxx:1795
 AliEveEventManager.cxx:1796
 AliEveEventManager.cxx:1797
 AliEveEventManager.cxx:1798
 AliEveEventManager.cxx:1799
 AliEveEventManager.cxx:1800
 AliEveEventManager.cxx:1801
 AliEveEventManager.cxx:1802
 AliEveEventManager.cxx:1803
 AliEveEventManager.cxx:1804
 AliEveEventManager.cxx:1805
 AliEveEventManager.cxx:1806
 AliEveEventManager.cxx:1807
 AliEveEventManager.cxx:1808
 AliEveEventManager.cxx:1809
 AliEveEventManager.cxx:1810
 AliEveEventManager.cxx:1811
 AliEveEventManager.cxx:1812
 AliEveEventManager.cxx:1813
 AliEveEventManager.cxx:1814
 AliEveEventManager.cxx:1815
 AliEveEventManager.cxx:1816
 AliEveEventManager.cxx:1817
 AliEveEventManager.cxx:1818
 AliEveEventManager.cxx:1819
 AliEveEventManager.cxx:1820
 AliEveEventManager.cxx:1821
 AliEveEventManager.cxx:1822
 AliEveEventManager.cxx:1823
 AliEveEventManager.cxx:1824
 AliEveEventManager.cxx:1825
 AliEveEventManager.cxx:1826
 AliEveEventManager.cxx:1827
 AliEveEventManager.cxx:1828
 AliEveEventManager.cxx:1829
 AliEveEventManager.cxx:1830
 AliEveEventManager.cxx:1831
 AliEveEventManager.cxx:1832
 AliEveEventManager.cxx:1833
 AliEveEventManager.cxx:1834
 AliEveEventManager.cxx:1835
 AliEveEventManager.cxx:1836
 AliEveEventManager.cxx:1837
 AliEveEventManager.cxx:1838
 AliEveEventManager.cxx:1839
 AliEveEventManager.cxx:1840
 AliEveEventManager.cxx:1841
 AliEveEventManager.cxx:1842
 AliEveEventManager.cxx:1843
 AliEveEventManager.cxx:1844
 AliEveEventManager.cxx:1845
 AliEveEventManager.cxx:1846
 AliEveEventManager.cxx:1847
 AliEveEventManager.cxx:1848
 AliEveEventManager.cxx:1849
 AliEveEventManager.cxx:1850
 AliEveEventManager.cxx:1851
 AliEveEventManager.cxx:1852
 AliEveEventManager.cxx:1853
 AliEveEventManager.cxx:1854
 AliEveEventManager.cxx:1855
 AliEveEventManager.cxx:1856
 AliEveEventManager.cxx:1857
 AliEveEventManager.cxx:1858
 AliEveEventManager.cxx:1859
 AliEveEventManager.cxx:1860
 AliEveEventManager.cxx:1861
 AliEveEventManager.cxx:1862
 AliEveEventManager.cxx:1863
 AliEveEventManager.cxx:1864
 AliEveEventManager.cxx:1865
 AliEveEventManager.cxx:1866
 AliEveEventManager.cxx:1867
 AliEveEventManager.cxx:1868
 AliEveEventManager.cxx:1869
 AliEveEventManager.cxx:1870
 AliEveEventManager.cxx:1871
 AliEveEventManager.cxx:1872
 AliEveEventManager.cxx:1873
 AliEveEventManager.cxx:1874
 AliEveEventManager.cxx:1875
 AliEveEventManager.cxx:1876
 AliEveEventManager.cxx:1877
 AliEveEventManager.cxx:1878
 AliEveEventManager.cxx:1879
 AliEveEventManager.cxx:1880
 AliEveEventManager.cxx:1881
 AliEveEventManager.cxx:1882
 AliEveEventManager.cxx:1883
 AliEveEventManager.cxx:1884
 AliEveEventManager.cxx:1885
 AliEveEventManager.cxx:1886
 AliEveEventManager.cxx:1887
 AliEveEventManager.cxx:1888
 AliEveEventManager.cxx:1889
 AliEveEventManager.cxx:1890
 AliEveEventManager.cxx:1891
 AliEveEventManager.cxx:1892
 AliEveEventManager.cxx:1893
 AliEveEventManager.cxx:1894
 AliEveEventManager.cxx:1895
 AliEveEventManager.cxx:1896
 AliEveEventManager.cxx:1897
 AliEveEventManager.cxx:1898
 AliEveEventManager.cxx:1899
 AliEveEventManager.cxx:1900
 AliEveEventManager.cxx:1901
 AliEveEventManager.cxx:1902
 AliEveEventManager.cxx:1903
 AliEveEventManager.cxx:1904
 AliEveEventManager.cxx:1905
 AliEveEventManager.cxx:1906
 AliEveEventManager.cxx:1907
 AliEveEventManager.cxx:1908
 AliEveEventManager.cxx:1909
 AliEveEventManager.cxx:1910
 AliEveEventManager.cxx:1911
 AliEveEventManager.cxx:1912
 AliEveEventManager.cxx:1913
 AliEveEventManager.cxx:1914
 AliEveEventManager.cxx:1915
 AliEveEventManager.cxx:1916
 AliEveEventManager.cxx:1917
 AliEveEventManager.cxx:1918
 AliEveEventManager.cxx:1919
 AliEveEventManager.cxx:1920
 AliEveEventManager.cxx:1921
 AliEveEventManager.cxx:1922
 AliEveEventManager.cxx:1923
 AliEveEventManager.cxx:1924
 AliEveEventManager.cxx:1925
 AliEveEventManager.cxx:1926
 AliEveEventManager.cxx:1927
 AliEveEventManager.cxx:1928
 AliEveEventManager.cxx:1929
 AliEveEventManager.cxx:1930
 AliEveEventManager.cxx:1931
 AliEveEventManager.cxx:1932
 AliEveEventManager.cxx:1933
 AliEveEventManager.cxx:1934
 AliEveEventManager.cxx:1935
 AliEveEventManager.cxx:1936
 AliEveEventManager.cxx:1937
 AliEveEventManager.cxx:1938
 AliEveEventManager.cxx:1939
 AliEveEventManager.cxx:1940
 AliEveEventManager.cxx:1941
 AliEveEventManager.cxx:1942
 AliEveEventManager.cxx:1943
 AliEveEventManager.cxx:1944
 AliEveEventManager.cxx:1945
 AliEveEventManager.cxx:1946
 AliEveEventManager.cxx:1947
 AliEveEventManager.cxx:1948
 AliEveEventManager.cxx:1949
 AliEveEventManager.cxx:1950
 AliEveEventManager.cxx:1951
 AliEveEventManager.cxx:1952
 AliEveEventManager.cxx:1953
 AliEveEventManager.cxx:1954
 AliEveEventManager.cxx:1955
 AliEveEventManager.cxx:1956
 AliEveEventManager.cxx:1957
 AliEveEventManager.cxx:1958
 AliEveEventManager.cxx:1959
 AliEveEventManager.cxx:1960
 AliEveEventManager.cxx:1961
 AliEveEventManager.cxx:1962
 AliEveEventManager.cxx:1963
 AliEveEventManager.cxx:1964
 AliEveEventManager.cxx:1965
 AliEveEventManager.cxx:1966
 AliEveEventManager.cxx:1967
 AliEveEventManager.cxx:1968
 AliEveEventManager.cxx:1969
 AliEveEventManager.cxx:1970
 AliEveEventManager.cxx:1971
 AliEveEventManager.cxx:1972
 AliEveEventManager.cxx:1973
 AliEveEventManager.cxx:1974
 AliEveEventManager.cxx:1975
 AliEveEventManager.cxx:1976
 AliEveEventManager.cxx:1977
 AliEveEventManager.cxx:1978
 AliEveEventManager.cxx:1979
 AliEveEventManager.cxx:1980
 AliEveEventManager.cxx:1981
 AliEveEventManager.cxx:1982
 AliEveEventManager.cxx:1983
 AliEveEventManager.cxx:1984
 AliEveEventManager.cxx:1985
 AliEveEventManager.cxx:1986
 AliEveEventManager.cxx:1987
 AliEveEventManager.cxx:1988
 AliEveEventManager.cxx:1989
 AliEveEventManager.cxx:1990
 AliEveEventManager.cxx:1991
 AliEveEventManager.cxx:1992
 AliEveEventManager.cxx:1993
 AliEveEventManager.cxx:1994
 AliEveEventManager.cxx:1995
 AliEveEventManager.cxx:1996
 AliEveEventManager.cxx:1997
 AliEveEventManager.cxx:1998
 AliEveEventManager.cxx:1999
 AliEveEventManager.cxx:2000
 AliEveEventManager.cxx:2001
 AliEveEventManager.cxx:2002
 AliEveEventManager.cxx:2003
 AliEveEventManager.cxx:2004
 AliEveEventManager.cxx:2005
 AliEveEventManager.cxx:2006
 AliEveEventManager.cxx:2007
 AliEveEventManager.cxx:2008
 AliEveEventManager.cxx:2009
 AliEveEventManager.cxx:2010
 AliEveEventManager.cxx:2011
 AliEveEventManager.cxx:2012
 AliEveEventManager.cxx:2013
 AliEveEventManager.cxx:2014
 AliEveEventManager.cxx:2015
 AliEveEventManager.cxx:2016
 AliEveEventManager.cxx:2017
 AliEveEventManager.cxx:2018
 AliEveEventManager.cxx:2019
 AliEveEventManager.cxx:2020
 AliEveEventManager.cxx:2021
 AliEveEventManager.cxx:2022
 AliEveEventManager.cxx:2023
 AliEveEventManager.cxx:2024
 AliEveEventManager.cxx:2025
 AliEveEventManager.cxx:2026
 AliEveEventManager.cxx:2027
 AliEveEventManager.cxx:2028
 AliEveEventManager.cxx:2029
 AliEveEventManager.cxx:2030
 AliEveEventManager.cxx:2031
 AliEveEventManager.cxx:2032
 AliEveEventManager.cxx:2033
 AliEveEventManager.cxx:2034
 AliEveEventManager.cxx:2035
 AliEveEventManager.cxx:2036
 AliEveEventManager.cxx:2037
 AliEveEventManager.cxx:2038
 AliEveEventManager.cxx:2039
 AliEveEventManager.cxx:2040
 AliEveEventManager.cxx:2041
 AliEveEventManager.cxx:2042
 AliEveEventManager.cxx:2043
 AliEveEventManager.cxx:2044
 AliEveEventManager.cxx:2045
 AliEveEventManager.cxx:2046
 AliEveEventManager.cxx:2047
 AliEveEventManager.cxx:2048
 AliEveEventManager.cxx:2049
 AliEveEventManager.cxx:2050
 AliEveEventManager.cxx:2051
 AliEveEventManager.cxx:2052
 AliEveEventManager.cxx:2053
 AliEveEventManager.cxx:2054
 AliEveEventManager.cxx:2055
 AliEveEventManager.cxx:2056
 AliEveEventManager.cxx:2057
 AliEveEventManager.cxx:2058
 AliEveEventManager.cxx:2059
 AliEveEventManager.cxx:2060
 AliEveEventManager.cxx:2061
 AliEveEventManager.cxx:2062
 AliEveEventManager.cxx:2063
 AliEveEventManager.cxx:2064
 AliEveEventManager.cxx:2065
 AliEveEventManager.cxx:2066
 AliEveEventManager.cxx:2067
 AliEveEventManager.cxx:2068
 AliEveEventManager.cxx:2069
 AliEveEventManager.cxx:2070
 AliEveEventManager.cxx:2071
 AliEveEventManager.cxx:2072
 AliEveEventManager.cxx:2073
 AliEveEventManager.cxx:2074
 AliEveEventManager.cxx:2075
 AliEveEventManager.cxx:2076
 AliEveEventManager.cxx:2077
 AliEveEventManager.cxx:2078
 AliEveEventManager.cxx:2079
 AliEveEventManager.cxx:2080
 AliEveEventManager.cxx:2081
 AliEveEventManager.cxx:2082
 AliEveEventManager.cxx:2083
 AliEveEventManager.cxx:2084
 AliEveEventManager.cxx:2085
 AliEveEventManager.cxx:2086
 AliEveEventManager.cxx:2087
 AliEveEventManager.cxx:2088
 AliEveEventManager.cxx:2089
 AliEveEventManager.cxx:2090
 AliEveEventManager.cxx:2091
 AliEveEventManager.cxx:2092
 AliEveEventManager.cxx:2093
 AliEveEventManager.cxx:2094
 AliEveEventManager.cxx:2095
 AliEveEventManager.cxx:2096
 AliEveEventManager.cxx:2097
 AliEveEventManager.cxx:2098
 AliEveEventManager.cxx:2099
 AliEveEventManager.cxx:2100
 AliEveEventManager.cxx:2101
 AliEveEventManager.cxx:2102
 AliEveEventManager.cxx:2103
 AliEveEventManager.cxx:2104
 AliEveEventManager.cxx:2105
 AliEveEventManager.cxx:2106
 AliEveEventManager.cxx:2107
 AliEveEventManager.cxx:2108
 AliEveEventManager.cxx:2109
 AliEveEventManager.cxx:2110
 AliEveEventManager.cxx:2111
 AliEveEventManager.cxx:2112
 AliEveEventManager.cxx:2113
 AliEveEventManager.cxx:2114
 AliEveEventManager.cxx:2115
 AliEveEventManager.cxx:2116
 AliEveEventManager.cxx:2117
 AliEveEventManager.cxx:2118
 AliEveEventManager.cxx:2119
 AliEveEventManager.cxx:2120
 AliEveEventManager.cxx:2121
 AliEveEventManager.cxx:2122
 AliEveEventManager.cxx:2123
 AliEveEventManager.cxx:2124
 AliEveEventManager.cxx:2125
 AliEveEventManager.cxx:2126
 AliEveEventManager.cxx:2127
 AliEveEventManager.cxx:2128
 AliEveEventManager.cxx:2129
 AliEveEventManager.cxx:2130
 AliEveEventManager.cxx:2131
 AliEveEventManager.cxx:2132
 AliEveEventManager.cxx:2133
 AliEveEventManager.cxx:2134
 AliEveEventManager.cxx:2135
 AliEveEventManager.cxx:2136
 AliEveEventManager.cxx:2137
 AliEveEventManager.cxx:2138
 AliEveEventManager.cxx:2139
 AliEveEventManager.cxx:2140
 AliEveEventManager.cxx:2141
 AliEveEventManager.cxx:2142
 AliEveEventManager.cxx:2143
 AliEveEventManager.cxx:2144
 AliEveEventManager.cxx:2145
 AliEveEventManager.cxx:2146
 AliEveEventManager.cxx:2147
 AliEveEventManager.cxx:2148
 AliEveEventManager.cxx:2149
 AliEveEventManager.cxx:2150
 AliEveEventManager.cxx:2151
 AliEveEventManager.cxx:2152
 AliEveEventManager.cxx:2153
 AliEveEventManager.cxx:2154
 AliEveEventManager.cxx:2155
 AliEveEventManager.cxx:2156
 AliEveEventManager.cxx:2157
 AliEveEventManager.cxx:2158
 AliEveEventManager.cxx:2159
 AliEveEventManager.cxx:2160
 AliEveEventManager.cxx:2161
 AliEveEventManager.cxx:2162
 AliEveEventManager.cxx:2163
 AliEveEventManager.cxx:2164
 AliEveEventManager.cxx:2165
 AliEveEventManager.cxx:2166
 AliEveEventManager.cxx:2167
 AliEveEventManager.cxx:2168
 AliEveEventManager.cxx:2169
 AliEveEventManager.cxx:2170
 AliEveEventManager.cxx:2171
 AliEveEventManager.cxx:2172
 AliEveEventManager.cxx:2173
 AliEveEventManager.cxx:2174
 AliEveEventManager.cxx:2175
 AliEveEventManager.cxx:2176
 AliEveEventManager.cxx:2177
 AliEveEventManager.cxx:2178
 AliEveEventManager.cxx:2179
 AliEveEventManager.cxx:2180
 AliEveEventManager.cxx:2181
 AliEveEventManager.cxx:2182
 AliEveEventManager.cxx:2183
 AliEveEventManager.cxx:2184
 AliEveEventManager.cxx:2185
 AliEveEventManager.cxx:2186
 AliEveEventManager.cxx:2187
 AliEveEventManager.cxx:2188
 AliEveEventManager.cxx:2189
 AliEveEventManager.cxx:2190
 AliEveEventManager.cxx:2191
 AliEveEventManager.cxx:2192
 AliEveEventManager.cxx:2193
 AliEveEventManager.cxx:2194
 AliEveEventManager.cxx:2195
 AliEveEventManager.cxx:2196
 AliEveEventManager.cxx:2197
 AliEveEventManager.cxx:2198
 AliEveEventManager.cxx:2199
 AliEveEventManager.cxx:2200
 AliEveEventManager.cxx:2201
 AliEveEventManager.cxx:2202
 AliEveEventManager.cxx:2203
 AliEveEventManager.cxx:2204
 AliEveEventManager.cxx:2205
 AliEveEventManager.cxx:2206
 AliEveEventManager.cxx:2207
 AliEveEventManager.cxx:2208
 AliEveEventManager.cxx:2209
 AliEveEventManager.cxx:2210
 AliEveEventManager.cxx:2211
 AliEveEventManager.cxx:2212
 AliEveEventManager.cxx:2213
 AliEveEventManager.cxx:2214
 AliEveEventManager.cxx:2215
 AliEveEventManager.cxx:2216
 AliEveEventManager.cxx:2217
 AliEveEventManager.cxx:2218
 AliEveEventManager.cxx:2219
 AliEveEventManager.cxx:2220
 AliEveEventManager.cxx:2221
 AliEveEventManager.cxx:2222
 AliEveEventManager.cxx:2223
 AliEveEventManager.cxx:2224
 AliEveEventManager.cxx:2225
 AliEveEventManager.cxx:2226
 AliEveEventManager.cxx:2227
 AliEveEventManager.cxx:2228
 AliEveEventManager.cxx:2229
 AliEveEventManager.cxx:2230
 AliEveEventManager.cxx:2231
 AliEveEventManager.cxx:2232
 AliEveEventManager.cxx:2233
 AliEveEventManager.cxx:2234
 AliEveEventManager.cxx:2235
 AliEveEventManager.cxx:2236
 AliEveEventManager.cxx:2237
 AliEveEventManager.cxx:2238
 AliEveEventManager.cxx:2239
 AliEveEventManager.cxx:2240
 AliEveEventManager.cxx:2241
 AliEveEventManager.cxx:2242
 AliEveEventManager.cxx:2243
 AliEveEventManager.cxx:2244
 AliEveEventManager.cxx:2245
 AliEveEventManager.cxx:2246
 AliEveEventManager.cxx:2247
 AliEveEventManager.cxx:2248
 AliEveEventManager.cxx:2249
 AliEveEventManager.cxx:2250
 AliEveEventManager.cxx:2251
 AliEveEventManager.cxx:2252
 AliEveEventManager.cxx:2253
 AliEveEventManager.cxx:2254
 AliEveEventManager.cxx:2255
 AliEveEventManager.cxx:2256
 AliEveEventManager.cxx:2257
 AliEveEventManager.cxx:2258
 AliEveEventManager.cxx:2259
 AliEveEventManager.cxx:2260
 AliEveEventManager.cxx:2261
 AliEveEventManager.cxx:2262
 AliEveEventManager.cxx:2263
 AliEveEventManager.cxx:2264
 AliEveEventManager.cxx:2265
 AliEveEventManager.cxx:2266
 AliEveEventManager.cxx:2267
 AliEveEventManager.cxx:2268
 AliEveEventManager.cxx:2269
 AliEveEventManager.cxx:2270
 AliEveEventManager.cxx:2271
 AliEveEventManager.cxx:2272
 AliEveEventManager.cxx:2273
 AliEveEventManager.cxx:2274
 AliEveEventManager.cxx:2275
 AliEveEventManager.cxx:2276
 AliEveEventManager.cxx:2277
 AliEveEventManager.cxx:2278
 AliEveEventManager.cxx:2279
 AliEveEventManager.cxx:2280
 AliEveEventManager.cxx:2281
 AliEveEventManager.cxx:2282
 AliEveEventManager.cxx:2283
 AliEveEventManager.cxx:2284
 AliEveEventManager.cxx:2285
 AliEveEventManager.cxx:2286
 AliEveEventManager.cxx:2287
 AliEveEventManager.cxx:2288
 AliEveEventManager.cxx:2289
 AliEveEventManager.cxx:2290
 AliEveEventManager.cxx:2291
 AliEveEventManager.cxx:2292
 AliEveEventManager.cxx:2293
 AliEveEventManager.cxx:2294
 AliEveEventManager.cxx:2295
 AliEveEventManager.cxx:2296
 AliEveEventManager.cxx:2297
 AliEveEventManager.cxx:2298
 AliEveEventManager.cxx:2299
 AliEveEventManager.cxx:2300
 AliEveEventManager.cxx:2301
 AliEveEventManager.cxx:2302
 AliEveEventManager.cxx:2303
 AliEveEventManager.cxx:2304
 AliEveEventManager.cxx:2305
 AliEveEventManager.cxx:2306
 AliEveEventManager.cxx:2307
 AliEveEventManager.cxx:2308
 AliEveEventManager.cxx:2309
 AliEveEventManager.cxx:2310
 AliEveEventManager.cxx:2311
 AliEveEventManager.cxx:2312
 AliEveEventManager.cxx:2313
 AliEveEventManager.cxx:2314
 AliEveEventManager.cxx:2315
 AliEveEventManager.cxx:2316
 AliEveEventManager.cxx:2317
 AliEveEventManager.cxx:2318
 AliEveEventManager.cxx:2319
 AliEveEventManager.cxx:2320
 AliEveEventManager.cxx:2321
 AliEveEventManager.cxx:2322
 AliEveEventManager.cxx:2323
 AliEveEventManager.cxx:2324
 AliEveEventManager.cxx:2325
 AliEveEventManager.cxx:2326
 AliEveEventManager.cxx:2327
 AliEveEventManager.cxx:2328
 AliEveEventManager.cxx:2329
 AliEveEventManager.cxx:2330
 AliEveEventManager.cxx:2331
 AliEveEventManager.cxx:2332