ROOT logo
/**************************************************************************
 * Copyright(c) 2008-2010, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/* $Id$ */

////////////////////////////////////////////////////////////
// Author: A. Mastroserio                                 //
// This class is used in the detector algorithm framework //
// to process the data stored in special container files  //
// (see AliITSOnlineSPDfo). The "good" set of DAC values  //
// is extracted.                                          //
////////////////////////////////////////////////////////////

#include <TFile.h>
#include <TMath.h>
#include <TString.h>
#include <TStyle.h>
#include <TF1.h>
#include <TH1D.h>
#include <TH2D.h>
#include <TArrayI.h>
#include <TCanvas.h>
#include <THnSparse.h>
#include <TKey.h>
#include <iostream>
#include <fstream>
#include "AliITSOnlineSPDfoChipConfig.h"
#include "AliITSOnlineSPDfoChip.h"
#include "AliITSOnlineSPDfoInfo.h"
#include "AliITSOnlineSPDfo.h"
#include "AliITSOnlineSPDfoAnalyzer.h"
#include "AliLog.h"

using std::ifstream;

AliITSOnlineSPDfoAnalyzer::AliITSOnlineSPDfoAnalyzer(const TString fileName, Bool_t readFromGridFile) :
  fFileName(0),
  fNdims(0),
  fNbins(0x0),
  fXmin(0x0),
  fXmax(0x0),
  fFOHandler(0x0),
  fHighOccupancyCheck(kTRUE)
{
  // constructor
  fFileName = fileName;
  for(Int_t iqual =0; iqual<kNqualityFlags; iqual++) fGeneralThresholds[iqual]=0;
  
  for (UInt_t chipNr=0; chipNr<10; chipNr++) {
    for (UInt_t hs=0; hs<6; hs++) {
      for(Int_t i =0; i< kNqualityFlags; i++) fNh[i][hs][chipNr]=NULL;
    }
  }
  
  Init(readFromGridFile); 
}
//-------------------------------------------------------------------
AliITSOnlineSPDfoAnalyzer::AliITSOnlineSPDfoAnalyzer(const AliITSOnlineSPDfoAnalyzer& foan) :
  fFileName(foan.fFileName),
  fNdims(foan.fNdims),
  fNbins(foan.fNbins),
  fXmin(foan.fXmin),
  fXmax(foan.fXmax),
  fFOHandler(foan.fFOHandler),
  fHighOccupancyCheck(foan.fHighOccupancyCheck)
{
  //
  // copy constructor, only copies the filename and params (not the processed data
  //
  
  for(Int_t iqual =0; iqual<3; iqual++) fGeneralThresholds[iqual] =foan.fGeneralThresholds[iqual];
  for (UInt_t chipNr=0; chipNr<10; chipNr++) {
    for (UInt_t hs=0; hs<6; hs++) {
      for(Int_t i=0; i<kNqualityFlags;i++) fNh[i][hs][chipNr]=NULL;
    }
  }
  
  Init();
}
//-------------------------------------------------------------------
AliITSOnlineSPDfoAnalyzer::~AliITSOnlineSPDfoAnalyzer() 
{
  //
  // destructor
  // 
  
  for (UInt_t hs=0; hs<6; hs++) {
    for (UInt_t chipNr=0; chipNr<10; chipNr++) {
      for(Int_t i=0; i<kNqualityFlags ; i++ ) if(fNh[i][hs][chipNr]!=NULL) delete fNh[i][hs][chipNr];          
    }
  }
  delete fFOHandler;
}
//-------------------------------------------------------------------
AliITSOnlineSPDfoAnalyzer& AliITSOnlineSPDfoAnalyzer::operator=(const AliITSOnlineSPDfoAnalyzer& foan) 
{
  // assignment operator, only copies the filename and params (not the processed data)
  if (this!=&foan) {
    for (UInt_t hs=0; hs<6; hs++) {
      for (UInt_t chipNr=0; chipNr<10; chipNr++) {
	for(Int_t i=0; i<kNqualityFlags ; i++ ) if(fNh[i][hs][chipNr]!=NULL) delete fNh[i][hs][chipNr];
      }
    }
    
    fFileName=foan.fFileName;
    fHighOccupancyCheck=foan.fHighOccupancyCheck;
    Init();    
  }
  return *this;
}
//-------------------------------------------------------------------
void AliITSOnlineSPDfoAnalyzer::Init(Bool_t readFromGridFile) 
{
  //
  // first checks type of container and then initializes container obj
  //
  if (!readFromGridFile) {
    TFile* p0 = TFile::Open(fFileName.Data());
    if (p0 == NULL) {
      printf("no file open!"); 
      return;
    }
    else { 
      fFOHandler = new AliITSOnlineSPDfo();
      fFOHandler->SetFile(fFileName);
    }
    p0->Close();   
  }
}
//-------------------------------------------------------------------
void AliITSOnlineSPDfoAnalyzer::SetGeneralThresholds(Float_t thre[3])
{
  // here the settings for the 3 quality flags are defined
  for(Int_t i=0; i< 3; i++) fGeneralThresholds[i]=thre[i];  
}
//-------------------------------------------------------------------
void AliITSOnlineSPDfoAnalyzer::SetNdimensions()
{
  //
  // here the axis of the N-dim histograms are setted 
  // 
  if(!fFOHandler) {
    printf("no fo object. Exiting...\n"); 
    return;
  }
  
  TArrayI array = fFOHandler->GetDACscanParams();
  fNdims = array.GetSize()/3;
  fNbins = new Int_t[fNdims];
  fXmin = new Double_t[fNdims];
  fXmax = new Double_t[fNdims];
  for(Int_t i=0; i< fNdims; i++){
    fXmin[i] = array.At(3*i)-0.25;
    fXmax[i] = array.At(3*i+1)+0.25;
    fNbins[i] = (Int_t)((fXmax[i]-fXmin[i])/0.5)+1;//to avoid Int->Double conversion problems when checking results. 
  } 
}
//-------------------------------------------------------------------
void AliITSOnlineSPDfoAnalyzer::BuildTHnSparse(Int_t ihs, Int_t ichip)
{
  //
  // here the N-dim histogram is booked per chip in one HS 
  //
  
  if(!fNdims) SetNdimensions();
  
  for(Int_t iqual =0; iqual < 3; iqual++) fNh[iqual][ihs][ichip] = new THnSparseI(Form("h%i_HS%i_C%i",iqual,ihs,ichip), Form("h%i_HS%i_C%i",iqual,ihs,ichip), fNdims, fNbins, fXmin, fXmax);
}
//-------------------------------------------------------------------
Int_t AliITSOnlineSPDfoAnalyzer::Select(const AliITSOnlineSPDfoChip *chip) const
{
  //
  // Selects the DAC values if in the chip: the I configuration corresponds to
  // 0% efficiency ( no FO response case). All the others shoud be within the 
  // predefined thresholds
  
  if(!fFOHandler->GetFOscanInfo()) {
    printf("no general information object in the file. Exiting...\n");
    return -1;
  }
  
  Double_t npulses = (fFOHandler->GetFOscanInfo())->GetNumTriggers();
  
  if(npulses == 0. ) {
    Info("AliITSOnlineSPDfoAnalyzer::Select","no trigger pulses set. Exiting...");
    return -999;
  } 
  
  TObjArray *array = chip->GetChipConfigInfo();
  if(!array) {
    printf("No measurement array found in the chip!!\n");
    return 0;
  }
  
  Int_t quality = -1;
  
  Float_t counts = 0;
  
  Int_t processedconfigurations = chip->GetNumberOfChipConfigs();
  
 
  
  
  for(Int_t isteps =0; isteps < processedconfigurations; isteps++){ 
    
    Int_t matrixId = ((AliITSOnlineSPDfoChipConfig*)array->At(isteps))->GetChipConfigMatrixId();
    counts = (Float_t)(((AliITSOnlineSPDfoChipConfig*)array->At(isteps))->GetChipConfigCounter());
    if(matrixId==0 && counts > 0) return -1;
    if(fHighOccupancyCheck &&  matrixId ==6) continue;
    
    Float_t efficiency = counts/npulses;
    
    if(matrixId > 0){
      Int_t response = IsSelected(efficiency);
      if( response >=0) {
	if(quality < response) quality = response;
      }
      else return -1; 
    }
  }
  return quality;
}
//-----------------------------------------------------
Int_t AliITSOnlineSPDfoAnalyzer::IsSelected(Float_t eff) const
{
  //
  // returns the quality of the selection 
  //
  
  for(Int_t i=0; i<3; i++){  
    if(eff <= 1.+ fGeneralThresholds[i] && eff >= 1. - fGeneralThresholds[i]  ) return i;
  }
  return -1;
}
//----------------------------------------------------
void AliITSOnlineSPDfoAnalyzer::Process()
{ 
  //
  // The procedure is the following:
  // - DAC 4-tuples are checked  
  // - if the 4-tuple survives the selection, the chip-related histograms are filled.
  // (- Per each histogram the mean values of each axis are taken)
  //
  
  if(!fFOHandler) { 
    Warning("AliITSOnlineSPDfoAnalyzer::Process","no fo object. Exiting.. \n");
    return;
  } 
  
  TKey *key;
  TIter iter((fFOHandler->GetFile())->GetListOfKeys());  
  while ((key = (TKey*)(iter.Next()))) {
    TString classname = key->GetClassName();
    if(classname.Contains("OnlineSPD")) break;
    
    TObjArray *array = (TObjArray*)(fFOHandler->GetFile())->Get(key->GetName()); // array of chips corresponding to the DACS (size 1-60)
    if(!array){
      printf("no array found! Exiting...\n");
      break; 
    }
    
    Double_t *dacvalues = fFOHandler->GetDACvaluesD(key->GetName(), GetFOHandler()->GetFOscanInfo()->GetNumDACindex());
    
    for(Int_t i=0; i< array->GetSize(); i++){
      AliITSOnlineSPDfoChip *chip = (AliITSOnlineSPDfoChip *)array->At(i); 
          
      if(!chip) continue;
      Int_t hs = chip->GetActiveHS();
      Int_t chipid = chip->GetChipId();     
      Int_t quality = Select(chip);
      if(quality<0) continue; 
      if(!fNh[quality][hs][chipid]) BuildTHnSparse(hs,chipid);
      fNh[quality][hs][chipid]->Fill(dacvalues);       
    } 

    if(dacvalues) delete [] dacvalues;
  } 
}
//---------------------------------------------
void AliITSOnlineSPDfoAnalyzer::WriteToFile(TString outputfile)
{
  //
  // The 4-dim histograms are stored into a file
  //
  
  TFile * f = TFile::Open(outputfile.Data(),"recreate");
  for(Int_t ihs =0; ihs < 6; ihs++) {
    for(Int_t ichip =0; ichip < 10; ichip++){
      for(Int_t i=0; i<kNqualityFlags ; i++ ) {
      if(fNh[i][ihs][ichip]) f->WriteObjectAny(fNh[i][ihs][ichip],"THnSparse",Form("h%i_hs%i_chip%i",i,ihs,ichip));
      }
      
    }
  }
  f->Close();
}
//---------------------------------------------
void AliITSOnlineSPDfoAnalyzer::CheckResults(TString filename, Int_t hs, Int_t ichip, Int_t iqual) const
{
  //  
  //The chip related 4-dim histograms are produced and stored into eps files
  //    
  
  TFile *f = TFile::Open(filename.Data());
  if(!f) {
    Info("AliITSOnlineSPDfoAnalyzer::CehckResults","no file open!. Exiting...\n");
    return; 
  }
  
  THnSparse *hn;
  TObject *obj;
  
  TIter iter(f->GetListOfKeys());
  while((obj=iter.Next())){
    TString name = obj->GetName();
    hn=(THnSparse*)f->Get(name.Data()); 
    if(name.Contains(Form("hs%i",hs)) && name.Contains(Form("chip%i",ichip)) && name.Contains(Form("h%i",iqual))) GetCanvases(hn,hs,ichip,iqual);
  } 
}
//-----------------------------------------------------------------------------------------------
void AliITSOnlineSPDfoAnalyzer::GetCanvases(const THnSparse *hn,Int_t hs, Int_t chip, Int_t iqual) const
{
  //
  // 1-Dim and 2 Dim Projections of 4-dim histograms are visualized in canvases per quality selection
  //
  //
  
  if(!hn) {printf("no thnsparse...exiting!\n"); return;} 
  
  gStyle->SetPalette(1);
  
  TString dacname[4];
  
  if(  (fFOHandler->GetFOscanInfo())->GetDACindex(0) == 20 ) dacname[0] = "FOPOL";
  else dacname[0] = "possible DAC-name/ DAC-register-number mismatch";  
  if(  (fFOHandler->GetFOscanInfo())->GetDACindex(1) == 17 ) dacname[1] = "CONVPOL";
  else dacname[1] = "possible DAC-name/ DAC-register-number mismatch";
  if(  (fFOHandler->GetFOscanInfo())->GetDACindex(2) == 16 ) dacname[2] = "COMPREF";
  else dacname[2] = "possible DAC-name/ DAC-register-number mismatch";
  if(  (fFOHandler->GetFOscanInfo())->GetDACindex(3) == 39 ) dacname[3] = "pre_VTH";
  else dacname[3] = "possible DAC-name/ DAC-register-number mismatch";
  
  TString titles = Form("|eff-1| <= %f   for CHIP %i  in HS  %i",fGeneralThresholds[iqual],hs,chip);
  TCanvas *c[3];
  
  for(Int_t i=0; i<2; i++) {
    c[i] = new TCanvas(Form("c%i",i+1),Form(" %i DIM plots. %s ",i+1,titles.Data()),1200,800); 
    c[i]->Divide(2,2);
  }
  
  
  for(Int_t idim =0; idim<2; idim++){
    for(Int_t k=1; k<5; k++){
      c[idim]->cd(k);
      
      TH1D *h1 =0x0;
      TH2D *h2=0x0;       
      if(idim == 0) {
        h1 = hn->Projection(k-1);
        if(!h1) {
         printf("no histogram!!...\n\n\n");
        } else {
        h1->SetXTitle(Form("DAC %i  ( %s )",k-1,dacname[k-1].Data()));
        h1->SetYTitle("entries (eff within thresholds)");
        h1->Draw();
        }
      } 
      
      if(idim==1) {      
        if(k<4){
          h2  = hn->Projection(k-1,k);
          h2->SetXTitle(Form("DAC %i ( %s )",k,dacname[k].Data())); h2->SetYTitle(Form("DAC %i  ( %s )",k-1,dacname[k-1].Data()));
          h2->SetTitleOffset(2,"Y"); h2->SetTitleOffset(1.5,"X");
	} else {
	  h2 = hn->Projection(0,3);
	  h2->SetXTitle(Form("DAC %i ( %s )",3,dacname[3].Data())); h2->SetYTitle(Form("DAC %i  ( %s )",0, dacname[0].Data()));
	  h2->SetTitleOffset(2,"Y"); h2->SetTitleOffset(1.5,"X"); 
	}    
	
        h2->Draw("lego2");
      }  
    }// k loop
    
    c[idim]->SaveAs(Form("c%iDIM_%i_%i_%i.eps",idim,iqual,hs,chip));   
  }// idim loop  
}
//-----------------------------------------------------
TArrayI AliITSOnlineSPDfoAnalyzer::ChooseDACValues(Int_t hs, Int_t chip) const
{
  //
  // here the "best" 4 dacs are chosen. The most present are taken. 
  // If the n-tuple does not correspond to a meaningful entry, the
  // closest value to the mean point in the n-dimensional histogram
  // is taken.
  
  TH1D *tmp[5];
  for(Int_t jj=0;jj<5;jj++)tmp[jj]=NULL;
  if(fNdims > 5) printf("AliITSOnlineSPDfoAnalyzer::ChooseDACValues -> N. of dimensions are more than expected! Break! \n");
  TArrayI dacs(fNdims+1);
  
  for(Int_t i=0; i<fNdims+1; i++) dacs.AddAt(-1,i);
  
  for(Int_t iqual =0; iqual < kNqualityFlags; iqual++){
    if(!fNh[iqual][hs][chip]) continue;    
    if(fNh[iqual][hs][chip]->GetEntries()==0) continue;
    for(Int_t idim =0; idim<fNdims; idim++){
      if(dacs.At(idim)>=0) continue;
      tmp[idim] = fNh[iqual][hs][chip]->Projection(idim);
      dacs.AddAt((Int_t)tmp[idim]->GetBinLowEdge(tmp[idim]->GetMaximumBin()+1),idim);
      Int_t bin=-1;
      if(fFOHandler->GetFOscanInfo()->GetDACindex(idim)==fFOHandler->kIdPreVTH && CorrectPreVTHChioce(tmp[idim],bin)) {
       dacs.AddAt((Int_t)tmp[idim]->GetBinLowEdge(bin+1),idim);
      }
      dacs.AddAt(iqual,fNdims);
    }//idim
  }//iqual
  
  if(!IsExisting(dacs,hs,chip)  && dacs.At(fNdims)>-1) {   
   TArrayI centraldacs = GetCentralDACS(dacs.At(fNdims),hs,chip,tmp);
    dacs = centraldacs;
  }
  return dacs; 
}
//_____________________________________________________
Bool_t AliITSOnlineSPDfoAnalyzer::IsExisting(TArrayI dacs,Int_t hs, Int_t chip) const
{
  //
  // check the N-tuple corresponds to a real one
  //  
  
  if(dacs.At(fNdims)<0) return kFALSE;
  Bool_t isOk = kFALSE;
  
  Int_t size = dacs.GetSize()-1;
  Double_t *entry = new Double_t[size];
  for(Int_t i=0; i<size; i++) entry[i] = dacs.At(i);
  Int_t checkbin = fNh[dacs.At(dacs.GetSize()-1)][hs][chip]->GetBin(entry,kFALSE); // kFALSE does not allocate another bin
  if(checkbin > -1) isOk = kTRUE;
  delete [] entry;
  return isOk; 
}
//-----------------------------------------------------------
TArrayI AliITSOnlineSPDfoAnalyzer::GetCentralDACS(Int_t qualityflag, Int_t hs, Int_t chip, TH1D **hd) const
{
  //
  // This method gets the DAC values which are closest to the mean point in the N-dim histogram
  // It is called when the most probable DAC set does not correspond to a real entry in the N-dim
  // histogram.
  //
 
  TArrayI dacs(fNdims+1);
   
  Double_t *mean=new Double_t[fNdims];
  Int_t *goodbins=new Int_t[fNdims];
  Double_t distance = 9999999;
    for(Int_t i=0; i<fNdims ;i++){ 
    mean[i]=hd[i]->GetMean();
    goodbins[i]=0;
    dacs.AddAt(-1,i);
  }
  
  Int_t *bins = new Int_t[fNdims];
  Double_t *val=new Double_t[fNdims];
  
  for(Int_t in=0; in< fNh[qualityflag][hs][chip]->GetNbins() ; in++){
    
    fNh[qualityflag][hs][chip]->GetBinContent(in,bins);
    Double_t r2 = 0;  
    for(Int_t j=0; j<fNdims; j++) {
     val[j] = hd[j]->GetBinCenter(bins[j]);
      r2+=TMath::Power(val[j]-mean[j],2);
    }
    
    if(r2<distance) {
      distance = r2;
      fNh[qualityflag][hs][chip]->GetBinContent(in,goodbins);
    }    
  }
  
  
  for(Int_t k=0; k<fNdims; k++) {  
   dacs.AddAt((Int_t)(hd[k]->GetBinCenter(goodbins[k]) + 0.5*hd[k]->GetBinWidth(goodbins[k])),k);
  }
 
  dacs.AddAt(qualityflag,fNdims);
  
  
  delete [] mean;
  delete [] goodbins;
  delete [] bins;
  delete [] val;
  return dacs;
}
//-------------------------------------------------------
void AliITSOnlineSPDfoAnalyzer::ReadParamsFromLocation(const Char_t *dirName) 
{
  //
  // opens file (default name) in dir dirName and reads parameters from it
  // The file should be in database
  //
  
  TString paramsFileName = Form("./%s/focalib_params.txt",dirName);
  
  ifstream paramsFile;
  paramsFile.open(paramsFileName, ifstream::in);
  if (paramsFile.fail()) {
    printf("No config file (%s) present. Using default tuning parameters.\n",paramsFileName.Data());
  }
  else {
    while(1) {
      Char_t paramN[50];
      Char_t paramV[50];
      paramsFile >> paramN;
      if (paramsFile.eof()) break;
      paramsFile >> paramV;
      SetParam(paramN,paramV);
      if (paramsFile.eof()) break;
    }
    paramsFile.close();
  }
}
//---------------------------------------------------------
void AliITSOnlineSPDfoAnalyzer::SetParam(const Char_t *pname, const Char_t *pval) 
{
  //
  // sets a single parameter when reading from a file in the database
  //
  
  TString name = pname;
  TString val = pval;
  
  
  if (name.CompareTo("fGeneralThresholds0")==0) {
    fGeneralThresholds[0] = val.Atof();
  }
  else if (name.CompareTo("fGeneralThresholds1")==0) {
    fGeneralThresholds[1] = val.Atof();
  }
  else if (name.CompareTo("fGeneralThresholds2")==0) {
    fGeneralThresholds[2] = val.Atof();
  }
  else {
    Error("AliITSOnlineSPDscanAnalyzer::SetParam","Parameter %s in configuration file unknown.",name.Data());
  }
}
//--------------------------------------------------------
Bool_t AliITSOnlineSPDfoAnalyzer::CorrectPreVTHChioce(const TH1D *h,Int_t &bin) const
{
  //
  // Checks if more maxima of the same height are present in the pre_VTH case
  //
  
  
  Int_t maxbin = (Int_t)h->GetMaximumBin();
  Double_t maxentries = h->GetBinContent(maxbin);
  
  Int_t binindex = -1;
  Bool_t check=kFALSE;

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