ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, 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.                  *
 **************************************************************************/

//_________________________________________________________________________
// Algorythm class to analyze PHOSv1 events:
// Construct histograms and displays them.
// IHEP CPV/PHOS reconstruction algorithm used.
// Use the macro EditorBar.C for best access to the functionnalities
//*--
//*-- Author: B. Polichtchouk (IHEP)
//////////////////////////////////////////////////////////////////////////////

// --- ROOT system ---

#include "TFile.h"
#include "TH1.h"
#include "TPad.h"
#include "TH2.h"
#include "TParticle.h"
#include "TClonesArray.h"
#include "TTree.h"
#include "TMath.h"
#include "TCanvas.h" 
#include "TStyle.h" 

// --- Standard library ---

// --- AliRoot header files ---

#include "AliRunLoader.h"
#include "AliHeader.h"

// --- PHOS header files ---
#include "AliLog.h"
#include "AliPHOSIhepAnalyze.h"
#include "AliPHOSDigit.h"
#include "AliPHOSRecParticle.h"
#include "AliPHOSLoader.h"
#include "AliPHOSHit.h"
#include "AliPHOSImpact.h"
#include "AliPHOSvImpacts.h"
#include "AliPHOSCpvRecPoint.h"
#include "AliRun.h"
#include "AliPHOSGeometry.h"
#include "AliPHOSEvalRecPoint.h"

ClassImp(AliPHOSIhepAnalyze)

//____________________________________________________________________________
AliPHOSIhepAnalyze::AliPHOSIhepAnalyze():
  fRunLoader(0),
  fFileName()
{
}

//____________________________________________________________________________
AliPHOSIhepAnalyze::AliPHOSIhepAnalyze(Text_t * name) : 
  fRunLoader(0),
  fFileName(name)
{
  // Constructor: open a header file
  fRunLoader = AliRunLoader::Open(fFileName);
  if (fRunLoader == 0x0)
   {
     AliFatal(Form("Can not load event from file %s",name));
   }
}

//____________________________________________________________________________
void AliPHOSIhepAnalyze::AnalyzeCPV1(Int_t Nevents)
{
  //
  // Analyzes CPV characteristics: resolutions, cluster multiplicity,
  // cluster lengths along Z and Phi.
  // Author: Yuri Kharlov
  // 9 October 2000
  // Modified by Boris Polichtchouk, 3.07.2001
  //

  // Book histograms

  TH1F *hDx   = new TH1F("hDx"  ,"CPV x-resolution@reconstruction",100,-5. , 5.);
  TH1F *hDz   = new TH1F("hDz"  ,"CPV z-resolution@reconstruction",100,-5. , 5.);
  TH1F *hChi2 = new TH1F("hChi2"  ,"Chi2/dof of one-gamma fit",30, 0. , 10.);
  TH1S *hNrp  = new TH1S("hNrp" ,"CPV rec.point multiplicity",      21,-0.5,20.5);
  TH1S *hNrpX = new TH1S("hNrpX","CPV rec.point Phi-length"  ,      21,-0.5,20.5);
  TH1S *hNrpZ = new TH1S("hNrpZ","CPV rec.point Z-length"    ,      21,-0.5,20.5);

  TH1F *hEg   = new TH1F("hEg"  ,"Energies of impacts",30,0.,6.);
  TH1F *hEr   = new TH1F("hEr"  ,"Amplitudes of rec. points",50,0.,20.);
  
  TList * fCpvImpacts ;
  TBranch * branchCPVimpacts;

  
  
  AliPHOSLoader* please = dynamic_cast<AliPHOSLoader*>(fRunLoader->GetLoader("PHOSLoader"));
  if ( please == 0 )
   {
     AliError(Form("Could not obtain the Loader object !"));
     return ;
   }

  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;

  AliInfo(Form("Start CPV Analysis-1. Resolutions, cluster multiplicity and lengths")) ;
  for ( Int_t ievent=0; ievent<Nevents; ievent++) {  
    
    Int_t nTotalGen = 0;
    Int_t nChargedGen = 0;

    Int_t ntracks = gAlice->GetEvent(ievent);
    AliInfo(Form(">>>>>>>Event %d .<<<<<<<", ievent)) ;
    
  /******************************************************************/
      TTree* treeH = please->TreeH();
      if (treeH == 0x0)
       {
        AliError(Form("Can not get TreeH"));
         return;
       }
/******************************************************************/     

    // Get branch of CPV impacts
    if (! (branchCPVimpacts =treeH->GetBranch("PHOSCpvImpacts")) ) {
      AliWarning(Form("Couldn't find branch PHOSCpvImpacts. Exit.")) ;
      return;
    }
 
    // Create and fill arrays of hits for each CPV module
      
    Int_t nOfModules = phosgeom->GetNModules();
    TClonesArray **hitsPerModule = new TClonesArray *[nOfModules];
    Int_t iModule = 0; 	
    for (iModule=0; iModule < nOfModules; iModule++)
      hitsPerModule[iModule] = new TClonesArray("AliPHOSImpact",100);

    TClonesArray    *impacts;
    AliPHOSImpact   *impact;
    TLorentzVector   p;

    // First go through all primary tracks and fill the arrays
    // of hits per each CPV module

    for (Int_t itrack=0; itrack<ntracks; itrack++) {
      branchCPVimpacts ->SetAddress(&fCpvImpacts);
      branchCPVimpacts ->GetEntry(itrack,0);

      for (iModule=0; iModule < nOfModules; iModule++) {
	impacts = (TClonesArray *)fCpvImpacts->At(iModule);
	// Do loop over impacts in the module
	for (Int_t iImpact=0; iImpact<impacts->GetEntries(); iImpact++) {
	  impact=(AliPHOSImpact*)impacts->At(iImpact);
	  hEg->Fill(impact->GetMomentum().E());
	  TClonesArray &lhits = *(TClonesArray *)hitsPerModule[iModule];
	  if(IsCharged(impact->GetPid())) nChargedGen++;
	  new(lhits[hitsPerModule[iModule]->GetEntriesFast()]) AliPHOSImpact(*impact);
	}
      }
      fCpvImpacts->Clear();
    }
    for (iModule=0; iModule < nOfModules; iModule++) {
      Int_t nsum = hitsPerModule[iModule]->GetEntriesFast();
      printf("CPV module %d has %d impacts\n",iModule,nsum);
      nTotalGen += nsum;
    }

    // Then go through reconstructed points and for each find
    // the closeset hit
    // The distance from the rec.point to the closest hit
    // gives the coordinate resolution of the CPV

    fRunLoader->GetEvent(ievent);
    TIter nextRP(please->CpvRecPoints()) ;
    AliPHOSCpvRecPoint *cpvRecPoint ;
    Float_t xgen, ygen, zgen;
    while( ( cpvRecPoint = (AliPHOSCpvRecPoint *)nextRP() ) ) {
      
      Float_t chi2dof = ((AliPHOSEvalRecPoint*)cpvRecPoint)->Chi2Dof();
      hChi2->Fill(chi2dof);
      hEr->Fill(cpvRecPoint->GetEnergy());

      TVector3  locpos;
      cpvRecPoint->GetLocalPosition(locpos);
      Int_t phosModule = cpvRecPoint->GetPHOSMod();
      Int_t rpMult     = cpvRecPoint->GetMultiplicity();
      Int_t rpMultX, rpMultZ;
      cpvRecPoint->GetClusterLengths(rpMultX,rpMultZ);
      Float_t xrec  = locpos.X();
      Float_t zrec  = locpos.Z();
      Float_t dxmin = 1.e+10;
      Float_t dzmin = 1.e+10;
      Float_t r2min = 1.e+10;
      Float_t r2;

      Int_t nCPVhits  = (hitsPerModule[phosModule-1])->GetEntriesFast();
      Float_t locImpX=1e10,locImpZ=1e10;         // local coords of closest impact
      Float_t gImpX=1e10, gImpZ=1e10,gImpY=1e10; // global coords of closest impact
      for (Int_t ihit=0; ihit<nCPVhits; ihit++) {
	impact = (AliPHOSImpact*)(hitsPerModule[phosModule-1])->UncheckedAt(ihit);
	xgen   = impact->X();
	zgen   = impact->Z();
	ygen   = impact->Y();
      	
	//Transform to the local ref.frame
	Float_t phig = phosgeom->GetPHOSAngle(phosModule);
	Float_t phi = TMath::Pi()/180*phig;
	Float_t distanceIPtoCPV = phosgeom->GetIPtoOuterCoverDistance() -
	  (phosgeom->GetFTPosition(1)+
	   phosgeom->GetFTPosition(2)+
	   phosgeom->GetCPVTextoliteThickness())/2;
	Float_t xoL,yoL,zoL ;
//  	xoL = xgen*TMath::Cos(phig)+ygen*TMath::Sin(phig) ;
//  	yoL = -xgen*TMath::Sin(phig)+ygen*TMath::Cos(phig) + distanceIPtoCPV;
	xoL = xgen*TMath::Cos(phi)-ygen*TMath::Sin(phi) ;
	yoL = xgen*TMath::Sin(phi)+ygen*TMath::Cos(phi) + distanceIPtoCPV;
	zoL = zgen;

	r2 = TMath::Power((xoL-xrec),2) + TMath::Power((zoL-zrec),2);
	if ( r2 < r2min ) {
	  r2min = r2;
	  dxmin = xoL - xrec;
	  dzmin = zoL - zrec;
	  locImpX = xoL;
	  locImpZ = zoL;
	  gImpX = xgen;
	  gImpZ = zgen;
	  gImpY = ygen;
	}
      }
      AliInfo(Form("Impact global (X,Z,Y) = %f %f %f", gImpX, gImpZ, gImpY));
      AliInfo(Form("Impact local (X,Z) = %f %f", locImpX, locImpZ));
      AliInfo(Form("Reconstructed (X,Z) = %f %f", xrec, zrec));
      AliInfo(Form("dxmin %f dzmin %f", dxmin, dzmin));
      hDx  ->Fill(dxmin);
      hDz  ->Fill(dzmin);
//        hDr  ->Fill(TMath::Sqrt(r2min));
      hNrp ->Fill(rpMult);
      hNrpX->Fill(rpMultX);
      hNrpZ->Fill(rpMultZ);
    }
    delete [] hitsPerModule;

    AliInfo(Form("++++ Event %d : total %d impacts, %d charged impacts and %d  rec. points.", 
          ievent, nTotalGen, nChargedGen, please->CpvRecPoints()->GetEntries())) ;
  }
  // Save histograms

  Text_t outputname[80] ;
  snprintf(outputname,80,"%s.analyzed",GetFileName().Data());
  TFile output(outputname,"RECREATE");
  output.cd();
  
  // Plot histograms

  TCanvas *cpvCanvas = new TCanvas("Cpv1","CPV analysis-I",20,20,800,600);
  gStyle->SetOptStat(111111);
  gStyle->SetOptFit(1);
  gStyle->SetOptDate(1);
  cpvCanvas->Divide(3,3);

  cpvCanvas->cd(1);
  gPad->SetFillColor(10);
  hNrp->SetFillColor(16);
  hNrp->Draw();

  cpvCanvas->cd(2);
  gPad->SetFillColor(10);
  hNrpX->SetFillColor(16);
  hNrpX->Draw();

  cpvCanvas->cd(3);
  gPad->SetFillColor(10);
  hNrpZ->SetFillColor(16);
  hNrpZ->Draw();

  cpvCanvas->cd(4);
  gPad->SetFillColor(10);
  hDx->SetFillColor(16);
  hDx->Fit("gaus");
  hDx->Draw();

  cpvCanvas->cd(5);
  gPad->SetFillColor(10);
  hDz->SetFillColor(16);
  hDz->Fit("gaus");
  hDz->Draw();

  cpvCanvas->cd(6);
  gPad->SetFillColor(10);
  hChi2->SetFillColor(16);
  hChi2->Draw();

  cpvCanvas->cd(7);
  gPad->SetFillColor(10);
  hEg->SetFillColor(16);
  hEg->Draw();

  cpvCanvas->cd(8);
  gPad->SetFillColor(10);
  hEr->SetFillColor(16);
  hEr->Draw();

  cpvCanvas->Write(0,kOverwrite);

}


void AliPHOSIhepAnalyze::AnalyzeEMC1(Int_t Nevents)
{
  //
  // Analyzes Emc characteristics: resolutions, cluster multiplicity,
  // cluster lengths along Z and Phi.
  // Author: Boris Polichtchouk, 24.08.2001
  //

  // Book histograms

  TH1F *hDx   = new TH1F("hDx"  ,"EMC x-resolution@reconstruction",100,-5. , 5.);
  TH1F *hDz   = new TH1F("hDz"  ,"EMC z-resolution@reconstruction",100,-5. , 5.);
  TH1F *hChi2   = new TH1F("hChi2"  ,"Chi2/dof of one-gamma fit",30, 0. , 3.);
  TH1S *hNrp  = new TH1S("hNrp" ,"EMC rec.point multiplicity",      21,-0.5,20.5);
  TH1S *hNrpX = new TH1S("hNrpX","EMC rec.point Phi-length"  ,      21,-0.5,20.5);
  TH1S *hNrpZ = new TH1S("hNrpZ","EMC rec.point Z-length"    ,      21,-0.5,20.5);

  TList * fEmcImpacts ;
  TBranch * branchEMCimpacts;

  AliPHOSLoader* please = dynamic_cast<AliPHOSLoader*>(fRunLoader->GetLoader("PHOSLoader"));
  if ( please == 0 )
   {
     AliError(Form("Could not obtain the Loader object !"));
     return ;
   }

  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;

  AliInfo(Form("Start EMC Analysis-1. Resolutions, cluster multiplicity and lengths"));
  for ( Int_t ievent=0; ievent<Nevents; ievent++) {  
    
    Int_t nTotalGen = 0;

    Int_t ntracks = gAlice->GetEvent(ievent);

    AliInfo(Form(" >>>>>>>Event %d .<<<<<<<", ievent)) ;

    TTree* treeH = please->TreeH();
    if (treeH == 0x0)
     {
      AliError(Form("Can not get TreeH"));
       return;
     }

    
    // Get branch of EMC impacts
    if (! (branchEMCimpacts =treeH->GetBranch("PHOSEmcImpacts")) ) {
      AliWarning(Form(" Couldn't find branch PHOSEmcImpacts. Exit."));
      return;
    }
 
    // Create and fill arrays of hits for each EMC module
      
    Int_t nOfModules = phosgeom->GetNModules();
    TClonesArray **hitsPerModule = new TClonesArray *[nOfModules];
    Int_t iModule = 0; 	
    for (iModule=0; iModule < nOfModules; iModule++)
      hitsPerModule[iModule] = new TClonesArray("AliPHOSImpact",100);

    TClonesArray    *impacts;
    AliPHOSImpact   *impact;
    TLorentzVector   p;

    // First go through all primary tracks and fill the arrays
    // of hits per each EMC module

    for (Int_t itrack=0; itrack<ntracks; itrack++) {
      branchEMCimpacts ->SetAddress(&fEmcImpacts);
      branchEMCimpacts ->GetEntry(itrack,0);

      for (iModule=0; iModule < nOfModules; iModule++) {
	impacts = (TClonesArray *)fEmcImpacts->At(iModule);
	// Do loop over impacts in the module
	for (Int_t iImpact=0; iImpact<impacts->GetEntries(); iImpact++) {
	  impact=(AliPHOSImpact*)impacts->At(iImpact);
	  TClonesArray &lhits = *(TClonesArray *)hitsPerModule[iModule];
	  new(lhits[hitsPerModule[iModule]->GetEntriesFast()]) AliPHOSImpact(*impact);
	}
      }
      fEmcImpacts->Clear();
    }
    for (iModule=0; iModule < nOfModules; iModule++) {
      Int_t nsum = hitsPerModule[iModule]->GetEntriesFast();
      printf("EMC module %d has %d hits\n",iModule,nsum);
      nTotalGen += nsum;
    }

    // Then go through reconstructed points and for each find
    // the closeset hit
    // The distance from the rec.point to the closest hit
    // gives the coordinate resolution of the EMC

    fRunLoader->GetEvent(ievent);
    TIter nextRP(please->EmcRecPoints()) ;
    AliPHOSEmcRecPoint *emcRecPoint ;
    Float_t xgen, ygen, zgen;
    while( ( emcRecPoint = (AliPHOSEmcRecPoint *)nextRP() ) ) {
      
      Float_t chi2dof = ((AliPHOSEvalRecPoint*)emcRecPoint)->Chi2Dof();
      hChi2->Fill(chi2dof);
      
      TVector3  locpos;
      emcRecPoint->GetLocalPosition(locpos);
      Int_t phosModule = emcRecPoint->GetPHOSMod();
      Int_t rpMult     = emcRecPoint->GetMultiplicity();
      Int_t rpMultX, rpMultZ;
      ((AliPHOSEvalRecPoint*)emcRecPoint)->GetClusterLengths(rpMultX,rpMultZ);
      Float_t xrec  = locpos.X();
      Float_t zrec  = locpos.Z();
      Float_t dxmin = 1.e+10;
      Float_t dzmin = 1.e+10;
      Float_t r2min = 1.e+10;
      Float_t r2;

      Int_t nEMChits  = (hitsPerModule[phosModule-1])->GetEntriesFast();
      Float_t locImpX=1e10,locImpZ=1e10;         // local coords of closest impact
      Float_t gImpX=1e10, gImpZ=1e10,gImpY=1e10; // global coords of closest impact
      for (Int_t ihit=0; ihit<nEMChits; ihit++) {
	impact = (AliPHOSImpact*)(hitsPerModule[phosModule-1])->UncheckedAt(ihit);
	xgen   = impact->X();
	zgen   = impact->Z();
	ygen   = impact->Y();
      
	
	//Transform to the local ref.frame
	Float_t phig = phosgeom->GetPHOSAngle(phosModule);
	Float_t phi = TMath::Pi()/180*phig;
	Float_t distanceIPtoEMC = phosgeom->GetIPtoCrystalSurface();
	Float_t xoL,yoL,zoL ;
//  	xoL = xgen*TMath::Cos(phig)+ygen*TMath::Sin(phig) ;
//  	yoL = -xgen*TMath::Sin(phig)+ygen*TMath::Cos(phig) + distanceIPtoEMC;
	xoL = xgen*TMath::Cos(phi)-ygen*TMath::Sin(phi) ;
	yoL = xgen*TMath::Sin(phi)+ygen*TMath::Cos(phi) + distanceIPtoEMC;
	zoL = zgen;

	r2 = TMath::Power((xoL-xrec),2) + TMath::Power((zoL-zrec),2);
	if ( r2 < r2min ) {
	  r2min = r2;
	  dxmin = xoL - xrec;
	  dzmin = zoL - zrec;
	  locImpX = xoL;
	  locImpZ = zoL;
	  gImpX = xgen;
	  gImpZ = zgen;
	  gImpY = ygen;
	}
      }
      AliInfo(Form(" Impact global (X,Z,Y) = %f %f %f", gImpX, gImpZ, gImpY));
      AliInfo(Form(" Impact local (X,Z) = %f %f", locImpX, locImpZ));
      AliInfo(Form(" Reconstructed (X,Z) = %f %f", xrec, zrec));
      AliInfo(Form(" dxmin %f dzmin %f", dxmin, dzmin)) ;
      hDx  ->Fill(dxmin);
      hDz  ->Fill(dzmin);
//        hDr  ->Fill(TMath::Sqrt(r2min));
      hNrp ->Fill(rpMult);
      hNrpX->Fill(rpMultX);
      hNrpZ->Fill(rpMultZ);
    }
    delete [] hitsPerModule;

    AliInfo(Form("++++ Event %d : total  %d impacts,  %d Emc rec. points.", 
	 ievent, nTotalGen, please->EmcRecPoints()->GetEntriesFast())) ; 

  }
  // Save histograms

  Text_t outputname[80] ;
  snprintf(outputname,80,"%s.analyzed",GetFileName().Data());
  TFile output(outputname,"update");
  output.cd();
  
  // Plot histograms

  TCanvas *emcCanvas = new TCanvas("Emc1","EMC analysis-I",20,20,800,400);
  gStyle->SetOptStat(111111);
  gStyle->SetOptFit(1);
  gStyle->SetOptDate(1);
  emcCanvas->Divide(3,2);

  emcCanvas->cd(1);
  gPad->SetFillColor(10);
  hNrp->SetFillColor(16);
  hNrp->Draw();

  emcCanvas->cd(2);
  gPad->SetFillColor(10);
  hNrpX->SetFillColor(16);
  hNrpX->Draw();

  emcCanvas->cd(3);
  gPad->SetFillColor(10);
  hNrpZ->SetFillColor(16);
  hNrpZ->Draw();

  emcCanvas->cd(4);
  gPad->SetFillColor(10);
  hDx->SetFillColor(16);
  hDx->Fit("gaus");
  hDx->Draw();

  emcCanvas->cd(5);
  gPad->SetFillColor(10);
  hDz->SetFillColor(16);
  hDz->Fit("gaus");
  hDz->Draw();

  emcCanvas->cd(6);
  gPad->SetFillColor(10);
  hChi2->SetFillColor(16);
  hChi2->Draw();

  emcCanvas->Write(0,kOverwrite);
}

//____________________________________________________________________________
void AliPHOSIhepAnalyze::AnalyzeCPV2(Int_t Nevents)
{
  // CPV analysis - part II.
  // Ratio of combinatoric distances between generated
  // and reconstructed hits.
  // Author: Boris Polichtchouk (polishchuk@mx.ihep.su)
  // 24 March 2001


  TH1F* hDrijCPVr = new TH1F("Drij_cpv_r","Distance between reconstructed hits in CPV",140,0,50);
  TH1F* hDrijCPVg = new TH1F("Drij_cpv_g","Distance between generated hits in CPV",140,0,50);
  TH1F* hDrijCPVratio = new TH1F("Drij_cpv_ratio","R_{ij}^{rec}/R_{ij}^{gen} in CPV",140,0,50);

//    TH1F* hT0 = new TH1F("hT0","Type of entering particle",20000,-10000,10000);

  hDrijCPVr->Sumw2();
  hDrijCPVg->Sumw2();
  hDrijCPVratio->Sumw2(); //correct treatment of errors

  TList * fCpvImpacts = new TList();
  TBranch * branchCPVimpacts;

  AliPHOSLoader* please = dynamic_cast<AliPHOSLoader*>(fRunLoader->GetLoader("PHOSLoader"));
  if ( please == 0 )
   {
     AliError(Form("Could not obtain the Loader object !"));
     return ;
   }
  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
  fRunLoader->LoadHeader();

  for (Int_t nev=0; nev<Nevents; nev++) 
    { 
      printf("\n=================== Event %10d ===================\n",nev);
      fRunLoader->GetEvent(nev);
      Int_t ntracks = fRunLoader->GetHeader()->GetNtrack();
    
      Int_t nRecCPV = 0; // Reconstructed points in event
      Int_t nGenCPV = 0; // Impacts in event

      // Get branch of CPV impacts
      TTree* treeH = please->TreeH();
      if (treeH == 0x0)
       {
	 AliError(Form("Can not get TreeH"));
        return;
       }

      if (! (branchCPVimpacts =treeH->GetBranch("PHOSCpvImpacts")) )  return;
      
      // Create and fill arrays of hits for each CPV module
      Int_t nOfModules = phosgeom->GetNModules();
      TClonesArray **hitsPerModule = new TClonesArray *[nOfModules];
      Int_t iModule = 0; 	
      for (iModule=0; iModule < nOfModules; iModule++)
	hitsPerModule[iModule] = new TClonesArray("AliPHOSImpact",100);

      TClonesArray    *impacts;
      AliPHOSImpact   *impact;
          
      for (Int_t itrack=0; itrack<ntracks; itrack++) {
	branchCPVimpacts ->SetAddress(&fCpvImpacts);
	AliInfo(Form(" branchCPVimpacts ->SetAddress(&fCpvImpacts) OK."));
	branchCPVimpacts ->GetEntry(itrack,0);

	for (iModule=0; iModule < nOfModules; iModule++) {
	  impacts = (TClonesArray *)fCpvImpacts->At(iModule);
	  // Do loop over impacts in the module
	  for (Int_t iImpact=0; iImpact<impacts->GetEntries(); iImpact++) {
	    impact=(AliPHOSImpact*)impacts->At(iImpact);
	    TClonesArray &lhits = *(TClonesArray *)hitsPerModule[iModule];
	    if(IsCharged(impact->GetPid()))
	      new(lhits[hitsPerModule[iModule]->GetEntriesFast()]) AliPHOSImpact(*impact);
	  }
	}
	fCpvImpacts->Clear();
      }

      for (iModule=0; iModule < nOfModules; iModule++) {
	Int_t nsum = hitsPerModule[iModule]->GetEntriesFast();
	printf("CPV module %d has %d hits\n",iModule,nsum);

        AliPHOSImpact* genHit1;
        AliPHOSImpact* genHit2;
        Int_t irp1,irp2;
	for(irp1=0; irp1< nsum; irp1++)
	  {
	    genHit1 = (AliPHOSImpact*)((hitsPerModule[iModule])->At(irp1));
	    for(irp2 = irp1+1; irp2<nsum; irp2++)
	      {
		genHit2 = (AliPHOSImpact*)((hitsPerModule[iModule])->At(irp2));
		Float_t dx = genHit1->X() - genHit2->X();
  		Float_t dz = genHit1->Z() - genHit2->Z();
		Float_t dr = TMath::Sqrt(dx*dx + dz*dz);
		hDrijCPVg->Fill(dr);
//      		AliInfo(Form("(dx dz dr): %f %f", dx, dz));
	      }
	  }
      }

 
  //--------- Combinatoric distance between rec. hits in CPV

      TObjArray* cpvRecPoints = please->CpvRecPoints();
      nRecCPV =  cpvRecPoints->GetEntriesFast();

      if(nRecCPV)
	{
	  AliPHOSCpvRecPoint* recHit1;
	  AliPHOSCpvRecPoint* recHit2;
	  TIter nextCPVrec1(cpvRecPoints);
	  while(TObject* obj1 = nextCPVrec1() )
	    {
	      TIter nextCPVrec2(cpvRecPoints);
	      while (TObject* obj2 = nextCPVrec2())
		{
		  if(!obj2->IsEqual(obj1))
		    {
		      recHit1 = (AliPHOSCpvRecPoint*)obj1;
		      recHit2 = (AliPHOSCpvRecPoint*)obj2;
		      TVector3 locpos1;
		      TVector3 locpos2;
		      recHit1->GetLocalPosition(locpos1);
		      recHit2->GetLocalPosition(locpos2);
		      Float_t dx = locpos1.X() - locpos2.X();
		      Float_t dz = locpos1.Z() - locpos2.Z();		      
		      Float_t dr = TMath::Sqrt(dx*dx + dz*dz);
		      if(recHit1->GetPHOSMod() == recHit2->GetPHOSMod())
			hDrijCPVr->Fill(dr);
		    }
		}
	    }	
	}
      
      AliInfo(Form(" Event %d . Total of %d hits, %d rec.points.", 
	   nev, nGenCPV, nRecCPV)) ; 
    
      delete [] hitsPerModule;

    } // End of loop over events.


//    hDrijCPVg->Draw();
//    hDrijCPVr->Draw();
  hDrijCPVratio->Divide(hDrijCPVr,hDrijCPVg);
  hDrijCPVratio->Draw();

//    hT0->Draw();

}


void AliPHOSIhepAnalyze::CpvSingle(Int_t nevents)
{
  // Distributions of coordinates and cluster lengths of rec. points
  // in the case of single initial particle.

  TH1F* hZr = new TH1F("Zrec","Reconstructed Z distribution",150,-5,5);
  TH1F* hXr = new TH1F("Xrec","Reconstructed X distribution",150,-14,-2);
  TH1F *hChi2   = new TH1F("hChi2"  ,"Chi2/dof of one-gamma fit",100, 0. , 20.);

  TH1S *hNrp  = new TH1S("hNrp" ,"CPV rec.point multiplicity",21,-0.5,20.5);
  TH1S *hNrpX = new TH1S("hNrpX","CPV rec.point Phi-length"  ,21,-0.5,20.5);
  TH1S *hNrpZ = new TH1S("hNrpZ","CPV rec.point Z-length"    ,21,-0.5,20.5);
 
  AliPHOSLoader* gime = dynamic_cast<AliPHOSLoader*>(fRunLoader->GetLoader("PHOSLoader"));
  if ( gime == 0 )
   {
     AliError(Form("Could not obtain the Loader object !"));
     return ;
   }
  
  for(Int_t ievent=0; ievent<nevents; ievent++)
    {
      fRunLoader->GetEvent(ievent);
      if(gime->CpvRecPoints()->GetEntriesFast()>1) continue;

      AliPHOSCpvRecPoint* pt = (AliPHOSCpvRecPoint*)(gime->CpvRecPoints())->At(0);
      if(pt) {
	TVector3 lpos;
	pt->GetLocalPosition(lpos);
	hXr->Fill(lpos.X());
	hZr->Fill(lpos.Z());

	Int_t rpMult = pt->GetMultiplicity();
	hNrp->Fill(rpMult);
	Int_t rpMultX, rpMultZ;
	pt->GetClusterLengths(rpMultX,rpMultZ);
	hNrpX->Fill(rpMultX);
	hNrpZ->Fill(rpMultZ);
	hChi2->Fill(((AliPHOSEvalRecPoint*)pt)->Chi2Dof());
	AliInfo(Form("+++++ Event %d . (Mult,MultX,MultZ) = %d %d %d +++++", 
	     ievent, rpMult, rpMultX, rpMultZ)) ;

      }

    }
	
  Text_t outputname[80] ;
  snprintf(outputname,80,"%s.analyzed.single",GetFileName().Data());
  TFile output(outputname,"RECREATE");
  output.cd();
    
  // Plot histograms
  TCanvas *cpvCanvas = new TCanvas("SingleParticle","Single particle events",20,20,800,400);
  gStyle->SetOptStat(111111);
  gStyle->SetOptFit(1);
  gStyle->SetOptDate(1);
  cpvCanvas->Divide(3,2);

  cpvCanvas->cd(1);
  gPad->SetFillColor(10);
  hXr->SetFillColor(16);
  hXr->Draw();

  cpvCanvas->cd(2);
  gPad->SetFillColor(10);
  hZr->SetFillColor(16);
  hZr->Draw();

  cpvCanvas->cd(3);
  gPad->SetFillColor(10);
  hChi2->SetFillColor(16);
  hChi2->Draw();

  cpvCanvas->cd(4);
  gPad->SetFillColor(10);
  hNrp->SetFillColor(16);
  hNrp->Draw();

  cpvCanvas->cd(5);
  gPad->SetFillColor(10);
  hNrpX->SetFillColor(16);
  hNrpX->Draw();

  cpvCanvas->cd(6);
  gPad->SetFillColor(10);
  hNrpZ->SetFillColor(16);
  hNrpZ->Draw();

  cpvCanvas->Write(0,kOverwrite);
  
}

void AliPHOSIhepAnalyze::HitsCPV(Int_t nev)
{
  // Cumulative list of charged CPV impacts in event nev.

  AliPHOSLoader* please = dynamic_cast<AliPHOSLoader*>(fRunLoader->GetLoader("PHOSLoader"));
  if ( please == 0 )
   {
     AliError(Form("Could not obtain the Loader object !"));
     return ;
   }

     
  printf("\n=================== Event %10d ===================\n",nev);
  //16.03.2011: DP. Code below seems to be obsollete
  //Comment it to sutisfy Coverity
/* 
  TList * fCpvImpacts ;
  TBranch * branchCPVimpacts;

  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;

  fRunLoader->GetEvent(nev);
  Int_t ntracks = fRunLoader->GetHeader()->GetNtrack();
    
//    Int_t nRecCPV = 0; // Reconstructed points in event // 01.10.2001
//    Int_t nGenCPV = 0; // Impacts in event

  // Get branch of CPV impacts
   TTree* treeH = please->TreeH();
   if (treeH == 0x0)
    {
      AliError(Form("Can not get TreeH"));
      return;
    }

  if (! (branchCPVimpacts =treeH->GetBranch("PHOSCpvImpacts")) )  return;
      
  // Create and fill arrays of hits for each CPV module
  Int_t nOfModules = phosgeom->GetNModules();
  TClonesArray **hitsPerModule = new TClonesArray *[nOfModules];
  Int_t iModule = 0; 	
  for (iModule=0; iModule < nOfModules; iModule++)
    hitsPerModule[iModule] = new TClonesArray("AliPHOSImpact",100);
  
  TClonesArray    *impacts;
  AliPHOSImpact   *impact;
          
  for (Int_t itrack=0; itrack<ntracks; itrack++) {
    branchCPVimpacts ->SetAddress(&fCpvImpacts);
    AliInfo(Form(" branchCPVimpacts ->SetAddress(&fCpvImpacts) OK."));
    branchCPVimpacts ->GetEntry(itrack,0);

    for (iModule=0; iModule < nOfModules; iModule++) {
      impacts = (TClonesArray *)fCpvImpacts->At(iModule);
      // Do loop over impacts in the module
      for (Int_t iImpact=0; iImpact<impacts->GetEntries(); iImpact++) {
	impact=(AliPHOSImpact*)impacts->At(iImpact);
	TClonesArray &lhits = *(TClonesArray *)hitsPerModule[iModule];
	new(lhits[hitsPerModule[iModule]->GetEntriesFast()]) AliPHOSImpact(*impact);
      }
    }
    fCpvImpacts->Clear();
  }

  for (iModule=0; iModule < nOfModules; iModule++) {
    Int_t nsum = hitsPerModule[iModule]->GetEntriesFast();
    printf("CPV module %d has %d hits\n",iModule,nsum);
  }

*/


//    TList * fCpvImpacts ;
//    TBranch * branchCPVimpacts;
//    AliPHOSImpact* impact;
//    TClonesArray* impacts;

//    AliPHOSLoader * please = AliPHOSLoader::GetInstance(GetFileName().Data(),"PHOS");
//    const AliPHOSGeometry *  fGeom  = please->PHOSGeometry();

//    Int_t ntracks = gAlice->GetEvent(ievent);
//    Int_t nOfModules = fGeom->GetNModules();
//    AliInfo(Form(" Tracks: "<<ntracks<<"  Modules: "<<nOfModules));

//    if (! (branchCPVimpacts =gAlice->TreeH()->GetBranch("PHOSCpvImpacts")) )  return;

//    for (Int_t itrack=0; itrack<ntracks; itrack++) {
//      branchCPVimpacts ->SetAddress(&fCpvImpacts);
//      Info("AnalyzeCPV1", " branchCPVimpacts ->SetAddress(&fCpvImpacts) OK.");
//      branchCPVimpacts ->GetEntry(itrack,0);
//      Info(Form(" branchCPVimpacts ->GetEntry(itrack,0) OK."));
    
//      for (Int_t iModule=0; iModule < nOfModules; iModule++) {
//        impacts = (TClonesArray *)fCpvImpacts->At(iModule);
//        Info(Form(" fCpvImpacts->At(iModule) OK."));
//        // Do loop over impacts in the module
//        for (Int_t iImpact=0; iImpact<impacts->GetEntries(); iImpact++) {
//  	impact=(AliPHOSImpact*)impacts->At(iImpact);
//  	impact->Print();
//  	if(IsCharged(impact->GetPid()))
//  	  {
//  	    Info(Form(" Add charged hit.."));
//  	    new(hits[hits.GetEntriesFast()]) AliPHOSImpact(*impact);
//  	    Info(Form("done."));
//  	  }
//        }
//      }
//      fCpvImpacts->Clear();
//    }

//    Info(Form(" PHOS event "<<ievent<<": "<<hits.GetEntries()<<" charged CPV hits."));

}


//  void AliPHOSIhepAnalyze::ChargedHitsCPV(TClonesArray* hits, Int_t ievent, Int_t iModule)
//  {
//    // Cumulative list of charged CPV hits in event ievent 
//    // in PHOS module iModule.

//    HitsCPV(hits,ievent,iModule);
//    TIter next(hits);

//    while(AliPHOSCPVHit* cpvhit = (AliPHOSCPVHit*)next())
//      {
//        if(!IsCharged(cpvhit->GetIpart()))
//  	{
//  	  hits->Remove(cpvhit);
//  	  delete cpvhit;
//  	  hits->Compress();
//  	}
//      }

//    Info(Form(" PHOS module "<<iModule<<": "<<hits->GetEntries()<<" charged CPV hits."));
//  }

Bool_t AliPHOSIhepAnalyze::IsCharged(Int_t pdgCode)
{
  // For HIJING
  AliInfo(Form("pdgCode %d", pdgCode));
  if(pdgCode==211 || pdgCode==-211 || pdgCode==321 || pdgCode==-321 || pdgCode==11 || pdgCode==-11 || pdgCode==2212 || pdgCode==-2212) return kTRUE;
  else
    return kFALSE;
}
//---------------------------------------------------------------------------






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