ROOT logo
#include "TEveManager.h"
#include "TEveScene.h"
#include "TEveProjectionManager.h"
#include "TEveBrowser.h"
#include "TGLViewer.h"
#include "TEveViewer.h"
#include "TEveEventManager.h"

#include "AliHLTEvePhos.h"
#include "AliHLTEveEmcal.h"
#include "AliHLTEveTPC.h"
#include "AliHLTEveHLT.h"
#include "AliHLTEveITS.h"
#include "AliHLTEveISPD.h"
#include "AliHLTEveISSD.h"
#include "AliHLTEveISDD.h"
#include "AliHLTEveTRD.h"
#include "AliHLTEveMuon.h"
#include "AliHLTEveMultCorr.h"
#include "AliHLTEveAny.h"

#include "AliEveHLTEventManager.h"
#include "AliEveHOMERManager.h"
#include "AliEveEventBuffer.h"

#include "TList.h"
#include "TTimer.h"
#include "TThread.h"

ClassImp(AliEveHLTEventManager);

AliEveHLTEventManager::AliEveHLTEventManager() : 
  TEveElementList("Event Manager"),
  fGeoManager(NULL),
  fEveManager(NULL),
  fRPhiManager(NULL),
  fRhoZManager(NULL),
  fRPhiEventScene(NULL),
  fRhoZEventScene(NULL),
  fRhoZViewer(NULL),
  fRPhiViewer(NULL),
  fTimer(NULL),
  fPhosElement(NULL), 
  fEmcalElement(NULL), 
  fTPCElement(NULL),
  fHLTElement(NULL),
  fITSElement(NULL),
  fISPDElement(NULL),
  fISSDElement(NULL),
  fISDDElement(NULL),
  fTRDElement(NULL),
  fMuonElement(NULL),
  fMultCorrElement(NULL),
  fAnyElement(NULL),
  fEventLoopStarted(kFALSE),
  fCenterProjectionsAtPrimaryVertex(kFALSE),
  fShowBarrel(kTRUE),
  fShowMuon(kFALSE), 
  fRunNumber(666),
  fEventId(-1)
{
  // see header file for class documentation
  // or
  // refer to README to build package
  // or
  // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
   
  fTimer = new TTimer();
  fTimer->Connect("Timeout()", "AliEveHLTEventManager", this, "NextEvent()" );

}
 
AliEveHLTEventManager::~AliEveHLTEventManager() {
  
  //DestroyElements();
  //DestroyDetectorElements();  
  
}


void AliEveHLTEventManager::DestroyDetectorElements(){
  //See header file for documentation

  if (fPhosElement)
    delete fPhosElement;
  fPhosElement = NULL;

  if(fEmcalElement)
    delete fEmcalElement;
  fEmcalElement = NULL;

  if(fTPCElement)
    delete fTPCElement;
  fTPCElement = NULL;

  if(fHLTElement)
    delete fHLTElement;
  fHLTElement = NULL;

  if(fITSElement)
    delete fITSElement;
  fITSElement = NULL;

  if(fISSDElement)
    delete fISSDElement;
  fISSDElement = NULL;

  if(fISDDElement)
    delete fISDDElement;
  fISDDElement = NULL;

  if(fISPDElement)
    delete fISPDElement;
  fISPDElement = NULL;

  if(fTRDElement)
    delete fTRDElement;
  fTRDElement = NULL;

  if(fMuonElement)
    delete fMuonElement;
  fMuonElement = NULL;

  if(fMultCorrElement)
    delete fMultCorrElement;
  fMultCorrElement = NULL;
 
  if(fAnyElement)
    delete fAnyElement;
  fAnyElement = NULL;
  

}

///_______________________________________________________________________________________
void AliEveHLTEventManager::ConnectEventBuffer() {
  GetEventBuffer()->ConnectToSource();
}


///___________________________________________________________________________________________
void AliEveHLTEventManager::StartBufferMonitor() { 
  AliEveEventBuffer * buffer = GetEventBuffer();
  buffer->StartBufferMonitor();
}

//______________________________________________________________________________________________
Int_t AliEveHLTEventManager::ProcessEvent(AliESDEvent * event) {

  //We have a new event, reset display items (need to check if there really is anything interesting in event before resetting. ie not just histos)

  gEve->DisableRedraw();

  event->GetStdContent();
  // -- Set EventID in Window Title  
  TString winTitle("Eve Main Window");
  SetRunNumber(event->GetRunNumber());
  SetEventId(GetEventBuffer()->GetEventId());
  winTitle += Form("-- Run Number: %d", GetRunNumber()); 
  winTitle += Form("-- Event ID : 0x%016llu", GetEventId() );
  GetEveManager()->GetBrowser()->SetWindowName(winTitle);

  if(!fHLTElement) {
    fHLTElement = new AliHLTEveHLT();
    fHLTElement->SetEventManager(this);
    gEve->AddElement(fHLTElement);
 }
  fHLTElement->ProcessEsdEvent(event);

  if(!fPhosElement) CreatePhosElement();
  fPhosElement->ProcessEvent(event);
  
  if(!fEmcalElement) CreateEmcalElement();
  fEmcalElement->ProcessEvent(event);
  
  gEve->FullRedraw3D(0, 1);
  gEve->EnableRedraw();

  return 0;

}



//______________________________________________________________________________________________
Int_t AliEveHLTEventManager::ProcessEvent(TList * blockList) {

  //We have a new event, reset display items (need to check if there really is anything interesting in event before resetting. ie not just histos)
  
  if(!blockList) {
    cout << "Block list is NULL pointer, return " << endl;
    return -1;
  }
 
  gEve->DisableRedraw();

  AliHLTHOMERBlockDesc * block = NULL;
  TIter next(blockList);
  while ((block = (AliHLTHOMERBlockDesc*)next())) {
    cout <<"Process Block"<<endl;
    ProcessBlock(block);
  } 
  

  return 0;

}
///___________________________________________________________________________________________

void AliEveHLTEventManager::ProcessBlock(AliHLTHOMERBlockDesc * block) {
  //See header file for documentation
  
#if 1//DEBUG
  printf( "------------------- xxxxxxxxxxxxxxx ----------------------\n");
  printf( "Detector           : %s\n", block->GetDetector().Data() );
  printf( "Datatype           : %s\n", block->GetDataType().Data() );
  if (block->IsTObject() )
    printf( "Is TObject of class: %s\n", block->GetClassName().Data() );
  printf( "------------------- xxxxxxxxxxxxxxx ----------------------\n");
#endif


  if(fShowBarrel) {

    if ( ! block->GetDetector().CompareTo("PHOS") ) {
      if(!fPhosElement) CreatePhosElement();
      fPhosElement->ProcessBlock(block);
    }
    
    else if ( ! block->GetDetector().CompareTo("EMCA") ) {
      if(!fEmcalElement) CreateEmcalElement();
      fEmcalElement->ProcessBlock(block);
    }  
    
    else if ( ! block->GetDetector().CompareTo("TPC") ) {
      if(!fTPCElement) CreateTPCElement();
      fTPCElement->ProcessBlock(block);
    }
    
    else if ( ! block->GetDetector().CompareTo("HLT") ) {
      if(!fHLTElement) CreateHLTElement();
      
      if(!block->GetDataType().CompareTo("ALIESDV0")) {
	AliESDEvent * event = dynamic_cast<AliESDEvent *>(block->GetTObject());
	if(event) {
	  ProcessEvent(event);
	}
      
      } else if(!(block->GetDataType().CompareTo("ROOTTOBJ"))) {

	if(!fMultCorrElement) CreateMultCorrElement();
	fMultCorrElement->ProcessBlock(block);
      
      } else {
	fHLTElement->ProcessBlock(block);
      }
    }

    else if ( ! block->GetDetector().CompareTo("ITS") ) {
      if(!fITSElement) CreateITSElement();
      fITSElement->ProcessBlock(block);
    }
    
    else if ( ! block->GetDetector().CompareTo("ISDD") ) {
      if(!fISDDElement) CreateISDDElement();
      fISDDElement->ProcessBlock(block);
    }
    
    else if ( ! block->GetDetector().CompareTo("ISPD") ) {
      if(!fISPDElement) CreateISPDElement();
      fISPDElement->ProcessBlock(block);
    }
    
    else if ( ! block->GetDetector().CompareTo("ISSD") ) {
      if(!fISSDElement) CreateISSDElement();
      fISSDElement->ProcessBlock(block);
    }
    
    else if ( ! block->GetDetector().CompareTo("TRD") ) {
      if(!fTRDElement) CreateTRDElement();
      fTRDElement->ProcessBlock(block);
    }
    
    else if ( ! block->GetDetector().CompareTo("MUON") ) {
      //Do Nothing
      if(!block->GetDataType().CompareTo("ROOTHIST")) {
	if(!fMuonElement) {
	  fMuonElement = new AliHLTEveMuon();
	  fMuonElement->SetEventManager(this);
	  gEve->AddElement(fMuonElement);
	}
	fMuonElement->ProcessBlock(block);
      }
    
    } else {
      if(!fAnyElement) {
	fAnyElement = new AliHLTEveAny();
	fAnyElement->SetEventManager(this);
      } 
      fAnyElement->ProcessBlock(block);
    }
     
  }

   
  if(fShowMuon) {
    if ( ! block->GetDetector().CompareTo("MUON") ) {
      if(!fMuonElement) {
	fMuonElement = new AliHLTEveMuon();
	fMuonElement->SetEventManager(this);
	gEve->AddElement(fMuonElement);
      }
      fMuonElement->ProcessBlock(block);
    }
  }

}

void AliEveHLTEventManager::ResetDisplay () {
  //See header file for documentation

 if(fPhosElement)
   fPhosElement->ResetElements();
 
 if(fEmcalElement)
   fEmcalElement->ResetElements();
 
 if(fTPCElement)
   fTPCElement->ResetElements();
 
 if(fHLTElement)
   fHLTElement->ResetElements();
 
 if(fITSElement)
   fITSElement->ResetElements();
 
 if(fISPDElement)
   fISPDElement->ResetElements();
 
 if(fISDDElement)
   fISDDElement->ResetElements();
 
 if(fISSDElement)
   fISSDElement->ResetElements();

 if (fTRDElement)
   fTRDElement->ResetElements();

 if(fAnyElement)
   fAnyElement->ResetElements();

 if(fMuonElement)
   fMuonElement->ResetElements();

}


void AliEveHLTEventManager::PrintScreens() {
//   //See header file for documentation

  Float_t scale = 4.f;
  //Int_t width = 4000;
  //Int_t height = 2000;

  fEveManager->GetDefaultGLViewer()->SavePictureScale(Form("run_%d_0x%016llu_3D.gif", fRunNumber, GetEventId()), scale);
  fRhoZViewer->GetGLViewer()->SavePictureScale(Form("run_%d_0x%016llu_RhoZ.gif", fRunNumber, GetEventId()), scale);
  fRPhiViewer->GetGLViewer()->SavePictureScale(Form("run_%d_0x%016llu_RPhi.gif", fRunNumber, GetEventId()), scale);
  return;
}


void AliEveHLTEventManager::StartLoop() {
  //See header file for documentation
  //fTimer->SetCommand("NextEvent()", "AliEveHLTEventManager", this);
  NextEvent();
  SetEventLoopStarted(kTRUE);
  fTimer->Start(45000);
}

void AliEveHLTEventManager::StopLoop() {
  //See header file for documentation
  fTimer->Stop();
  SetEventLoopStarted(kFALSE);
}


// void AliEveHLTEventManager::NavigateBack() {
  
//   if (fHomerManager->NavigateEventBufferBack()) {
//     //return -1;
//   } else {
    
//     TList * blockList = fHomerManager->GetBlockList();
//     if(blockList) {      
//       ProcessEvent(blockList);
//     } else {
//       cout << "BALLE Error blocklist NULL pointer even though it's navigateable"<<endl;
//     }
//   }   

// }

// void AliEveHLTEventManager::NavigateFwd() {

//   if (fHomerManager->NavigateEventBufferFwd()) {
//     cout << "No event available" << endl;
//     return;
//     //return -1;
//   } else {
//     cout << "Getting block list" << endl;
//     TList * blockList = fHomerManager->GetBlockList();
//     if (blockList){
//       ProcessEvent(blockList);
//     } else {
//       cout << "blockList is NULL pointer"<<endl;
//     }
//   }

// }

void  AliEveHLTEventManager::UpdateDisplay() {
  //See header file for documentation
  cout << "AliHLTEventManager::UpdateDisplay(); " <<endl;
  if(fPhosElement) fPhosElement->UpdateElements();
  if(fEmcalElement) fEmcalElement->UpdateElements();
  if(fTPCElement) fTPCElement->UpdateElements();
  if(fHLTElement) fHLTElement->UpdateElements();
  if(fITSElement) fITSElement->UpdateElements();
  if(fISSDElement) fISSDElement->UpdateElements();
  if(fISDDElement) fISDDElement->UpdateElements();
  if(fISPDElement) fISPDElement->UpdateElements();
  if(fTRDElement) fTRDElement->UpdateElements();
  if(fAnyElement) fAnyElement->UpdateElements();
  if(fMuonElement) fMuonElement->UpdateElements();
  if(fMultCorrElement) fMultCorrElement->UpdateElements();


  //==============================================================================
  // -- Import global scene into projection scenes
  //==============================================================================

  Double_t x[3] = { 0, 0, 0 };
  
  TEveElement* top = GetEveManager()->GetCurrentEvent();
  
  if (fRPhiManager && top) {
    fRPhiEventScene->DestroyElements();
    if (fCenterProjectionsAtPrimaryVertex)
      fRPhiManager->SetCenter(x[0], x[1], x[2]);
    fRPhiManager->ImportElements(top, fRPhiEventScene);
  }
  
  if (fRhoZManager && top) {
    fRhoZEventScene->DestroyElements();
    if (fCenterProjectionsAtPrimaryVertex)
      fRhoZManager->SetCenter(x[0], x[1], x[2]);
    fRhoZManager->ImportElements(top, fRhoZEventScene);
  }


  //Redraw the display
  GetEveManager()->Redraw3D(0,1); // (0, 1)
  GetEveManager()->EnableRedraw(); 

}

void AliEveHLTEventManager::SaveEveryThing() {

  //Print the screens
  PrintScreens();
  //Save block lists to file
  GetEventBuffer()->WriteToFile(GetRunNumber());
}



void AliEveHLTEventManager::CreatePhosElement() {
  fPhosElement = new AliHLTEvePhos();
  fPhosElement->SetEventManager(this);
  gEve->AddElement(fPhosElement);
}

void AliEveHLTEventManager::CreateMultCorrElement() {
  fMultCorrElement = new AliHLTEveMultCorr("MultCorr");
  fMultCorrElement->SetEventManager(this);
  gEve->AddElement(fMultCorrElement);
}

void AliEveHLTEventManager::CreateEmcalElement() {
  fEmcalElement = new AliHLTEveEmcal();
  fEmcalElement->SetEventManager(this);
  gEve->AddElement(fEmcalElement);
}
void AliEveHLTEventManager::CreateTPCElement() {
  fTPCElement = new AliHLTEveTPC();
  fTPCElement->SetEventManager(this);
  gEve->AddElement(fTPCElement);
}
void AliEveHLTEventManager::CreateITSElement() {
  fITSElement = new AliHLTEveITS();
  fITSElement->SetEventManager(this);
  gEve->AddElement(fITSElement);
}
void AliEveHLTEventManager::CreateISPDElement() {
  fISPDElement = new AliHLTEveISPD();
  fISPDElement->SetEventManager(this);
  gEve->AddElement(fISPDElement);
}
void AliEveHLTEventManager::CreateISDDElement() {
  fISDDElement = new AliHLTEveISDD();
  fISDDElement->SetEventManager(this);
  gEve->AddElement(fISSDElement);
}
void AliEveHLTEventManager::CreateISSDElement() {
  fISSDElement = new AliHLTEveISSD();
  fISSDElement->SetEventManager(this);
  gEve->AddElement(fISSDElement);
}
void AliEveHLTEventManager::CreateTRDElement() {
  fTRDElement = new AliHLTEveTRD();
  fTRDElement->SetEventManager(this);
  gEve->AddElement(fTRDElement);
}
void AliEveHLTEventManager::CreateHLTElement() {
  fHLTElement = new AliHLTEveHLT();
  fHLTElement->SetEventManager(this);
  gEve->AddElement(fHLTElement);
}


 AliEveHLTEventManager.cxx:1
 AliEveHLTEventManager.cxx:2
 AliEveHLTEventManager.cxx:3
 AliEveHLTEventManager.cxx:4
 AliEveHLTEventManager.cxx:5
 AliEveHLTEventManager.cxx:6
 AliEveHLTEventManager.cxx:7
 AliEveHLTEventManager.cxx:8
 AliEveHLTEventManager.cxx:9
 AliEveHLTEventManager.cxx:10
 AliEveHLTEventManager.cxx:11
 AliEveHLTEventManager.cxx:12
 AliEveHLTEventManager.cxx:13
 AliEveHLTEventManager.cxx:14
 AliEveHLTEventManager.cxx:15
 AliEveHLTEventManager.cxx:16
 AliEveHLTEventManager.cxx:17
 AliEveHLTEventManager.cxx:18
 AliEveHLTEventManager.cxx:19
 AliEveHLTEventManager.cxx:20
 AliEveHLTEventManager.cxx:21
 AliEveHLTEventManager.cxx:22
 AliEveHLTEventManager.cxx:23
 AliEveHLTEventManager.cxx:24
 AliEveHLTEventManager.cxx:25
 AliEveHLTEventManager.cxx:26
 AliEveHLTEventManager.cxx:27
 AliEveHLTEventManager.cxx:28
 AliEveHLTEventManager.cxx:29
 AliEveHLTEventManager.cxx:30
 AliEveHLTEventManager.cxx:31
 AliEveHLTEventManager.cxx:32
 AliEveHLTEventManager.cxx:33
 AliEveHLTEventManager.cxx:34
 AliEveHLTEventManager.cxx:35
 AliEveHLTEventManager.cxx:36
 AliEveHLTEventManager.cxx:37
 AliEveHLTEventManager.cxx:38
 AliEveHLTEventManager.cxx:39
 AliEveHLTEventManager.cxx:40
 AliEveHLTEventManager.cxx:41
 AliEveHLTEventManager.cxx:42
 AliEveHLTEventManager.cxx:43
 AliEveHLTEventManager.cxx:44
 AliEveHLTEventManager.cxx:45
 AliEveHLTEventManager.cxx:46
 AliEveHLTEventManager.cxx:47
 AliEveHLTEventManager.cxx:48
 AliEveHLTEventManager.cxx:49
 AliEveHLTEventManager.cxx:50
 AliEveHLTEventManager.cxx:51
 AliEveHLTEventManager.cxx:52
 AliEveHLTEventManager.cxx:53
 AliEveHLTEventManager.cxx:54
 AliEveHLTEventManager.cxx:55
 AliEveHLTEventManager.cxx:56
 AliEveHLTEventManager.cxx:57
 AliEveHLTEventManager.cxx:58
 AliEveHLTEventManager.cxx:59
 AliEveHLTEventManager.cxx:60
 AliEveHLTEventManager.cxx:61
 AliEveHLTEventManager.cxx:62
 AliEveHLTEventManager.cxx:63
 AliEveHLTEventManager.cxx:64
 AliEveHLTEventManager.cxx:65
 AliEveHLTEventManager.cxx:66
 AliEveHLTEventManager.cxx:67
 AliEveHLTEventManager.cxx:68
 AliEveHLTEventManager.cxx:69
 AliEveHLTEventManager.cxx:70
 AliEveHLTEventManager.cxx:71
 AliEveHLTEventManager.cxx:72
 AliEveHLTEventManager.cxx:73
 AliEveHLTEventManager.cxx:74
 AliEveHLTEventManager.cxx:75
 AliEveHLTEventManager.cxx:76
 AliEveHLTEventManager.cxx:77
 AliEveHLTEventManager.cxx:78
 AliEveHLTEventManager.cxx:79
 AliEveHLTEventManager.cxx:80
 AliEveHLTEventManager.cxx:81
 AliEveHLTEventManager.cxx:82
 AliEveHLTEventManager.cxx:83
 AliEveHLTEventManager.cxx:84
 AliEveHLTEventManager.cxx:85
 AliEveHLTEventManager.cxx:86
 AliEveHLTEventManager.cxx:87
 AliEveHLTEventManager.cxx:88
 AliEveHLTEventManager.cxx:89
 AliEveHLTEventManager.cxx:90
 AliEveHLTEventManager.cxx:91
 AliEveHLTEventManager.cxx:92
 AliEveHLTEventManager.cxx:93
 AliEveHLTEventManager.cxx:94
 AliEveHLTEventManager.cxx:95
 AliEveHLTEventManager.cxx:96
 AliEveHLTEventManager.cxx:97
 AliEveHLTEventManager.cxx:98
 AliEveHLTEventManager.cxx:99
 AliEveHLTEventManager.cxx:100
 AliEveHLTEventManager.cxx:101
 AliEveHLTEventManager.cxx:102
 AliEveHLTEventManager.cxx:103
 AliEveHLTEventManager.cxx:104
 AliEveHLTEventManager.cxx:105
 AliEveHLTEventManager.cxx:106
 AliEveHLTEventManager.cxx:107
 AliEveHLTEventManager.cxx:108
 AliEveHLTEventManager.cxx:109
 AliEveHLTEventManager.cxx:110
 AliEveHLTEventManager.cxx:111
 AliEveHLTEventManager.cxx:112
 AliEveHLTEventManager.cxx:113
 AliEveHLTEventManager.cxx:114
 AliEveHLTEventManager.cxx:115
 AliEveHLTEventManager.cxx:116
 AliEveHLTEventManager.cxx:117
 AliEveHLTEventManager.cxx:118
 AliEveHLTEventManager.cxx:119
 AliEveHLTEventManager.cxx:120
 AliEveHLTEventManager.cxx:121
 AliEveHLTEventManager.cxx:122
 AliEveHLTEventManager.cxx:123
 AliEveHLTEventManager.cxx:124
 AliEveHLTEventManager.cxx:125
 AliEveHLTEventManager.cxx:126
 AliEveHLTEventManager.cxx:127
 AliEveHLTEventManager.cxx:128
 AliEveHLTEventManager.cxx:129
 AliEveHLTEventManager.cxx:130
 AliEveHLTEventManager.cxx:131
 AliEveHLTEventManager.cxx:132
 AliEveHLTEventManager.cxx:133
 AliEveHLTEventManager.cxx:134
 AliEveHLTEventManager.cxx:135
 AliEveHLTEventManager.cxx:136
 AliEveHLTEventManager.cxx:137
 AliEveHLTEventManager.cxx:138
 AliEveHLTEventManager.cxx:139
 AliEveHLTEventManager.cxx:140
 AliEveHLTEventManager.cxx:141
 AliEveHLTEventManager.cxx:142
 AliEveHLTEventManager.cxx:143
 AliEveHLTEventManager.cxx:144
 AliEveHLTEventManager.cxx:145
 AliEveHLTEventManager.cxx:146
 AliEveHLTEventManager.cxx:147
 AliEveHLTEventManager.cxx:148
 AliEveHLTEventManager.cxx:149
 AliEveHLTEventManager.cxx:150
 AliEveHLTEventManager.cxx:151
 AliEveHLTEventManager.cxx:152
 AliEveHLTEventManager.cxx:153
 AliEveHLTEventManager.cxx:154
 AliEveHLTEventManager.cxx:155
 AliEveHLTEventManager.cxx:156
 AliEveHLTEventManager.cxx:157
 AliEveHLTEventManager.cxx:158
 AliEveHLTEventManager.cxx:159
 AliEveHLTEventManager.cxx:160
 AliEveHLTEventManager.cxx:161
 AliEveHLTEventManager.cxx:162
 AliEveHLTEventManager.cxx:163
 AliEveHLTEventManager.cxx:164
 AliEveHLTEventManager.cxx:165
 AliEveHLTEventManager.cxx:166
 AliEveHLTEventManager.cxx:167
 AliEveHLTEventManager.cxx:168
 AliEveHLTEventManager.cxx:169
 AliEveHLTEventManager.cxx:170
 AliEveHLTEventManager.cxx:171
 AliEveHLTEventManager.cxx:172
 AliEveHLTEventManager.cxx:173
 AliEveHLTEventManager.cxx:174
 AliEveHLTEventManager.cxx:175
 AliEveHLTEventManager.cxx:176
 AliEveHLTEventManager.cxx:177
 AliEveHLTEventManager.cxx:178
 AliEveHLTEventManager.cxx:179
 AliEveHLTEventManager.cxx:180
 AliEveHLTEventManager.cxx:181
 AliEveHLTEventManager.cxx:182
 AliEveHLTEventManager.cxx:183
 AliEveHLTEventManager.cxx:184
 AliEveHLTEventManager.cxx:185
 AliEveHLTEventManager.cxx:186
 AliEveHLTEventManager.cxx:187
 AliEveHLTEventManager.cxx:188
 AliEveHLTEventManager.cxx:189
 AliEveHLTEventManager.cxx:190
 AliEveHLTEventManager.cxx:191
 AliEveHLTEventManager.cxx:192
 AliEveHLTEventManager.cxx:193
 AliEveHLTEventManager.cxx:194
 AliEveHLTEventManager.cxx:195
 AliEveHLTEventManager.cxx:196
 AliEveHLTEventManager.cxx:197
 AliEveHLTEventManager.cxx:198
 AliEveHLTEventManager.cxx:199
 AliEveHLTEventManager.cxx:200
 AliEveHLTEventManager.cxx:201
 AliEveHLTEventManager.cxx:202
 AliEveHLTEventManager.cxx:203
 AliEveHLTEventManager.cxx:204
 AliEveHLTEventManager.cxx:205
 AliEveHLTEventManager.cxx:206
 AliEveHLTEventManager.cxx:207
 AliEveHLTEventManager.cxx:208
 AliEveHLTEventManager.cxx:209
 AliEveHLTEventManager.cxx:210
 AliEveHLTEventManager.cxx:211
 AliEveHLTEventManager.cxx:212
 AliEveHLTEventManager.cxx:213
 AliEveHLTEventManager.cxx:214
 AliEveHLTEventManager.cxx:215
 AliEveHLTEventManager.cxx:216
 AliEveHLTEventManager.cxx:217
 AliEveHLTEventManager.cxx:218
 AliEveHLTEventManager.cxx:219
 AliEveHLTEventManager.cxx:220
 AliEveHLTEventManager.cxx:221
 AliEveHLTEventManager.cxx:222
 AliEveHLTEventManager.cxx:223
 AliEveHLTEventManager.cxx:224
 AliEveHLTEventManager.cxx:225
 AliEveHLTEventManager.cxx:226
 AliEveHLTEventManager.cxx:227
 AliEveHLTEventManager.cxx:228
 AliEveHLTEventManager.cxx:229
 AliEveHLTEventManager.cxx:230
 AliEveHLTEventManager.cxx:231
 AliEveHLTEventManager.cxx:232
 AliEveHLTEventManager.cxx:233
 AliEveHLTEventManager.cxx:234
 AliEveHLTEventManager.cxx:235
 AliEveHLTEventManager.cxx:236
 AliEveHLTEventManager.cxx:237
 AliEveHLTEventManager.cxx:238
 AliEveHLTEventManager.cxx:239
 AliEveHLTEventManager.cxx:240
 AliEveHLTEventManager.cxx:241
 AliEveHLTEventManager.cxx:242
 AliEveHLTEventManager.cxx:243
 AliEveHLTEventManager.cxx:244
 AliEveHLTEventManager.cxx:245
 AliEveHLTEventManager.cxx:246
 AliEveHLTEventManager.cxx:247
 AliEveHLTEventManager.cxx:248
 AliEveHLTEventManager.cxx:249
 AliEveHLTEventManager.cxx:250
 AliEveHLTEventManager.cxx:251
 AliEveHLTEventManager.cxx:252
 AliEveHLTEventManager.cxx:253
 AliEveHLTEventManager.cxx:254
 AliEveHLTEventManager.cxx:255
 AliEveHLTEventManager.cxx:256
 AliEveHLTEventManager.cxx:257
 AliEveHLTEventManager.cxx:258
 AliEveHLTEventManager.cxx:259
 AliEveHLTEventManager.cxx:260
 AliEveHLTEventManager.cxx:261
 AliEveHLTEventManager.cxx:262
 AliEveHLTEventManager.cxx:263
 AliEveHLTEventManager.cxx:264
 AliEveHLTEventManager.cxx:265
 AliEveHLTEventManager.cxx:266
 AliEveHLTEventManager.cxx:267
 AliEveHLTEventManager.cxx:268
 AliEveHLTEventManager.cxx:269
 AliEveHLTEventManager.cxx:270
 AliEveHLTEventManager.cxx:271
 AliEveHLTEventManager.cxx:272
 AliEveHLTEventManager.cxx:273
 AliEveHLTEventManager.cxx:274
 AliEveHLTEventManager.cxx:275
 AliEveHLTEventManager.cxx:276
 AliEveHLTEventManager.cxx:277
 AliEveHLTEventManager.cxx:278
 AliEveHLTEventManager.cxx:279
 AliEveHLTEventManager.cxx:280
 AliEveHLTEventManager.cxx:281
 AliEveHLTEventManager.cxx:282
 AliEveHLTEventManager.cxx:283
 AliEveHLTEventManager.cxx:284
 AliEveHLTEventManager.cxx:285
 AliEveHLTEventManager.cxx:286
 AliEveHLTEventManager.cxx:287
 AliEveHLTEventManager.cxx:288
 AliEveHLTEventManager.cxx:289
 AliEveHLTEventManager.cxx:290
 AliEveHLTEventManager.cxx:291
 AliEveHLTEventManager.cxx:292
 AliEveHLTEventManager.cxx:293
 AliEveHLTEventManager.cxx:294
 AliEveHLTEventManager.cxx:295
 AliEveHLTEventManager.cxx:296
 AliEveHLTEventManager.cxx:297
 AliEveHLTEventManager.cxx:298
 AliEveHLTEventManager.cxx:299
 AliEveHLTEventManager.cxx:300
 AliEveHLTEventManager.cxx:301
 AliEveHLTEventManager.cxx:302
 AliEveHLTEventManager.cxx:303
 AliEveHLTEventManager.cxx:304
 AliEveHLTEventManager.cxx:305
 AliEveHLTEventManager.cxx:306
 AliEveHLTEventManager.cxx:307
 AliEveHLTEventManager.cxx:308
 AliEveHLTEventManager.cxx:309
 AliEveHLTEventManager.cxx:310
 AliEveHLTEventManager.cxx:311
 AliEveHLTEventManager.cxx:312
 AliEveHLTEventManager.cxx:313
 AliEveHLTEventManager.cxx:314
 AliEveHLTEventManager.cxx:315
 AliEveHLTEventManager.cxx:316
 AliEveHLTEventManager.cxx:317
 AliEveHLTEventManager.cxx:318
 AliEveHLTEventManager.cxx:319
 AliEveHLTEventManager.cxx:320
 AliEveHLTEventManager.cxx:321
 AliEveHLTEventManager.cxx:322
 AliEveHLTEventManager.cxx:323
 AliEveHLTEventManager.cxx:324
 AliEveHLTEventManager.cxx:325
 AliEveHLTEventManager.cxx:326
 AliEveHLTEventManager.cxx:327
 AliEveHLTEventManager.cxx:328
 AliEveHLTEventManager.cxx:329
 AliEveHLTEventManager.cxx:330
 AliEveHLTEventManager.cxx:331
 AliEveHLTEventManager.cxx:332
 AliEveHLTEventManager.cxx:333
 AliEveHLTEventManager.cxx:334
 AliEveHLTEventManager.cxx:335
 AliEveHLTEventManager.cxx:336
 AliEveHLTEventManager.cxx:337
 AliEveHLTEventManager.cxx:338
 AliEveHLTEventManager.cxx:339
 AliEveHLTEventManager.cxx:340
 AliEveHLTEventManager.cxx:341
 AliEveHLTEventManager.cxx:342
 AliEveHLTEventManager.cxx:343
 AliEveHLTEventManager.cxx:344
 AliEveHLTEventManager.cxx:345
 AliEveHLTEventManager.cxx:346
 AliEveHLTEventManager.cxx:347
 AliEveHLTEventManager.cxx:348
 AliEveHLTEventManager.cxx:349
 AliEveHLTEventManager.cxx:350
 AliEveHLTEventManager.cxx:351
 AliEveHLTEventManager.cxx:352
 AliEveHLTEventManager.cxx:353
 AliEveHLTEventManager.cxx:354
 AliEveHLTEventManager.cxx:355
 AliEveHLTEventManager.cxx:356
 AliEveHLTEventManager.cxx:357
 AliEveHLTEventManager.cxx:358
 AliEveHLTEventManager.cxx:359
 AliEveHLTEventManager.cxx:360
 AliEveHLTEventManager.cxx:361
 AliEveHLTEventManager.cxx:362
 AliEveHLTEventManager.cxx:363
 AliEveHLTEventManager.cxx:364
 AliEveHLTEventManager.cxx:365
 AliEveHLTEventManager.cxx:366
 AliEveHLTEventManager.cxx:367
 AliEveHLTEventManager.cxx:368
 AliEveHLTEventManager.cxx:369
 AliEveHLTEventManager.cxx:370
 AliEveHLTEventManager.cxx:371
 AliEveHLTEventManager.cxx:372
 AliEveHLTEventManager.cxx:373
 AliEveHLTEventManager.cxx:374
 AliEveHLTEventManager.cxx:375
 AliEveHLTEventManager.cxx:376
 AliEveHLTEventManager.cxx:377
 AliEveHLTEventManager.cxx:378
 AliEveHLTEventManager.cxx:379
 AliEveHLTEventManager.cxx:380
 AliEveHLTEventManager.cxx:381
 AliEveHLTEventManager.cxx:382
 AliEveHLTEventManager.cxx:383
 AliEveHLTEventManager.cxx:384
 AliEveHLTEventManager.cxx:385
 AliEveHLTEventManager.cxx:386
 AliEveHLTEventManager.cxx:387
 AliEveHLTEventManager.cxx:388
 AliEveHLTEventManager.cxx:389
 AliEveHLTEventManager.cxx:390
 AliEveHLTEventManager.cxx:391
 AliEveHLTEventManager.cxx:392
 AliEveHLTEventManager.cxx:393
 AliEveHLTEventManager.cxx:394
 AliEveHLTEventManager.cxx:395
 AliEveHLTEventManager.cxx:396
 AliEveHLTEventManager.cxx:397
 AliEveHLTEventManager.cxx:398
 AliEveHLTEventManager.cxx:399
 AliEveHLTEventManager.cxx:400
 AliEveHLTEventManager.cxx:401
 AliEveHLTEventManager.cxx:402
 AliEveHLTEventManager.cxx:403
 AliEveHLTEventManager.cxx:404
 AliEveHLTEventManager.cxx:405
 AliEveHLTEventManager.cxx:406
 AliEveHLTEventManager.cxx:407
 AliEveHLTEventManager.cxx:408
 AliEveHLTEventManager.cxx:409
 AliEveHLTEventManager.cxx:410
 AliEveHLTEventManager.cxx:411
 AliEveHLTEventManager.cxx:412
 AliEveHLTEventManager.cxx:413
 AliEveHLTEventManager.cxx:414
 AliEveHLTEventManager.cxx:415
 AliEveHLTEventManager.cxx:416
 AliEveHLTEventManager.cxx:417
 AliEveHLTEventManager.cxx:418
 AliEveHLTEventManager.cxx:419
 AliEveHLTEventManager.cxx:420
 AliEveHLTEventManager.cxx:421
 AliEveHLTEventManager.cxx:422
 AliEveHLTEventManager.cxx:423
 AliEveHLTEventManager.cxx:424
 AliEveHLTEventManager.cxx:425
 AliEveHLTEventManager.cxx:426
 AliEveHLTEventManager.cxx:427
 AliEveHLTEventManager.cxx:428
 AliEveHLTEventManager.cxx:429
 AliEveHLTEventManager.cxx:430
 AliEveHLTEventManager.cxx:431
 AliEveHLTEventManager.cxx:432
 AliEveHLTEventManager.cxx:433
 AliEveHLTEventManager.cxx:434
 AliEveHLTEventManager.cxx:435
 AliEveHLTEventManager.cxx:436
 AliEveHLTEventManager.cxx:437
 AliEveHLTEventManager.cxx:438
 AliEveHLTEventManager.cxx:439
 AliEveHLTEventManager.cxx:440
 AliEveHLTEventManager.cxx:441
 AliEveHLTEventManager.cxx:442
 AliEveHLTEventManager.cxx:443
 AliEveHLTEventManager.cxx:444
 AliEveHLTEventManager.cxx:445
 AliEveHLTEventManager.cxx:446
 AliEveHLTEventManager.cxx:447
 AliEveHLTEventManager.cxx:448
 AliEveHLTEventManager.cxx:449
 AliEveHLTEventManager.cxx:450
 AliEveHLTEventManager.cxx:451
 AliEveHLTEventManager.cxx:452
 AliEveHLTEventManager.cxx:453
 AliEveHLTEventManager.cxx:454
 AliEveHLTEventManager.cxx:455
 AliEveHLTEventManager.cxx:456
 AliEveHLTEventManager.cxx:457
 AliEveHLTEventManager.cxx:458
 AliEveHLTEventManager.cxx:459
 AliEveHLTEventManager.cxx:460
 AliEveHLTEventManager.cxx:461
 AliEveHLTEventManager.cxx:462
 AliEveHLTEventManager.cxx:463
 AliEveHLTEventManager.cxx:464
 AliEveHLTEventManager.cxx:465
 AliEveHLTEventManager.cxx:466
 AliEveHLTEventManager.cxx:467
 AliEveHLTEventManager.cxx:468
 AliEveHLTEventManager.cxx:469
 AliEveHLTEventManager.cxx:470
 AliEveHLTEventManager.cxx:471
 AliEveHLTEventManager.cxx:472
 AliEveHLTEventManager.cxx:473
 AliEveHLTEventManager.cxx:474
 AliEveHLTEventManager.cxx:475
 AliEveHLTEventManager.cxx:476
 AliEveHLTEventManager.cxx:477
 AliEveHLTEventManager.cxx:478
 AliEveHLTEventManager.cxx:479
 AliEveHLTEventManager.cxx:480
 AliEveHLTEventManager.cxx:481
 AliEveHLTEventManager.cxx:482
 AliEveHLTEventManager.cxx:483
 AliEveHLTEventManager.cxx:484
 AliEveHLTEventManager.cxx:485
 AliEveHLTEventManager.cxx:486
 AliEveHLTEventManager.cxx:487
 AliEveHLTEventManager.cxx:488
 AliEveHLTEventManager.cxx:489
 AliEveHLTEventManager.cxx:490
 AliEveHLTEventManager.cxx:491
 AliEveHLTEventManager.cxx:492
 AliEveHLTEventManager.cxx:493
 AliEveHLTEventManager.cxx:494
 AliEveHLTEventManager.cxx:495
 AliEveHLTEventManager.cxx:496
 AliEveHLTEventManager.cxx:497
 AliEveHLTEventManager.cxx:498
 AliEveHLTEventManager.cxx:499
 AliEveHLTEventManager.cxx:500
 AliEveHLTEventManager.cxx:501
 AliEveHLTEventManager.cxx:502
 AliEveHLTEventManager.cxx:503
 AliEveHLTEventManager.cxx:504
 AliEveHLTEventManager.cxx:505
 AliEveHLTEventManager.cxx:506
 AliEveHLTEventManager.cxx:507
 AliEveHLTEventManager.cxx:508
 AliEveHLTEventManager.cxx:509
 AliEveHLTEventManager.cxx:510
 AliEveHLTEventManager.cxx:511
 AliEveHLTEventManager.cxx:512
 AliEveHLTEventManager.cxx:513
 AliEveHLTEventManager.cxx:514
 AliEveHLTEventManager.cxx:515
 AliEveHLTEventManager.cxx:516
 AliEveHLTEventManager.cxx:517
 AliEveHLTEventManager.cxx:518
 AliEveHLTEventManager.cxx:519
 AliEveHLTEventManager.cxx:520
 AliEveHLTEventManager.cxx:521
 AliEveHLTEventManager.cxx:522
 AliEveHLTEventManager.cxx:523
 AliEveHLTEventManager.cxx:524
 AliEveHLTEventManager.cxx:525
 AliEveHLTEventManager.cxx:526
 AliEveHLTEventManager.cxx:527
 AliEveHLTEventManager.cxx:528
 AliEveHLTEventManager.cxx:529
 AliEveHLTEventManager.cxx:530