ROOT logo
/**************************************************************************
 * Copyright(c) 2007-2009, 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: Henrik Tydesjo                                 //
// This class is used in the detector algorithm framework //
// to process the data stored in special container files  //
// (see AliITSOnlineSPDscan). For instance, minimum       //
// threshold values can be extracted.                     //
////////////////////////////////////////////////////////////

#include "AliITSOnlineSPDscanAnalyzer.h"
#include "AliITSOnlineSPDscan.h"
#include "AliITSOnlineSPDscanSingle.h"
#include "AliITSOnlineSPDscanMultiple.h"
#include "AliITSOnlineSPDscanMeanTh.h"
#include "AliITSOnlineCalibrationSPDhandler.h"
#include "AliITSRawStreamSPD.h"
#include <TStyle.h>
#include <TMath.h>
#include <TLine.h>
#include <TF1.h>
#include <TGraph.h>
#include <TH2F.h>
#include <TError.h>
#include <iostream>
#include <fstream>

using std::ifstream;

Double_t itsSpdErrorf(Double_t *x, Double_t *par){
  if (par[2]<0) par[2]=0;
  Double_t val = par[2]+(0.12*256*32-par[2])*(0.5+0.5*TMath::Erf((x[0]-par[0])/par[1]/sqrt(2.)));
  return val;
}
//Double_t itsSpdErrorfOrig(Double_t *x, Double_t *par){
//  return 0.5+0.5*TMath::Erf((x[0]-par[0])/par[1]/sqrt(2.));
//}
//_________________________________________________________________________
Double_t itsSpdScurveForMeanTh(Double_t *x, Double_t *par){
  if (par[2]<0) par[2]=0;
  Double_t val = 1.- par[2]*(1.-TMath::Erf((x[0]-par[0])/par[1]/sqrt(2.)));
//  Double_t val = par[2]+(0.12*256*32-par[2])*(0.5+0.5*TMath::Erf((x[0]-par[0])/par[1]/sqrt(2.)));
  return val;
}

//_________________________________________________________________________
AliITSOnlineSPDscanAnalyzer::AliITSOnlineSPDscanAnalyzer(const Char_t *fileName, AliITSOnlineCalibrationSPDhandler *handler, Bool_t readFromGridFile) :
  fType(99),fDacId(99),fFileName(fileName),fScanObj(NULL),fHandler(handler),fTriggers(NULL),fTPeff(0),fTPeffHS(NULL),fDeadPixel(0),fDeadPixelHS(NULL),fNoisyPixel(0),fNoisyPixelHS(NULL),
  fOverWrite(kFALSE),fNoiseThreshold(0.01),fNoiseMinimumEvents(100),
  fMinNrStepsBeforeIncrease(5),fMinIncreaseFromBaseLine(2),fStepDownDacSafe(5),fMaxBaseLineLevel(10)
{
  // constructor
  for (UInt_t chipNr=0; chipNr<11; chipNr++) {
    for (UInt_t hs=0; hs<6; hs++) {
      fMeanMultiplicity[hs][chipNr]=NULL;
      fHitEventEfficiency[hs][chipNr]=NULL;
    }
  }
  for (UInt_t hs=0; hs<6; hs++) {
    fTPeffChip[hs]=NULL;
    fDeadPixelChip[hs]=NULL;
    fNoisyPixelChip[hs]=NULL;
  }

  for (UInt_t mod=0; mod<240; mod++) {
    fbModuleScanned[mod]=kFALSE;
  }

  Init(readFromGridFile);
}
//_________________________________________________________________________
AliITSOnlineSPDscanAnalyzer::AliITSOnlineSPDscanAnalyzer(const AliITSOnlineSPDscanAnalyzer& handle) :
  fType(99),fDacId(99),fFileName("."),fScanObj(NULL),fHandler(NULL),fTriggers(NULL),fTPeff(0),fTPeffHS(NULL),fDeadPixel(0),fDeadPixelHS(NULL),fNoisyPixel(0),fNoisyPixelHS(NULL),
  fOverWrite(kFALSE),fNoiseThreshold(0.01),fNoiseMinimumEvents(100),
  fMinNrStepsBeforeIncrease(5),fMinIncreaseFromBaseLine(2),fStepDownDacSafe(5),fMaxBaseLineLevel(10)
{
  // copy constructor, only copies the filename and params (not the processed data)
  fFileName=handle.fFileName;
  fOverWrite=handle.fOverWrite;
  fNoiseThreshold=handle.fNoiseThreshold;
  fNoiseMinimumEvents=handle.fNoiseMinimumEvents;
  fMinNrStepsBeforeIncrease=handle.fMinNrStepsBeforeIncrease;
  fMinIncreaseFromBaseLine=handle.fMinIncreaseFromBaseLine;
  fStepDownDacSafe=handle.fStepDownDacSafe;
  fMaxBaseLineLevel=handle.fMaxBaseLineLevel;

  for (UInt_t chipNr=0; chipNr<11; chipNr++) {
    for (UInt_t hs=0; hs<6; hs++) {
      fMeanMultiplicity[hs][chipNr]=NULL;
      fHitEventEfficiency[hs][chipNr]=NULL;
    }
  }
  for (UInt_t hs=0; hs<6; hs++) {
    fTPeffChip[hs]=NULL;
    fDeadPixelChip[hs]=NULL;
    fNoisyPixelChip[hs]=NULL;
  }

  for (UInt_t mod=0; mod<240; mod++) {
    fbModuleScanned[mod]=kFALSE;
  }

  Init();
}
//_________________________________________________________________________
AliITSOnlineSPDscanAnalyzer::~AliITSOnlineSPDscanAnalyzer() {
  // destructor
  for (UInt_t hs=0; hs<6; hs++) {
    for (UInt_t chipNr=0; chipNr<11; chipNr++) {
      if (fMeanMultiplicity[hs][chipNr]!=NULL) {
	delete fMeanMultiplicity[hs][chipNr];
	fMeanMultiplicity[hs][chipNr]=NULL;
      }
      if (fHitEventEfficiency[hs][chipNr]!=NULL) {
	delete fHitEventEfficiency[hs][chipNr];
	fHitEventEfficiency[hs][chipNr]=NULL;
      }
    }
  }

  if (fTriggers!=NULL) {
    delete fTriggers;
    fTriggers=NULL;
  }

  DeleteUniformityHistograms();

  if (fScanObj!=NULL) {
    delete fScanObj;
    fScanObj=NULL;
  }
}
//_________________________________________________________________________
AliITSOnlineSPDscanAnalyzer& AliITSOnlineSPDscanAnalyzer::operator=(const AliITSOnlineSPDscanAnalyzer& handle) {
  // assignment operator, only copies the filename and params (not the processed data)
  if (this!=&handle) {
    for (UInt_t hs=0; hs<6; hs++) {
      for (UInt_t chipNr=0; chipNr<11; chipNr++) {
	if (fMeanMultiplicity[hs][chipNr]!=NULL) {
	  delete fMeanMultiplicity[hs][chipNr];
	}
	if (fHitEventEfficiency[hs][chipNr]!=NULL) {
	  delete fHitEventEfficiency[hs][chipNr];
	}
      }
    }
    if (fTriggers!=NULL) {
      delete fTriggers;
      fTriggers=NULL;
    }

    DeleteUniformityHistograms();

    if (fScanObj!=NULL) {
      delete fScanObj;
      fScanObj=NULL;
    }
   
    fFileName=handle.fFileName;
    fOverWrite=handle.fOverWrite;
    fNoiseThreshold=handle.fNoiseThreshold;
    fNoiseMinimumEvents=handle.fNoiseMinimumEvents;
    fMinNrStepsBeforeIncrease=handle.fMinNrStepsBeforeIncrease;
    fMinIncreaseFromBaseLine=handle.fMinIncreaseFromBaseLine;
    fStepDownDacSafe=handle.fStepDownDacSafe;
    fMaxBaseLineLevel=handle.fMaxBaseLineLevel;

    for (UInt_t chipNr=0; chipNr<11; chipNr++) {
      for (UInt_t hs=0; hs<6; hs++) {
	fMeanMultiplicity[hs][chipNr]=NULL;
	fHitEventEfficiency[hs][chipNr]=NULL;
      }
    }
    for (UInt_t mod=0; mod<240; mod++) {
      fbModuleScanned[mod]=kFALSE;
    }

    fHandler=NULL;
    
    fType=99;
    fDacId=99;

    Init();    
  }
  return *this;
}
//_________________________________________________________________________
void AliITSOnlineSPDscanAnalyzer::Init(Bool_t readFromGridFile) {
  // first checks type of container and then initializes container obj
  if (!readFromGridFile) {
    FILE* fp0 = fopen(fFileName.Data(), "r");
    if (fp0 == NULL) {
      return;
    }
    else {
      fclose(fp0);
    }
  }

  fScanObj = new AliITSOnlineSPDscan(fFileName.Data(),readFromGridFile);
  fType = fScanObj->GetType();
  delete fScanObj;

  // init container
  switch(fType) {
  case kUNIMA:
  case kNOISE:
    fScanObj = new AliITSOnlineSPDscanSingle(fFileName.Data(),readFromGridFile);
    break;
  case kMINTH:
  case kDAC:
  case kDELAY:
    fScanObj = new AliITSOnlineSPDscanMultiple(fFileName.Data(),readFromGridFile);
    fDacId = ((AliITSOnlineSPDscanMultiple*)fScanObj)->GetDacId();
    break;
  case kMEANTH:
    fScanObj = new AliITSOnlineSPDscanMeanTh(fFileName.Data(),readFromGridFile);
    fDacId = ((AliITSOnlineSPDscanMeanTh*)fScanObj)->GetDacId();
    break;
  default:
    Error("AliITSOnlineSPDscanAnalyzer::Init","Type %d not defined!",fType);
    fScanObj=NULL;
    return;
    break;
  }

}
//_________________________________________________________________________
void AliITSOnlineSPDscanAnalyzer::SetParam(const Char_t *pname, const Char_t *pval) {
  // set a parameter
  TString name = pname;
  TString val = pval;
  if (name.CompareTo("fOverWrite")==0) {
    if (val.CompareTo("YES")==0 || val.CompareTo("1")==0) {
      fOverWrite = kTRUE;
    }
    else fOverWrite = kFALSE;
  }
  else if (name.CompareTo("fNoiseThreshold")==0) {
    fNoiseThreshold = val.Atof();
  }
  else if (name.CompareTo("fNoiseMinimumEvents")==0) {
    fNoiseMinimumEvents = val.Atoi();
  }
  else if (name.CompareTo("fMinNrStepsBeforeIncrease")==0) {
    fMinNrStepsBeforeIncrease = val.Atoi();
  }
  else if (name.CompareTo("fMinIncreaseFromBaseLine")==0) {
    fMinIncreaseFromBaseLine = val.Atof();
  }
  else if (name.CompareTo("fStepDownDacSafe")==0) {
    fStepDownDacSafe = val.Atoi();
  }
  else if (name.CompareTo("fMaxBaseLineLevel")==0) {
    fMaxBaseLineLevel = val.Atof();
  }
  else {
    Error("AliITSOnlineSPDscanAnalyzer::SetParam","Parameter %s in configuration file unknown.",name.Data());
  }
}
//_________________________________________________________________________
void AliITSOnlineSPDscanAnalyzer::ReadParamsFromLocation(const Char_t *dirName) {
  // opens file (default name) in dir dirName and reads parameters from it
  TString paramsFileName = Form("%s/standal_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();
  }
}
//_________________________________________________________________________
Bool_t AliITSOnlineSPDscanAnalyzer::IsChipPresent(UInt_t hs, UInt_t chipNr) {
  // is the chip present?
  if (fScanObj==NULL) {
    Warning("AliITSOnlineSPDscanAnalyzer::IsChipPresent","No data!");
    return kFALSE;
  }
  return fScanObj->GetChipPresent(hs,chipNr);
}
//_________________________________________________________________________
Bool_t AliITSOnlineSPDscanAnalyzer::ProcessDeadPixels(/*Char_t *oldcalibDir*/) {
  // process dead pixel data, for uniformity scan, 
  // NB: This will not be the general way of finding dead pixels.
  if (fScanObj==NULL) {
    Warning("AliITSOnlineSPDscanAnalyzer::ProcessDeadPixels","No data!");
    return kFALSE;
  }
  // should be type kUNIMA
  if (fType!=kUNIMA) {
    Warning("AliITSOnlineSPDscanAnalyzer::ProcessDeadPixels","Dead pixels only for scan type %d.",kUNIMA);
    return kFALSE;
  }
  // handler should be initialized
  if (fHandler==NULL) {
    Error("AliITSOnlineSPDscanAnalyzer::ProcessDeadPixels","Calibration handler is not initialized!");
    return kFALSE;
  }

  UInt_t routerNr = fScanObj->GetRouterNr();
  UInt_t rowStart = fScanObj->GetRowStart();
  UInt_t rowEnd   = fScanObj->GetRowEnd();
  for (UInt_t hs=0; hs<6; hs++) {
    for (UInt_t chipNr=0; chipNr<10; chipNr++) {
      if (fScanObj->GetChipPresent(hs,chipNr) && fScanObj->GetAverageMultiplicity(0,hs,chipNr)>0) { // check the status of the chippresent parameter in the mood header!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	if (fOverWrite) {fHandler->ResetDeadForChip(routerNr,hs,chipNr);}
	for (UInt_t col=0; col<32; col++) {
	  for (UInt_t row=rowStart; row<=rowEnd; row++) {
	    if (col!=1 && col!=9 && col!=17 && col!=25) { //exclude test columns!!!
	      if (fScanObj->GetHits(0,hs,chipNr,col,row)==0) {
		fHandler->SetDeadPixel(routerNr,hs,chipNr,col,row);
	      }
	    }
	  }
	}
      }
    }
  }
  return kTRUE;
}
//_________________________________________________________________________
Bool_t AliITSOnlineSPDscanAnalyzer::ProcessUniformity() {
  // process uniformity scan data (thanks to Roberta Ferretti for providing this method)
  if (fScanObj==NULL) {
    Warning("AliITSOnlineSPDscanAnalyzer::ProcessUniformity","No data!");
    return kFALSE;
  }
  // should be type kUNIMA
  if (fType!=kUNIMA) {
    Warning("AliITSOnlineSPDscanAnalyzer::ProcessUniformity","Only for scan type %d.",kUNIMA);
    return kFALSE;
  }

  CreateUniformityHistograms(); // create all histograms that will be filled here

  //  UInt_t routerNr = fScanObj->GetRouterNr();
  UInt_t rowStart = fScanObj->GetRowStart();
  UInt_t rowEnd   = fScanObj->GetRowEnd();
  UInt_t nrTriggers = fScanObj->GetTriggers(0)/(rowEnd-rowStart+1);

  Float_t pixel100=0;
  Float_t zeri=0;
  Float_t pixelN=0;
  UInt_t numChipsActive=0;

  for (UInt_t hs=0; hs<6; hs++) {
    Float_t pixel100hs=0;
    Float_t zerihs=0;
    Float_t pixelNhs=0;
    UInt_t numChipsActiveHS=0;

    for (UInt_t chipNr=0; chipNr<10; chipNr++) {
      Float_t pixel100chip=0;
      Float_t zerichip=0;
      Float_t pixelNchip=0;

      if (fScanObj->GetChipPresent(hs,chipNr)) { // check the status of the chippresent parameter in the mood header!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	numChipsActive++;
	numChipsActiveHS++;

	for (UInt_t col=0; col<32; col++) {
	  for (UInt_t row=rowStart; row<=rowEnd; row++) {
	    if (col!=1 && col!=9 && col!=17 && col!=25) { //exclude test columns!!!
	    
	      if (fScanObj->GetHits(0,hs,chipNr,col,row)==nrTriggers) {   
	      		pixel100++;
	      		pixel100hs++;
			pixel100chip++;
	      }
	      if (fScanObj->GetHits(0,hs,chipNr,col,row)==0) {
	      		zeri++;
	      		zerihs++;
			zerichip++;
	      }
	      if (fScanObj->GetHits(0,hs,chipNr,col,row)>nrTriggers) {    
	      		pixelN++;
	      		pixelNhs++;
			pixelNchip++;
	      }
	    }
	  }
	}
      
	Float_t tPeffChip=(pixel100chip/(28*(rowEnd-rowStart+1)))*100;
	fTPeffChip[hs]->Fill(chipNr,tPeffChip);
	
	Float_t deadPixelChip=(zerichip/(28*(rowEnd-rowStart+1)))*100;
	fDeadPixelChip[hs]->Fill(chipNr,deadPixelChip);
	
	Float_t noisyPixelChip=(pixelNchip/(28*(rowEnd-rowStart+1)))*100;
	fNoisyPixelChip[hs]->Fill(chipNr,noisyPixelChip);
      }
    }
    
    Float_t tPeffHS=(pixel100hs/(28*numChipsActiveHS*(rowEnd-rowStart+1)))*100;
    fTPeffHS->Fill(hs,tPeffHS);
    
    Float_t deadPixelHS=(zerihs/(28*numChipsActiveHS*(rowEnd-rowStart+1)))*100;
    fDeadPixelHS->Fill(hs,deadPixelHS);
    
    Float_t noisyPixelHS=(pixelNhs/(28*numChipsActiveHS*(rowEnd-rowStart+1)))*100;
    fNoisyPixelHS->Fill(hs,noisyPixelHS);
  }
  
  fTPeff=(pixel100/(28*numChipsActive*(rowEnd-rowStart+1)))*100;
  fDeadPixel=(zeri/(28*numChipsActive*(rowEnd-rowStart+1)))*100;
  fNoisyPixel=(pixelN/(28*numChipsActive*(rowEnd-rowStart+1)))*100;

  return kTRUE;
}
//_________________________________________________________________________
void AliITSOnlineSPDscanAnalyzer::CreateUniformityHistograms() {
  // create uniformity histograms to be filled by "ProcessUniformity" method
  DeleteUniformityHistograms(); // make sure no old histograms are lying around...
  UInt_t eq = GetRouterNr();
  TString label;

  label = Form("Ratio of 'Good' Pixels Per HS (eq %d)",eq);
  fTPeffHS = new TH1F(label.Data(),label.Data(),6,-0.5,5.5);
  fTPeffHS->SetXTitle("hs");
  fTPeffHS->SetYTitle("ratio [%]");
  fTPeffHS->SetFillColor(kBlue);
  fTPeffHS->SetStats(0);

  label = Form("Ratio of 'Dead' Pixels Per HS (eq %d)",eq);
  fDeadPixelHS = new TH1F(label.Data(),label.Data(),6,-0.5,5.5);
  fDeadPixelHS->SetXTitle("hs");
  fDeadPixelHS->SetYTitle("ratio [%]");
  fDeadPixelHS->SetFillColor(kBlue);
  fDeadPixelHS->SetStats(0);

  label = Form("Ratio of 'Noisy' Pixels Per HS (eq %d)",eq);
  fNoisyPixelHS = new TH1F(label.Data(),label.Data(),6,-0.5,5.5);
  fNoisyPixelHS->SetXTitle("hs");
  fNoisyPixelHS->SetYTitle("ratio [%]");
  fNoisyPixelHS->SetFillColor(kBlue);
  fNoisyPixelHS->SetStats(0);

  for (UInt_t hs=0; hs<6; hs++) {
    label = Form("Ratio of 'Good' Pixels Per Chip (eq %d, hs %d)",eq,hs);
    fTPeffChip[hs] = new TH1F(label.Data(),label.Data(),10,-0.5,9.5);
    fTPeffChip[hs]->SetXTitle("chip");
    fTPeffChip[hs]->SetYTitle("ratio [%]");
    fTPeffChip[hs]->SetFillColor(kBlue);
    fTPeffChip[hs]->SetStats(0);

    label = Form("Ratio of 'Dead' Pixels Per Chip (eq %d, hs %d)",eq,hs);
    fDeadPixelChip[hs] = new TH1F(label.Data(),label.Data(),10,-0.5,9.5);
    fDeadPixelChip[hs]->SetXTitle("chip");
    fDeadPixelChip[hs]->SetYTitle("ratio [%]");
    fDeadPixelChip[hs]->SetFillColor(kBlue);
    fDeadPixelChip[hs]->SetStats(0);

    label = Form("Ratio of 'Noisy' Pixels Per Chip (eq %d, hs %d)",eq,hs);
    fNoisyPixelChip[hs] = new TH1F(label.Data(),label.Data(),10,-0.5,9.5);
    fNoisyPixelChip[hs]->SetXTitle("chip");
    fNoisyPixelChip[hs]->SetYTitle("ratio [%]");
    fNoisyPixelChip[hs]->SetFillColor(kBlue);
    fNoisyPixelChip[hs]->SetStats(0);
  }

}
//_________________________________________________________________________
void AliITSOnlineSPDscanAnalyzer::DeleteUniformityHistograms() {
  // remove uniformity histograms if they are created
  if (fTPeffHS!=NULL) {
    delete fTPeffHS;
    fTPeffHS=NULL;
  }
  if (fDeadPixelHS!=NULL) {
    delete fDeadPixelHS;
    fDeadPixelHS=NULL;
  }
  if (fNoisyPixelHS!=NULL) {
    delete fNoisyPixelHS;
    fNoisyPixelHS=NULL;
  }
  for (UInt_t hs=0; hs<6; hs++) {
    if (fTPeffChip[hs]!=NULL) {
      delete fTPeffChip[hs];
      fTPeffChip[hs]=NULL;
    }
    if (fDeadPixelChip[hs]!=NULL) {
      delete fDeadPixelChip[hs];
      fDeadPixelChip[hs]=NULL;
    }
    if (fNoisyPixelChip[hs]!=NULL) {
      delete fNoisyPixelChip[hs];
      fNoisyPixelChip[hs]=NULL;
    }
  }
}
//_________________________________________________________________________
Bool_t AliITSOnlineSPDscanAnalyzer::ProcessNoisyPixels(/*Char_t *oldcalibDir*/) {
  // process noisy pixel data
  if (fScanObj==NULL) {
    Warning("AliITSOnlineSPDscanAnalyzer::ProcessNoisyPixels","No data!");
    return kFALSE;
  }
  // should be type kNOISE
  if (fType != kNOISE) {
    Warning("AliITSOnlineSPDscanAnalyzer::ProcessNoisyPixels","Noisy pixels only for scan type %d.",kNOISE);
    return kFALSE;
  }
  // handler should be initialized
  if (fHandler==NULL) {
    Error("AliITSOnlineSPDscanAnalyzer::ProcessNoisyPixels","Calibration handler is not initialized!");
    return kFALSE;
  }
  // check if enough statistics
  if (fScanObj->GetTriggers(0)<fNoiseMinimumEvents) {
    Warning("AliITSOnlineSPDscanAnalyzer::ProcessNoisyPixels","Process noisy: Too few events.");
    return kFALSE;
  }

  UInt_t routerNr = fScanObj->GetRouterNr();
  for (UInt_t hs=0; hs<6; hs++) {
    for (UInt_t chipNr=0; chipNr<10; chipNr++) {
      if (fScanObj->GetChipPresent(hs,chipNr)) { // check the status of the chippresent parameter in the mood header!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	if (fOverWrite) {fHandler->ResetNoisyForChip(routerNr,hs,chipNr);}
	for (UInt_t col=0; col<32; col++) {
	  for (UInt_t row=0; row<256; row++) {
	    if (fScanObj->GetHitsEfficiency(0,hs,chipNr,col,row)>fNoiseThreshold) {
	      fHandler->SetNoisyPixel(routerNr,hs,chipNr,col,row);
	    }
	  }
	}
      }
    }
  }
  return kTRUE;
}
//_________________________________________________________________________
Int_t AliITSOnlineSPDscanAnalyzer::GetDelay(UInt_t hs, UInt_t chipNr) {
  // get delay
  if (hs>=6 || chipNr>10) return -1;
  if (fScanObj==NULL) {
    Warning("AliITSOnlineSPDscanAnalyzer::GetDelay","No data!");
    return -1;
  }
  // should be type kDELAY or kDAC with id 42 (delay_ctrl)
  if (fType!=kDELAY && (fType!=kDAC || fDacId!=42)) {
    Warning("AliITSOnlineSPDscanAnalyzer::GetDelay","Delay only for scan type %d or %d and dac_id 42.",kDELAY,kDAC);
    return -1;
  }
  if (fMeanMultiplicity[hs][chipNr]==NULL) {
    if (!ProcessMeanMultiplicity()) {
      return -1;
    }
  }

  UInt_t maxStep=0;
  Float_t maxVal=0;
  for (UInt_t step=0; step<fScanObj->GetNSteps(); step++) {
    Double_t thisDac;
    Double_t thisMult;
    fMeanMultiplicity[hs][chipNr]->GetPoint(step,thisDac,thisMult);
    if (thisMult > maxVal) {
      maxVal = thisMult;
      maxStep = step;
    }
  }

  if (maxVal>0) {
    return ((AliITSOnlineSPDscanMultiple*)fScanObj)->GetDacValue(maxStep);
  }
  else {
    return -1;
  }

}
//_________________________________________________________________________
Int_t AliITSOnlineSPDscanAnalyzer::GetNrNoisyUnima(UInt_t hs, UInt_t chipNr) {
  // in case of a uniformity scan, returns the nr of noisy pixels, (here > 200 hits)
  if (hs>=6 || chipNr>10) return -1;
  if (fScanObj==NULL) {
    Error("AliITSOnlineSPDscanAnalyzer::GetNrNoisyUnima","No data!");
    return kFALSE;
  }
  // should be type kUNIMA
  if (fType != kUNIMA) {
    Error("AliITSOnlineSPDscanAnalyzer::GetNrNoisyUnima","Noisy pixels Unima only for scan type %d.",kUNIMA);
    return kFALSE;
  }
  if (fScanObj->GetTriggers(0)!=25600) {
    Error("AliITSOnlineSPDscanAnalyzer::GetNrNoisyUnima","Process noisy unima: Incorrect number of events (!=25600.");
    return kFALSE;
  }

  Int_t nrNoisy=0;
  if (fScanObj->GetChipPresent(hs,chipNr)) { // check the status of the chippresent parameter in the mood header!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    for (UInt_t col=0; col<32; col++) {
      for (UInt_t row=0; row<256; row++) {
	if (fScanObj->GetHits(0,hs,chipNr,col,row)>200) {
	  nrNoisy++;
	}
      }
    }
  }
  else {
    return -1;
  }
  return nrNoisy;
}
//_________________________________________________________________________
Int_t AliITSOnlineSPDscanAnalyzer::FindLastMinThDac(UInt_t hs, UInt_t chipNr) {
  // returns dac value where fMinIncreaseFromBaseLine reached
  if (hs>=6 || chipNr>10) return -1;
  if (fMeanMultiplicity[hs][chipNr]==NULL) {
    if (!ProcessMeanMultiplicity()) {
      return -1;
    }
  }
  Double_t firstVal, dummy1;
  fMeanMultiplicity[hs][chipNr]->GetPoint(0,dummy1,firstVal);
  UInt_t step=0;
  while (step<fScanObj->GetNSteps()-1) {
    Double_t graphVal, dummy2;
    fMeanMultiplicity[hs][chipNr]->GetPoint(step+1,dummy2,graphVal);
    if (graphVal>firstVal+fMinIncreaseFromBaseLine) break;
    step++;
  }
  if (step==fScanObj->GetNSteps()-1) return -1;
  return ((AliITSOnlineSPDscanMultiple*)fScanObj)->GetDacValue(step);
}

Int_t AliITSOnlineSPDscanAnalyzer::FindClosestLowerStep(Float_t dacValueInput) {
  // returns step closest (lower) to a dacvalue 
  UInt_t step=0;
  while (step<fScanObj->GetNSteps()-1) {
    Int_t dacVal = ((AliITSOnlineSPDscanMultiple*)fScanObj)->GetDacValue(step+1);
    if (dacVal>=dacValueInput) break;
    step++;
  }
  return step;
}
//_________________________________________________________________________
Float_t AliITSOnlineSPDscanAnalyzer::GetCompareLine(UInt_t step, UInt_t hs, UInt_t chipNr, Float_t basePar2) {
  // returns value to compare mean mult with (when finding min th)
  if (hs>=6 || chipNr>10) return -1;
  if (step<fMinNrStepsBeforeIncrease) return -1;
  Float_t baseLine = basePar2;
  if (baseLine<0) baseLine=0;
  Float_t baseAdd;
  Double_t baseM=0;
  Double_t baseS=0;
  Double_t d,m;
  for (UInt_t st=1;st<2*step/3;st++) { // skip first point...
    fMeanMultiplicity[hs][chipNr]->GetPoint(st,d,m);
    baseM+=m-baseLine;
    baseS+=(m-baseLine)*(m-baseLine);
  }
  baseAdd=2*sqrt( baseS/(2*step/3-1) - (baseM/(2*step/3-1))*(baseM/(2*step/3-1)) );
  baseAdd+=0.03; // magic number
  if (baseAdd>fMinIncreaseFromBaseLine) baseAdd=fMinIncreaseFromBaseLine;
  return baseLine + baseAdd;
}

Int_t AliITSOnlineSPDscanAnalyzer::GetMinTh(UInt_t hs, UInt_t chipNr) {
  // calculates and returns the minimum threshold
  if (hs>=6 || chipNr>10) return -1;
  if (fScanObj==NULL) {
    Error("AliITSOnlineSPDscanAnalyzer::GetMinTh","No data!");
    return -1;
  }
  // should be type  kMINTH  or  kDAC with id 39 (pre_vth)
  if (fType!=kMINTH && (fType!=kDAC || fDacId!=39)) {
    Error("AliITSOnlineSPDscanAnalyzer::GetMinTh","MinTh only for scan type %d OR %d with dac_id 39.",kMINTH,kDAC);
    return -1;
  }
  if (fMeanMultiplicity[hs][chipNr]==NULL) {
    if (!ProcessMeanMultiplicity()) {
      return -1;
    }
  }

  Int_t lastDac = FindLastMinThDac(hs,chipNr);
  if (lastDac==-1) {
    Warning("AliITSOnlineSPDscanAnalyzer::GetMinTh","HS%d, Chip%d: Increase of Mean Multiplicity by %1.2f never reached.",hs,chipNr,fMinIncreaseFromBaseLine);
    return -1;
  }

  Int_t minDac = ((AliITSOnlineSPDscanMultiple*)fScanObj)->GetDacValue(0);
  TString funcName = Form("Fit minth func HS%d CHIP%d",hs,chipNr);
  TF1 *minThFunc = new TF1(funcName.Data(),itsSpdErrorf,100,500,3);
  minThFunc->SetParameter(0,lastDac+10);
  minThFunc->SetParameter(1,2);
  minThFunc->SetParameter(2,0);
  minThFunc->SetParName(0,"Mean");
  minThFunc->SetParName(1,"Sigma");
  minThFunc->SetParName(2,"BaseLine");
  minThFunc->SetLineWidth(1);
  if (fMeanMultiplicity[hs][chipNr]==NULL) {
    if (!ProcessMeanMultiplicity()) {
      return -1;
    }
  }
  fMeanMultiplicity[hs][chipNr]->Fit(funcName,"Q0","",minDac,lastDac);

  //  Double_t mean = fMinThFunc[hs][chipNr]->GetParameter(0);
  //  Double_t sigma = fMinThFunc[hs][chipNr]->GetParameter(1);
  Double_t baseLine = minThFunc->GetParameter(2);
  delete minThFunc;

  if (baseLine>fMaxBaseLineLevel) {
    Warning("AliITSOnlineSPDscanAnalyzer::GetMinTh","HS%d, Chip%d: BaseLine too large (%1.2f>%1.2f).",hs,chipNr,baseLine,fMaxBaseLineLevel);
    return -1;
  }
  UInt_t step=FindClosestLowerStep(lastDac);
  Float_t compareLine = GetCompareLine(step,hs,chipNr,baseLine);
  if (compareLine==-1) {
    Warning("AliITSOnlineSPDscanAnalyzer::GetMinTh","HS%d, Chip%d: Not enough steps (%d<%d) before increase to get a compare line.",hs,chipNr,step,fMinNrStepsBeforeIncrease);
    return -1;
  }

  Double_t mult, dummy;
  mult=1000;
  while (mult > compareLine && step>0) {
    fMeanMultiplicity[hs][chipNr]->GetPoint(step,dummy,mult);
    step--;
  }
  Int_t minth = ((AliITSOnlineSPDscanMultiple*)fScanObj)->GetDacValue(step+1)-fStepDownDacSafe;

  if (step>0) {
    return minth;
  }
  else {
    Warning("AliITSOnlineSPDscanAnalyzer::GetMinTh","HS%d, Chip%d: Did not find a point below the compare line (%f).",hs,chipNr,compareLine);
    return -1;
  }
}
//_________________________________________________________________________
TArrayI AliITSOnlineSPDscanAnalyzer::GetMeanTh(UInt_t hs, UInt_t chipNr) {
  // calculates and returns the mean threshold
  TArrayI fitresults(4);
  if (hs>=6 || chipNr>10) return fitresults;
  if (fScanObj==NULL) {
    Error("AliITSOnlineSPDscanAnalyzer::GetMeanTh","No data!");
    return fitresults;
  }
  // should be type  kMEANTH  or  kDAC with id 39
  if (fType!=kMEANTH && (fType!=kDAC || fDacId!=105)) {
    Error("AliITSOnlineSPDscanAnalyzer::GetMeanTh","MeanTh only for scan type %d OR %d with dac_id 105.",kMEANTH,kDAC);
    return fitresults;
  }
  if (fHitEventEfficiency[hs][chipNr]==NULL) {
   printf("processing hit efficiency \n");
    if (!ProcessHitEventEfficiency()) {
      printf("...not processed!!\n");
      return fitresults;
    }
  }
  Double_t x,y;
  fHitEventEfficiency[hs][chipNr]->GetPoint(fHitEventEfficiency[hs][chipNr]->GetN()-1,x,y);
  Double_t min = x;
  fHitEventEfficiency[hs][chipNr]->GetPoint(0,x,y);
  Double_t max = x;

  Double_t mean = 0.5*(min+max);
  TString funcName = Form("Fit meanth func HS%d CHIP%d",hs,chipNr);
  TF1 *minThFunc = new TF1(funcName.Data(),itsSpdScurveForMeanTh,min,max,3);
  minThFunc->SetParameter(0,mean);
  minThFunc->SetParameter(1,264); //  4 (mV) * 66 (el)
  minThFunc->SetParLimits(1,100,1000); // minimum value is 1 mV (-> 100 in TPAmplitude)
  minThFunc->SetParameter(2,0.4);
  minThFunc->SetParName(0,"Mean");
  minThFunc->SetParName(1,"Sigma");
  minThFunc->SetParName(2,"Half");
  minThFunc->SetLineWidth(1);

  fHitEventEfficiency[hs][chipNr]->Fit(funcName,"Q","",min,max);

  fitresults.AddAt((Int_t)minThFunc->GetParameter(0),0);
  fitresults.AddAt((Int_t)minThFunc->GetParError(0),1);
  fitresults.AddAt((Int_t)minThFunc->GetParameter(1),2);
  fitresults.AddAt((Int_t)minThFunc->GetParError(1),3);
  TLine *ly = new TLine((Double_t)min,0.5,(Double_t)fitresults.At(0),0.5); ly->SetLineStyle(6);
  ly->Draw("same");
  TLine *lx = new TLine((Double_t)fitresults.At(0),0.,(Double_t)fitresults.At(0),0.5);
  lx->SetLineStyle(6);
  lx->Draw("same");
  delete minThFunc;
  
  return fitresults;
}

//_________________________________________________________________________
Bool_t AliITSOnlineSPDscanAnalyzer::ProcessMeanMultiplicity() {
  // process mean multiplicity data
  if (fScanObj==NULL) {
    Error("AliITSOnlineSPDscanAnalyzer::ProcessMeanMultiplicity","No data!");
    return kFALSE;
  }
  for (UInt_t step=0; step<fScanObj->GetNSteps(); step++) {
    for (UInt_t hs=0; hs<6; hs++) {
      for (UInt_t chipNr=0; chipNr<11; chipNr++) {
	//	if (fScanObj->GetChipPresent(hs,chipNr)) { // check the status of the chippresent parameter in the mood header!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	if (step==0) {
	  if (fMeanMultiplicity[hs][chipNr]!=NULL) {
	    delete fMeanMultiplicity[hs][chipNr];
	  }
	  fMeanMultiplicity[hs][chipNr] = new TGraph();
	}
	Float_t multiplMean=fScanObj->GetAverageMultiplicity(step,hs,chipNr);
	if (fType==kMINTH || fType==kMEANTH || fType==kDAC || fType==kDELAY) {
	  fMeanMultiplicity[hs][chipNr]->SetPoint(step,((AliITSOnlineSPDscanMultiple*)fScanObj)->GetDacValue(step),multiplMean);
	}
	else {
	  fMeanMultiplicity[hs][chipNr]->SetPoint(step,0,multiplMean);
	}
      }
      //      }
    }
  }
  return kTRUE;
}
//_________________________________________________________________________
TGraph* AliITSOnlineSPDscanAnalyzer::GetMeanMultiplicityG(UInt_t hs, UInt_t chipNr) {
  // returns mean multiplicity graph
  if (hs>=6 || chipNr>10) return NULL;
  if (fMeanMultiplicity[hs][chipNr]==NULL) {
    if (!ProcessMeanMultiplicity()) {
      return NULL;
    }
  }
  return fMeanMultiplicity[hs][chipNr];
}
//_________________________________________________________________________
Bool_t AliITSOnlineSPDscanAnalyzer::ProcessHitEventEfficiency() {
  // process hit event efficiency
  if (fScanObj==NULL) {
    Error("AliITSOnlineSPDscanAnalyzer::ProcessHitEventEfficiency","No data!");
    return kFALSE;
  }
  for (UInt_t step=0; step<fScanObj->GetNSteps(); step++) {
    for (UInt_t hs=0; hs<6; hs++) {
      for (UInt_t chipNr=0; chipNr<11; chipNr++) {
	//	if (fScanObj->GetChipPresent(hs,chipNr)) { // check the status of the chippresent parameter in the mood header!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	if (step==0) {
	  if (fHitEventEfficiency[hs][chipNr]!=NULL) {
	    delete fHitEventEfficiency[hs][chipNr];
	  }
	  fHitEventEfficiency[hs][chipNr] = new TGraph();
	}
	Float_t efficiency=fScanObj->GetHitEventsEfficiency(step,hs,chipNr);
	if (fType==kMINTH || fType==kDAC || fType==kDELAY) {
	  fHitEventEfficiency[hs][chipNr]->SetPoint(step,((AliITSOnlineSPDscanMultiple*)fScanObj)->GetDacValue(step),efficiency);
	} else if(fType==kMEANTH){
          fHitEventEfficiency[hs][chipNr]->SetPoint(step,((AliITSOnlineSPDscanMeanTh*)fScanObj)->GetTPAmp(step,hs),efficiency);
        } else {
	  fHitEventEfficiency[hs][chipNr]->SetPoint(step,0,efficiency);
	}
      }
      //      }
    }
  }
  return kTRUE;
}
//_________________________________________________________________________
TGraph* AliITSOnlineSPDscanAnalyzer::GetHitEventEfficiencyG(UInt_t hs, UInt_t chipNr) {
  // returns hit event efficiency graph
  if (hs>=6 || chipNr>10) return NULL;
  if (fHitEventEfficiency[hs][chipNr]==NULL) {
    if (!ProcessHitEventEfficiency()) {
      return NULL;
    }
  }
  return fHitEventEfficiency[hs][chipNr];
}
//_________________________________________________________________________
Bool_t AliITSOnlineSPDscanAnalyzer::ProcessNrTriggers() {
  // process nr of triggers data
  if (fScanObj==NULL) {
    Error("AliITSOnlineSPDscanAnalyzer::ProcessNrTriggers","No data!");
    return kFALSE;
  }
  for (UInt_t step=0; step<fScanObj->GetNSteps(); step++) {
    if (step==0) {
      if (fTriggers!=NULL) {
	delete fTriggers;
      }
      fTriggers = new TGraph();
    }
    if (fType==kMINTH || fType==kMEANTH || fType==kDAC || fType==kDELAY) {
      fTriggers->SetPoint(step,((AliITSOnlineSPDscanMultiple*)fScanObj)->GetDacValue(step),fScanObj->GetTriggers(step));
    }
    else {
      fTriggers->SetPoint(step,0,fScanObj->GetTriggers(step));
    }
  }
  return kTRUE;
}
//_________________________________________________________________________
TGraph* AliITSOnlineSPDscanAnalyzer::GetNrTriggersG() {
  // returns nr of triggers graph
  if (fTriggers==NULL) {
    if (!ProcessNrTriggers()) {
      return NULL;
    }
  }
  return fTriggers;
}
//_________________________________________________________________________
Bool_t AliITSOnlineSPDscanAnalyzer::GetHalfStavePresent(UInt_t hs) {
  // returns half stave present info
  if (hs<6 && fScanObj!=NULL) {
    Int_t chipstatus=0;
    for (Int_t chip=0; chip<10; chip++) {
      chipstatus+=fScanObj->GetChipPresent(hs,chip);
    }
    if (chipstatus>0) return kTRUE;
  }
  return kFALSE;
}
//_________________________________________________________________________
UInt_t AliITSOnlineSPDscanAnalyzer::GetRouterNr() {
  // returns the router nr of scan obj
  if (fScanObj!=NULL) return fScanObj->GetRouterNr(); 
  else return 99;
}
//_________________________________________________________________________
TH2F* AliITSOnlineSPDscanAnalyzer::GetHitMapTot(UInt_t step) {
  // creates and returns a pointer to a hitmap histo (half sector style a la spdmood)
  if (fScanObj==NULL) {
    Error("AliITSOnlineSPDscanAnalyzer::GetHitMapTot","No data!");
    return NULL;
  }
  TString histoname;
  if (fType==kMINTH || fType==kMEANTH || fType==kDAC) {
    histoname = Form("Router %d , DAC %d",GetRouterNr(),((AliITSOnlineSPDscanMultiple*)fScanObj)->GetDacValue(step));
  }
  else {
    histoname = Form("Router %d ",GetRouterNr());
  }
  TH2F* fHitMapTot = new TH2F(histoname.Data(),histoname.Data(),32*10,-0.5,32*10-0.5,256*6,-0.5,256*6-0.5);
  fHitMapTot->SetNdivisions(-10,"X");
  fHitMapTot->SetNdivisions(-006,"Y");
  fHitMapTot->SetTickLength(0,"X");
  fHitMapTot->SetTickLength(0,"Y");
  fHitMapTot->GetXaxis()->SetLabelColor(gStyle->GetCanvasColor());
  fHitMapTot->GetYaxis()->SetLabelColor(gStyle->GetCanvasColor());
  for (UInt_t hs=0; hs<6; hs++) {
    for (UInt_t chipNr=0; chipNr<10; chipNr++) {
      for (UInt_t col=0; col<32; col++) {
	for (UInt_t row=0; row<256; row++) {
	  fHitMapTot->Fill(chipNr*32+col,(5-hs)*256+row,fScanObj->GetHits(step,hs,chipNr,col,row));
	}
      }
    }
  }
  return fHitMapTot;
}
//_________________________________________________________________________
TH2F* AliITSOnlineSPDscanAnalyzer::GetPhysicalHitMapTot(UInt_t step) {
  // creates and returns a pointer to a hitmap histo (-> 1 equpment opened up)

  if (fScanObj==NULL) {
    Error("AliITSOnlineSPDscanAnalyzer::GetHitMapTot","No data!");
    return NULL;
  }
  TString histoname;
  if (fType==kMINTH || fType==kMEANTH || fType==kDAC) {
    histoname = Form("Router %d , DAC %d",GetRouterNr(),((AliITSOnlineSPDscanMultiple*)fScanObj)->GetDacValue(step));
  }
  else {
    histoname = Form("Router %d ",GetRouterNr());
  }
  TH2F* hPhysicalHitMapTot = new TH2F(histoname.Data(),histoname.Data(),32*10,-0.5,32*10-0.5,256*6,-0.5,256*6-0.5);
  hPhysicalHitMapTot->SetNdivisions(-10,"X");
  hPhysicalHitMapTot->SetNdivisions(-006,"Y");
  hPhysicalHitMapTot->SetTickLength(0,"X");
  hPhysicalHitMapTot->SetTickLength(0,"Y");
  hPhysicalHitMapTot->GetXaxis()->SetLabelColor(gStyle->GetCanvasColor());
  hPhysicalHitMapTot->GetYaxis()->SetLabelColor(gStyle->GetCanvasColor());
  Int_t correctChip = -1;
  for (UInt_t hs=0; hs<6; hs++) {
    for (UInt_t chipNr=0; chipNr<10; chipNr++) {
    if(GetRouterNr()<10) correctChip = 9-chipNr;
    else correctChip=chipNr;
      for (UInt_t col=0; col<32; col++) {
	for (UInt_t row=0; row<256; row++) {
          if(hs<2) hPhysicalHitMapTot->Fill(correctChip*32+col,(5-hs)*256+row,fScanObj->GetHits(step,hs,chipNr,col,row));
	  else hPhysicalHitMapTot->Fill(correctChip*32+(31-col),(5-hs)*256+row,fScanObj->GetHits(step,hs,chipNr,col,row));
	}
      }
    }
  }
  return hPhysicalHitMapTot;
}

//_________________________________________________________________________
TH2F* AliITSOnlineSPDscanAnalyzer::GetHitMapChip(UInt_t step, UInt_t hs, UInt_t chip) {
  // creates and returns a pointer to a hitmap histo (chip style a la spdmood)
  if (fScanObj==NULL) {
    Error("AliITSOnlineSPDscanAnalyzer::GetHitMapChip","No data!");
    return NULL;
  }

  TString histoName;
  TString histoTitle;
  histoName = Form("fChipHisto_%d_%d_%d", GetRouterNr(), hs, chip);
  histoTitle = Form("Eq ID %d, Half Stave %d, Chip %d ", GetRouterNr(), hs, chip);

  TH2F *returnHisto = new TH2F(histoName.Data(), histoTitle.Data(), 32, -0.5, 31.5, 256, -0.5, 255.5);
  returnHisto->SetMinimum(0);
  for (UInt_t col=0; col<32; col++) {
    for (UInt_t row=0; row<256; row++) {
      if(hs<2) returnHisto->Fill(31-col,row,fScanObj->GetHits(step,hs,chip,col,row));
      else returnHisto->Fill(col,row,fScanObj->GetHits(step,hs,chip,col,row));
    }
  }

  return returnHisto;
}

 AliITSOnlineSPDscanAnalyzer.cxx:1
 AliITSOnlineSPDscanAnalyzer.cxx:2
 AliITSOnlineSPDscanAnalyzer.cxx:3
 AliITSOnlineSPDscanAnalyzer.cxx:4
 AliITSOnlineSPDscanAnalyzer.cxx:5
 AliITSOnlineSPDscanAnalyzer.cxx:6
 AliITSOnlineSPDscanAnalyzer.cxx:7
 AliITSOnlineSPDscanAnalyzer.cxx:8
 AliITSOnlineSPDscanAnalyzer.cxx:9
 AliITSOnlineSPDscanAnalyzer.cxx:10
 AliITSOnlineSPDscanAnalyzer.cxx:11
 AliITSOnlineSPDscanAnalyzer.cxx:12
 AliITSOnlineSPDscanAnalyzer.cxx:13
 AliITSOnlineSPDscanAnalyzer.cxx:14
 AliITSOnlineSPDscanAnalyzer.cxx:15
 AliITSOnlineSPDscanAnalyzer.cxx:16
 AliITSOnlineSPDscanAnalyzer.cxx:17
 AliITSOnlineSPDscanAnalyzer.cxx:18
 AliITSOnlineSPDscanAnalyzer.cxx:19
 AliITSOnlineSPDscanAnalyzer.cxx:20
 AliITSOnlineSPDscanAnalyzer.cxx:21
 AliITSOnlineSPDscanAnalyzer.cxx:22
 AliITSOnlineSPDscanAnalyzer.cxx:23
 AliITSOnlineSPDscanAnalyzer.cxx:24
 AliITSOnlineSPDscanAnalyzer.cxx:25
 AliITSOnlineSPDscanAnalyzer.cxx:26
 AliITSOnlineSPDscanAnalyzer.cxx:27
 AliITSOnlineSPDscanAnalyzer.cxx:28
 AliITSOnlineSPDscanAnalyzer.cxx:29
 AliITSOnlineSPDscanAnalyzer.cxx:30
 AliITSOnlineSPDscanAnalyzer.cxx:31
 AliITSOnlineSPDscanAnalyzer.cxx:32
 AliITSOnlineSPDscanAnalyzer.cxx:33
 AliITSOnlineSPDscanAnalyzer.cxx:34
 AliITSOnlineSPDscanAnalyzer.cxx:35
 AliITSOnlineSPDscanAnalyzer.cxx:36
 AliITSOnlineSPDscanAnalyzer.cxx:37
 AliITSOnlineSPDscanAnalyzer.cxx:38
 AliITSOnlineSPDscanAnalyzer.cxx:39
 AliITSOnlineSPDscanAnalyzer.cxx:40
 AliITSOnlineSPDscanAnalyzer.cxx:41
 AliITSOnlineSPDscanAnalyzer.cxx:42
 AliITSOnlineSPDscanAnalyzer.cxx:43
 AliITSOnlineSPDscanAnalyzer.cxx:44
 AliITSOnlineSPDscanAnalyzer.cxx:45
 AliITSOnlineSPDscanAnalyzer.cxx:46
 AliITSOnlineSPDscanAnalyzer.cxx:47
 AliITSOnlineSPDscanAnalyzer.cxx:48
 AliITSOnlineSPDscanAnalyzer.cxx:49
 AliITSOnlineSPDscanAnalyzer.cxx:50
 AliITSOnlineSPDscanAnalyzer.cxx:51
 AliITSOnlineSPDscanAnalyzer.cxx:52
 AliITSOnlineSPDscanAnalyzer.cxx:53
 AliITSOnlineSPDscanAnalyzer.cxx:54
 AliITSOnlineSPDscanAnalyzer.cxx:55
 AliITSOnlineSPDscanAnalyzer.cxx:56
 AliITSOnlineSPDscanAnalyzer.cxx:57
 AliITSOnlineSPDscanAnalyzer.cxx:58
 AliITSOnlineSPDscanAnalyzer.cxx:59
 AliITSOnlineSPDscanAnalyzer.cxx:60
 AliITSOnlineSPDscanAnalyzer.cxx:61
 AliITSOnlineSPDscanAnalyzer.cxx:62
 AliITSOnlineSPDscanAnalyzer.cxx:63
 AliITSOnlineSPDscanAnalyzer.cxx:64
 AliITSOnlineSPDscanAnalyzer.cxx:65
 AliITSOnlineSPDscanAnalyzer.cxx:66
 AliITSOnlineSPDscanAnalyzer.cxx:67
 AliITSOnlineSPDscanAnalyzer.cxx:68
 AliITSOnlineSPDscanAnalyzer.cxx:69
 AliITSOnlineSPDscanAnalyzer.cxx:70
 AliITSOnlineSPDscanAnalyzer.cxx:71
 AliITSOnlineSPDscanAnalyzer.cxx:72
 AliITSOnlineSPDscanAnalyzer.cxx:73
 AliITSOnlineSPDscanAnalyzer.cxx:74
 AliITSOnlineSPDscanAnalyzer.cxx:75
 AliITSOnlineSPDscanAnalyzer.cxx:76
 AliITSOnlineSPDscanAnalyzer.cxx:77
 AliITSOnlineSPDscanAnalyzer.cxx:78
 AliITSOnlineSPDscanAnalyzer.cxx:79
 AliITSOnlineSPDscanAnalyzer.cxx:80
 AliITSOnlineSPDscanAnalyzer.cxx:81
 AliITSOnlineSPDscanAnalyzer.cxx:82
 AliITSOnlineSPDscanAnalyzer.cxx:83
 AliITSOnlineSPDscanAnalyzer.cxx:84
 AliITSOnlineSPDscanAnalyzer.cxx:85
 AliITSOnlineSPDscanAnalyzer.cxx:86
 AliITSOnlineSPDscanAnalyzer.cxx:87
 AliITSOnlineSPDscanAnalyzer.cxx:88
 AliITSOnlineSPDscanAnalyzer.cxx:89
 AliITSOnlineSPDscanAnalyzer.cxx:90
 AliITSOnlineSPDscanAnalyzer.cxx:91
 AliITSOnlineSPDscanAnalyzer.cxx:92
 AliITSOnlineSPDscanAnalyzer.cxx:93
 AliITSOnlineSPDscanAnalyzer.cxx:94
 AliITSOnlineSPDscanAnalyzer.cxx:95
 AliITSOnlineSPDscanAnalyzer.cxx:96
 AliITSOnlineSPDscanAnalyzer.cxx:97
 AliITSOnlineSPDscanAnalyzer.cxx:98
 AliITSOnlineSPDscanAnalyzer.cxx:99
 AliITSOnlineSPDscanAnalyzer.cxx:100
 AliITSOnlineSPDscanAnalyzer.cxx:101
 AliITSOnlineSPDscanAnalyzer.cxx:102
 AliITSOnlineSPDscanAnalyzer.cxx:103
 AliITSOnlineSPDscanAnalyzer.cxx:104
 AliITSOnlineSPDscanAnalyzer.cxx:105
 AliITSOnlineSPDscanAnalyzer.cxx:106
 AliITSOnlineSPDscanAnalyzer.cxx:107
 AliITSOnlineSPDscanAnalyzer.cxx:108
 AliITSOnlineSPDscanAnalyzer.cxx:109
 AliITSOnlineSPDscanAnalyzer.cxx:110
 AliITSOnlineSPDscanAnalyzer.cxx:111
 AliITSOnlineSPDscanAnalyzer.cxx:112
 AliITSOnlineSPDscanAnalyzer.cxx:113
 AliITSOnlineSPDscanAnalyzer.cxx:114
 AliITSOnlineSPDscanAnalyzer.cxx:115
 AliITSOnlineSPDscanAnalyzer.cxx:116
 AliITSOnlineSPDscanAnalyzer.cxx:117
 AliITSOnlineSPDscanAnalyzer.cxx:118
 AliITSOnlineSPDscanAnalyzer.cxx:119
 AliITSOnlineSPDscanAnalyzer.cxx:120
 AliITSOnlineSPDscanAnalyzer.cxx:121
 AliITSOnlineSPDscanAnalyzer.cxx:122
 AliITSOnlineSPDscanAnalyzer.cxx:123
 AliITSOnlineSPDscanAnalyzer.cxx:124
 AliITSOnlineSPDscanAnalyzer.cxx:125
 AliITSOnlineSPDscanAnalyzer.cxx:126
 AliITSOnlineSPDscanAnalyzer.cxx:127
 AliITSOnlineSPDscanAnalyzer.cxx:128
 AliITSOnlineSPDscanAnalyzer.cxx:129
 AliITSOnlineSPDscanAnalyzer.cxx:130
 AliITSOnlineSPDscanAnalyzer.cxx:131
 AliITSOnlineSPDscanAnalyzer.cxx:132
 AliITSOnlineSPDscanAnalyzer.cxx:133
 AliITSOnlineSPDscanAnalyzer.cxx:134
 AliITSOnlineSPDscanAnalyzer.cxx:135
 AliITSOnlineSPDscanAnalyzer.cxx:136
 AliITSOnlineSPDscanAnalyzer.cxx:137
 AliITSOnlineSPDscanAnalyzer.cxx:138
 AliITSOnlineSPDscanAnalyzer.cxx:139
 AliITSOnlineSPDscanAnalyzer.cxx:140
 AliITSOnlineSPDscanAnalyzer.cxx:141
 AliITSOnlineSPDscanAnalyzer.cxx:142
 AliITSOnlineSPDscanAnalyzer.cxx:143
 AliITSOnlineSPDscanAnalyzer.cxx:144
 AliITSOnlineSPDscanAnalyzer.cxx:145
 AliITSOnlineSPDscanAnalyzer.cxx:146
 AliITSOnlineSPDscanAnalyzer.cxx:147
 AliITSOnlineSPDscanAnalyzer.cxx:148
 AliITSOnlineSPDscanAnalyzer.cxx:149
 AliITSOnlineSPDscanAnalyzer.cxx:150
 AliITSOnlineSPDscanAnalyzer.cxx:151
 AliITSOnlineSPDscanAnalyzer.cxx:152
 AliITSOnlineSPDscanAnalyzer.cxx:153
 AliITSOnlineSPDscanAnalyzer.cxx:154
 AliITSOnlineSPDscanAnalyzer.cxx:155
 AliITSOnlineSPDscanAnalyzer.cxx:156
 AliITSOnlineSPDscanAnalyzer.cxx:157
 AliITSOnlineSPDscanAnalyzer.cxx:158
 AliITSOnlineSPDscanAnalyzer.cxx:159
 AliITSOnlineSPDscanAnalyzer.cxx:160
 AliITSOnlineSPDscanAnalyzer.cxx:161
 AliITSOnlineSPDscanAnalyzer.cxx:162
 AliITSOnlineSPDscanAnalyzer.cxx:163
 AliITSOnlineSPDscanAnalyzer.cxx:164
 AliITSOnlineSPDscanAnalyzer.cxx:165
 AliITSOnlineSPDscanAnalyzer.cxx:166
 AliITSOnlineSPDscanAnalyzer.cxx:167
 AliITSOnlineSPDscanAnalyzer.cxx:168
 AliITSOnlineSPDscanAnalyzer.cxx:169
 AliITSOnlineSPDscanAnalyzer.cxx:170
 AliITSOnlineSPDscanAnalyzer.cxx:171
 AliITSOnlineSPDscanAnalyzer.cxx:172
 AliITSOnlineSPDscanAnalyzer.cxx:173
 AliITSOnlineSPDscanAnalyzer.cxx:174
 AliITSOnlineSPDscanAnalyzer.cxx:175
 AliITSOnlineSPDscanAnalyzer.cxx:176
 AliITSOnlineSPDscanAnalyzer.cxx:177
 AliITSOnlineSPDscanAnalyzer.cxx:178
 AliITSOnlineSPDscanAnalyzer.cxx:179
 AliITSOnlineSPDscanAnalyzer.cxx:180
 AliITSOnlineSPDscanAnalyzer.cxx:181
 AliITSOnlineSPDscanAnalyzer.cxx:182
 AliITSOnlineSPDscanAnalyzer.cxx:183
 AliITSOnlineSPDscanAnalyzer.cxx:184
 AliITSOnlineSPDscanAnalyzer.cxx:185
 AliITSOnlineSPDscanAnalyzer.cxx:186
 AliITSOnlineSPDscanAnalyzer.cxx:187
 AliITSOnlineSPDscanAnalyzer.cxx:188
 AliITSOnlineSPDscanAnalyzer.cxx:189
 AliITSOnlineSPDscanAnalyzer.cxx:190
 AliITSOnlineSPDscanAnalyzer.cxx:191
 AliITSOnlineSPDscanAnalyzer.cxx:192
 AliITSOnlineSPDscanAnalyzer.cxx:193
 AliITSOnlineSPDscanAnalyzer.cxx:194
 AliITSOnlineSPDscanAnalyzer.cxx:195
 AliITSOnlineSPDscanAnalyzer.cxx:196
 AliITSOnlineSPDscanAnalyzer.cxx:197
 AliITSOnlineSPDscanAnalyzer.cxx:198
 AliITSOnlineSPDscanAnalyzer.cxx:199
 AliITSOnlineSPDscanAnalyzer.cxx:200
 AliITSOnlineSPDscanAnalyzer.cxx:201
 AliITSOnlineSPDscanAnalyzer.cxx:202
 AliITSOnlineSPDscanAnalyzer.cxx:203
 AliITSOnlineSPDscanAnalyzer.cxx:204
 AliITSOnlineSPDscanAnalyzer.cxx:205
 AliITSOnlineSPDscanAnalyzer.cxx:206
 AliITSOnlineSPDscanAnalyzer.cxx:207
 AliITSOnlineSPDscanAnalyzer.cxx:208
 AliITSOnlineSPDscanAnalyzer.cxx:209
 AliITSOnlineSPDscanAnalyzer.cxx:210
 AliITSOnlineSPDscanAnalyzer.cxx:211
 AliITSOnlineSPDscanAnalyzer.cxx:212
 AliITSOnlineSPDscanAnalyzer.cxx:213
 AliITSOnlineSPDscanAnalyzer.cxx:214
 AliITSOnlineSPDscanAnalyzer.cxx:215
 AliITSOnlineSPDscanAnalyzer.cxx:216
 AliITSOnlineSPDscanAnalyzer.cxx:217
 AliITSOnlineSPDscanAnalyzer.cxx:218
 AliITSOnlineSPDscanAnalyzer.cxx:219
 AliITSOnlineSPDscanAnalyzer.cxx:220
 AliITSOnlineSPDscanAnalyzer.cxx:221
 AliITSOnlineSPDscanAnalyzer.cxx:222
 AliITSOnlineSPDscanAnalyzer.cxx:223
 AliITSOnlineSPDscanAnalyzer.cxx:224
 AliITSOnlineSPDscanAnalyzer.cxx:225
 AliITSOnlineSPDscanAnalyzer.cxx:226
 AliITSOnlineSPDscanAnalyzer.cxx:227
 AliITSOnlineSPDscanAnalyzer.cxx:228
 AliITSOnlineSPDscanAnalyzer.cxx:229
 AliITSOnlineSPDscanAnalyzer.cxx:230
 AliITSOnlineSPDscanAnalyzer.cxx:231
 AliITSOnlineSPDscanAnalyzer.cxx:232
 AliITSOnlineSPDscanAnalyzer.cxx:233
 AliITSOnlineSPDscanAnalyzer.cxx:234
 AliITSOnlineSPDscanAnalyzer.cxx:235
 AliITSOnlineSPDscanAnalyzer.cxx:236
 AliITSOnlineSPDscanAnalyzer.cxx:237
 AliITSOnlineSPDscanAnalyzer.cxx:238
 AliITSOnlineSPDscanAnalyzer.cxx:239
 AliITSOnlineSPDscanAnalyzer.cxx:240
 AliITSOnlineSPDscanAnalyzer.cxx:241
 AliITSOnlineSPDscanAnalyzer.cxx:242
 AliITSOnlineSPDscanAnalyzer.cxx:243
 AliITSOnlineSPDscanAnalyzer.cxx:244
 AliITSOnlineSPDscanAnalyzer.cxx:245
 AliITSOnlineSPDscanAnalyzer.cxx:246
 AliITSOnlineSPDscanAnalyzer.cxx:247
 AliITSOnlineSPDscanAnalyzer.cxx:248
 AliITSOnlineSPDscanAnalyzer.cxx:249
 AliITSOnlineSPDscanAnalyzer.cxx:250
 AliITSOnlineSPDscanAnalyzer.cxx:251
 AliITSOnlineSPDscanAnalyzer.cxx:252
 AliITSOnlineSPDscanAnalyzer.cxx:253
 AliITSOnlineSPDscanAnalyzer.cxx:254
 AliITSOnlineSPDscanAnalyzer.cxx:255
 AliITSOnlineSPDscanAnalyzer.cxx:256
 AliITSOnlineSPDscanAnalyzer.cxx:257
 AliITSOnlineSPDscanAnalyzer.cxx:258
 AliITSOnlineSPDscanAnalyzer.cxx:259
 AliITSOnlineSPDscanAnalyzer.cxx:260
 AliITSOnlineSPDscanAnalyzer.cxx:261
 AliITSOnlineSPDscanAnalyzer.cxx:262
 AliITSOnlineSPDscanAnalyzer.cxx:263
 AliITSOnlineSPDscanAnalyzer.cxx:264
 AliITSOnlineSPDscanAnalyzer.cxx:265
 AliITSOnlineSPDscanAnalyzer.cxx:266
 AliITSOnlineSPDscanAnalyzer.cxx:267
 AliITSOnlineSPDscanAnalyzer.cxx:268
 AliITSOnlineSPDscanAnalyzer.cxx:269
 AliITSOnlineSPDscanAnalyzer.cxx:270
 AliITSOnlineSPDscanAnalyzer.cxx:271
 AliITSOnlineSPDscanAnalyzer.cxx:272
 AliITSOnlineSPDscanAnalyzer.cxx:273
 AliITSOnlineSPDscanAnalyzer.cxx:274
 AliITSOnlineSPDscanAnalyzer.cxx:275
 AliITSOnlineSPDscanAnalyzer.cxx:276
 AliITSOnlineSPDscanAnalyzer.cxx:277
 AliITSOnlineSPDscanAnalyzer.cxx:278
 AliITSOnlineSPDscanAnalyzer.cxx:279
 AliITSOnlineSPDscanAnalyzer.cxx:280
 AliITSOnlineSPDscanAnalyzer.cxx:281
 AliITSOnlineSPDscanAnalyzer.cxx:282
 AliITSOnlineSPDscanAnalyzer.cxx:283
 AliITSOnlineSPDscanAnalyzer.cxx:284
 AliITSOnlineSPDscanAnalyzer.cxx:285
 AliITSOnlineSPDscanAnalyzer.cxx:286
 AliITSOnlineSPDscanAnalyzer.cxx:287
 AliITSOnlineSPDscanAnalyzer.cxx:288
 AliITSOnlineSPDscanAnalyzer.cxx:289
 AliITSOnlineSPDscanAnalyzer.cxx:290
 AliITSOnlineSPDscanAnalyzer.cxx:291
 AliITSOnlineSPDscanAnalyzer.cxx:292
 AliITSOnlineSPDscanAnalyzer.cxx:293
 AliITSOnlineSPDscanAnalyzer.cxx:294
 AliITSOnlineSPDscanAnalyzer.cxx:295
 AliITSOnlineSPDscanAnalyzer.cxx:296
 AliITSOnlineSPDscanAnalyzer.cxx:297
 AliITSOnlineSPDscanAnalyzer.cxx:298
 AliITSOnlineSPDscanAnalyzer.cxx:299
 AliITSOnlineSPDscanAnalyzer.cxx:300
 AliITSOnlineSPDscanAnalyzer.cxx:301
 AliITSOnlineSPDscanAnalyzer.cxx:302
 AliITSOnlineSPDscanAnalyzer.cxx:303
 AliITSOnlineSPDscanAnalyzer.cxx:304
 AliITSOnlineSPDscanAnalyzer.cxx:305
 AliITSOnlineSPDscanAnalyzer.cxx:306
 AliITSOnlineSPDscanAnalyzer.cxx:307
 AliITSOnlineSPDscanAnalyzer.cxx:308
 AliITSOnlineSPDscanAnalyzer.cxx:309
 AliITSOnlineSPDscanAnalyzer.cxx:310
 AliITSOnlineSPDscanAnalyzer.cxx:311
 AliITSOnlineSPDscanAnalyzer.cxx:312
 AliITSOnlineSPDscanAnalyzer.cxx:313
 AliITSOnlineSPDscanAnalyzer.cxx:314
 AliITSOnlineSPDscanAnalyzer.cxx:315
 AliITSOnlineSPDscanAnalyzer.cxx:316
 AliITSOnlineSPDscanAnalyzer.cxx:317
 AliITSOnlineSPDscanAnalyzer.cxx:318
 AliITSOnlineSPDscanAnalyzer.cxx:319
 AliITSOnlineSPDscanAnalyzer.cxx:320
 AliITSOnlineSPDscanAnalyzer.cxx:321
 AliITSOnlineSPDscanAnalyzer.cxx:322
 AliITSOnlineSPDscanAnalyzer.cxx:323
 AliITSOnlineSPDscanAnalyzer.cxx:324
 AliITSOnlineSPDscanAnalyzer.cxx:325
 AliITSOnlineSPDscanAnalyzer.cxx:326
 AliITSOnlineSPDscanAnalyzer.cxx:327
 AliITSOnlineSPDscanAnalyzer.cxx:328
 AliITSOnlineSPDscanAnalyzer.cxx:329
 AliITSOnlineSPDscanAnalyzer.cxx:330
 AliITSOnlineSPDscanAnalyzer.cxx:331
 AliITSOnlineSPDscanAnalyzer.cxx:332
 AliITSOnlineSPDscanAnalyzer.cxx:333
 AliITSOnlineSPDscanAnalyzer.cxx:334
 AliITSOnlineSPDscanAnalyzer.cxx:335
 AliITSOnlineSPDscanAnalyzer.cxx:336
 AliITSOnlineSPDscanAnalyzer.cxx:337
 AliITSOnlineSPDscanAnalyzer.cxx:338
 AliITSOnlineSPDscanAnalyzer.cxx:339
 AliITSOnlineSPDscanAnalyzer.cxx:340
 AliITSOnlineSPDscanAnalyzer.cxx:341
 AliITSOnlineSPDscanAnalyzer.cxx:342
 AliITSOnlineSPDscanAnalyzer.cxx:343
 AliITSOnlineSPDscanAnalyzer.cxx:344
 AliITSOnlineSPDscanAnalyzer.cxx:345
 AliITSOnlineSPDscanAnalyzer.cxx:346
 AliITSOnlineSPDscanAnalyzer.cxx:347
 AliITSOnlineSPDscanAnalyzer.cxx:348
 AliITSOnlineSPDscanAnalyzer.cxx:349
 AliITSOnlineSPDscanAnalyzer.cxx:350
 AliITSOnlineSPDscanAnalyzer.cxx:351
 AliITSOnlineSPDscanAnalyzer.cxx:352
 AliITSOnlineSPDscanAnalyzer.cxx:353
 AliITSOnlineSPDscanAnalyzer.cxx:354
 AliITSOnlineSPDscanAnalyzer.cxx:355
 AliITSOnlineSPDscanAnalyzer.cxx:356
 AliITSOnlineSPDscanAnalyzer.cxx:357
 AliITSOnlineSPDscanAnalyzer.cxx:358
 AliITSOnlineSPDscanAnalyzer.cxx:359
 AliITSOnlineSPDscanAnalyzer.cxx:360
 AliITSOnlineSPDscanAnalyzer.cxx:361
 AliITSOnlineSPDscanAnalyzer.cxx:362
 AliITSOnlineSPDscanAnalyzer.cxx:363
 AliITSOnlineSPDscanAnalyzer.cxx:364
 AliITSOnlineSPDscanAnalyzer.cxx:365
 AliITSOnlineSPDscanAnalyzer.cxx:366
 AliITSOnlineSPDscanAnalyzer.cxx:367
 AliITSOnlineSPDscanAnalyzer.cxx:368
 AliITSOnlineSPDscanAnalyzer.cxx:369
 AliITSOnlineSPDscanAnalyzer.cxx:370
 AliITSOnlineSPDscanAnalyzer.cxx:371
 AliITSOnlineSPDscanAnalyzer.cxx:372
 AliITSOnlineSPDscanAnalyzer.cxx:373
 AliITSOnlineSPDscanAnalyzer.cxx:374
 AliITSOnlineSPDscanAnalyzer.cxx:375
 AliITSOnlineSPDscanAnalyzer.cxx:376
 AliITSOnlineSPDscanAnalyzer.cxx:377
 AliITSOnlineSPDscanAnalyzer.cxx:378
 AliITSOnlineSPDscanAnalyzer.cxx:379
 AliITSOnlineSPDscanAnalyzer.cxx:380
 AliITSOnlineSPDscanAnalyzer.cxx:381
 AliITSOnlineSPDscanAnalyzer.cxx:382
 AliITSOnlineSPDscanAnalyzer.cxx:383
 AliITSOnlineSPDscanAnalyzer.cxx:384
 AliITSOnlineSPDscanAnalyzer.cxx:385
 AliITSOnlineSPDscanAnalyzer.cxx:386
 AliITSOnlineSPDscanAnalyzer.cxx:387
 AliITSOnlineSPDscanAnalyzer.cxx:388
 AliITSOnlineSPDscanAnalyzer.cxx:389
 AliITSOnlineSPDscanAnalyzer.cxx:390
 AliITSOnlineSPDscanAnalyzer.cxx:391
 AliITSOnlineSPDscanAnalyzer.cxx:392
 AliITSOnlineSPDscanAnalyzer.cxx:393
 AliITSOnlineSPDscanAnalyzer.cxx:394
 AliITSOnlineSPDscanAnalyzer.cxx:395
 AliITSOnlineSPDscanAnalyzer.cxx:396
 AliITSOnlineSPDscanAnalyzer.cxx:397
 AliITSOnlineSPDscanAnalyzer.cxx:398
 AliITSOnlineSPDscanAnalyzer.cxx:399
 AliITSOnlineSPDscanAnalyzer.cxx:400
 AliITSOnlineSPDscanAnalyzer.cxx:401
 AliITSOnlineSPDscanAnalyzer.cxx:402
 AliITSOnlineSPDscanAnalyzer.cxx:403
 AliITSOnlineSPDscanAnalyzer.cxx:404
 AliITSOnlineSPDscanAnalyzer.cxx:405
 AliITSOnlineSPDscanAnalyzer.cxx:406
 AliITSOnlineSPDscanAnalyzer.cxx:407
 AliITSOnlineSPDscanAnalyzer.cxx:408
 AliITSOnlineSPDscanAnalyzer.cxx:409
 AliITSOnlineSPDscanAnalyzer.cxx:410
 AliITSOnlineSPDscanAnalyzer.cxx:411
 AliITSOnlineSPDscanAnalyzer.cxx:412
 AliITSOnlineSPDscanAnalyzer.cxx:413
 AliITSOnlineSPDscanAnalyzer.cxx:414
 AliITSOnlineSPDscanAnalyzer.cxx:415
 AliITSOnlineSPDscanAnalyzer.cxx:416
 AliITSOnlineSPDscanAnalyzer.cxx:417
 AliITSOnlineSPDscanAnalyzer.cxx:418
 AliITSOnlineSPDscanAnalyzer.cxx:419
 AliITSOnlineSPDscanAnalyzer.cxx:420
 AliITSOnlineSPDscanAnalyzer.cxx:421
 AliITSOnlineSPDscanAnalyzer.cxx:422
 AliITSOnlineSPDscanAnalyzer.cxx:423
 AliITSOnlineSPDscanAnalyzer.cxx:424
 AliITSOnlineSPDscanAnalyzer.cxx:425
 AliITSOnlineSPDscanAnalyzer.cxx:426
 AliITSOnlineSPDscanAnalyzer.cxx:427
 AliITSOnlineSPDscanAnalyzer.cxx:428
 AliITSOnlineSPDscanAnalyzer.cxx:429
 AliITSOnlineSPDscanAnalyzer.cxx:430
 AliITSOnlineSPDscanAnalyzer.cxx:431
 AliITSOnlineSPDscanAnalyzer.cxx:432
 AliITSOnlineSPDscanAnalyzer.cxx:433
 AliITSOnlineSPDscanAnalyzer.cxx:434
 AliITSOnlineSPDscanAnalyzer.cxx:435
 AliITSOnlineSPDscanAnalyzer.cxx:436
 AliITSOnlineSPDscanAnalyzer.cxx:437
 AliITSOnlineSPDscanAnalyzer.cxx:438
 AliITSOnlineSPDscanAnalyzer.cxx:439
 AliITSOnlineSPDscanAnalyzer.cxx:440
 AliITSOnlineSPDscanAnalyzer.cxx:441
 AliITSOnlineSPDscanAnalyzer.cxx:442
 AliITSOnlineSPDscanAnalyzer.cxx:443
 AliITSOnlineSPDscanAnalyzer.cxx:444
 AliITSOnlineSPDscanAnalyzer.cxx:445
 AliITSOnlineSPDscanAnalyzer.cxx:446
 AliITSOnlineSPDscanAnalyzer.cxx:447
 AliITSOnlineSPDscanAnalyzer.cxx:448
 AliITSOnlineSPDscanAnalyzer.cxx:449
 AliITSOnlineSPDscanAnalyzer.cxx:450
 AliITSOnlineSPDscanAnalyzer.cxx:451
 AliITSOnlineSPDscanAnalyzer.cxx:452
 AliITSOnlineSPDscanAnalyzer.cxx:453
 AliITSOnlineSPDscanAnalyzer.cxx:454
 AliITSOnlineSPDscanAnalyzer.cxx:455
 AliITSOnlineSPDscanAnalyzer.cxx:456
 AliITSOnlineSPDscanAnalyzer.cxx:457
 AliITSOnlineSPDscanAnalyzer.cxx:458
 AliITSOnlineSPDscanAnalyzer.cxx:459
 AliITSOnlineSPDscanAnalyzer.cxx:460
 AliITSOnlineSPDscanAnalyzer.cxx:461
 AliITSOnlineSPDscanAnalyzer.cxx:462
 AliITSOnlineSPDscanAnalyzer.cxx:463
 AliITSOnlineSPDscanAnalyzer.cxx:464
 AliITSOnlineSPDscanAnalyzer.cxx:465
 AliITSOnlineSPDscanAnalyzer.cxx:466
 AliITSOnlineSPDscanAnalyzer.cxx:467
 AliITSOnlineSPDscanAnalyzer.cxx:468
 AliITSOnlineSPDscanAnalyzer.cxx:469
 AliITSOnlineSPDscanAnalyzer.cxx:470
 AliITSOnlineSPDscanAnalyzer.cxx:471
 AliITSOnlineSPDscanAnalyzer.cxx:472
 AliITSOnlineSPDscanAnalyzer.cxx:473
 AliITSOnlineSPDscanAnalyzer.cxx:474
 AliITSOnlineSPDscanAnalyzer.cxx:475
 AliITSOnlineSPDscanAnalyzer.cxx:476
 AliITSOnlineSPDscanAnalyzer.cxx:477
 AliITSOnlineSPDscanAnalyzer.cxx:478
 AliITSOnlineSPDscanAnalyzer.cxx:479
 AliITSOnlineSPDscanAnalyzer.cxx:480
 AliITSOnlineSPDscanAnalyzer.cxx:481
 AliITSOnlineSPDscanAnalyzer.cxx:482
 AliITSOnlineSPDscanAnalyzer.cxx:483
 AliITSOnlineSPDscanAnalyzer.cxx:484
 AliITSOnlineSPDscanAnalyzer.cxx:485
 AliITSOnlineSPDscanAnalyzer.cxx:486
 AliITSOnlineSPDscanAnalyzer.cxx:487
 AliITSOnlineSPDscanAnalyzer.cxx:488
 AliITSOnlineSPDscanAnalyzer.cxx:489
 AliITSOnlineSPDscanAnalyzer.cxx:490
 AliITSOnlineSPDscanAnalyzer.cxx:491
 AliITSOnlineSPDscanAnalyzer.cxx:492
 AliITSOnlineSPDscanAnalyzer.cxx:493
 AliITSOnlineSPDscanAnalyzer.cxx:494
 AliITSOnlineSPDscanAnalyzer.cxx:495
 AliITSOnlineSPDscanAnalyzer.cxx:496
 AliITSOnlineSPDscanAnalyzer.cxx:497
 AliITSOnlineSPDscanAnalyzer.cxx:498
 AliITSOnlineSPDscanAnalyzer.cxx:499
 AliITSOnlineSPDscanAnalyzer.cxx:500
 AliITSOnlineSPDscanAnalyzer.cxx:501
 AliITSOnlineSPDscanAnalyzer.cxx:502
 AliITSOnlineSPDscanAnalyzer.cxx:503
 AliITSOnlineSPDscanAnalyzer.cxx:504
 AliITSOnlineSPDscanAnalyzer.cxx:505
 AliITSOnlineSPDscanAnalyzer.cxx:506
 AliITSOnlineSPDscanAnalyzer.cxx:507
 AliITSOnlineSPDscanAnalyzer.cxx:508
 AliITSOnlineSPDscanAnalyzer.cxx:509
 AliITSOnlineSPDscanAnalyzer.cxx:510
 AliITSOnlineSPDscanAnalyzer.cxx:511
 AliITSOnlineSPDscanAnalyzer.cxx:512
 AliITSOnlineSPDscanAnalyzer.cxx:513
 AliITSOnlineSPDscanAnalyzer.cxx:514
 AliITSOnlineSPDscanAnalyzer.cxx:515
 AliITSOnlineSPDscanAnalyzer.cxx:516
 AliITSOnlineSPDscanAnalyzer.cxx:517
 AliITSOnlineSPDscanAnalyzer.cxx:518
 AliITSOnlineSPDscanAnalyzer.cxx:519
 AliITSOnlineSPDscanAnalyzer.cxx:520
 AliITSOnlineSPDscanAnalyzer.cxx:521
 AliITSOnlineSPDscanAnalyzer.cxx:522
 AliITSOnlineSPDscanAnalyzer.cxx:523
 AliITSOnlineSPDscanAnalyzer.cxx:524
 AliITSOnlineSPDscanAnalyzer.cxx:525
 AliITSOnlineSPDscanAnalyzer.cxx:526
 AliITSOnlineSPDscanAnalyzer.cxx:527
 AliITSOnlineSPDscanAnalyzer.cxx:528
 AliITSOnlineSPDscanAnalyzer.cxx:529
 AliITSOnlineSPDscanAnalyzer.cxx:530
 AliITSOnlineSPDscanAnalyzer.cxx:531
 AliITSOnlineSPDscanAnalyzer.cxx:532
 AliITSOnlineSPDscanAnalyzer.cxx:533
 AliITSOnlineSPDscanAnalyzer.cxx:534
 AliITSOnlineSPDscanAnalyzer.cxx:535
 AliITSOnlineSPDscanAnalyzer.cxx:536
 AliITSOnlineSPDscanAnalyzer.cxx:537
 AliITSOnlineSPDscanAnalyzer.cxx:538
 AliITSOnlineSPDscanAnalyzer.cxx:539
 AliITSOnlineSPDscanAnalyzer.cxx:540
 AliITSOnlineSPDscanAnalyzer.cxx:541
 AliITSOnlineSPDscanAnalyzer.cxx:542
 AliITSOnlineSPDscanAnalyzer.cxx:543
 AliITSOnlineSPDscanAnalyzer.cxx:544
 AliITSOnlineSPDscanAnalyzer.cxx:545
 AliITSOnlineSPDscanAnalyzer.cxx:546
 AliITSOnlineSPDscanAnalyzer.cxx:547
 AliITSOnlineSPDscanAnalyzer.cxx:548
 AliITSOnlineSPDscanAnalyzer.cxx:549
 AliITSOnlineSPDscanAnalyzer.cxx:550
 AliITSOnlineSPDscanAnalyzer.cxx:551
 AliITSOnlineSPDscanAnalyzer.cxx:552
 AliITSOnlineSPDscanAnalyzer.cxx:553
 AliITSOnlineSPDscanAnalyzer.cxx:554
 AliITSOnlineSPDscanAnalyzer.cxx:555
 AliITSOnlineSPDscanAnalyzer.cxx:556
 AliITSOnlineSPDscanAnalyzer.cxx:557
 AliITSOnlineSPDscanAnalyzer.cxx:558
 AliITSOnlineSPDscanAnalyzer.cxx:559
 AliITSOnlineSPDscanAnalyzer.cxx:560
 AliITSOnlineSPDscanAnalyzer.cxx:561
 AliITSOnlineSPDscanAnalyzer.cxx:562
 AliITSOnlineSPDscanAnalyzer.cxx:563
 AliITSOnlineSPDscanAnalyzer.cxx:564
 AliITSOnlineSPDscanAnalyzer.cxx:565
 AliITSOnlineSPDscanAnalyzer.cxx:566
 AliITSOnlineSPDscanAnalyzer.cxx:567
 AliITSOnlineSPDscanAnalyzer.cxx:568
 AliITSOnlineSPDscanAnalyzer.cxx:569
 AliITSOnlineSPDscanAnalyzer.cxx:570
 AliITSOnlineSPDscanAnalyzer.cxx:571
 AliITSOnlineSPDscanAnalyzer.cxx:572
 AliITSOnlineSPDscanAnalyzer.cxx:573
 AliITSOnlineSPDscanAnalyzer.cxx:574
 AliITSOnlineSPDscanAnalyzer.cxx:575
 AliITSOnlineSPDscanAnalyzer.cxx:576
 AliITSOnlineSPDscanAnalyzer.cxx:577
 AliITSOnlineSPDscanAnalyzer.cxx:578
 AliITSOnlineSPDscanAnalyzer.cxx:579
 AliITSOnlineSPDscanAnalyzer.cxx:580
 AliITSOnlineSPDscanAnalyzer.cxx:581
 AliITSOnlineSPDscanAnalyzer.cxx:582
 AliITSOnlineSPDscanAnalyzer.cxx:583
 AliITSOnlineSPDscanAnalyzer.cxx:584
 AliITSOnlineSPDscanAnalyzer.cxx:585
 AliITSOnlineSPDscanAnalyzer.cxx:586
 AliITSOnlineSPDscanAnalyzer.cxx:587
 AliITSOnlineSPDscanAnalyzer.cxx:588
 AliITSOnlineSPDscanAnalyzer.cxx:589
 AliITSOnlineSPDscanAnalyzer.cxx:590
 AliITSOnlineSPDscanAnalyzer.cxx:591
 AliITSOnlineSPDscanAnalyzer.cxx:592
 AliITSOnlineSPDscanAnalyzer.cxx:593
 AliITSOnlineSPDscanAnalyzer.cxx:594
 AliITSOnlineSPDscanAnalyzer.cxx:595
 AliITSOnlineSPDscanAnalyzer.cxx:596
 AliITSOnlineSPDscanAnalyzer.cxx:597
 AliITSOnlineSPDscanAnalyzer.cxx:598
 AliITSOnlineSPDscanAnalyzer.cxx:599
 AliITSOnlineSPDscanAnalyzer.cxx:600
 AliITSOnlineSPDscanAnalyzer.cxx:601
 AliITSOnlineSPDscanAnalyzer.cxx:602
 AliITSOnlineSPDscanAnalyzer.cxx:603
 AliITSOnlineSPDscanAnalyzer.cxx:604
 AliITSOnlineSPDscanAnalyzer.cxx:605
 AliITSOnlineSPDscanAnalyzer.cxx:606
 AliITSOnlineSPDscanAnalyzer.cxx:607
 AliITSOnlineSPDscanAnalyzer.cxx:608
 AliITSOnlineSPDscanAnalyzer.cxx:609
 AliITSOnlineSPDscanAnalyzer.cxx:610
 AliITSOnlineSPDscanAnalyzer.cxx:611
 AliITSOnlineSPDscanAnalyzer.cxx:612
 AliITSOnlineSPDscanAnalyzer.cxx:613
 AliITSOnlineSPDscanAnalyzer.cxx:614
 AliITSOnlineSPDscanAnalyzer.cxx:615
 AliITSOnlineSPDscanAnalyzer.cxx:616
 AliITSOnlineSPDscanAnalyzer.cxx:617
 AliITSOnlineSPDscanAnalyzer.cxx:618
 AliITSOnlineSPDscanAnalyzer.cxx:619
 AliITSOnlineSPDscanAnalyzer.cxx:620
 AliITSOnlineSPDscanAnalyzer.cxx:621
 AliITSOnlineSPDscanAnalyzer.cxx:622
 AliITSOnlineSPDscanAnalyzer.cxx:623
 AliITSOnlineSPDscanAnalyzer.cxx:624
 AliITSOnlineSPDscanAnalyzer.cxx:625
 AliITSOnlineSPDscanAnalyzer.cxx:626
 AliITSOnlineSPDscanAnalyzer.cxx:627
 AliITSOnlineSPDscanAnalyzer.cxx:628
 AliITSOnlineSPDscanAnalyzer.cxx:629
 AliITSOnlineSPDscanAnalyzer.cxx:630
 AliITSOnlineSPDscanAnalyzer.cxx:631
 AliITSOnlineSPDscanAnalyzer.cxx:632
 AliITSOnlineSPDscanAnalyzer.cxx:633
 AliITSOnlineSPDscanAnalyzer.cxx:634
 AliITSOnlineSPDscanAnalyzer.cxx:635
 AliITSOnlineSPDscanAnalyzer.cxx:636
 AliITSOnlineSPDscanAnalyzer.cxx:637
 AliITSOnlineSPDscanAnalyzer.cxx:638
 AliITSOnlineSPDscanAnalyzer.cxx:639
 AliITSOnlineSPDscanAnalyzer.cxx:640
 AliITSOnlineSPDscanAnalyzer.cxx:641
 AliITSOnlineSPDscanAnalyzer.cxx:642
 AliITSOnlineSPDscanAnalyzer.cxx:643
 AliITSOnlineSPDscanAnalyzer.cxx:644
 AliITSOnlineSPDscanAnalyzer.cxx:645
 AliITSOnlineSPDscanAnalyzer.cxx:646
 AliITSOnlineSPDscanAnalyzer.cxx:647
 AliITSOnlineSPDscanAnalyzer.cxx:648
 AliITSOnlineSPDscanAnalyzer.cxx:649
 AliITSOnlineSPDscanAnalyzer.cxx:650
 AliITSOnlineSPDscanAnalyzer.cxx:651
 AliITSOnlineSPDscanAnalyzer.cxx:652
 AliITSOnlineSPDscanAnalyzer.cxx:653
 AliITSOnlineSPDscanAnalyzer.cxx:654
 AliITSOnlineSPDscanAnalyzer.cxx:655
 AliITSOnlineSPDscanAnalyzer.cxx:656
 AliITSOnlineSPDscanAnalyzer.cxx:657
 AliITSOnlineSPDscanAnalyzer.cxx:658
 AliITSOnlineSPDscanAnalyzer.cxx:659
 AliITSOnlineSPDscanAnalyzer.cxx:660
 AliITSOnlineSPDscanAnalyzer.cxx:661
 AliITSOnlineSPDscanAnalyzer.cxx:662
 AliITSOnlineSPDscanAnalyzer.cxx:663
 AliITSOnlineSPDscanAnalyzer.cxx:664
 AliITSOnlineSPDscanAnalyzer.cxx:665
 AliITSOnlineSPDscanAnalyzer.cxx:666
 AliITSOnlineSPDscanAnalyzer.cxx:667
 AliITSOnlineSPDscanAnalyzer.cxx:668
 AliITSOnlineSPDscanAnalyzer.cxx:669
 AliITSOnlineSPDscanAnalyzer.cxx:670
 AliITSOnlineSPDscanAnalyzer.cxx:671
 AliITSOnlineSPDscanAnalyzer.cxx:672
 AliITSOnlineSPDscanAnalyzer.cxx:673
 AliITSOnlineSPDscanAnalyzer.cxx:674
 AliITSOnlineSPDscanAnalyzer.cxx:675
 AliITSOnlineSPDscanAnalyzer.cxx:676
 AliITSOnlineSPDscanAnalyzer.cxx:677
 AliITSOnlineSPDscanAnalyzer.cxx:678
 AliITSOnlineSPDscanAnalyzer.cxx:679
 AliITSOnlineSPDscanAnalyzer.cxx:680
 AliITSOnlineSPDscanAnalyzer.cxx:681
 AliITSOnlineSPDscanAnalyzer.cxx:682
 AliITSOnlineSPDscanAnalyzer.cxx:683
 AliITSOnlineSPDscanAnalyzer.cxx:684
 AliITSOnlineSPDscanAnalyzer.cxx:685
 AliITSOnlineSPDscanAnalyzer.cxx:686
 AliITSOnlineSPDscanAnalyzer.cxx:687
 AliITSOnlineSPDscanAnalyzer.cxx:688
 AliITSOnlineSPDscanAnalyzer.cxx:689
 AliITSOnlineSPDscanAnalyzer.cxx:690
 AliITSOnlineSPDscanAnalyzer.cxx:691
 AliITSOnlineSPDscanAnalyzer.cxx:692
 AliITSOnlineSPDscanAnalyzer.cxx:693
 AliITSOnlineSPDscanAnalyzer.cxx:694
 AliITSOnlineSPDscanAnalyzer.cxx:695
 AliITSOnlineSPDscanAnalyzer.cxx:696
 AliITSOnlineSPDscanAnalyzer.cxx:697
 AliITSOnlineSPDscanAnalyzer.cxx:698
 AliITSOnlineSPDscanAnalyzer.cxx:699
 AliITSOnlineSPDscanAnalyzer.cxx:700
 AliITSOnlineSPDscanAnalyzer.cxx:701
 AliITSOnlineSPDscanAnalyzer.cxx:702
 AliITSOnlineSPDscanAnalyzer.cxx:703
 AliITSOnlineSPDscanAnalyzer.cxx:704
 AliITSOnlineSPDscanAnalyzer.cxx:705
 AliITSOnlineSPDscanAnalyzer.cxx:706
 AliITSOnlineSPDscanAnalyzer.cxx:707
 AliITSOnlineSPDscanAnalyzer.cxx:708
 AliITSOnlineSPDscanAnalyzer.cxx:709
 AliITSOnlineSPDscanAnalyzer.cxx:710
 AliITSOnlineSPDscanAnalyzer.cxx:711
 AliITSOnlineSPDscanAnalyzer.cxx:712
 AliITSOnlineSPDscanAnalyzer.cxx:713
 AliITSOnlineSPDscanAnalyzer.cxx:714
 AliITSOnlineSPDscanAnalyzer.cxx:715
 AliITSOnlineSPDscanAnalyzer.cxx:716
 AliITSOnlineSPDscanAnalyzer.cxx:717
 AliITSOnlineSPDscanAnalyzer.cxx:718
 AliITSOnlineSPDscanAnalyzer.cxx:719
 AliITSOnlineSPDscanAnalyzer.cxx:720
 AliITSOnlineSPDscanAnalyzer.cxx:721
 AliITSOnlineSPDscanAnalyzer.cxx:722
 AliITSOnlineSPDscanAnalyzer.cxx:723
 AliITSOnlineSPDscanAnalyzer.cxx:724
 AliITSOnlineSPDscanAnalyzer.cxx:725
 AliITSOnlineSPDscanAnalyzer.cxx:726
 AliITSOnlineSPDscanAnalyzer.cxx:727
 AliITSOnlineSPDscanAnalyzer.cxx:728
 AliITSOnlineSPDscanAnalyzer.cxx:729
 AliITSOnlineSPDscanAnalyzer.cxx:730
 AliITSOnlineSPDscanAnalyzer.cxx:731
 AliITSOnlineSPDscanAnalyzer.cxx:732
 AliITSOnlineSPDscanAnalyzer.cxx:733
 AliITSOnlineSPDscanAnalyzer.cxx:734
 AliITSOnlineSPDscanAnalyzer.cxx:735
 AliITSOnlineSPDscanAnalyzer.cxx:736
 AliITSOnlineSPDscanAnalyzer.cxx:737
 AliITSOnlineSPDscanAnalyzer.cxx:738
 AliITSOnlineSPDscanAnalyzer.cxx:739
 AliITSOnlineSPDscanAnalyzer.cxx:740
 AliITSOnlineSPDscanAnalyzer.cxx:741
 AliITSOnlineSPDscanAnalyzer.cxx:742
 AliITSOnlineSPDscanAnalyzer.cxx:743
 AliITSOnlineSPDscanAnalyzer.cxx:744
 AliITSOnlineSPDscanAnalyzer.cxx:745
 AliITSOnlineSPDscanAnalyzer.cxx:746
 AliITSOnlineSPDscanAnalyzer.cxx:747
 AliITSOnlineSPDscanAnalyzer.cxx:748
 AliITSOnlineSPDscanAnalyzer.cxx:749
 AliITSOnlineSPDscanAnalyzer.cxx:750
 AliITSOnlineSPDscanAnalyzer.cxx:751
 AliITSOnlineSPDscanAnalyzer.cxx:752
 AliITSOnlineSPDscanAnalyzer.cxx:753
 AliITSOnlineSPDscanAnalyzer.cxx:754
 AliITSOnlineSPDscanAnalyzer.cxx:755
 AliITSOnlineSPDscanAnalyzer.cxx:756
 AliITSOnlineSPDscanAnalyzer.cxx:757
 AliITSOnlineSPDscanAnalyzer.cxx:758
 AliITSOnlineSPDscanAnalyzer.cxx:759
 AliITSOnlineSPDscanAnalyzer.cxx:760
 AliITSOnlineSPDscanAnalyzer.cxx:761
 AliITSOnlineSPDscanAnalyzer.cxx:762
 AliITSOnlineSPDscanAnalyzer.cxx:763
 AliITSOnlineSPDscanAnalyzer.cxx:764
 AliITSOnlineSPDscanAnalyzer.cxx:765
 AliITSOnlineSPDscanAnalyzer.cxx:766
 AliITSOnlineSPDscanAnalyzer.cxx:767
 AliITSOnlineSPDscanAnalyzer.cxx:768
 AliITSOnlineSPDscanAnalyzer.cxx:769
 AliITSOnlineSPDscanAnalyzer.cxx:770
 AliITSOnlineSPDscanAnalyzer.cxx:771
 AliITSOnlineSPDscanAnalyzer.cxx:772
 AliITSOnlineSPDscanAnalyzer.cxx:773
 AliITSOnlineSPDscanAnalyzer.cxx:774
 AliITSOnlineSPDscanAnalyzer.cxx:775
 AliITSOnlineSPDscanAnalyzer.cxx:776
 AliITSOnlineSPDscanAnalyzer.cxx:777
 AliITSOnlineSPDscanAnalyzer.cxx:778
 AliITSOnlineSPDscanAnalyzer.cxx:779
 AliITSOnlineSPDscanAnalyzer.cxx:780
 AliITSOnlineSPDscanAnalyzer.cxx:781
 AliITSOnlineSPDscanAnalyzer.cxx:782
 AliITSOnlineSPDscanAnalyzer.cxx:783
 AliITSOnlineSPDscanAnalyzer.cxx:784
 AliITSOnlineSPDscanAnalyzer.cxx:785
 AliITSOnlineSPDscanAnalyzer.cxx:786
 AliITSOnlineSPDscanAnalyzer.cxx:787
 AliITSOnlineSPDscanAnalyzer.cxx:788
 AliITSOnlineSPDscanAnalyzer.cxx:789
 AliITSOnlineSPDscanAnalyzer.cxx:790
 AliITSOnlineSPDscanAnalyzer.cxx:791
 AliITSOnlineSPDscanAnalyzer.cxx:792
 AliITSOnlineSPDscanAnalyzer.cxx:793
 AliITSOnlineSPDscanAnalyzer.cxx:794
 AliITSOnlineSPDscanAnalyzer.cxx:795
 AliITSOnlineSPDscanAnalyzer.cxx:796
 AliITSOnlineSPDscanAnalyzer.cxx:797
 AliITSOnlineSPDscanAnalyzer.cxx:798
 AliITSOnlineSPDscanAnalyzer.cxx:799
 AliITSOnlineSPDscanAnalyzer.cxx:800
 AliITSOnlineSPDscanAnalyzer.cxx:801
 AliITSOnlineSPDscanAnalyzer.cxx:802
 AliITSOnlineSPDscanAnalyzer.cxx:803
 AliITSOnlineSPDscanAnalyzer.cxx:804
 AliITSOnlineSPDscanAnalyzer.cxx:805
 AliITSOnlineSPDscanAnalyzer.cxx:806
 AliITSOnlineSPDscanAnalyzer.cxx:807
 AliITSOnlineSPDscanAnalyzer.cxx:808
 AliITSOnlineSPDscanAnalyzer.cxx:809
 AliITSOnlineSPDscanAnalyzer.cxx:810
 AliITSOnlineSPDscanAnalyzer.cxx:811
 AliITSOnlineSPDscanAnalyzer.cxx:812
 AliITSOnlineSPDscanAnalyzer.cxx:813
 AliITSOnlineSPDscanAnalyzer.cxx:814
 AliITSOnlineSPDscanAnalyzer.cxx:815
 AliITSOnlineSPDscanAnalyzer.cxx:816
 AliITSOnlineSPDscanAnalyzer.cxx:817
 AliITSOnlineSPDscanAnalyzer.cxx:818
 AliITSOnlineSPDscanAnalyzer.cxx:819
 AliITSOnlineSPDscanAnalyzer.cxx:820
 AliITSOnlineSPDscanAnalyzer.cxx:821
 AliITSOnlineSPDscanAnalyzer.cxx:822
 AliITSOnlineSPDscanAnalyzer.cxx:823
 AliITSOnlineSPDscanAnalyzer.cxx:824
 AliITSOnlineSPDscanAnalyzer.cxx:825
 AliITSOnlineSPDscanAnalyzer.cxx:826
 AliITSOnlineSPDscanAnalyzer.cxx:827
 AliITSOnlineSPDscanAnalyzer.cxx:828
 AliITSOnlineSPDscanAnalyzer.cxx:829
 AliITSOnlineSPDscanAnalyzer.cxx:830
 AliITSOnlineSPDscanAnalyzer.cxx:831
 AliITSOnlineSPDscanAnalyzer.cxx:832
 AliITSOnlineSPDscanAnalyzer.cxx:833
 AliITSOnlineSPDscanAnalyzer.cxx:834
 AliITSOnlineSPDscanAnalyzer.cxx:835
 AliITSOnlineSPDscanAnalyzer.cxx:836
 AliITSOnlineSPDscanAnalyzer.cxx:837
 AliITSOnlineSPDscanAnalyzer.cxx:838
 AliITSOnlineSPDscanAnalyzer.cxx:839
 AliITSOnlineSPDscanAnalyzer.cxx:840
 AliITSOnlineSPDscanAnalyzer.cxx:841
 AliITSOnlineSPDscanAnalyzer.cxx:842
 AliITSOnlineSPDscanAnalyzer.cxx:843
 AliITSOnlineSPDscanAnalyzer.cxx:844
 AliITSOnlineSPDscanAnalyzer.cxx:845
 AliITSOnlineSPDscanAnalyzer.cxx:846
 AliITSOnlineSPDscanAnalyzer.cxx:847
 AliITSOnlineSPDscanAnalyzer.cxx:848
 AliITSOnlineSPDscanAnalyzer.cxx:849
 AliITSOnlineSPDscanAnalyzer.cxx:850
 AliITSOnlineSPDscanAnalyzer.cxx:851
 AliITSOnlineSPDscanAnalyzer.cxx:852
 AliITSOnlineSPDscanAnalyzer.cxx:853
 AliITSOnlineSPDscanAnalyzer.cxx:854
 AliITSOnlineSPDscanAnalyzer.cxx:855
 AliITSOnlineSPDscanAnalyzer.cxx:856
 AliITSOnlineSPDscanAnalyzer.cxx:857
 AliITSOnlineSPDscanAnalyzer.cxx:858
 AliITSOnlineSPDscanAnalyzer.cxx:859
 AliITSOnlineSPDscanAnalyzer.cxx:860
 AliITSOnlineSPDscanAnalyzer.cxx:861
 AliITSOnlineSPDscanAnalyzer.cxx:862
 AliITSOnlineSPDscanAnalyzer.cxx:863
 AliITSOnlineSPDscanAnalyzer.cxx:864
 AliITSOnlineSPDscanAnalyzer.cxx:865
 AliITSOnlineSPDscanAnalyzer.cxx:866
 AliITSOnlineSPDscanAnalyzer.cxx:867
 AliITSOnlineSPDscanAnalyzer.cxx:868
 AliITSOnlineSPDscanAnalyzer.cxx:869
 AliITSOnlineSPDscanAnalyzer.cxx:870
 AliITSOnlineSPDscanAnalyzer.cxx:871
 AliITSOnlineSPDscanAnalyzer.cxx:872
 AliITSOnlineSPDscanAnalyzer.cxx:873
 AliITSOnlineSPDscanAnalyzer.cxx:874
 AliITSOnlineSPDscanAnalyzer.cxx:875
 AliITSOnlineSPDscanAnalyzer.cxx:876
 AliITSOnlineSPDscanAnalyzer.cxx:877
 AliITSOnlineSPDscanAnalyzer.cxx:878
 AliITSOnlineSPDscanAnalyzer.cxx:879
 AliITSOnlineSPDscanAnalyzer.cxx:880
 AliITSOnlineSPDscanAnalyzer.cxx:881
 AliITSOnlineSPDscanAnalyzer.cxx:882
 AliITSOnlineSPDscanAnalyzer.cxx:883
 AliITSOnlineSPDscanAnalyzer.cxx:884
 AliITSOnlineSPDscanAnalyzer.cxx:885
 AliITSOnlineSPDscanAnalyzer.cxx:886
 AliITSOnlineSPDscanAnalyzer.cxx:887
 AliITSOnlineSPDscanAnalyzer.cxx:888
 AliITSOnlineSPDscanAnalyzer.cxx:889
 AliITSOnlineSPDscanAnalyzer.cxx:890
 AliITSOnlineSPDscanAnalyzer.cxx:891
 AliITSOnlineSPDscanAnalyzer.cxx:892
 AliITSOnlineSPDscanAnalyzer.cxx:893
 AliITSOnlineSPDscanAnalyzer.cxx:894
 AliITSOnlineSPDscanAnalyzer.cxx:895
 AliITSOnlineSPDscanAnalyzer.cxx:896
 AliITSOnlineSPDscanAnalyzer.cxx:897
 AliITSOnlineSPDscanAnalyzer.cxx:898
 AliITSOnlineSPDscanAnalyzer.cxx:899
 AliITSOnlineSPDscanAnalyzer.cxx:900
 AliITSOnlineSPDscanAnalyzer.cxx:901
 AliITSOnlineSPDscanAnalyzer.cxx:902
 AliITSOnlineSPDscanAnalyzer.cxx:903
 AliITSOnlineSPDscanAnalyzer.cxx:904
 AliITSOnlineSPDscanAnalyzer.cxx:905
 AliITSOnlineSPDscanAnalyzer.cxx:906
 AliITSOnlineSPDscanAnalyzer.cxx:907
 AliITSOnlineSPDscanAnalyzer.cxx:908
 AliITSOnlineSPDscanAnalyzer.cxx:909
 AliITSOnlineSPDscanAnalyzer.cxx:910
 AliITSOnlineSPDscanAnalyzer.cxx:911
 AliITSOnlineSPDscanAnalyzer.cxx:912
 AliITSOnlineSPDscanAnalyzer.cxx:913
 AliITSOnlineSPDscanAnalyzer.cxx:914
 AliITSOnlineSPDscanAnalyzer.cxx:915
 AliITSOnlineSPDscanAnalyzer.cxx:916
 AliITSOnlineSPDscanAnalyzer.cxx:917
 AliITSOnlineSPDscanAnalyzer.cxx:918
 AliITSOnlineSPDscanAnalyzer.cxx:919
 AliITSOnlineSPDscanAnalyzer.cxx:920
 AliITSOnlineSPDscanAnalyzer.cxx:921
 AliITSOnlineSPDscanAnalyzer.cxx:922
 AliITSOnlineSPDscanAnalyzer.cxx:923
 AliITSOnlineSPDscanAnalyzer.cxx:924
 AliITSOnlineSPDscanAnalyzer.cxx:925
 AliITSOnlineSPDscanAnalyzer.cxx:926
 AliITSOnlineSPDscanAnalyzer.cxx:927
 AliITSOnlineSPDscanAnalyzer.cxx:928
 AliITSOnlineSPDscanAnalyzer.cxx:929
 AliITSOnlineSPDscanAnalyzer.cxx:930
 AliITSOnlineSPDscanAnalyzer.cxx:931
 AliITSOnlineSPDscanAnalyzer.cxx:932
 AliITSOnlineSPDscanAnalyzer.cxx:933
 AliITSOnlineSPDscanAnalyzer.cxx:934
 AliITSOnlineSPDscanAnalyzer.cxx:935
 AliITSOnlineSPDscanAnalyzer.cxx:936
 AliITSOnlineSPDscanAnalyzer.cxx:937
 AliITSOnlineSPDscanAnalyzer.cxx:938
 AliITSOnlineSPDscanAnalyzer.cxx:939
 AliITSOnlineSPDscanAnalyzer.cxx:940
 AliITSOnlineSPDscanAnalyzer.cxx:941
 AliITSOnlineSPDscanAnalyzer.cxx:942
 AliITSOnlineSPDscanAnalyzer.cxx:943
 AliITSOnlineSPDscanAnalyzer.cxx:944
 AliITSOnlineSPDscanAnalyzer.cxx:945
 AliITSOnlineSPDscanAnalyzer.cxx:946
 AliITSOnlineSPDscanAnalyzer.cxx:947
 AliITSOnlineSPDscanAnalyzer.cxx:948
 AliITSOnlineSPDscanAnalyzer.cxx:949
 AliITSOnlineSPDscanAnalyzer.cxx:950
 AliITSOnlineSPDscanAnalyzer.cxx:951
 AliITSOnlineSPDscanAnalyzer.cxx:952
 AliITSOnlineSPDscanAnalyzer.cxx:953
 AliITSOnlineSPDscanAnalyzer.cxx:954
 AliITSOnlineSPDscanAnalyzer.cxx:955
 AliITSOnlineSPDscanAnalyzer.cxx:956
 AliITSOnlineSPDscanAnalyzer.cxx:957
 AliITSOnlineSPDscanAnalyzer.cxx:958
 AliITSOnlineSPDscanAnalyzer.cxx:959
 AliITSOnlineSPDscanAnalyzer.cxx:960
 AliITSOnlineSPDscanAnalyzer.cxx:961
 AliITSOnlineSPDscanAnalyzer.cxx:962
 AliITSOnlineSPDscanAnalyzer.cxx:963
 AliITSOnlineSPDscanAnalyzer.cxx:964
 AliITSOnlineSPDscanAnalyzer.cxx:965
 AliITSOnlineSPDscanAnalyzer.cxx:966
 AliITSOnlineSPDscanAnalyzer.cxx:967
 AliITSOnlineSPDscanAnalyzer.cxx:968
 AliITSOnlineSPDscanAnalyzer.cxx:969
 AliITSOnlineSPDscanAnalyzer.cxx:970
 AliITSOnlineSPDscanAnalyzer.cxx:971
 AliITSOnlineSPDscanAnalyzer.cxx:972
 AliITSOnlineSPDscanAnalyzer.cxx:973
 AliITSOnlineSPDscanAnalyzer.cxx:974
 AliITSOnlineSPDscanAnalyzer.cxx:975
 AliITSOnlineSPDscanAnalyzer.cxx:976
 AliITSOnlineSPDscanAnalyzer.cxx:977
 AliITSOnlineSPDscanAnalyzer.cxx:978
 AliITSOnlineSPDscanAnalyzer.cxx:979
 AliITSOnlineSPDscanAnalyzer.cxx:980
 AliITSOnlineSPDscanAnalyzer.cxx:981
 AliITSOnlineSPDscanAnalyzer.cxx:982
 AliITSOnlineSPDscanAnalyzer.cxx:983
 AliITSOnlineSPDscanAnalyzer.cxx:984
 AliITSOnlineSPDscanAnalyzer.cxx:985
 AliITSOnlineSPDscanAnalyzer.cxx:986
 AliITSOnlineSPDscanAnalyzer.cxx:987
 AliITSOnlineSPDscanAnalyzer.cxx:988
 AliITSOnlineSPDscanAnalyzer.cxx:989
 AliITSOnlineSPDscanAnalyzer.cxx:990
 AliITSOnlineSPDscanAnalyzer.cxx:991
 AliITSOnlineSPDscanAnalyzer.cxx:992
 AliITSOnlineSPDscanAnalyzer.cxx:993
 AliITSOnlineSPDscanAnalyzer.cxx:994
 AliITSOnlineSPDscanAnalyzer.cxx:995
 AliITSOnlineSPDscanAnalyzer.cxx:996
 AliITSOnlineSPDscanAnalyzer.cxx:997
 AliITSOnlineSPDscanAnalyzer.cxx:998
 AliITSOnlineSPDscanAnalyzer.cxx:999
 AliITSOnlineSPDscanAnalyzer.cxx:1000
 AliITSOnlineSPDscanAnalyzer.cxx:1001
 AliITSOnlineSPDscanAnalyzer.cxx:1002
 AliITSOnlineSPDscanAnalyzer.cxx:1003
 AliITSOnlineSPDscanAnalyzer.cxx:1004
 AliITSOnlineSPDscanAnalyzer.cxx:1005
 AliITSOnlineSPDscanAnalyzer.cxx:1006
 AliITSOnlineSPDscanAnalyzer.cxx:1007
 AliITSOnlineSPDscanAnalyzer.cxx:1008
 AliITSOnlineSPDscanAnalyzer.cxx:1009
 AliITSOnlineSPDscanAnalyzer.cxx:1010
 AliITSOnlineSPDscanAnalyzer.cxx:1011
 AliITSOnlineSPDscanAnalyzer.cxx:1012
 AliITSOnlineSPDscanAnalyzer.cxx:1013
 AliITSOnlineSPDscanAnalyzer.cxx:1014
 AliITSOnlineSPDscanAnalyzer.cxx:1015
 AliITSOnlineSPDscanAnalyzer.cxx:1016
 AliITSOnlineSPDscanAnalyzer.cxx:1017
 AliITSOnlineSPDscanAnalyzer.cxx:1018
 AliITSOnlineSPDscanAnalyzer.cxx:1019
 AliITSOnlineSPDscanAnalyzer.cxx:1020
 AliITSOnlineSPDscanAnalyzer.cxx:1021
 AliITSOnlineSPDscanAnalyzer.cxx:1022
 AliITSOnlineSPDscanAnalyzer.cxx:1023
 AliITSOnlineSPDscanAnalyzer.cxx:1024
 AliITSOnlineSPDscanAnalyzer.cxx:1025
 AliITSOnlineSPDscanAnalyzer.cxx:1026
 AliITSOnlineSPDscanAnalyzer.cxx:1027
 AliITSOnlineSPDscanAnalyzer.cxx:1028
 AliITSOnlineSPDscanAnalyzer.cxx:1029
 AliITSOnlineSPDscanAnalyzer.cxx:1030
 AliITSOnlineSPDscanAnalyzer.cxx:1031
 AliITSOnlineSPDscanAnalyzer.cxx:1032
 AliITSOnlineSPDscanAnalyzer.cxx:1033
 AliITSOnlineSPDscanAnalyzer.cxx:1034
 AliITSOnlineSPDscanAnalyzer.cxx:1035
 AliITSOnlineSPDscanAnalyzer.cxx:1036
 AliITSOnlineSPDscanAnalyzer.cxx:1037
 AliITSOnlineSPDscanAnalyzer.cxx:1038
 AliITSOnlineSPDscanAnalyzer.cxx:1039
 AliITSOnlineSPDscanAnalyzer.cxx:1040
 AliITSOnlineSPDscanAnalyzer.cxx:1041