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.                  *
**************************************************************************/

////////////////////////////////////////////////////////////////////////////////
//
//  Glauber MC implementation
//
//  origin: PHOBOS experiment
//  alification: Mikolaj Krzewicki, Nikhef, mikolaj.krzewicki@cern.ch
//  update:      You Zhou, Nikhef, yzhou@nikhef.nl
////////////////////////////////////////////////////////////////////////////////

#include <Riostream.h>
#include <TMath.h>
#include <TEllipse.h>
#include <TRandom.h>
#include <TNamed.h>
#include <TObjArray.h>
#include <TNtuple.h>
#include <TFile.h>
#include <TTree.h>
#include <TF1.h>

#include "AliGlauberNucleon.h"
#include "AliGlauberNucleus.h"
#include "AliGlauberMC.h"

using std::flush;
ClassImp(AliGlauberMC)

//______________________________________________________________________________
AliGlauberMC::AliGlauberMC(Option_t* NA, Option_t* NB, Double_t xsect) :
  TNamed(),
  fANucleus(NA),
  fBNucleus(NB),
  fXSect(xsect),
  fNucleonsA(0),
  fNucleonsB(0),
  fAN(0),
  fQAN(0),
  fBN(0),
  fQBN(0),
  fnt(0),
  fMeanX2(0),
  fMeanY2(0),
  fMeanXY(0),
  fMeanX2Parts(0),
  fMeanY2Parts(0),
  fMeanXYParts(0),
  fMeanXParts(0),
  fMeanYParts(0),
  fMeanOXParts(0),
  fMeanOYParts(0),
  fMeanXColl(0),
  fMeanYColl(0),
  fMeanOXColl(0),
  fMeanOYColl(0),
  fMeanX2Coll(0),
  fMeanY2Coll(0), 
  fMeanXYColl(0),
  fMeanXCom(0),
  fMeanYCom(0),
  fMeanOXCom(0),
  fMeanOYCom(0),
  fMeanX2Com(0),
  fMeanY2Com(0), 
  fMeanXYCom(0),
  fMeanXSystem(0),
  fMeanYSystem(0),
  fMeanXA(0),
  fMeanYA(0),
  fMeanXB(0),
  fMeanYB(0),
  fMeanOXA(0),
  fMeanOYA(0),
  fMeanOXB(0),
  fMeanOYB(0),
  fBMC(0),
  fEvents(0),
  fTotalEvents(0),
  fBMin(0.),
  fBMax(20.),
  fMultType(kNBDSV),
  fMaxNpartFound(0),
  fONpart(0),
  fONcoll(0),
  fONcom(0),
  fNpart(0),
  fNcoll(0),
  fNcollw(0),
  fNcom(0),
  fMeanr2(0),
  fMeanr3(0),
  fMeanr4(0),
  fMeanr5(0),
  fMeanr2Cos2Phi(0),
  fMeanr2Sin2Phi(0),
  fMeanr2Cos3Phi(0),
  fMeanr2Sin3Phi(0),
  fMeanr2Cos4Phi(0),
  fMeanr2Sin4Phi(0),
  fMeanr2Cos5Phi(0),
  fMeanr2Sin5Phi(0),
  fMeanr3Cos3Phi(0),
  fMeanr3Sin3Phi(0),
  fMeanr4Cos4Phi(0),
  fMeanr4Sin4Phi(0),
  fMeanr5Cos5Phi(0),
  fMeanr5Sin5Phi(0),
  fMeanr2Coll(0),
  fMeanr3Coll(0),
  fMeanr4Coll(0),
  fMeanr5Coll(0),
  fMeanr2Cos2PhiColl(0),
  fMeanr2Sin2PhiColl(0),
  fMeanr2Cos3PhiColl(0),
  fMeanr2Sin3PhiColl(0),
  fMeanr2Cos4PhiColl(0),
  fMeanr2Sin4PhiColl(0),
  fMeanr2Cos5PhiColl(0),
  fMeanr2Sin5PhiColl(0),
  fMeanr3Cos3PhiColl(0),
  fMeanr3Sin3PhiColl(0),
  fMeanr4Cos4PhiColl(0),
  fMeanr4Sin4PhiColl(0),
  fMeanr5Cos5PhiColl(0),
  fMeanr5Sin5PhiColl(0),
  fMeanr2Com(0),
  fMeanr3Com(0),
  fMeanr4Com(0),
  fMeanr5Com(0),
  fMeanr2Cos2PhiCom(0),
  fMeanr2Sin2PhiCom(0),
  fMeanr2Cos3PhiCom(0),
  fMeanr2Sin3PhiCom(0),
  fMeanr2Cos4PhiCom(0),
  fMeanr2Sin4PhiCom(0),
  fMeanr2Cos5PhiCom(0),
  fMeanr2Sin5PhiCom(0),
  fMeanr3Cos3PhiCom(0),
  fMeanr3Sin3PhiCom(0),
  fMeanr4Cos4PhiCom(0),
  fMeanr4Sin4PhiCom(0),
  fMeanr5Cos5PhiCom(0),
  fMeanr5Sin5PhiCom(0),
  fSx2Parts(0.),
  fSy2Parts(0.),
  fSxyParts(0.),
  fSx2Coll(0.),
  fSy2Coll(0.),
  fSxyColl(0.),
  fSx2Com(0.),
  fSy2Com(0.),
  fSxyCom(0.),
  fX(0.13),
  fNpp(8.),
  fDoPartProd(kFALSE),
  fBNN(0.),
  fDoFluc(kFALSE),
  fOmega(0),
  fSig0(0),
  fLambda(0),
  fSigFluc(0)
{
  //ctor
  for (UInt_t i=0; i<(sizeof(fdNdEtaParam)/sizeof(fdNdEtaParam[0])); i++)
  {
    fdNdEtaParam[i]=0.0;
  }

  SetName(Form("Glauber_%s_%s",fANucleus.GetName(),fBNucleus.GetName()));
  SetTitle(Form("Glauber %s+%s Version",fANucleus.GetName(),fBNucleus.GetName()));
}

//______________________________________________________________________________
AliGlauberMC::~AliGlauberMC()
{
  //dtor
  delete fnt;
}

//______________________________________________________________________________
AliGlauberMC::AliGlauberMC(const AliGlauberMC& in):
  TNamed(in),
  fANucleus(in.fANucleus),
  fBNucleus(in.fBNucleus),
  fXSect(in.fXSect),
  fNucleonsA(in.fNucleonsA),
  fNucleonsB(in.fNucleonsB),
  fAN(in.fAN),
  fQAN(in.fQAN),
  fBN(in.fBN),
  fQBN(in.fQBN),
  fnt(in.fnt),
  fMeanX2(in.fMeanX2),
  fMeanY2(in.fMeanY2),
  fMeanXY(in.fMeanXY),
  fMeanX2Parts(in.fMeanX2Parts),
  fMeanY2Parts(in.fMeanY2Parts),
  fMeanXYParts(in.fMeanXYParts),
  fMeanXParts(in.fMeanXParts),
  fMeanYParts(in.fMeanYParts),
  fMeanOXParts(in.fMeanOXParts),
  fMeanOYParts(in.fMeanOYParts),
  fMeanXColl(in.fMeanXColl),
  fMeanYColl(in.fMeanYColl),
  fMeanOXColl(in.fMeanOXColl),
  fMeanOYColl(in.fMeanOYColl),
  fMeanX2Coll(in.fMeanX2Coll),
  fMeanY2Coll(in.fMeanY2Coll),
  fMeanXYColl(in.fMeanXYColl),
  fMeanXCom(in.fMeanXCom),
  fMeanYCom(in.fMeanYCom),
  fMeanOXCom(in.fMeanOXCom),
  fMeanOYCom(in.fMeanOYCom),
  fMeanX2Com(in.fMeanX2Com),
  fMeanY2Com(in.fMeanY2Com),
  fMeanXYCom(in.fMeanXYCom),
  fMeanXSystem(in.fMeanXSystem),
  fMeanYSystem(in.fMeanYSystem),
  fMeanXA(in.fMeanXA),
  fMeanYA(in.fMeanYA),
  fMeanXB(in.fMeanXB),
  fMeanYB(in.fMeanYB),
  fMeanOXA(in.fMeanOXA),
  fMeanOYA(in.fMeanOYA),
  fMeanOXB(in.fMeanOXB),
  fMeanOYB(in.fMeanOYB),
  fBMC(in.fBMC),
  fEvents(in.fEvents),
  fTotalEvents(in.fTotalEvents),
  fBMin(in.fBMin),
  fBMax(in.fBMax),
  fMultType(in.fMultType),
  fMaxNpartFound(in.fMaxNpartFound),
  fONpart(in.fONpart),
  fONcoll(in.fONcoll),
  fONcom(in.fONcom),
  fNpart(in.fNpart),
  fNcoll(in.fNcoll),
  fNcom(in.fNcom),
  fMeanr2(in.fMeanr2),
  fMeanr3(in.fMeanr3),
  fMeanr4(in.fMeanr4),
  fMeanr5(in.fMeanr5),
  fMeanr2Cos2Phi(in.fMeanr2Cos2Phi),
  fMeanr2Sin2Phi(in.fMeanr2Sin2Phi),
  fMeanr2Cos3Phi(in.fMeanr2Cos3Phi),
  fMeanr2Sin3Phi(in.fMeanr2Sin3Phi),
  fMeanr2Cos4Phi(in.fMeanr2Cos4Phi),
  fMeanr2Sin4Phi(in.fMeanr2Sin4Phi),
  fMeanr2Cos5Phi(in.fMeanr2Cos5Phi),
  fMeanr2Sin5Phi(in.fMeanr2Sin5Phi),
  fMeanr3Cos3Phi(in.fMeanr3Cos3Phi),
  fMeanr3Sin3Phi(in.fMeanr3Sin3Phi),
  fMeanr4Cos4Phi(in.fMeanr4Cos4Phi),
  fMeanr4Sin4Phi(in.fMeanr4Sin4Phi),
  fMeanr5Cos5Phi(in.fMeanr5Cos5Phi),
  fMeanr5Sin5Phi(in.fMeanr5Sin5Phi),
  fMeanr2Coll(in.fMeanr2Coll),
  fMeanr3Coll(in.fMeanr3Coll),
  fMeanr4Coll(in.fMeanr4Coll),
  fMeanr5Coll(in.fMeanr5Coll),
  fMeanr2Cos2PhiColl(in.fMeanr2Cos2PhiColl),
  fMeanr2Sin2PhiColl(in.fMeanr2Sin2PhiColl),
  fMeanr2Cos3PhiColl(in.fMeanr2Cos3PhiColl),
  fMeanr2Sin3PhiColl(in.fMeanr2Sin3PhiColl),
  fMeanr2Cos4PhiColl(in.fMeanr2Cos4PhiColl),
  fMeanr2Sin4PhiColl(in.fMeanr2Sin4PhiColl),
  fMeanr2Cos5PhiColl(in.fMeanr2Cos5PhiColl),
  fMeanr2Sin5PhiColl(in.fMeanr2Sin5PhiColl),
  fMeanr3Cos3PhiColl(in.fMeanr3Cos3PhiColl),
  fMeanr3Sin3PhiColl(in.fMeanr3Sin3PhiColl),
  fMeanr4Cos4PhiColl(in.fMeanr4Cos4PhiColl),
  fMeanr4Sin4PhiColl(in.fMeanr4Sin4PhiColl),
  fMeanr5Cos5PhiColl(in.fMeanr5Cos5PhiColl),
  fMeanr5Sin5PhiColl(in.fMeanr5Sin5PhiColl),
  fMeanr2Com(in.fMeanr2Com),
  fMeanr3Com(in.fMeanr3Com),
  fMeanr4Com(in.fMeanr4Com),
  fMeanr5Com(in.fMeanr5Com),
  fMeanr2Cos2PhiCom(in.fMeanr2Cos2PhiCom),
  fMeanr2Sin2PhiCom(in.fMeanr2Sin2PhiCom),
  fMeanr2Cos3PhiCom(in.fMeanr2Cos3PhiCom),
  fMeanr2Sin3PhiCom(in.fMeanr2Sin3PhiCom),
  fMeanr2Cos4PhiCom(in.fMeanr2Cos4PhiCom),
  fMeanr2Sin4PhiCom(in.fMeanr2Sin4PhiCom),
  fMeanr2Cos5PhiCom(in.fMeanr2Cos5PhiCom),
  fMeanr2Sin5PhiCom(in.fMeanr2Sin5PhiCom),
  fMeanr3Cos3PhiCom(in.fMeanr3Cos3PhiCom),
  fMeanr3Sin3PhiCom(in.fMeanr3Sin3PhiCom),
  fMeanr4Cos4PhiCom(in.fMeanr4Cos4PhiCom),
  fMeanr4Sin4PhiCom(in.fMeanr4Sin4PhiCom),
  fMeanr5Cos5PhiCom(in.fMeanr5Cos5PhiCom),
  fMeanr5Sin5PhiCom(in.fMeanr5Sin5PhiCom),
  fSx2Parts(in.fSx2Parts),
  fSy2Parts(in.fSy2Parts),
  fSxyParts(in.fSxyParts),
  fSx2Coll(in.fSx2Coll),
  fSy2Coll(in.fSy2Coll),
  fSxyColl(in.fSxyColl),
  fSx2Com(in.fSx2Com),
  fSy2Com(in.fSy2Com),
  fSxyCom(in.fSxyCom),
  fX(in.fX),
  fNpp(in.fNpp),
  fDoPartProd(in.fDoPartProd),
  fBNN(in.fBNN),
  fDoFluc(in.fDoFluc),
  fOmega(in.fOmega),
  fSig0(in.fSig0),
  fLambda(in.fLambda),
  fSigFluc(in.fSigFluc)
{
  //copy ctor
  memcpy(fdNdEtaParam,in.fdNdEtaParam,sizeof(fdNdEtaParam));
}

//______________________________________________________________________________
AliGlauberMC& AliGlauberMC::operator=(const AliGlauberMC& in)
{
  //assignment
  if (&in==this) return *this;
  fANucleus=in.fANucleus;
  fBNucleus=in.fBNucleus;
  fXSect=in.fXSect;
  fNucleonsA=in.fNucleonsA;
  fNucleonsB=in.fNucleonsB;
  fAN=in.fAN;
  fQAN=in.fQAN;
  fBN=in.fBN;
  fQBN=in.fQBN;
  fnt=in.fnt;
  fMeanX2=in.fMeanX2;
  fMeanY2=in.fMeanY2;
  fMeanXY=in.fMeanXY;
  fMeanr2=in.fMeanr2;
  fMeanr3=in.fMeanr3;
  fMeanr4=in.fMeanr4;
  fMeanr5=in.fMeanr5;
  fMeanXParts=in.fMeanXParts;
  fMeanYParts=in.fMeanYParts;
  fMeanOXParts=in.fMeanOXParts;
  fMeanOYParts=in.fMeanOYParts;
  fMeanXColl=in.fMeanXColl;
  fMeanYColl=in.fMeanYColl;
  fMeanOXColl=in.fMeanOXColl;
  fMeanOYColl=in.fMeanOYColl;
  fMeanX2Coll=in.fMeanX2Coll;
  fMeanY2Coll=in.fMeanY2Coll;
  fMeanXYColl=in.fMeanXYColl;
  fMeanr2Coll=in.fMeanr2Coll;
  fMeanr3Coll=in.fMeanr3Coll;
  fMeanr4Coll=in.fMeanr4Coll;
  fMeanr5Coll=in.fMeanr5Coll;
  fMeanXCom=in.fMeanXColl;
  fMeanYCom=in.fMeanYColl;
  fMeanOXCom=in.fMeanOXCom;
  fMeanOYCom=in.fMeanOYCom;
  fMeanX2Com=in.fMeanX2Com;
  fMeanY2Com=in.fMeanY2Com;
  fMeanXYCom=in.fMeanXYCom;
  fMeanr2Com=in.fMeanr2Com;
  fMeanr3Com=in.fMeanr3Com;
  fMeanr4Com=in.fMeanr4Com;
  fMeanr5Com=in.fMeanr5Com;
  fMeanXSystem=in.fMeanXSystem;
  fMeanYSystem=in.fMeanYSystem; 
  fMeanXA=in.fMeanXA;
  fMeanYA=in.fMeanYA;
  fMeanXB=in.fMeanXB;
  fMeanYB=in.fMeanYB;
  fMeanOXA=in.fMeanOXA;
  fMeanOYA=in.fMeanOYA;
  fMeanOXB=in.fMeanOXB;
  fMeanOYB=in.fMeanOYB;
  fBMC=in.fBMC;
  fEvents=in.fEvents;
  fTotalEvents=in.fTotalEvents;
  fBMin=in.fBMin;
  fBMax=in.fBMax;
  fMultType=in.fMultType,
  memcpy(fdNdEtaParam,in.fdNdEtaParam,sizeof(fdNdEtaParam));
  fMaxNpartFound=in.fMaxNpartFound;
  fNpart=in.fNpart;
  fNcoll=in.fNcoll;
  fNcom=in.fNcom;
  fONpart=in.fONpart;
  fONcoll=in.fONcoll;
  fONcom=in.fONcom;
  fMeanr2Cos2Phi=in.fMeanr2Cos2Phi;
  fMeanr2Sin2Phi=in.fMeanr2Sin2Phi;
  fMeanr2Cos3Phi=in.fMeanr2Cos3Phi;
  fMeanr2Sin3Phi=in.fMeanr2Sin3Phi;
  fMeanr2Cos4Phi=in.fMeanr2Cos4Phi;
  fMeanr2Sin4Phi=in.fMeanr2Sin4Phi;
  fMeanr2Cos5Phi=in.fMeanr2Cos5Phi;
  fMeanr2Sin5Phi=in.fMeanr2Sin5Phi;
  fMeanr3Cos3Phi=in.fMeanr3Cos3Phi;
  fMeanr3Sin3Phi=in.fMeanr3Sin3Phi;
  fMeanr4Cos4Phi=in.fMeanr4Cos4Phi;
  fMeanr4Sin4Phi=in.fMeanr4Sin4Phi;
  fMeanr5Cos5Phi=in.fMeanr5Cos5Phi;
  fMeanr5Sin5Phi=in.fMeanr5Sin5Phi;
  fMeanr2Cos2PhiColl=in.fMeanr2Cos2PhiColl;
  fMeanr2Sin2PhiColl=in.fMeanr2Sin2PhiColl;
  fMeanr2Cos3PhiColl=in.fMeanr2Cos3PhiColl;
  fMeanr2Sin3PhiColl=in.fMeanr2Sin3PhiColl;
  fMeanr2Cos4PhiColl=in.fMeanr2Cos4PhiColl;
  fMeanr2Sin4PhiColl=in.fMeanr2Sin4PhiColl;
  fMeanr2Cos5PhiColl=in.fMeanr2Cos5PhiColl;
  fMeanr2Sin5PhiColl=in.fMeanr2Sin5PhiColl;
  fMeanr3Cos3PhiColl=in.fMeanr3Cos3PhiColl;
  fMeanr3Sin3PhiColl=in.fMeanr3Sin3PhiColl;
  fMeanr4Cos4PhiColl=in.fMeanr4Cos4PhiColl;
  fMeanr4Sin4PhiColl=in.fMeanr4Sin4PhiColl;
  fMeanr5Cos5PhiColl=in.fMeanr5Cos5PhiColl;
  fMeanr5Sin5PhiColl=in.fMeanr5Sin5PhiColl;
  fMeanr2Cos2PhiCom=in.fMeanr2Cos2PhiCom;
  fMeanr2Sin2PhiCom=in.fMeanr2Sin2PhiCom;
  fMeanr2Cos3PhiCom=in.fMeanr2Cos3PhiCom;
  fMeanr2Sin3PhiCom=in.fMeanr2Sin3PhiCom;
  fMeanr2Cos4PhiCom=in.fMeanr2Cos4PhiCom;
  fMeanr2Sin4PhiCom=in.fMeanr2Sin4PhiCom;
  fMeanr2Cos5PhiCom=in.fMeanr2Cos5PhiCom;
  fMeanr2Sin5PhiCom=in.fMeanr2Sin5PhiCom;
  fMeanr3Cos3PhiCom=in.fMeanr3Cos3PhiCom;
  fMeanr3Sin3PhiCom=in.fMeanr3Sin3PhiCom;
  fMeanr4Cos4PhiCom=in.fMeanr4Cos4PhiCom;
  fMeanr4Sin4PhiCom=in.fMeanr4Sin4PhiCom;
  fMeanr5Cos5PhiCom=in.fMeanr5Cos5PhiCom;
  fMeanr5Sin5PhiCom=in.fMeanr5Sin5PhiCom;
  fSx2Parts=in.fSx2Parts;
  fSy2Parts=in.fSy2Parts;
  fSxyParts=in.fSxyParts;
  fSx2Coll=in.fSx2Coll;
  fSy2Coll=in.fSy2Coll;
  fSxyColl=in.fSxyColl;
  fSx2Com=in.fSx2Com;
  fSy2Com=in.fSy2Com;
  fSxyCom=in.fSxyCom;
  fX=in.fX;
  fNpp=in.fNpp;
  return *this;
}

//______________________________________________________________________________
Bool_t AliGlauberMC::CalcEvent(Double_t bgen)
{
  // prepare event

  if (fDoFluc) {
    if (!fSigFluc) {
      fSigFluc = new TF1("fSigFluc","[0]*x/[3]/(x/[3]+[1])*exp(-((x/[1]/[3]-1)/[2])^2)",0,250);
      fSigFluc->SetParameters(1,fSig0,fOmega,fLambda);
      cout << "Setting fluc: " << fSig0 << " " << fOmega << " " << fLambda << endl;
    }
  }

  fANucleus.ThrowNucleons(-bgen/2.);
  fNucleonsA = fANucleus.GetNucleons();
  fAN = fANucleus.GetN();
  fQAN = fAN * 3;
  //fAN = 3 * fANucleus.GetN(); // for Pb, Number of quark = 3*208;
  for (Int_t i = 0; i<fAN; i++)
  {
    AliGlauberNucleon *nucleonA=(AliGlauberNucleon*)(fNucleonsA->UncheckedAt(i));
    nucleonA->SetInNucleusA();
    nucleonA->SetSigNN(fXSect);
    if (fDoFluc)
      nucleonA->SetSigNN(fSigFluc->GetRandom());
  }
  fBNucleus.ThrowNucleons(bgen/2.);
  fNucleonsB = fBNucleus.GetNucleons();
  //fBN = 3 * fBNucleus.GetN(); // Number of quark = number of nucleus*3;
  fBN = fBNucleus.GetN();
  fQBN = fBN * 3;
  for (Int_t i = 0; i<fBN; i++)
  {
    AliGlauberNucleon *nucleonB=(AliGlauberNucleon*)(fNucleonsB->UncheckedAt(i));
    nucleonB->SetInNucleusB();
    nucleonB->SetSigNN(fXSect);
    if (fDoFluc)
      nucleonB->SetSigNN(fSigFluc->GetRandom());
  }

  if (fDoFluc) {
    if (!fSigFluc) {
      fSigFluc = new TF1("fSigFluc","[0]*x/[3]/(x/[3]+[1])*exp(-((x/[1]/[3]-1)/[2])^2)",0,250);
      fSigFluc->SetParameters(1,fSig0,fOmega,fLambda);
      cout << "Setting fluc: " << fSig0 << " " << fOmega << " " << fLambda << endl;
    }
    fXSect = fSigFluc->GetRandom();
  }
  // "ball" diameter = distance at which two balls interact
  Double_t d2 = (Double_t)fXSect/(TMath::Pi()*10); // in fm^2

  Double_t bNN   = 0;
  Double_t Nco   = 0;
  Double_t Ncohc = 0; // hard core

  // for each of the A nucleons in nucleus B
  for (Int_t i = 0; i<fBN; i++)
  {
    AliGlauberNucleon *nucleonB=(AliGlauberNucleon*)(fNucleonsB->UncheckedAt(i));
    for (Int_t j = 0 ; j < fAN ; j++)
    {
      AliGlauberNucleon *nucleonA=(AliGlauberNucleon*)(fNucleonsA->UncheckedAt(j));
      Double_t dx = nucleonB->GetX()-nucleonA->GetX();
      Double_t dy = nucleonB->GetY()-nucleonA->GetY();
      Double_t dij = dx*dx+dy*dy;
      if (fDoFluc) {
	//fXSect = nucleonA->GetSigNN();
	//fXSect = (nucleonA->GetSigNN()+nucleonB->GetSigNN())/2.;
	fXSect = TMath::Max(nucleonA->GetSigNN(),nucleonB->GetSigNN());
	d2 = (Double_t)fXSect/(TMath::Pi()*10); // in fm^2
      }
      if (dij < d2)
      {
	bNN += dij;
	++Nco;
        nucleonB->Collide();
        nucleonA->Collide();
	if (dij<d2/4)
	  ++Ncohc;
      }
    }
  }

  if (Nco>0) {
    fNcollw = Ncohc;
    fBNN = bNN/Nco;
  } else {
    fNcollw = 0;
    fBNN    = 0.;
  }

  if (Nco>0)
    fBNN = bNN/Nco;
  else
    fBNN = 0.;
  return CalcResults(bgen);
}

//______________________________________________________________________________
Bool_t AliGlauberMC::CalcResults(Double_t bgen)
{
  // calc results for the given event
  //return true if we have participants

  fNpart=0;
  fNcoll=0;
  fNcom=0;
  fONpart=0;
  fONcoll=0;
  fONcom=0;
  fMeanX2=0.;
  fMeanY2=0.;
  fMeanXY=0.;
  fMeanXParts=0.;
  fMeanYParts=0.;
  fMeanOXParts=0.;
  fMeanOYParts=0.;
  fMeanXColl=0.;
  fMeanYColl=0.;
  fMeanOXColl=0.;
  fMeanOYColl=0.;
  fMeanX2Coll=0.;
  fMeanY2Coll=0.;
  fMeanXYColl=0.;
  fMeanXCom=0.;
  fMeanYCom=0.;
  fMeanOXCom=0.;
  fMeanOYCom=0.;
  fMeanX2Com=0.;
  fMeanY2Com=0.;
  fMeanXYCom=0.;
  fMeanXSystem=0.;
  fMeanYSystem=0.;
  fMeanXA=0.;
  fMeanYA=0.;
  fMeanXB=0.;
  fMeanYB=0.;
  fMeanOXA=0.;
  fMeanOYA=0.;
  fMeanOXB=0.;
  fMeanOYB=0.;
  fMeanr2=0.;
  fMeanr3=0.;
  fMeanr4=0.;
  fMeanr5=0.;
  fMeanr2Cos2Phi=0.;
  fMeanr2Sin2Phi=0.;
  fMeanr2Cos3Phi=0.;
  fMeanr2Sin3Phi=0.;
  fMeanr2Cos4Phi=0.;
  fMeanr2Sin4Phi=0.;
  fMeanr2Cos5Phi=0.;
  fMeanr2Sin5Phi=0.;
  fMeanr3Cos3Phi=0.;
  fMeanr3Sin3Phi=0.;
  fMeanr4Cos4Phi=0.;
  fMeanr4Sin4Phi=0.;
  fMeanr5Cos5Phi=0.;
  fMeanr5Sin5Phi=0.;
  fMeanr2Coll=0.;
  fMeanr3Coll=0.;
  fMeanr4Coll=0.;
  fMeanr5Coll=0.;
  fMeanr2Cos2PhiColl=0.;
  fMeanr2Sin2PhiColl=0.;
  fMeanr2Cos3PhiColl=0.;
  fMeanr2Sin3PhiColl=0.;
  fMeanr2Cos4PhiColl=0.;
  fMeanr2Sin4PhiColl=0.;
  fMeanr2Cos5PhiColl=0.;
  fMeanr2Sin5PhiColl=0.;
  fMeanr3Cos3PhiColl=0.;
  fMeanr3Sin3PhiColl=0.;
  fMeanr4Cos4PhiColl=0.;
  fMeanr4Sin4PhiColl=0.;
  fMeanr5Cos5PhiColl=0.;
  fMeanr5Sin5PhiColl=0.;
  fMeanr2Com=0.;
  fMeanr3Com=0.;
  fMeanr4Com=0.;
  fMeanr5Com=0.;
  fMeanr2Cos2PhiCom=0.;
  fMeanr2Sin2PhiCom=0.;
  fMeanr2Cos3PhiCom=0.;
  fMeanr2Sin3PhiCom=0.;
  fMeanr2Cos4PhiCom=0.;
  fMeanr2Sin4PhiCom=0.;
  fMeanr2Cos5PhiCom=0.;
  fMeanr2Sin5PhiCom=0.;
  fMeanr3Cos3PhiCom=0.;
  fMeanr3Sin3PhiCom=0.;
  fMeanr4Cos4PhiCom=0.;
  fMeanr4Sin4PhiCom=0.;
  fMeanr5Cos5PhiCom=0.;
  fMeanr5Sin5PhiCom=0.;

  for (Int_t i = 0; i<fAN; i++)
  {
    AliGlauberNucleon *nucleonA=(AliGlauberNucleon*)(fNucleonsA->UncheckedAt(i));
    Double_t oXA = nucleonA->GetX();
    Double_t oYA = nucleonA->GetY();
    //fMeanOXSystem  += oXA;
    //fMeanOYSystem  += oYA;
    fMeanOXA  += oXA;
    fMeanOYA  += oYA;

    if(nucleonA->IsWounded())
    {
      fONpart++;
      fMeanOXParts  += oXA;
      fMeanOYParts  += oYA;
      
      fONcom += (1-0.150);
      fMeanOXCom  += oXA*(1-0.150);
      fMeanOYCom += oXA*(1-0.150);
    }
  }

  for (Int_t i = 0; i<fBN; i++)
  {
    AliGlauberNucleon *nucleonB=(AliGlauberNucleon*)(fNucleonsB->UncheckedAt(i));
    Double_t oXB=nucleonB->GetX();
    Double_t oYB=nucleonB->GetY();
    
    if(nucleonB->IsWounded())
    {
      Int_t oNcoll = nucleonB->GetNColl();
      fONpart++;
      fMeanOXParts  += oXB;
      fMeanOXColl  += oXB*oNcoll;
      fMeanOXCom  += oXB*((1-0.150)+0.150*oNcoll);
      fMeanOYParts  += oYB;
      fMeanOYColl += oYB*oNcoll;
      fMeanOYCom += oYB*((1-0.150)+0.150*oNcoll);
      fONcoll += oNcoll;
      fONcom += ((1-0.150)+0.150*oNcoll);
    }
  }

  if (fONpart>0)
  {
    fMeanOXParts /= fONpart;
    fMeanOYParts /= fONpart;
  }
  else
  {
    fMeanOXParts = 0;
    fMeanOYParts = 0;
  }

  if (fONcoll>0)
  {
    fMeanOXColl /= fONcoll;
    fMeanOYColl /= fONcoll;
  }
  else
  {
    fMeanOXColl = 0;
    fMeanOYColl = 0;
  }

 if (fONcom>0)
  {
    fMeanOXCom /= fONcom;
    fMeanOYCom /= fONcom;
  }
  else
  {
    fMeanOXCom = 0;
    fMeanOYCom = 0;
  }
  
  //////////////////////////////////////////////////////////////////
  for (Int_t i = 0; i<fAN; i++)
  {
    AliGlauberNucleon *nucleonA=(AliGlauberNucleon*)(fNucleonsA->UncheckedAt(i));
    Double_t xAA = nucleonA->GetX(); // X
    Double_t yAA = nucleonA->GetY(); // Y
    Double_t xAPart = xAA - fMeanOXParts; // X'
    Double_t yAPart = yAA - fMeanOYParts; // Y'
    Double_t r2APart = xAPart *xAPart+yAPart*yAPart;     // r'^2
    Double_t rAPart = TMath::Sqrt(r2APart);  // r'
    Double_t r3APart = r2APart*rAPart;
    Double_t r4APart = r3APart*rAPart;
    Double_t r5APart = r4APart*rAPart;
    Double_t phiAPart = TMath::ATan2(yAPart,xAPart);
    Double_t sin2PhiAPart = TMath::Sin(2.*phiAPart);
    Double_t cos2PhiAPart = TMath::Cos(2.*phiAPart);
    Double_t sin3PhiAPart = TMath::Sin(3.*phiAPart);
    Double_t cos3PhiAPart = TMath::Cos(3.*phiAPart);
    Double_t sin4PhiAPart = TMath::Sin(4.*phiAPart);
    Double_t cos4PhiAPart = TMath::Cos(4.*phiAPart);
    Double_t sin5PhiAPart = TMath::Sin(5.*phiAPart);
    Double_t cos5PhiAPart = TMath::Cos(5.*phiAPart);
   
    // for combine
    Double_t xACom = xAA - fMeanOXCom; // X'-Combine
    Double_t yACom = yAA - fMeanOYCom; // Y'-C
    Double_t r2ACom = xACom *xACom+yACom*yACom;     // r'^2-C
    Double_t rACom = TMath::Sqrt(r2ACom);  // r'-C
    Double_t r3ACom = r2ACom*rACom;
    Double_t r4ACom = r3ACom*rACom;
    Double_t r5ACom = r4ACom*rACom;
    Double_t phiACom = TMath::ATan2(yACom,xACom);
    Double_t sin2PhiACom = TMath::Sin(2.*phiACom);
    Double_t cos2PhiACom = TMath::Cos(2.*phiACom);
    Double_t sin3PhiACom = TMath::Sin(3.*phiACom);
    Double_t cos3PhiACom = TMath::Cos(3.*phiACom);
    Double_t sin4PhiACom = TMath::Sin(4.*phiACom);
    Double_t cos4PhiACom = TMath::Cos(4.*phiACom);
    Double_t sin5PhiACom = TMath::Sin(5.*phiACom);
    Double_t cos5PhiACom = TMath::Cos(5.*phiACom);   
    
    fMeanXSystem  += xAA;
    fMeanYSystem  += yAA;
    fMeanXA  += xAA;
    fMeanYA  += yAA;
    fMeanX2 += xAA * xAA;
    fMeanY2 += yAA * yAA;
    fMeanXY += xAA * yAA;
    
    if(nucleonA->IsWounded())
     {
       //Wounded
      fNpart++;
      fMeanXParts  += xAPart;
      fMeanYParts  += yAPart;
      fMeanX2Parts += xAPart * xAPart;
      fMeanY2Parts += yAPart * yAPart;
      fMeanXYParts += xAPart * yAPart;
      fMeanr2 += r2APart;
      fMeanr3 += r3APart;
      fMeanr4 += r4APart;
      fMeanr5 += r5APart;
      fMeanr2Cos2Phi += r2APart*cos2PhiAPart;
      fMeanr2Sin2Phi += r2APart*sin2PhiAPart;
      fMeanr2Cos3Phi += r2APart*cos3PhiAPart;
      fMeanr2Sin3Phi += r2APart*sin3PhiAPart;
      fMeanr2Cos4Phi += r2APart*cos4PhiAPart;
      fMeanr2Sin4Phi += r2APart*sin4PhiAPart;
      fMeanr2Cos5Phi += r2APart*cos5PhiAPart;
      fMeanr2Sin5Phi += r2APart*sin5PhiAPart;
      fMeanr3Cos3Phi += r3APart*cos3PhiAPart;
      fMeanr3Sin3Phi += r3APart*sin3PhiAPart;
      fMeanr4Cos4Phi += r4APart*cos4PhiAPart;
      fMeanr4Sin4Phi += r4APart*sin4PhiAPart;
      fMeanr5Cos5Phi += r5APart*cos5PhiAPart;
      fMeanr5Sin5Phi += r5APart*sin5PhiAPart;

      // Combined
      fMeanXCom  += xACom*(1-0.150);
      fMeanYCom += yACom*(1-0.150);
      fMeanX2Com += xACom*xACom*(1-0.150);
      fMeanY2Com += yACom*yACom*(1-0.150);
      fMeanXYCom += xACom*yACom*(1-0.150);
      fNcom += (1-0.150);
      fMeanr2Com += r2ACom*(1-0.150);
      fMeanr3Com += r3ACom*(1-0.150);
      fMeanr4Com += r4ACom*(1-0.150);
      fMeanr5Com += r5ACom*(1-0.150);
      fMeanr2Cos2PhiCom += r2ACom*cos2PhiACom*(1-0.150);
      fMeanr2Sin2PhiCom += r2ACom*sin2PhiACom*(1-0.150);
      fMeanr2Cos3PhiCom += r2ACom*cos3PhiACom*(1-0.150);
      fMeanr2Sin3PhiCom += r2ACom*sin3PhiACom*(1-0.150);
      fMeanr2Cos4PhiCom += r2ACom*cos4PhiACom*(1-0.150);
      fMeanr2Sin4PhiCom += r2ACom*sin4PhiACom*(1-0.150);
      fMeanr2Cos5PhiCom += r2ACom*cos5PhiACom*(1-0.150);
      fMeanr2Sin5PhiCom += r2ACom*sin5PhiACom*(1-0.150);
      fMeanr3Cos3PhiCom += r3ACom*cos3PhiACom*(1-0.150);
      fMeanr3Sin3PhiCom += r3ACom*sin3PhiACom*(1-0.150);
      fMeanr4Cos4PhiCom += r4ACom*cos4PhiACom*(1-0.150);
      fMeanr4Sin4PhiCom += r4ACom*sin4PhiACom*(1-0.150);
      fMeanr5Cos5PhiCom += r5ACom*cos5PhiACom*(1-0.150);
      fMeanr5Sin5PhiCom += r5ACom*sin5PhiACom*(1-0.150);
      
    }
  }
  
  for (Int_t i = 0; i<fBN; i++)
    {
      AliGlauberNucleon *nucleonB=(AliGlauberNucleon*)(fNucleonsB->UncheckedAt(i));
      Double_t xBB = nucleonB->GetX();
      Double_t yBB = nucleonB->GetY();
      // for Wounded
      Double_t xBPart = xBB - fMeanOXParts; // X'
      Double_t yBPart = yBB - fMeanOYParts; // Y'
      Double_t r2BPart = xBPart*xBPart+yBPart*yBPart;     // r'^2
      Double_t rBPart = TMath::Sqrt(r2BPart);  // r'
      Double_t r3BPart = r2BPart*rBPart;
      Double_t r4BPart = r3BPart*rBPart;
      Double_t r5BPart = r4BPart*rBPart;
      Double_t phiBPart = TMath::ATan2(yBPart,xBPart);
      Double_t sin2PhiBPart = TMath::Sin(2.*phiBPart);
      Double_t cos2PhiBPart = TMath::Cos(2.*phiBPart);
      Double_t sin3PhiBPart = TMath::Sin(3.*phiBPart);
      Double_t cos3PhiBPart = TMath::Cos(3.*phiBPart);
      Double_t sin4PhiBPart = TMath::Sin(4.*phiBPart);
      Double_t cos4PhiBPart = TMath::Cos(4.*phiBPart);
      Double_t sin5PhiBPart = TMath::Sin(5.*phiBPart);
      Double_t cos5PhiBPart = TMath::Cos(5.*phiBPart);
      // for Binary
      Double_t xBColl = xBB - fMeanOXColl; // X'-Binary
      Double_t yBColl = yBB - fMeanOYColl; // Y'-B
      Double_t r2BColl = xBColl*xBColl+yBColl*yBColl;     // r'^2-B
      Double_t rBColl = TMath::Sqrt(r2BColl);  // r'-B
      Double_t r3BColl = r2BColl*rBColl;
      Double_t r4BColl = r3BColl*rBColl;
      Double_t r5BColl = r4BColl*rBColl;
      Double_t phiBColl = TMath::ATan2(yBColl,xBColl);
      Double_t sin2PhiBColl = TMath::Sin(2.*phiBColl);
      Double_t cos2PhiBColl = TMath::Cos(2.*phiBColl);
      Double_t sin3PhiBColl = TMath::Sin(3.*phiBColl);
      Double_t cos3PhiBColl = TMath::Cos(3.*phiBColl);
      Double_t sin4PhiBColl = TMath::Sin(4.*phiBColl);
      Double_t cos4PhiBColl = TMath::Cos(4.*phiBColl);
      Double_t sin5PhiBColl = TMath::Sin(5.*phiBColl);
      Double_t cos5PhiBColl = TMath::Cos(5.*phiBColl);
      // for combine
      Double_t xBCom = xBB - fMeanOXCom; // X'-Combine
      Double_t yBCom = yBB - fMeanOYCom; // Y'-C
      Double_t r2BCom = xBCom *xBCom+yBCom*yBCom;     // r'^2-C
      Double_t rBCom = TMath::Sqrt(r2BCom);  // r'-C
      Double_t r3BCom = r2BCom*rBCom;
      Double_t r4BCom = r3BCom*rBCom;
      Double_t r5BCom = r4BCom*rBCom;
      Double_t phiBCom = TMath::ATan2(yBCom,xBCom);
      Double_t sin2PhiBCom = TMath::Sin(2.*phiBCom);
      Double_t cos2PhiBCom = TMath::Cos(2.*phiBCom);
      Double_t sin3PhiBCom = TMath::Sin(3.*phiBCom);
      Double_t cos3PhiBCom = TMath::Cos(3.*phiBCom);
      Double_t sin4PhiBCom = TMath::Sin(4.*phiBCom);
      Double_t cos4PhiBCom = TMath::Cos(4.*phiBCom);
      Double_t sin5PhiBCom = TMath::Sin(5.*phiBCom);
      Double_t cos5PhiBCom = TMath::Cos(5.*phiBCom);   
      
      fMeanXSystem  += xBB;
      fMeanYSystem  += yBB;
      fMeanXB  += xBB;
      fMeanYB  += yBB;
      fMeanX2 += xBB*xBB;
      fMeanY2 += yBB*yBB;
      fMeanXY += xBB*yBB;
      
      if(nucleonB->IsWounded())
	{
	  Int_t ncoll = nucleonB->GetNColl();
	  fNpart++;
	  fMeanXParts  += xBPart;
	  fMeanXColl  += xBColl*ncoll;
	  fMeanXCom  += xBCom*((1-0.150)+0.150*ncoll);
	  fMeanYParts  += yBPart;
	  fMeanYColl += yBColl*ncoll;
	  fMeanYCom += yBCom*((1-0.150)+0.150*ncoll);
	  fMeanX2Parts += xBPart * xBPart;
	  fMeanX2Coll += xBColl*xBColl*ncoll;
	  fMeanX2Com += xBCom*xBCom*((1-0.150)+0.150*ncoll);
	  fMeanY2Parts += yBPart * yBPart;
	  fMeanY2Coll += yBColl*yBColl*ncoll;
	  fMeanY2Com += yBCom*yBCom*((1-0.150)+0.150*ncoll);
	  fMeanXYParts += xBPart * yBPart;
	  fMeanXYColl += xBColl*yBColl*ncoll;
	  fMeanXYCom += xBCom*yBCom*((1-0.150)+0.150*ncoll);
	  fNcoll += ncoll;
	  fNcom += ((1-0.150)+0.150*ncoll);
	  fMeanr2 += r2BPart;
	  fMeanr3 += r3BPart;
	  fMeanr4 += r4BPart;
	  fMeanr5 += r5BPart;
	  fMeanr2Cos2Phi += r2BPart*cos2PhiBPart;
	  fMeanr2Sin2Phi += r2BPart*sin2PhiBPart;
	  fMeanr2Cos3Phi += r2BPart*cos3PhiBPart;
	  fMeanr2Sin3Phi += r2BPart*sin3PhiBPart;
	  fMeanr2Cos4Phi += r2BPart*cos4PhiBPart;
	  fMeanr2Sin4Phi += r2BPart*sin4PhiBPart;
	  fMeanr2Cos5Phi += r2BPart*cos5PhiBPart;
	  fMeanr2Sin5Phi += r2BPart*sin5PhiBPart;
	  fMeanr3Cos3Phi += r3BPart*cos3PhiBPart;
	  fMeanr3Sin3Phi += r3BPart*sin3PhiBPart;
	  fMeanr4Cos4Phi += r4BPart*cos4PhiBPart;
	  fMeanr4Sin4Phi += r4BPart*sin4PhiBPart;
	  fMeanr5Cos5Phi += r5BPart*cos5PhiBPart;
	  fMeanr5Sin5Phi += r5BPart*sin5PhiBPart;
	  fMeanr2Coll += r2BColl*ncoll;
	  fMeanr3Coll += r3BColl*ncoll;
	  fMeanr4Coll += r4BColl*ncoll;
	  fMeanr5Coll += r5BColl*ncoll;
	  fMeanr2Cos2PhiColl += r2BColl*cos2PhiBColl*ncoll;
	  fMeanr2Sin2PhiColl += r2BColl*sin2PhiBColl*ncoll;
	  fMeanr2Cos3PhiColl += r2BColl*cos3PhiBColl*ncoll;
	  fMeanr2Sin3PhiColl += r2BColl*sin3PhiBColl*ncoll;
	  fMeanr2Cos4PhiColl += r2BColl*cos4PhiBColl*ncoll;
	  fMeanr2Sin4PhiColl += r2BColl*sin4PhiBColl*ncoll;
	  fMeanr2Cos5PhiColl += r2BColl*cos5PhiBColl*ncoll;
	  fMeanr2Sin5PhiColl += r2BColl*sin5PhiBColl*ncoll;
	  fMeanr3Cos3PhiColl += r3BColl*cos3PhiBColl*ncoll;
	  fMeanr3Sin3PhiColl += r3BColl*sin3PhiBColl*ncoll;
	  fMeanr4Cos4PhiColl += r4BColl*cos4PhiBColl*ncoll;
	  fMeanr4Sin4PhiColl += r4BColl*sin4PhiBColl*ncoll;
	  fMeanr5Cos5PhiColl += r5BColl*cos5PhiBColl*ncoll;
	  fMeanr5Sin5PhiColl += r5BColl*sin5PhiBColl*ncoll;
	  fMeanr2Com += r2BCom*((1-0.150)+0.150*ncoll);
	  fMeanr3Com += r3BCom*((1-0.150)+0.150*ncoll);
	  fMeanr4Com += r4BCom*((1-0.150)+0.150*ncoll);
	  fMeanr5Com += r5BCom*((1-0.150)+0.150*ncoll);
	  fMeanr2Cos2PhiCom += r2BCom*cos2PhiBCom*((1-0.150)+0.150*ncoll);
	  fMeanr2Sin2PhiCom += r2BCom*sin2PhiBCom*((1-0.150)+0.150*ncoll);
	  fMeanr2Cos3PhiCom += r2BCom*cos3PhiBCom*((1-0.150)+0.150*ncoll);
	  fMeanr2Sin3PhiCom += r2BCom*sin3PhiBCom*((1-0.150)+0.150*ncoll);
	  fMeanr2Cos4PhiCom += r2BCom*cos4PhiBCom*((1-0.150)+0.150*ncoll);
	  fMeanr2Sin4PhiCom += r2BCom*sin4PhiBCom*((1-0.150)+0.150*ncoll);
	  fMeanr2Cos5PhiCom += r2BCom*cos5PhiBCom*((1-0.150)+0.150*ncoll);
	  fMeanr2Sin5PhiCom += r2BCom*sin5PhiBCom*((1-0.150)+0.150*ncoll);
	  fMeanr3Cos3PhiCom += r3BCom*cos3PhiBCom*((1-0.150)+0.150*ncoll);
	  fMeanr3Sin3PhiCom += r3BCom*sin3PhiBCom*((1-0.150)+0.150*ncoll);
	  fMeanr4Cos4PhiCom += r4BCom*cos4PhiBCom*((1-0.150)+0.150*ncoll);
	  fMeanr4Sin4PhiCom += r4BCom*sin4PhiBCom*((1-0.150)+0.150*ncoll);
	  fMeanr5Cos5PhiCom += r5BCom*cos5PhiBCom*((1-0.150)+0.150*ncoll);
	  fMeanr5Sin5PhiCom += r5BCom*sin5PhiBCom*((1-0.150)+0.150*ncoll);
	}
    }
  
  if (fNpart>0)
    {
      fMeanXParts /= fNpart;
      fMeanYParts /= fNpart;
      fMeanX2Parts /= fNpart;
      fMeanY2Parts /= fNpart;
      fMeanXYParts /= fNpart;
      fMeanr2 /= fNpart;
      fMeanr3 /= fNpart;
      fMeanr4 /= fNpart;
      fMeanr5 /= fNpart;
      fMeanr2Cos2Phi /= fNpart;
      fMeanr2Sin2Phi /= fNpart;
      fMeanr2Cos3Phi /= fNpart;
      fMeanr2Sin3Phi /= fNpart;
      fMeanr2Cos4Phi /= fNpart;
      fMeanr2Sin4Phi /= fNpart;
      fMeanr2Cos5Phi /= fNpart;
      fMeanr2Sin5Phi /= fNpart;
      fMeanr3Cos3Phi /= fNpart;
      fMeanr3Sin3Phi /= fNpart;
      fMeanr4Cos4Phi /= fNpart;
      fMeanr4Sin4Phi /= fNpart;
      fMeanr5Cos5Phi /= fNpart;
      fMeanr5Sin5Phi /= fNpart;
    }
     
  else
    {
      fMeanXParts = 0;
      fMeanYParts = 0;
      fMeanX2Parts = 0;
      fMeanY2Parts = 0;
      fMeanXYParts = 0;
      fMeanr2 = 0;
      fMeanr3 = 0;
      fMeanr4 = 0;
      fMeanr5 = 0;
      fMeanr2Cos2Phi = 0;
      fMeanr2Sin2Phi = 0;
      fMeanr2Cos3Phi = 0;
      fMeanr2Sin3Phi = 0;
      fMeanr2Cos4Phi = 0;
      fMeanr2Sin4Phi = 0;
      fMeanr2Cos5Phi = 0;
      fMeanr2Sin5Phi = 0;
      fMeanr3Cos3Phi = 0;
      fMeanr3Sin3Phi = 0;
      fMeanr4Cos4Phi = 0;
      fMeanr4Sin4Phi = 0;
      fMeanr5Cos5Phi = 0;
      fMeanr5Sin5Phi = 0;
    }
  
  if (fNcoll>0)
    {
      fMeanXColl /= fNcoll;
      fMeanYColl /= fNcoll;
      fMeanX2Coll /= fNcoll;
      fMeanY2Coll /= fNcoll;
      fMeanXYColl /= fNcoll;
      fMeanr2Coll /= fNcoll;
      fMeanr3Coll /= fNcoll;
      fMeanr4Coll /= fNcoll;
      fMeanr5Coll /= fNcoll;
      fMeanr2Cos2PhiColl /= fNcoll;
      fMeanr2Sin2PhiColl /= fNcoll;
      fMeanr2Cos3PhiColl /= fNcoll;
      fMeanr2Sin3PhiColl /= fNcoll;
      fMeanr2Cos4PhiColl /= fNcoll;
      fMeanr2Sin4PhiColl /= fNcoll;
      fMeanr2Cos5PhiColl /= fNcoll;
      fMeanr2Sin5PhiColl /= fNcoll;
      fMeanr3Cos3PhiColl /= fNcoll;
      fMeanr3Sin3PhiColl /= fNcoll;
      fMeanr4Cos4PhiColl /= fNcoll;
      fMeanr4Sin4PhiColl /= fNcoll;
      fMeanr5Cos5PhiColl /= fNcoll;
      fMeanr5Sin5PhiColl /= fNcoll;
  }
  
  else
  {
    fMeanXColl = 0;
    fMeanYColl = 0;
    fMeanX2Coll = 0;
    fMeanY2Coll = 0;
    fMeanXYColl = 0;
    fMeanr2Cos2PhiColl =0;
    fMeanr2Sin2PhiColl =0;
    fMeanr2Cos3PhiColl =0;
    fMeanr2Sin3PhiColl =0;
    fMeanr2Cos4PhiColl =0;
    fMeanr2Sin4PhiColl =0;
    fMeanr2Cos5PhiColl =0;
    fMeanr2Sin5PhiColl =0;
    fMeanr3Cos3PhiColl =0;
    fMeanr3Sin3PhiColl =0;
    fMeanr4Cos4PhiColl =0;
    fMeanr4Sin4PhiColl =0;
    fMeanr5Cos5PhiColl =0;
    fMeanr5Sin5PhiColl =0;
  }
  
 if (fNcom>0)
    {
      fMeanXCom /= fNcom;
      fMeanYCom /= fNcom;
      fMeanX2Com /= fNcom;
      fMeanY2Com /= fNcom;
      fMeanXYCom /= fNcom;
      fMeanr2Com /= fNcom;
      fMeanr3Com /= fNcom;
      fMeanr4Com /= fNcom;
      fMeanr5Com /= fNcom;
      fMeanr2Cos2PhiCom /= fNcom;
      fMeanr2Sin2PhiCom /= fNcom;
      fMeanr2Cos3PhiCom /= fNcom;
      fMeanr2Sin3PhiCom /= fNcom;
      fMeanr2Cos4PhiCom /= fNcom;
      fMeanr2Sin4PhiCom /= fNcom;
      fMeanr2Cos5PhiCom /= fNcom;
      fMeanr2Sin5PhiCom /= fNcom;
      fMeanr3Cos3PhiCom /= fNcom;
      fMeanr3Sin3PhiCom /= fNcom;
      fMeanr4Cos4PhiCom /= fNcom;
      fMeanr4Sin4PhiCom /= fNcom;
      fMeanr5Cos5PhiCom /= fNcom;
      fMeanr5Sin5PhiCom /= fNcom;
  }

 else
  {
    fMeanXCom = 0;
    fMeanYCom = 0;
    fMeanX2Com = 0;
    fMeanY2Com = 0;
    fMeanXYCom = 0;
    fMeanr2Cos2PhiCom =0;
    fMeanr2Sin2PhiCom =0;
    fMeanr2Cos3PhiCom =0;
    fMeanr2Sin3PhiCom =0;
    fMeanr2Cos4PhiCom =0;
    fMeanr2Sin4PhiCom =0;
    fMeanr2Cos5PhiCom =0;
    fMeanr2Sin5PhiCom =0;
    fMeanr3Cos3PhiCom =0;
    fMeanr3Sin3PhiCom =0;
    fMeanr4Cos4PhiCom =0;
    fMeanr4Sin4PhiCom =0;
    fMeanr5Cos5PhiCom =0;
    fMeanr5Sin5PhiCom =0;
  }

  if(fAN+fBN>0)
  {
    fMeanXSystem /= (fAN + fBN);
    fMeanYSystem /= (fAN + fBN);
    fMeanX2 /= (fAN + fBN);
    fMeanY2 /= (fAN + fBN);
    fMeanXY /= (fAN + fBN);
  }
  else
  {
    fMeanXSystem = 0;
    fMeanYSystem = 0;
    fMeanX2 = 0;
    fMeanY2 = 0;
    fMeanXY = 0; 
  }
  if(fAN>0)
  {
    fMeanXA /= fAN;
    fMeanYA /= fAN;
  }
  else
  {
    fMeanXA = 0;
    fMeanYA = 0;
  }

  if(fBN>0)
  {
    fMeanXB /= fBN;
    fMeanYB /= fBN;
  }
  else
  {
    fMeanXB = 0;
    fMeanYB = 0;
  }
  


    
  //////////////////////////////////////////////////////////////////
  fSx2Parts=fMeanX2Parts-(fMeanXParts*fMeanXParts);
  fSy2Parts=fMeanY2Parts-(fMeanYParts*fMeanYParts);
  fSxyParts=fMeanXYParts-fMeanXParts*fMeanYParts;
  fSx2Coll=fMeanX2Coll-(fMeanXColl*fMeanXColl);
  fSy2Coll=fMeanY2Coll-(fMeanYColl*fMeanYColl);
  fSxyColl=fMeanXYColl-fMeanXColl*fMeanYColl;
  fSx2Com=fMeanX2Com-(fMeanXCom*fMeanXCom);
  fSy2Com=fMeanY2Com-(fMeanYCom*fMeanYCom);
  fSxyCom=fMeanXYCom-fMeanXCom*fMeanYCom;
  fBMC = bgen;
  fTotalEvents++;
  if (fNpart>0) fEvents++;
  if (fNpart==0) return kFALSE;
  if (fNpart > fMaxNpartFound) fMaxNpartFound = fNpart;

  return kTRUE;
}

//______________________________________________________________________________
void AliGlauberMC::Draw(Option_t* /*option*/)
{
  //draw method
  fANucleus.Draw(fXSect, 2);
  fBNucleus.Draw(fXSect, 4);

  TEllipse e;
  e.SetFillColor(0);
  e.SetLineColor(1);
  e.SetLineStyle(2);
  e.SetLineWidth(1);
  e.DrawEllipse(GetB()/2,0,fBNucleus.GetR(),fBNucleus.GetR(),0,360,0);
  e.DrawEllipse(-GetB()/2,0,fANucleus.GetR(),fANucleus.GetR(),0,360,0);
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetTotXSect() const
{
  //total xsection
  return (1.*fEvents/fTotalEvents)*TMath::Pi()*fBMax*fBMax/100;
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetTotXSectErr() const
{
  //total xsection error
  return GetTotXSect()/TMath::Sqrt((Double_t)fEvents) *
         TMath::Sqrt(Double_t(1.-fEvents/fTotalEvents));
}

//______________________________________________________________________________
TObjArray *AliGlauberMC::GetNucleons()
{
  //get array of nucleons
  if(!fNucleonsA || !fNucleonsB) return 0;
  fNucleonsA->SetOwner(0);
  fNucleonsB->SetOwner(0);
  TObjArray *allnucleons=new TObjArray(fAN+fBN);
  allnucleons->SetOwner();
  for (Int_t i = 0; i<fAN; i++)
  {
    allnucleons->Add(fNucleonsA->UncheckedAt(i));
  }
  for (Int_t i = 0; i<fBN; i++)
  {
    allnucleons->Add(fNucleonsB->UncheckedAt(i));
  }
  return allnucleons;
}

//______________________________________________________________________________
Double_t AliGlauberMC::NegativeBinomialDistribution(Int_t x, Int_t k, Double_t nmean)
{
  //produce a number distributed acc. neg.bin.dist
  if(k<=0)
  {
    cout << "Error, zero or negative K" << endl;
    return 0;
  }
  return (TMath::Binomial(x+k-1,x))
         *TMath::Power(((nmean/Double_t(k))/(1+nmean/Double_t(k))),Double_t(x))
         *(1/(TMath::Power((1+nmean/Double_t(k)),Double_t(k))));
}

//______________________________________________________________________________
Int_t AliGlauberMC::NegativeBinomialRandom(Int_t k, Double_t nmean) const
{
  //return random integer from a Negative Binomial Distribution
  static const Int_t fMaxPlot = 1000;
  Double_t array[fMaxPlot];
  array[0] = NegativeBinomialDistribution(0,k,nmean);
  for (Int_t i=1; i<fMaxPlot; i++)
  {
    array[i] = NegativeBinomialDistribution(i,k,nmean) + array[i-1];
  }
  Double_t r = gRandom->Uniform(0,1);
  return TMath::BinarySearch(fMaxPlot,array,r)+2;

}

//______________________________________________________________________________
Int_t AliGlauberMC::NegativeBinomialRandomSV(Double_t k, Double_t nbar) const
{
  // negative binomial distribution generator, S. Voloshin, 09-May-2007
  Double_t sum=0.;
  Int_t i=0;
  Double_t ran=gRandom->Rndm();
  Double_t trm=1./pow(1.+nbar/k,k);
  if (trm==0.)
  {
    cout<<"NBD overflow"<<"  nbar="<<nbar<<"   k="<<k<<endl;
    return -1;
  }
  for(i=0; i<2000 && sum<ran ; i++)
  {
    sum += trm;
    trm *= (k+i)/(i+1.)*(nbar/(nbar+k));
  }
  return i-1;
}

//______________________________________________________________________________
Int_t AliGlauberMC::DoubleNegativeBinomialRandom( Int_t k,
    Double_t nmean,
    Int_t k2,
    Double_t nmean2,
    Double_t alpha ) const
{
  //return random integer from a Double Negative Binomial Distribution
  static const Int_t fMaxPlot = 1000;
  Double_t array[fMaxPlot];
  array[0] = alpha*NegativeBinomialDistribution(0,k,nmean)+(1-alpha)*NegativeBinomialDistribution(0,k2,nmean2);
  for (Int_t i=1; i<fMaxPlot; i++)
  {
    array[i] = alpha*NegativeBinomialDistribution(i,k,nmean)+(1-alpha)*NegativeBinomialDistribution(i,k2,nmean2) + array[i-1];
  }
  Double_t r = gRandom->Uniform(0,1);
  return TMath::BinarySearch(fMaxPlot,array,r)+2;
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetdNdEta() const
{
  switch (fMultType)
  {
    case kSimple:
      return GetdNdEtaSimple(fdNdEtaParam);
    case kNBD:
      return GetdNdEtaNBD(fdNdEtaParam);
    case kNBDSV:
      return GetdNdEtaNBDSV(fdNdEtaParam);
    case kTwoNBD:
      return GetdNdEtaTwoNBD(fdNdEtaParam);
    case kGBW:
      return GetdNdEtaGBW(fdNdEtaParam);
    default:
      return 0.0;
  }
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetdNdEtaSimple(const Double_t* p) const 
{
  //Get particle density per unit of rapidity
  //using two component model
  //Parameters: npp, x
  Double_t nnp = p[0]; //=8.0
  Double_t x = p[1]; //=0.13

  return nnp*((1.-x)*fNpart/2.+x*fNcoll);
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetdNdEtaGBW( const Double_t* p ) const
{
  //Get particle density per unit of rapidity
  //using the GBW model
  //Parameters: delta, lambda, snn
  Double_t delta = p[0]; //=0.79
  Double_t lambda = p[1]; //=0.288
  Double_t  snn = p[2]; //=30.25

  return fNpart*0.47*TMath::Sqrt(TMath::Power(snn,lambda))
         * TMath::Power(fNpart,(1.-delta)/3./delta);
}

//_______________________________________________________________________________
Double_t AliGlauberMC::GetdNdEtaNBDSV ( const Double_t* p ) const 
{
  //Get particle density per unit of rapidity (from Sergei)
  Double_t npp = p[0];          //=2.49
  Double_t ratioSgm2Mu = p[1];  //=1.7
  Double_t xhard = p[2];        //=0.13

  double knb=npp/(ratioSgm2Mu-1.);  // sgm^2/mu = 1+ mu/k
  double scale = (1.-xhard)*fNpart/2.+xhard*fNcoll; // effectively get number of pp collisions
  float nch1=-99.;
  if (knb*scale <1000.)
  {
    nch1=(float) NegativeBinomialRandomSV( npp*scale, knb*scale );
  }
  else
  {
    nch1=(float) NegativeBinomialRandomSV( npp*scale/2., knb*scale/2. ) +
         (float) NegativeBinomialRandomSV( npp*scale/2., knb*scale/2. );
  }
  return nch1;
}

//_______________________________________________________________________________
Double_t AliGlauberMC::GetdNdEtaNBD ( const Double_t* p ) const
{
  //Get particle density per unit of rapidity
  //using a aandomized number from a negative binomial distrubution
  //Parameters:   k  = related to distribition width=3
  //              nmean = mean of distribution=4
  //              beta = set contribution of participants / binary collisions to multiplicity=0.13
  Int_t k = TMath::Nint(p[0]);
  Double_t nmean = p[1];
  Double_t beta = p[2];

  Double_t mulnp=0.0;
  for(Int_t i = 0; i<fNpart; i++)
  {
    mulnp+=NegativeBinomialRandom(k,nmean);
  }
  Double_t mulnb=0.0;
  for(Int_t i = 0; i<fNcoll; i++)
  {
    mulnb+=NegativeBinomialRandom(k,nmean);
  }
  return (1-beta)*mulnp/2+beta*mulnb;
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetdNdEtaTwoNBD ( const Double_t* p ) const
{
  //Get particle density per unit of rapidity
  //using random numbers from two negative binomial distributions
  //Parameters:   k1 = related to distribition width of distribution 1=3
  //              nmean1 = mean of distribution 1=4
  //              k2 = related to distribition width of distribution 2=2
  //              nmean2 = mean of distribution 2=11
  //              alpha = set contributions of distrubitin 1 / distribution 2=0.4
  //              beta = set contribution of participants / binary collisions to multiplicity =0.13
  Int_t k1 = TMath::Nint(p[0]);
  Double_t nmean1 = p[1];
  Int_t k2 = TMath::Nint(p[2]);
  Double_t nmean2 = p[3];
  Double_t alpha = p[4];
  Double_t beta = p[6];

  Double_t mulnp=0.0;
  for(Int_t i = 0; i<fNpart; i++)
  {
    mulnp+=DoubleNegativeBinomialRandom(k1,nmean1,k2,nmean2,alpha);
  }
  Double_t mulnb=0.0;
  for(Int_t i = 0; i<fNcoll; i++)
  {
    mulnb+=DoubleNegativeBinomialRandom(k1,nmean1,k2,nmean2,alpha);
  }
  Double_t mul=(1-beta)*mulnp/2+beta*mulnb;
  return mul;
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetEccentricityPart() const
{
  //get participant eccentricity of participants
  if (fNpart<2) return 0.0;
  return (TMath::Sqrt((fSy2Parts-fSx2Parts)*(fSy2Parts-fSx2Parts)+4*fSxyParts*fSxyParts)/(fSy2Parts+fSx2Parts));
}

//_____________________________________________________________________________
Double_t AliGlauberMC::GetEccentricityPartColl() const
{
  //get participant eccentricity of binary collisions
  if (fNcoll<0) return 0.0;
  if (fSy2Coll==0.0) return 0.0;
  return (TMath::Sqrt((fSy2Coll-fSx2Coll)*(fSy2Coll-fSx2Coll)+4*fSxyColl*fSxyColl)/(fSy2Coll+fSx2Coll));
}

//_____________________________________________________________________________
Double_t AliGlauberMC::GetEccentricityPartCom() const
{
  //get participant eccentricity of binary collisions
  if (fNcom<0) return 0.0;
  return (TMath::Sqrt((fSy2Com-fSx2Com)*(fSy2Com-fSx2Com)+4*fSxyCom*fSxyCom)/(fSy2Com+fSx2Com));
}
//______________________________________________________________________________
Double_t AliGlauberMC::GetEccentricity() const
{
  //get standard eccentricity of participants
  if (fNpart<2) return 0.0;
  return ((fSy2Parts-fSx2Parts)/(fSy2Parts+fSx2Parts));
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetEccentricityColl() const
{
  //get standard eccentricity of binary collisions
  if (fNcoll<0) return 0.0;
  if (fSy2Coll==0.0) return 0.0;
  return ((fSy2Coll-fSx2Coll)/(fSy2Coll+fSx2Coll));
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetEccentricityCom() const
{
  //get standard eccentricity of combined weight 
  if (fNcom<0) return 0.0;
  return ((fSy2Com-fSx2Com)/(fSy2Com+fSx2Com));
  //return (((fMeanY2Com-(fMeanYCom*fMeanYCom)) - (fMeanX2Com-(fMeanXCom*fMeanXCom))) / ((fMeanY2Com-(fMeanYCom*fMeanYCom)) + (fMeanX2Com-(fMeanXCom*fMeanXCom))) );
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetStoa() const
{
  //get standard Transverse Overlap Area
  if (fNpart<2) return 0.0;
  return ( TMath::Pi()*(TMath::Sqrt(fSx2Parts))*(TMath::Sqrt(fSy2Parts)));
}

//______________________________________________________________________________
Bool_t AliGlauberMC::NextEvent(Double_t bgen)
{
  //Make a new event
  Int_t nAttempts = 10; // set indices, max attempts and max comparisons
  Bool_t succes = kFALSE;
  for(Int_t j=0; j<nAttempts; j++)
  {
    if(bgen<0||!succes) //get impactparameter
    {
      bgen = TMath::Sqrt((fBMax*fBMax-fBMin*fBMin)*gRandom->Rndm()+fBMin*fBMin);
    }
    if ( (succes=CalcEvent(bgen)) ) break; //ends if we have particparts
  }
  return succes;
}
//______________________________________________________________________________
Double_t AliGlauberMC::GetEpsilon2Part() const
{
  //get participant eccentricity of participants
  if (fNpart<2) return 0.0;
  return (TMath::Sqrt(fMeanr2Cos2Phi*fMeanr2Cos2Phi+fMeanr2Sin2Phi*fMeanr2Sin2Phi)/fMeanr2);
}
//______________________________________________________________________________
Double_t AliGlauberMC::GetEpsilon3Part() const
{
  //get participant eccentricity of participants
  if (fNpart<2) return 0.0;
  return (TMath::Sqrt(fMeanr2Cos3Phi*fMeanr2Cos3Phi+fMeanr2Sin3Phi*fMeanr2Sin3Phi)/fMeanr2);
  //return (TMath::Sqrt(fMeanr3Cos3Phi*fMeanr3Cos3Phi+fMeanr3Sin3Phi*fMeanr3Sin3Phi)/fMeanr3);
}
//______________________________________________________________________________
Double_t AliGlauberMC::GetEpsilon4Part() const
{
  //get participant eccentricity of participants
  if (fNpart<2) return 0.0;
  return (TMath::Sqrt(fMeanr2Cos4Phi*fMeanr2Cos4Phi+fMeanr2Sin4Phi*fMeanr2Sin4Phi)/fMeanr2);
  //return (TMath::Sqrt(fMeanr4Cos4Phi*fMeanr4Cos4Phi+fMeanr4Sin4Phi*fMeanr4Sin4Phi)/fMeanr4);
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetEpsilon5Part() const
{
  //get participant eccentricity of participants
  if (fNpart<2) return 0.0;
  return (TMath::Sqrt(fMeanr2Cos5Phi*fMeanr2Cos5Phi+fMeanr2Sin5Phi*fMeanr2Sin5Phi)/fMeanr2);
  //return (TMath::Sqrt(fMeanr5Cos5Phi*fMeanr5Cos5Phi+fMeanr5Sin5Phi*fMeanr5Sin5Phi)/fMeanr5);
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetEpsilon2Coll() const
{
  //get epsilon2 of binary collisions
  if (fNcoll<0) return 0.0;
  if (fMeanr2Coll==0.0) return 0.0;
  return (TMath::Sqrt(fMeanr2Cos2PhiColl*fMeanr2Cos2PhiColl+fMeanr2Sin2PhiColl*fMeanr2Sin2PhiColl)/fMeanr2Coll);
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetEpsilon3Coll() const
{
  //get epsilon3 of binary collisions
  if (fNcoll<0) return 0.0;
  if (fMeanr2Coll==0.0) return 0.0;
  return (TMath::Sqrt(fMeanr2Cos3PhiColl*fMeanr2Cos3PhiColl+fMeanr2Sin3PhiColl*fMeanr2Sin3PhiColl)/fMeanr2Coll);
  //return (TMath::Sqrt(fMeanr3Cos3PhiColl*fMeanr3Cos3PhiColl+fMeanr3Sin3PhiColl*fMeanr3Sin3PhiColl)/fMeanr3Coll);
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetEpsilon4Coll() const
{
  //get epsilon4 of binary collisions
  if (fNcoll<0) return 0.0;
  if (fMeanr2Coll==0.0) return 0.0;
  return (TMath::Sqrt(fMeanr2Cos4PhiColl*fMeanr2Cos4PhiColl+fMeanr2Sin4PhiColl*fMeanr2Sin4PhiColl)/fMeanr2Coll);
  //return (TMath::Sqrt(fMeanr4Cos4PhiColl*fMeanr4Cos4PhiColl+fMeanr4Sin4PhiColl*fMeanr4Sin4PhiColl)/fMeanr4Coll);
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetEpsilon5Coll() const
{
  //get epsilon5 of binary collisions
  if (fNcoll<0) return 0.0;
  if (fMeanr2Coll==0.0) return 0.0;
  return (TMath::Sqrt(fMeanr2Cos5PhiColl*fMeanr2Cos5PhiColl+fMeanr2Sin5PhiColl*fMeanr2Sin5PhiColl)/fMeanr2Coll);
  //return (TMath::Sqrt(fMeanr5Cos5PhiColl*fMeanr5Cos5PhiColl+fMeanr5Sin5PhiColl*fMeanr5Sin5PhiColl)/fMeanr5Coll);
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetEpsilon2Com() const
{
  //get epsilon2 of binary collisions
  if (fNcom<0) return 0.0;
  return (TMath::Sqrt(fMeanr2Cos2PhiCom*fMeanr2Cos2PhiCom+fMeanr2Sin2PhiCom*fMeanr2Sin2PhiCom)/fMeanr2Com);
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetEpsilon3Com() const
{
  //get epsilon3 of binary collisions
  if (fNcom<0) return 0.0;
  return (TMath::Sqrt(fMeanr2Cos3PhiCom*fMeanr2Cos3PhiCom+fMeanr2Sin3PhiCom*fMeanr2Sin3PhiCom)/fMeanr2Com);
  //return (TMath::Sqrt(fMeanr3Cos3PhiCom*fMeanr3Cos3PhiCom+fMeanr3Sin3PhiCom*fMeanr3Sin3PhiCom)/fMeanr3Com);
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetEpsilon4Com() const
{
  //get epsilon4 of binary collisions
  if (fNcom<0) return 0.0;
  return (TMath::Sqrt(fMeanr2Cos4PhiCom*fMeanr2Cos4PhiCom+fMeanr2Sin4PhiCom*fMeanr2Sin4PhiCom)/fMeanr2Com);
  //return (TMath::Sqrt(fMeanr4Cos4PhiCom*fMeanr4Cos4PhiCom+fMeanr4Sin4PhiCom*fMeanr4Sin4PhiCom)/fMeanr4Com);
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetEpsilon5Com() const
{
  //get epsilon5 of binary collisions
  if (fNcom<0) return 0.0;
  return (TMath::Sqrt(fMeanr2Cos5PhiCom*fMeanr2Cos5PhiCom+fMeanr2Sin5PhiCom*fMeanr2Sin5PhiCom)/fMeanr2Com);
  //return (TMath::Sqrt(fMeanr5Cos5PhiCom*fMeanr5Cos5PhiCom+fMeanr5Sin5PhiCom*fMeanr5Sin5PhiCom)/fMeanr5Com);
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetPsi2() const
{
  return ((TMath::ATan2(fMeanr2Sin2Phi,fMeanr2Cos2Phi)+TMath::Pi())/2);
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetPsi3() const
{
  return ((TMath::ATan2(fMeanr2Sin3Phi,fMeanr2Cos3Phi)+TMath::Pi())/3);
  //return ((TMath::ATan2(fMeanr3Sin3Phi,fMeanr3Cos3Phi)+TMath::Pi())/3);  
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetPsi4() const
{
  return ((TMath::ATan2(fMeanr2Sin4Phi,fMeanr2Cos4Phi)+TMath::Pi())/4);
  //return ((TMath::ATan2(fMeanr4Sin4Phi,fMeanr4Cos4Phi)+TMath::Pi())/4);
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetPsi5() const
{
  return ((TMath::ATan2(fMeanr2Sin5Phi,fMeanr2Cos5Phi)+TMath::Pi())/5);
  //return ((TMath::ATan2(fMeanr5Sin5Phi,fMeanr5Cos5Phi)+TMath::Pi())/5);  
}

/*_____________________________________________________________________________
Double_t AliGlauberMC::GetE43Part() const
{
  //get participant eccentricity of participants
  if (fNpart<2) return 0.0;
  //return ((TMath::Sqrt(fMeanr2Cos2Phi*fMeanr2Cos2Phi+fMeanr2Sin2Phi*fMeanr2Sin2Phi)/fMeanr2) * (TMath::Sqrt(fMeanr2Cos2Phi*fMeanr2Cos2Phi+fMeanr2Sin2Phi*fMeanr2Sin2Phi)/fMeanr2) * (TMath::Sqrt(fMeanr2Cos4Phi*fMeanr2Cos4Phi+fMeanr2Sin4Phi*fMeanr2Sin4Phi)/fMeanr2) * TMath::Cos (((TMath::ATan2(fMeanr2Sin2Phi,fMeanr2Cos2Phi)+TMath::Pi())/2) - ((TMath::ATan2(fMeanr2Sin4Phi,fMeanr2Cos4Phi)+TMath::Pi())/4)));
  return ((TMath::Sqrt(fMeanr2Cos2Phi*fMeanr2Cos2Phi+fMeanr2Sin2Phi*fMeanr2Sin2Phi)/fMeanr2) * (TMath::Sqrt(fMeanr2Cos2Phi*fMeanr2Cos2Phi+fMeanr2Sin2Phi*fMeanr2Sin2Phi)/fMeanr2) * (TMath::Sqrt(fMeanr4Cos4Phi*fMeanr4Cos4Phi+fMeanr4Sin4Phi*fMeanr4Sin4Phi)/fMeanr4) * TMath::Cos(((TMath::ATan2(fMeanr2Sin2Phi,fMeanr2Cos2Phi)+TMath::Pi())/2) - ((TMath::ATan2(fMeanr4Sin4Phi,fMeanr4Cos4Phi)+TMath::Pi())/4)));
}


//______________________________________________________________________________
Double_t AliGlauberMC::GetE43Coll() const
{
  //get epsilon5 of binary collisions
  if (fNcoll<2) return 0.0;
  //return ((TMath::Sqrt(fMeanr2Cos2PhiColl*fMeanr2Cos2PhiColl+fMeanr2Sin2PhiColl*fMeanr2Sin2PhiColl)/fMeanr2Coll) * (TMath::Sqrt(fMeanr2Cos2PhiColl*fMeanr2Cos2PhiColl+fMeanr2Sin2PhiColl*fMeanr2Sin2PhiColl)/fMeanr2Coll) * (TMath::Sqrt(fMeanr2Cos4PhiColl*fMeanr2Cos4PhiColl+fMeanr2Sin4PhiColl*fMeanr2Sin4PhiColl)/fMeanr2Coll) * TMath::Cos(((TMath::ATan2(fMeanr2Sin2Phi,fMeanr2Cos2Phi)+TMath::Pi())/2) - ((TMath::ATan2(fMeanr2Sin4Phi,fMeanr2Cos4Phi)+TMath::Pi())/4)));
  return ((TMath::Sqrt(fMeanr2Cos2PhiColl*fMeanr2Cos2PhiColl+fMeanr2Sin2PhiColl*fMeanr2Sin2PhiColl)/fMeanr2Coll) * (TMath::Sqrt(fMeanr2Cos2PhiColl*fMeanr2Cos2PhiColl+fMeanr2Sin2PhiColl*fMeanr2Sin2PhiColl)/fMeanr2Coll) * (TMath::Sqrt(fMeanr4Cos4PhiColl*fMeanr4Cos4PhiColl+fMeanr4Sin4PhiColl*fMeanr4Sin4PhiColl)/fMeanr4Coll) * TMath::Cos(((TMath::ATan2(fMeanr2Sin2Phi,fMeanr2Cos2Phi)+TMath::Pi())/2) - ((TMath::ATan2(fMeanr4Sin4Phi,fMeanr4Cos4Phi)+TMath::Pi())/4)));
}

//______________________________________________________________________________
Double_t AliGlauberMC::GetE43Com() const
{
  //get epsilon5 of binary collisions
  if (fNcom<2) return 0.0;
  //return ((TMath::Sqrt(fMeanr2Cos2PhiCom*fMeanr2Cos2PhiCom+fMeanr2Sin2PhiCom*fMeanr2Sin2PhiCom)/fMeanr2Com) * (TMath::Sqrt(fMeanr2Cos2PhiCom*fMeanr2Cos2PhiCom+fMeanr2Sin2PhiCom*fMeanr2Sin2PhiCom)/fMeanr2Com) * (TMath::Sqrt(fMeanr2Cos4PhiCom*fMeanr2Cos4PhiCom+fMeanr2Sin4PhiCom*fMeanr2Sin4PhiCom)/fMeanr2Com) * TMath::Cos(((TMath::ATan2(fMeanr2Sin2Phi,fMeanr2Cos2Phi)+TMath::Pi())/2) - ((TMath::ATan2(fMeanr2Sin4Phi,fMeanr2Cos4Phi)+TMath::Pi())/4)));
  return ((TMath::Sqrt(fMeanr2Cos2PhiCom*fMeanr2Cos2PhiCom+fMeanr2Sin2PhiCom*fMeanr2Sin2PhiCom)/fMeanr2Com) * (TMath::Sqrt(fMeanr2Cos2PhiCom*fMeanr2Cos2PhiCom+fMeanr2Sin2PhiCom*fMeanr2Sin2PhiCom)/fMeanr2Com) * (TMath::Sqrt(fMeanr4Cos4PhiCom*fMeanr4Cos4PhiCom+fMeanr4Sin4PhiCom*fMeanr4Sin4PhiCom)/fMeanr4Com) * TMath::Cos(((TMath::ATan2(fMeanr2Sin2Phi,fMeanr2Cos2Phi)+TMath::Pi())/2) - ((TMath::ATan2(fMeanr4Sin4Phi,fMeanr4Cos4Phi)+TMath::Pi())/4)));
}
//___________________________________________________________________________

Double_t AliGlauberMC::GetPsi4m2() const
{
  //return (TMath::Cos(4*((TMath::ATan2(fMeanr2Sin4Phi,fMeanr2Cos4Phi)+TMath::Pi())/4) - ((TMath::ATan2(fMeanr2Sin2Phi,fMeanr2Cos2Phi)+TMath::Pi())/2)));
  return (TMath::Cos(4*(((TMath::ATan2(fMeanr4Sin4Phi,fMeanr4Cos4Phi)+TMath::Pi())/4)-((TMath::ATan2(fMeanr2Sin2Phi,fMeanr2Cos2Phi)+TMath::Pi())/2))));
}
*/
//______________________________________________________________________________
void AliGlauberMC::Run(Int_t nevents)
{
  //example run
  cout << "Generating " << nevents << " events..." << endl;
  TString name(Form("nt_%s_%s",fANucleus.GetName(),fBNucleus.GetName()));
  TString title(Form("%s + %s (x-sect = %d mb)",fANucleus.GetName(),fBNucleus.GetName(),(Int_t) fXSect));
  if (fnt == 0)
  {
    fnt = new TNtuple(name,title,
                      "Npart:Ncoll:B:MeanX:MeanY:MeanX2:MeanY2:MeanXY:VarX:VarY:VarXY:MeanXSystem:MeanYSystem:MeanXA:MeanYA:MeanXB:MeanYB:VarE:Stoa:VarEColl:VarECom:VarEPart:VarEPartColl:VarEPartCom:dNdEta:dNdEtaGBW:dNdEtaTwoNBD:xsect:tAA:Epsl2:Epsl3:Epsl4:Epsl5:E2Coll:E3Coll:E4Coll:E5Coll:E2Com:E3Com:E4Com:E5Com:Psi2:Psi3:Psi4:Psi5:BNN:signn:Ncollw");
    fnt->SetDirectory(0);
  }
  Int_t q = 0;
  Int_t u = 0;
  for (Int_t i = 0; i<nevents; i++)
  {

    if(!NextEvent())
    {
      u++;
      continue;
    }

    q++;
    Float_t v[48];
    v[0]  = GetNpart();
    v[1]  = GetNcoll();
    v[2]  = fBMC;
    v[3]  = fMeanXParts;
    v[4]  = fMeanYParts;
    v[5]  = fMeanX2Parts;
    v[6]  = fMeanY2Parts;
    v[7]  = fMeanXYParts;
    v[8]  = fSx2Parts;
    v[9]  = fSy2Parts;
    v[10] = fSxyParts;
    v[11] = fMeanXSystem;
    v[12] = fMeanYSystem;
    v[13] = fMeanXA;
    v[14] = fMeanYA;
    v[15] = fMeanXB;
    v[16] = fMeanYB;
    v[17] = GetEccentricity();
    v[18] = GetStoa();
    v[19] = GetEccentricityColl();
    v[20] = GetEccentricityCom();
    v[21] = GetEccentricityPart();
    v[22] = GetEccentricityPartColl();
    v[23] = GetEccentricityPartCom();
    if (fDoPartProd)
    {
      v[24] = GetdNdEta();
      v[25] = GetdNdEta();
      v[26] = v[24]+v[25];
    }
    else
    {
      v[24] = 0;
      v[25] = 0;
      v[26] = 0;
    }
    v[27]=fXSect;

    Float_t mytAA=-999;
    if (GetNcoll()>0) mytAA=GetNcoll()/fXSect;
    v[28]=mytAA;
    //_____________epsilon2,3,4,4_______
    v[29] = GetEpsilon2Part();
    v[30] = GetEpsilon3Part();
    v[31] = GetEpsilon4Part();
    v[32] = GetEpsilon5Part();
    v[33] = GetEpsilon2Coll();
    v[34] = GetEpsilon3Coll();
    v[35] = GetEpsilon4Coll();
    v[36] = GetEpsilon5Coll();
    v[37] = GetEpsilon2Com();
    v[38] = GetEpsilon3Com();
    v[39] = GetEpsilon4Com();
    v[40] = GetEpsilon5Com();
    v[41] = GetPsi2();
    v[42] = GetPsi3();
    v[43] = GetPsi4();
    v[44] = GetPsi5();
    v[45] = fBNN;
    v[46] = fXSect;
    v[47] = fNcollw;

    //always at the end
    fnt->Fill(v);

    if ((i%100)==0) std::cout << "Generating Event # " << i << "... \r" << flush;
  }
  std::cout << "Generating Event # " << nevents << "... \r" << endl << "Done! Succesfull events:  " << q << "  discarded events:  " << u <<"."<< endl;
}

//---------------------------------------------------------------------------------
void AliGlauberMC::RunAndSaveNtuple( Int_t n,
                                     const Option_t *sysA,
                                     const Option_t *sysB,
                                     Double_t signn,
                                     Double_t mind,
                                     Double_t r,
                                     Double_t a,
                                     const char *fname)
{
  //example run
  AliGlauberMC mcg(sysA,sysB,signn);
  mcg.SetMinDistance(mind);
  mcg.Setr(r);
  mcg.Seta(a);
  mcg.Run(n);
  TNtuple  *nt=mcg.GetNtuple();
  TFile out(fname,"recreate",fname,9);
  if(nt) nt->Write();
  printf("total cross section with a nucleon-nucleon cross section \t%f is \t%f",signn,mcg.GetTotXSect());
  out.Close();
}

//---------------------------------------------------------------------------------
void AliGlauberMC::RunAndSaveNucleons( Int_t n,
                                       const Option_t *sysA,
                                       Option_t *sysB,
                                       const Double_t signn,
                                       Double_t mind,
                                       Bool_t verbose,
                                       const char *fname)
{
  //example run
  AliGlauberMC mcg(sysA,sysB,signn);
  mcg.SetMinDistance(mind);
  TFile *out=0;
  if(fname)
    out=new TFile(fname,"recreate",fname,9);

  for(Int_t ievent=0; ievent<n; ievent++)
  {

    //get an event with at least one collision
    while(!mcg.NextEvent()) {}

    //access, save and (if wanted) print out nucleons
    TObjArray* nucleons=mcg.GetNucleons();
    if(!nucleons) continue;
    if(out)
      nucleons->Write(Form("nucleonarray%d",ievent),TObject::kSingleKey);

    if(verbose)
    {
      cout<<endl<<endl<<"EVENT NO: "<<ievent<<endl;
      cout<<"B = "<<mcg.GetB()<<"  Npart = "<<mcg.GetNpart()<<endl<<endl;
      printf("Nucleus\t X\t Y\t Z\tNcoll\n");
      Int_t nNucls=nucleons->GetEntries();
      for(Int_t iNucl=0; iNucl<nNucls; iNucl++)
      {
        AliGlauberNucleon *nucl=(AliGlauberNucleon *)nucleons->UncheckedAt(iNucl);
        Char_t nucleus='A';
        if(nucl->IsInNucleusB()) nucleus='B';
        Double_t x=nucl->GetX();
        Double_t y=nucl->GetY();
        Double_t z=nucl->GetZ();
        Int_t ncoll=nucl->GetNColl();
        printf("   %c\t%2.2f\t%2.2f\t%2.2f\t%3d\n",nucleus,x,y,z,ncoll);
      }
    }
  }
  if(out) delete out;
}

//---------------------------------------------------------------------------------
void AliGlauberMC::Reset()
{
  //delete the ntuple
  delete fnt;
  fnt=NULL;
}
 AliGlauberMC.cxx:1
 AliGlauberMC.cxx:2
 AliGlauberMC.cxx:3
 AliGlauberMC.cxx:4
 AliGlauberMC.cxx:5
 AliGlauberMC.cxx:6
 AliGlauberMC.cxx:7
 AliGlauberMC.cxx:8
 AliGlauberMC.cxx:9
 AliGlauberMC.cxx:10
 AliGlauberMC.cxx:11
 AliGlauberMC.cxx:12
 AliGlauberMC.cxx:13
 AliGlauberMC.cxx:14
 AliGlauberMC.cxx:15
 AliGlauberMC.cxx:16
 AliGlauberMC.cxx:17
 AliGlauberMC.cxx:18
 AliGlauberMC.cxx:19
 AliGlauberMC.cxx:20
 AliGlauberMC.cxx:21
 AliGlauberMC.cxx:22
 AliGlauberMC.cxx:23
 AliGlauberMC.cxx:24
 AliGlauberMC.cxx:25
 AliGlauberMC.cxx:26
 AliGlauberMC.cxx:27
 AliGlauberMC.cxx:28
 AliGlauberMC.cxx:29
 AliGlauberMC.cxx:30
 AliGlauberMC.cxx:31
 AliGlauberMC.cxx:32
 AliGlauberMC.cxx:33
 AliGlauberMC.cxx:34
 AliGlauberMC.cxx:35
 AliGlauberMC.cxx:36
 AliGlauberMC.cxx:37
 AliGlauberMC.cxx:38
 AliGlauberMC.cxx:39
 AliGlauberMC.cxx:40
 AliGlauberMC.cxx:41
 AliGlauberMC.cxx:42
 AliGlauberMC.cxx:43
 AliGlauberMC.cxx:44
 AliGlauberMC.cxx:45
 AliGlauberMC.cxx:46
 AliGlauberMC.cxx:47
 AliGlauberMC.cxx:48
 AliGlauberMC.cxx:49
 AliGlauberMC.cxx:50
 AliGlauberMC.cxx:51
 AliGlauberMC.cxx:52
 AliGlauberMC.cxx:53
 AliGlauberMC.cxx:54
 AliGlauberMC.cxx:55
 AliGlauberMC.cxx:56
 AliGlauberMC.cxx:57
 AliGlauberMC.cxx:58
 AliGlauberMC.cxx:59
 AliGlauberMC.cxx:60
 AliGlauberMC.cxx:61
 AliGlauberMC.cxx:62
 AliGlauberMC.cxx:63
 AliGlauberMC.cxx:64
 AliGlauberMC.cxx:65
 AliGlauberMC.cxx:66
 AliGlauberMC.cxx:67
 AliGlauberMC.cxx:68
 AliGlauberMC.cxx:69
 AliGlauberMC.cxx:70
 AliGlauberMC.cxx:71
 AliGlauberMC.cxx:72
 AliGlauberMC.cxx:73
 AliGlauberMC.cxx:74
 AliGlauberMC.cxx:75
 AliGlauberMC.cxx:76
 AliGlauberMC.cxx:77
 AliGlauberMC.cxx:78
 AliGlauberMC.cxx:79
 AliGlauberMC.cxx:80
 AliGlauberMC.cxx:81
 AliGlauberMC.cxx:82
 AliGlauberMC.cxx:83
 AliGlauberMC.cxx:84
 AliGlauberMC.cxx:85
 AliGlauberMC.cxx:86
 AliGlauberMC.cxx:87
 AliGlauberMC.cxx:88
 AliGlauberMC.cxx:89
 AliGlauberMC.cxx:90
 AliGlauberMC.cxx:91
 AliGlauberMC.cxx:92
 AliGlauberMC.cxx:93
 AliGlauberMC.cxx:94
 AliGlauberMC.cxx:95
 AliGlauberMC.cxx:96
 AliGlauberMC.cxx:97
 AliGlauberMC.cxx:98
 AliGlauberMC.cxx:99
 AliGlauberMC.cxx:100
 AliGlauberMC.cxx:101
 AliGlauberMC.cxx:102
 AliGlauberMC.cxx:103
 AliGlauberMC.cxx:104
 AliGlauberMC.cxx:105
 AliGlauberMC.cxx:106
 AliGlauberMC.cxx:107
 AliGlauberMC.cxx:108
 AliGlauberMC.cxx:109
 AliGlauberMC.cxx:110
 AliGlauberMC.cxx:111
 AliGlauberMC.cxx:112
 AliGlauberMC.cxx:113
 AliGlauberMC.cxx:114
 AliGlauberMC.cxx:115
 AliGlauberMC.cxx:116
 AliGlauberMC.cxx:117
 AliGlauberMC.cxx:118
 AliGlauberMC.cxx:119
 AliGlauberMC.cxx:120
 AliGlauberMC.cxx:121
 AliGlauberMC.cxx:122
 AliGlauberMC.cxx:123
 AliGlauberMC.cxx:124
 AliGlauberMC.cxx:125
 AliGlauberMC.cxx:126
 AliGlauberMC.cxx:127
 AliGlauberMC.cxx:128
 AliGlauberMC.cxx:129
 AliGlauberMC.cxx:130
 AliGlauberMC.cxx:131
 AliGlauberMC.cxx:132
 AliGlauberMC.cxx:133
 AliGlauberMC.cxx:134
 AliGlauberMC.cxx:135
 AliGlauberMC.cxx:136
 AliGlauberMC.cxx:137
 AliGlauberMC.cxx:138
 AliGlauberMC.cxx:139
 AliGlauberMC.cxx:140
 AliGlauberMC.cxx:141
 AliGlauberMC.cxx:142
 AliGlauberMC.cxx:143
 AliGlauberMC.cxx:144
 AliGlauberMC.cxx:145
 AliGlauberMC.cxx:146
 AliGlauberMC.cxx:147
 AliGlauberMC.cxx:148
 AliGlauberMC.cxx:149
 AliGlauberMC.cxx:150
 AliGlauberMC.cxx:151
 AliGlauberMC.cxx:152
 AliGlauberMC.cxx:153
 AliGlauberMC.cxx:154
 AliGlauberMC.cxx:155
 AliGlauberMC.cxx:156
 AliGlauberMC.cxx:157
 AliGlauberMC.cxx:158
 AliGlauberMC.cxx:159
 AliGlauberMC.cxx:160
 AliGlauberMC.cxx:161
 AliGlauberMC.cxx:162
 AliGlauberMC.cxx:163
 AliGlauberMC.cxx:164
 AliGlauberMC.cxx:165
 AliGlauberMC.cxx:166
 AliGlauberMC.cxx:167
 AliGlauberMC.cxx:168
 AliGlauberMC.cxx:169
 AliGlauberMC.cxx:170
 AliGlauberMC.cxx:171
 AliGlauberMC.cxx:172
 AliGlauberMC.cxx:173
 AliGlauberMC.cxx:174
 AliGlauberMC.cxx:175
 AliGlauberMC.cxx:176
 AliGlauberMC.cxx:177
 AliGlauberMC.cxx:178
 AliGlauberMC.cxx:179
 AliGlauberMC.cxx:180
 AliGlauberMC.cxx:181
 AliGlauberMC.cxx:182
 AliGlauberMC.cxx:183
 AliGlauberMC.cxx:184
 AliGlauberMC.cxx:185
 AliGlauberMC.cxx:186
 AliGlauberMC.cxx:187
 AliGlauberMC.cxx:188
 AliGlauberMC.cxx:189
 AliGlauberMC.cxx:190
 AliGlauberMC.cxx:191
 AliGlauberMC.cxx:192
 AliGlauberMC.cxx:193
 AliGlauberMC.cxx:194
 AliGlauberMC.cxx:195
 AliGlauberMC.cxx:196
 AliGlauberMC.cxx:197
 AliGlauberMC.cxx:198
 AliGlauberMC.cxx:199
 AliGlauberMC.cxx:200
 AliGlauberMC.cxx:201
 AliGlauberMC.cxx:202
 AliGlauberMC.cxx:203
 AliGlauberMC.cxx:204
 AliGlauberMC.cxx:205
 AliGlauberMC.cxx:206
 AliGlauberMC.cxx:207
 AliGlauberMC.cxx:208
 AliGlauberMC.cxx:209
 AliGlauberMC.cxx:210
 AliGlauberMC.cxx:211
 AliGlauberMC.cxx:212
 AliGlauberMC.cxx:213
 AliGlauberMC.cxx:214
 AliGlauberMC.cxx:215
 AliGlauberMC.cxx:216
 AliGlauberMC.cxx:217
 AliGlauberMC.cxx:218
 AliGlauberMC.cxx:219
 AliGlauberMC.cxx:220
 AliGlauberMC.cxx:221
 AliGlauberMC.cxx:222
 AliGlauberMC.cxx:223
 AliGlauberMC.cxx:224
 AliGlauberMC.cxx:225
 AliGlauberMC.cxx:226
 AliGlauberMC.cxx:227
 AliGlauberMC.cxx:228
 AliGlauberMC.cxx:229
 AliGlauberMC.cxx:230
 AliGlauberMC.cxx:231
 AliGlauberMC.cxx:232
 AliGlauberMC.cxx:233
 AliGlauberMC.cxx:234
 AliGlauberMC.cxx:235
 AliGlauberMC.cxx:236
 AliGlauberMC.cxx:237
 AliGlauberMC.cxx:238
 AliGlauberMC.cxx:239
 AliGlauberMC.cxx:240
 AliGlauberMC.cxx:241
 AliGlauberMC.cxx:242
 AliGlauberMC.cxx:243
 AliGlauberMC.cxx:244
 AliGlauberMC.cxx:245
 AliGlauberMC.cxx:246
 AliGlauberMC.cxx:247
 AliGlauberMC.cxx:248
 AliGlauberMC.cxx:249
 AliGlauberMC.cxx:250
 AliGlauberMC.cxx:251
 AliGlauberMC.cxx:252
 AliGlauberMC.cxx:253
 AliGlauberMC.cxx:254
 AliGlauberMC.cxx:255
 AliGlauberMC.cxx:256
 AliGlauberMC.cxx:257
 AliGlauberMC.cxx:258
 AliGlauberMC.cxx:259
 AliGlauberMC.cxx:260
 AliGlauberMC.cxx:261
 AliGlauberMC.cxx:262
 AliGlauberMC.cxx:263
 AliGlauberMC.cxx:264
 AliGlauberMC.cxx:265
 AliGlauberMC.cxx:266
 AliGlauberMC.cxx:267
 AliGlauberMC.cxx:268
 AliGlauberMC.cxx:269
 AliGlauberMC.cxx:270
 AliGlauberMC.cxx:271
 AliGlauberMC.cxx:272
 AliGlauberMC.cxx:273
 AliGlauberMC.cxx:274
 AliGlauberMC.cxx:275
 AliGlauberMC.cxx:276
 AliGlauberMC.cxx:277
 AliGlauberMC.cxx:278
 AliGlauberMC.cxx:279
 AliGlauberMC.cxx:280
 AliGlauberMC.cxx:281
 AliGlauberMC.cxx:282
 AliGlauberMC.cxx:283
 AliGlauberMC.cxx:284
 AliGlauberMC.cxx:285
 AliGlauberMC.cxx:286
 AliGlauberMC.cxx:287
 AliGlauberMC.cxx:288
 AliGlauberMC.cxx:289
 AliGlauberMC.cxx:290
 AliGlauberMC.cxx:291
 AliGlauberMC.cxx:292
 AliGlauberMC.cxx:293
 AliGlauberMC.cxx:294
 AliGlauberMC.cxx:295
 AliGlauberMC.cxx:296
 AliGlauberMC.cxx:297
 AliGlauberMC.cxx:298
 AliGlauberMC.cxx:299
 AliGlauberMC.cxx:300
 AliGlauberMC.cxx:301
 AliGlauberMC.cxx:302
 AliGlauberMC.cxx:303
 AliGlauberMC.cxx:304
 AliGlauberMC.cxx:305
 AliGlauberMC.cxx:306
 AliGlauberMC.cxx:307
 AliGlauberMC.cxx:308
 AliGlauberMC.cxx:309
 AliGlauberMC.cxx:310
 AliGlauberMC.cxx:311
 AliGlauberMC.cxx:312
 AliGlauberMC.cxx:313
 AliGlauberMC.cxx:314
 AliGlauberMC.cxx:315
 AliGlauberMC.cxx:316
 AliGlauberMC.cxx:317
 AliGlauberMC.cxx:318
 AliGlauberMC.cxx:319
 AliGlauberMC.cxx:320
 AliGlauberMC.cxx:321
 AliGlauberMC.cxx:322
 AliGlauberMC.cxx:323
 AliGlauberMC.cxx:324
 AliGlauberMC.cxx:325
 AliGlauberMC.cxx:326
 AliGlauberMC.cxx:327
 AliGlauberMC.cxx:328
 AliGlauberMC.cxx:329
 AliGlauberMC.cxx:330
 AliGlauberMC.cxx:331
 AliGlauberMC.cxx:332
 AliGlauberMC.cxx:333
 AliGlauberMC.cxx:334
 AliGlauberMC.cxx:335
 AliGlauberMC.cxx:336
 AliGlauberMC.cxx:337
 AliGlauberMC.cxx:338
 AliGlauberMC.cxx:339
 AliGlauberMC.cxx:340
 AliGlauberMC.cxx:341
 AliGlauberMC.cxx:342
 AliGlauberMC.cxx:343
 AliGlauberMC.cxx:344
 AliGlauberMC.cxx:345
 AliGlauberMC.cxx:346
 AliGlauberMC.cxx:347
 AliGlauberMC.cxx:348
 AliGlauberMC.cxx:349
 AliGlauberMC.cxx:350
 AliGlauberMC.cxx:351
 AliGlauberMC.cxx:352
 AliGlauberMC.cxx:353
 AliGlauberMC.cxx:354
 AliGlauberMC.cxx:355
 AliGlauberMC.cxx:356
 AliGlauberMC.cxx:357
 AliGlauberMC.cxx:358
 AliGlauberMC.cxx:359
 AliGlauberMC.cxx:360
 AliGlauberMC.cxx:361
 AliGlauberMC.cxx:362
 AliGlauberMC.cxx:363
 AliGlauberMC.cxx:364
 AliGlauberMC.cxx:365
 AliGlauberMC.cxx:366
 AliGlauberMC.cxx:367
 AliGlauberMC.cxx:368
 AliGlauberMC.cxx:369
 AliGlauberMC.cxx:370
 AliGlauberMC.cxx:371
 AliGlauberMC.cxx:372
 AliGlauberMC.cxx:373
 AliGlauberMC.cxx:374
 AliGlauberMC.cxx:375
 AliGlauberMC.cxx:376
 AliGlauberMC.cxx:377
 AliGlauberMC.cxx:378
 AliGlauberMC.cxx:379
 AliGlauberMC.cxx:380
 AliGlauberMC.cxx:381
 AliGlauberMC.cxx:382
 AliGlauberMC.cxx:383
 AliGlauberMC.cxx:384
 AliGlauberMC.cxx:385
 AliGlauberMC.cxx:386
 AliGlauberMC.cxx:387
 AliGlauberMC.cxx:388
 AliGlauberMC.cxx:389
 AliGlauberMC.cxx:390
 AliGlauberMC.cxx:391
 AliGlauberMC.cxx:392
 AliGlauberMC.cxx:393
 AliGlauberMC.cxx:394
 AliGlauberMC.cxx:395
 AliGlauberMC.cxx:396
 AliGlauberMC.cxx:397
 AliGlauberMC.cxx:398
 AliGlauberMC.cxx:399
 AliGlauberMC.cxx:400
 AliGlauberMC.cxx:401
 AliGlauberMC.cxx:402
 AliGlauberMC.cxx:403
 AliGlauberMC.cxx:404
 AliGlauberMC.cxx:405
 AliGlauberMC.cxx:406
 AliGlauberMC.cxx:407
 AliGlauberMC.cxx:408
 AliGlauberMC.cxx:409
 AliGlauberMC.cxx:410
 AliGlauberMC.cxx:411
 AliGlauberMC.cxx:412
 AliGlauberMC.cxx:413
 AliGlauberMC.cxx:414
 AliGlauberMC.cxx:415
 AliGlauberMC.cxx:416
 AliGlauberMC.cxx:417
 AliGlauberMC.cxx:418
 AliGlauberMC.cxx:419
 AliGlauberMC.cxx:420
 AliGlauberMC.cxx:421
 AliGlauberMC.cxx:422
 AliGlauberMC.cxx:423
 AliGlauberMC.cxx:424
 AliGlauberMC.cxx:425
 AliGlauberMC.cxx:426
 AliGlauberMC.cxx:427
 AliGlauberMC.cxx:428
 AliGlauberMC.cxx:429
 AliGlauberMC.cxx:430
 AliGlauberMC.cxx:431
 AliGlauberMC.cxx:432
 AliGlauberMC.cxx:433
 AliGlauberMC.cxx:434
 AliGlauberMC.cxx:435
 AliGlauberMC.cxx:436
 AliGlauberMC.cxx:437
 AliGlauberMC.cxx:438
 AliGlauberMC.cxx:439
 AliGlauberMC.cxx:440
 AliGlauberMC.cxx:441
 AliGlauberMC.cxx:442
 AliGlauberMC.cxx:443
 AliGlauberMC.cxx:444
 AliGlauberMC.cxx:445
 AliGlauberMC.cxx:446
 AliGlauberMC.cxx:447
 AliGlauberMC.cxx:448
 AliGlauberMC.cxx:449
 AliGlauberMC.cxx:450
 AliGlauberMC.cxx:451
 AliGlauberMC.cxx:452
 AliGlauberMC.cxx:453
 AliGlauberMC.cxx:454
 AliGlauberMC.cxx:455
 AliGlauberMC.cxx:456
 AliGlauberMC.cxx:457
 AliGlauberMC.cxx:458
 AliGlauberMC.cxx:459
 AliGlauberMC.cxx:460
 AliGlauberMC.cxx:461
 AliGlauberMC.cxx:462
 AliGlauberMC.cxx:463
 AliGlauberMC.cxx:464
 AliGlauberMC.cxx:465
 AliGlauberMC.cxx:466
 AliGlauberMC.cxx:467
 AliGlauberMC.cxx:468
 AliGlauberMC.cxx:469
 AliGlauberMC.cxx:470
 AliGlauberMC.cxx:471
 AliGlauberMC.cxx:472
 AliGlauberMC.cxx:473
 AliGlauberMC.cxx:474
 AliGlauberMC.cxx:475
 AliGlauberMC.cxx:476
 AliGlauberMC.cxx:477
 AliGlauberMC.cxx:478
 AliGlauberMC.cxx:479
 AliGlauberMC.cxx:480
 AliGlauberMC.cxx:481
 AliGlauberMC.cxx:482
 AliGlauberMC.cxx:483
 AliGlauberMC.cxx:484
 AliGlauberMC.cxx:485
 AliGlauberMC.cxx:486
 AliGlauberMC.cxx:487
 AliGlauberMC.cxx:488
 AliGlauberMC.cxx:489
 AliGlauberMC.cxx:490
 AliGlauberMC.cxx:491
 AliGlauberMC.cxx:492
 AliGlauberMC.cxx:493
 AliGlauberMC.cxx:494
 AliGlauberMC.cxx:495
 AliGlauberMC.cxx:496
 AliGlauberMC.cxx:497
 AliGlauberMC.cxx:498
 AliGlauberMC.cxx:499
 AliGlauberMC.cxx:500
 AliGlauberMC.cxx:501
 AliGlauberMC.cxx:502
 AliGlauberMC.cxx:503
 AliGlauberMC.cxx:504
 AliGlauberMC.cxx:505
 AliGlauberMC.cxx:506
 AliGlauberMC.cxx:507
 AliGlauberMC.cxx:508
 AliGlauberMC.cxx:509
 AliGlauberMC.cxx:510
 AliGlauberMC.cxx:511
 AliGlauberMC.cxx:512
 AliGlauberMC.cxx:513
 AliGlauberMC.cxx:514
 AliGlauberMC.cxx:515
 AliGlauberMC.cxx:516
 AliGlauberMC.cxx:517
 AliGlauberMC.cxx:518
 AliGlauberMC.cxx:519
 AliGlauberMC.cxx:520
 AliGlauberMC.cxx:521
 AliGlauberMC.cxx:522
 AliGlauberMC.cxx:523
 AliGlauberMC.cxx:524
 AliGlauberMC.cxx:525
 AliGlauberMC.cxx:526
 AliGlauberMC.cxx:527
 AliGlauberMC.cxx:528
 AliGlauberMC.cxx:529
 AliGlauberMC.cxx:530
 AliGlauberMC.cxx:531
 AliGlauberMC.cxx:532
 AliGlauberMC.cxx:533
 AliGlauberMC.cxx:534
 AliGlauberMC.cxx:535
 AliGlauberMC.cxx:536
 AliGlauberMC.cxx:537
 AliGlauberMC.cxx:538
 AliGlauberMC.cxx:539
 AliGlauberMC.cxx:540
 AliGlauberMC.cxx:541
 AliGlauberMC.cxx:542
 AliGlauberMC.cxx:543
 AliGlauberMC.cxx:544
 AliGlauberMC.cxx:545
 AliGlauberMC.cxx:546
 AliGlauberMC.cxx:547
 AliGlauberMC.cxx:548
 AliGlauberMC.cxx:549
 AliGlauberMC.cxx:550
 AliGlauberMC.cxx:551
 AliGlauberMC.cxx:552
 AliGlauberMC.cxx:553
 AliGlauberMC.cxx:554
 AliGlauberMC.cxx:555
 AliGlauberMC.cxx:556
 AliGlauberMC.cxx:557
 AliGlauberMC.cxx:558
 AliGlauberMC.cxx:559
 AliGlauberMC.cxx:560
 AliGlauberMC.cxx:561
 AliGlauberMC.cxx:562
 AliGlauberMC.cxx:563
 AliGlauberMC.cxx:564
 AliGlauberMC.cxx:565
 AliGlauberMC.cxx:566
 AliGlauberMC.cxx:567
 AliGlauberMC.cxx:568
 AliGlauberMC.cxx:569
 AliGlauberMC.cxx:570
 AliGlauberMC.cxx:571
 AliGlauberMC.cxx:572
 AliGlauberMC.cxx:573
 AliGlauberMC.cxx:574
 AliGlauberMC.cxx:575
 AliGlauberMC.cxx:576
 AliGlauberMC.cxx:577
 AliGlauberMC.cxx:578
 AliGlauberMC.cxx:579
 AliGlauberMC.cxx:580
 AliGlauberMC.cxx:581
 AliGlauberMC.cxx:582
 AliGlauberMC.cxx:583
 AliGlauberMC.cxx:584
 AliGlauberMC.cxx:585
 AliGlauberMC.cxx:586
 AliGlauberMC.cxx:587
 AliGlauberMC.cxx:588
 AliGlauberMC.cxx:589
 AliGlauberMC.cxx:590
 AliGlauberMC.cxx:591
 AliGlauberMC.cxx:592
 AliGlauberMC.cxx:593
 AliGlauberMC.cxx:594
 AliGlauberMC.cxx:595
 AliGlauberMC.cxx:596
 AliGlauberMC.cxx:597
 AliGlauberMC.cxx:598
 AliGlauberMC.cxx:599
 AliGlauberMC.cxx:600
 AliGlauberMC.cxx:601
 AliGlauberMC.cxx:602
 AliGlauberMC.cxx:603
 AliGlauberMC.cxx:604
 AliGlauberMC.cxx:605
 AliGlauberMC.cxx:606
 AliGlauberMC.cxx:607
 AliGlauberMC.cxx:608
 AliGlauberMC.cxx:609
 AliGlauberMC.cxx:610
 AliGlauberMC.cxx:611
 AliGlauberMC.cxx:612
 AliGlauberMC.cxx:613
 AliGlauberMC.cxx:614
 AliGlauberMC.cxx:615
 AliGlauberMC.cxx:616
 AliGlauberMC.cxx:617
 AliGlauberMC.cxx:618
 AliGlauberMC.cxx:619
 AliGlauberMC.cxx:620
 AliGlauberMC.cxx:621
 AliGlauberMC.cxx:622
 AliGlauberMC.cxx:623
 AliGlauberMC.cxx:624
 AliGlauberMC.cxx:625
 AliGlauberMC.cxx:626
 AliGlauberMC.cxx:627
 AliGlauberMC.cxx:628
 AliGlauberMC.cxx:629
 AliGlauberMC.cxx:630
 AliGlauberMC.cxx:631
 AliGlauberMC.cxx:632
 AliGlauberMC.cxx:633
 AliGlauberMC.cxx:634
 AliGlauberMC.cxx:635
 AliGlauberMC.cxx:636
 AliGlauberMC.cxx:637
 AliGlauberMC.cxx:638
 AliGlauberMC.cxx:639
 AliGlauberMC.cxx:640
 AliGlauberMC.cxx:641
 AliGlauberMC.cxx:642
 AliGlauberMC.cxx:643
 AliGlauberMC.cxx:644
 AliGlauberMC.cxx:645
 AliGlauberMC.cxx:646
 AliGlauberMC.cxx:647
 AliGlauberMC.cxx:648
 AliGlauberMC.cxx:649
 AliGlauberMC.cxx:650
 AliGlauberMC.cxx:651
 AliGlauberMC.cxx:652
 AliGlauberMC.cxx:653
 AliGlauberMC.cxx:654
 AliGlauberMC.cxx:655
 AliGlauberMC.cxx:656
 AliGlauberMC.cxx:657
 AliGlauberMC.cxx:658
 AliGlauberMC.cxx:659
 AliGlauberMC.cxx:660
 AliGlauberMC.cxx:661
 AliGlauberMC.cxx:662
 AliGlauberMC.cxx:663
 AliGlauberMC.cxx:664
 AliGlauberMC.cxx:665
 AliGlauberMC.cxx:666
 AliGlauberMC.cxx:667
 AliGlauberMC.cxx:668
 AliGlauberMC.cxx:669
 AliGlauberMC.cxx:670
 AliGlauberMC.cxx:671
 AliGlauberMC.cxx:672
 AliGlauberMC.cxx:673
 AliGlauberMC.cxx:674
 AliGlauberMC.cxx:675
 AliGlauberMC.cxx:676
 AliGlauberMC.cxx:677
 AliGlauberMC.cxx:678
 AliGlauberMC.cxx:679
 AliGlauberMC.cxx:680
 AliGlauberMC.cxx:681
 AliGlauberMC.cxx:682
 AliGlauberMC.cxx:683
 AliGlauberMC.cxx:684
 AliGlauberMC.cxx:685
 AliGlauberMC.cxx:686
 AliGlauberMC.cxx:687
 AliGlauberMC.cxx:688
 AliGlauberMC.cxx:689
 AliGlauberMC.cxx:690
 AliGlauberMC.cxx:691
 AliGlauberMC.cxx:692
 AliGlauberMC.cxx:693
 AliGlauberMC.cxx:694
 AliGlauberMC.cxx:695
 AliGlauberMC.cxx:696
 AliGlauberMC.cxx:697
 AliGlauberMC.cxx:698
 AliGlauberMC.cxx:699
 AliGlauberMC.cxx:700
 AliGlauberMC.cxx:701
 AliGlauberMC.cxx:702
 AliGlauberMC.cxx:703
 AliGlauberMC.cxx:704
 AliGlauberMC.cxx:705
 AliGlauberMC.cxx:706
 AliGlauberMC.cxx:707
 AliGlauberMC.cxx:708
 AliGlauberMC.cxx:709
 AliGlauberMC.cxx:710
 AliGlauberMC.cxx:711
 AliGlauberMC.cxx:712
 AliGlauberMC.cxx:713
 AliGlauberMC.cxx:714
 AliGlauberMC.cxx:715
 AliGlauberMC.cxx:716
 AliGlauberMC.cxx:717
 AliGlauberMC.cxx:718
 AliGlauberMC.cxx:719
 AliGlauberMC.cxx:720
 AliGlauberMC.cxx:721
 AliGlauberMC.cxx:722
 AliGlauberMC.cxx:723
 AliGlauberMC.cxx:724
 AliGlauberMC.cxx:725
 AliGlauberMC.cxx:726
 AliGlauberMC.cxx:727
 AliGlauberMC.cxx:728
 AliGlauberMC.cxx:729
 AliGlauberMC.cxx:730
 AliGlauberMC.cxx:731
 AliGlauberMC.cxx:732
 AliGlauberMC.cxx:733
 AliGlauberMC.cxx:734
 AliGlauberMC.cxx:735
 AliGlauberMC.cxx:736
 AliGlauberMC.cxx:737
 AliGlauberMC.cxx:738
 AliGlauberMC.cxx:739
 AliGlauberMC.cxx:740
 AliGlauberMC.cxx:741
 AliGlauberMC.cxx:742
 AliGlauberMC.cxx:743
 AliGlauberMC.cxx:744
 AliGlauberMC.cxx:745
 AliGlauberMC.cxx:746
 AliGlauberMC.cxx:747
 AliGlauberMC.cxx:748
 AliGlauberMC.cxx:749
 AliGlauberMC.cxx:750
 AliGlauberMC.cxx:751
 AliGlauberMC.cxx:752
 AliGlauberMC.cxx:753
 AliGlauberMC.cxx:754
 AliGlauberMC.cxx:755
 AliGlauberMC.cxx:756
 AliGlauberMC.cxx:757
 AliGlauberMC.cxx:758
 AliGlauberMC.cxx:759
 AliGlauberMC.cxx:760
 AliGlauberMC.cxx:761
 AliGlauberMC.cxx:762
 AliGlauberMC.cxx:763
 AliGlauberMC.cxx:764
 AliGlauberMC.cxx:765
 AliGlauberMC.cxx:766
 AliGlauberMC.cxx:767
 AliGlauberMC.cxx:768
 AliGlauberMC.cxx:769
 AliGlauberMC.cxx:770
 AliGlauberMC.cxx:771
 AliGlauberMC.cxx:772
 AliGlauberMC.cxx:773
 AliGlauberMC.cxx:774
 AliGlauberMC.cxx:775
 AliGlauberMC.cxx:776
 AliGlauberMC.cxx:777
 AliGlauberMC.cxx:778
 AliGlauberMC.cxx:779
 AliGlauberMC.cxx:780
 AliGlauberMC.cxx:781
 AliGlauberMC.cxx:782
 AliGlauberMC.cxx:783
 AliGlauberMC.cxx:784
 AliGlauberMC.cxx:785
 AliGlauberMC.cxx:786
 AliGlauberMC.cxx:787
 AliGlauberMC.cxx:788
 AliGlauberMC.cxx:789
 AliGlauberMC.cxx:790
 AliGlauberMC.cxx:791
 AliGlauberMC.cxx:792
 AliGlauberMC.cxx:793
 AliGlauberMC.cxx:794
 AliGlauberMC.cxx:795
 AliGlauberMC.cxx:796
 AliGlauberMC.cxx:797
 AliGlauberMC.cxx:798
 AliGlauberMC.cxx:799
 AliGlauberMC.cxx:800
 AliGlauberMC.cxx:801
 AliGlauberMC.cxx:802
 AliGlauberMC.cxx:803
 AliGlauberMC.cxx:804
 AliGlauberMC.cxx:805
 AliGlauberMC.cxx:806
 AliGlauberMC.cxx:807
 AliGlauberMC.cxx:808
 AliGlauberMC.cxx:809
 AliGlauberMC.cxx:810
 AliGlauberMC.cxx:811
 AliGlauberMC.cxx:812
 AliGlauberMC.cxx:813
 AliGlauberMC.cxx:814
 AliGlauberMC.cxx:815
 AliGlauberMC.cxx:816
 AliGlauberMC.cxx:817
 AliGlauberMC.cxx:818
 AliGlauberMC.cxx:819
 AliGlauberMC.cxx:820
 AliGlauberMC.cxx:821
 AliGlauberMC.cxx:822
 AliGlauberMC.cxx:823
 AliGlauberMC.cxx:824
 AliGlauberMC.cxx:825
 AliGlauberMC.cxx:826
 AliGlauberMC.cxx:827
 AliGlauberMC.cxx:828
 AliGlauberMC.cxx:829
 AliGlauberMC.cxx:830
 AliGlauberMC.cxx:831
 AliGlauberMC.cxx:832
 AliGlauberMC.cxx:833
 AliGlauberMC.cxx:834
 AliGlauberMC.cxx:835
 AliGlauberMC.cxx:836
 AliGlauberMC.cxx:837
 AliGlauberMC.cxx:838
 AliGlauberMC.cxx:839
 AliGlauberMC.cxx:840
 AliGlauberMC.cxx:841
 AliGlauberMC.cxx:842
 AliGlauberMC.cxx:843
 AliGlauberMC.cxx:844
 AliGlauberMC.cxx:845
 AliGlauberMC.cxx:846
 AliGlauberMC.cxx:847
 AliGlauberMC.cxx:848
 AliGlauberMC.cxx:849
 AliGlauberMC.cxx:850
 AliGlauberMC.cxx:851
 AliGlauberMC.cxx:852
 AliGlauberMC.cxx:853
 AliGlauberMC.cxx:854
 AliGlauberMC.cxx:855
 AliGlauberMC.cxx:856
 AliGlauberMC.cxx:857
 AliGlauberMC.cxx:858
 AliGlauberMC.cxx:859
 AliGlauberMC.cxx:860
 AliGlauberMC.cxx:861
 AliGlauberMC.cxx:862
 AliGlauberMC.cxx:863
 AliGlauberMC.cxx:864
 AliGlauberMC.cxx:865
 AliGlauberMC.cxx:866
 AliGlauberMC.cxx:867
 AliGlauberMC.cxx:868
 AliGlauberMC.cxx:869
 AliGlauberMC.cxx:870
 AliGlauberMC.cxx:871
 AliGlauberMC.cxx:872
 AliGlauberMC.cxx:873
 AliGlauberMC.cxx:874
 AliGlauberMC.cxx:875
 AliGlauberMC.cxx:876
 AliGlauberMC.cxx:877
 AliGlauberMC.cxx:878
 AliGlauberMC.cxx:879
 AliGlauberMC.cxx:880
 AliGlauberMC.cxx:881
 AliGlauberMC.cxx:882
 AliGlauberMC.cxx:883
 AliGlauberMC.cxx:884
 AliGlauberMC.cxx:885
 AliGlauberMC.cxx:886
 AliGlauberMC.cxx:887
 AliGlauberMC.cxx:888
 AliGlauberMC.cxx:889
 AliGlauberMC.cxx:890
 AliGlauberMC.cxx:891
 AliGlauberMC.cxx:892
 AliGlauberMC.cxx:893
 AliGlauberMC.cxx:894
 AliGlauberMC.cxx:895
 AliGlauberMC.cxx:896
 AliGlauberMC.cxx:897
 AliGlauberMC.cxx:898
 AliGlauberMC.cxx:899
 AliGlauberMC.cxx:900
 AliGlauberMC.cxx:901
 AliGlauberMC.cxx:902
 AliGlauberMC.cxx:903
 AliGlauberMC.cxx:904
 AliGlauberMC.cxx:905
 AliGlauberMC.cxx:906
 AliGlauberMC.cxx:907
 AliGlauberMC.cxx:908
 AliGlauberMC.cxx:909
 AliGlauberMC.cxx:910
 AliGlauberMC.cxx:911
 AliGlauberMC.cxx:912
 AliGlauberMC.cxx:913
 AliGlauberMC.cxx:914
 AliGlauberMC.cxx:915
 AliGlauberMC.cxx:916
 AliGlauberMC.cxx:917
 AliGlauberMC.cxx:918
 AliGlauberMC.cxx:919
 AliGlauberMC.cxx:920
 AliGlauberMC.cxx:921
 AliGlauberMC.cxx:922
 AliGlauberMC.cxx:923
 AliGlauberMC.cxx:924
 AliGlauberMC.cxx:925
 AliGlauberMC.cxx:926
 AliGlauberMC.cxx:927
 AliGlauberMC.cxx:928
 AliGlauberMC.cxx:929
 AliGlauberMC.cxx:930
 AliGlauberMC.cxx:931
 AliGlauberMC.cxx:932
 AliGlauberMC.cxx:933
 AliGlauberMC.cxx:934
 AliGlauberMC.cxx:935
 AliGlauberMC.cxx:936
 AliGlauberMC.cxx:937
 AliGlauberMC.cxx:938
 AliGlauberMC.cxx:939
 AliGlauberMC.cxx:940
 AliGlauberMC.cxx:941
 AliGlauberMC.cxx:942
 AliGlauberMC.cxx:943
 AliGlauberMC.cxx:944
 AliGlauberMC.cxx:945
 AliGlauberMC.cxx:946
 AliGlauberMC.cxx:947
 AliGlauberMC.cxx:948
 AliGlauberMC.cxx:949
 AliGlauberMC.cxx:950
 AliGlauberMC.cxx:951
 AliGlauberMC.cxx:952
 AliGlauberMC.cxx:953
 AliGlauberMC.cxx:954
 AliGlauberMC.cxx:955
 AliGlauberMC.cxx:956
 AliGlauberMC.cxx:957
 AliGlauberMC.cxx:958
 AliGlauberMC.cxx:959
 AliGlauberMC.cxx:960
 AliGlauberMC.cxx:961
 AliGlauberMC.cxx:962
 AliGlauberMC.cxx:963
 AliGlauberMC.cxx:964
 AliGlauberMC.cxx:965
 AliGlauberMC.cxx:966
 AliGlauberMC.cxx:967
 AliGlauberMC.cxx:968
 AliGlauberMC.cxx:969
 AliGlauberMC.cxx:970
 AliGlauberMC.cxx:971
 AliGlauberMC.cxx:972
 AliGlauberMC.cxx:973
 AliGlauberMC.cxx:974
 AliGlauberMC.cxx:975
 AliGlauberMC.cxx:976
 AliGlauberMC.cxx:977
 AliGlauberMC.cxx:978
 AliGlauberMC.cxx:979
 AliGlauberMC.cxx:980
 AliGlauberMC.cxx:981
 AliGlauberMC.cxx:982
 AliGlauberMC.cxx:983
 AliGlauberMC.cxx:984
 AliGlauberMC.cxx:985
 AliGlauberMC.cxx:986
 AliGlauberMC.cxx:987
 AliGlauberMC.cxx:988
 AliGlauberMC.cxx:989
 AliGlauberMC.cxx:990
 AliGlauberMC.cxx:991
 AliGlauberMC.cxx:992
 AliGlauberMC.cxx:993
 AliGlauberMC.cxx:994
 AliGlauberMC.cxx:995
 AliGlauberMC.cxx:996
 AliGlauberMC.cxx:997
 AliGlauberMC.cxx:998
 AliGlauberMC.cxx:999
 AliGlauberMC.cxx:1000
 AliGlauberMC.cxx:1001
 AliGlauberMC.cxx:1002
 AliGlauberMC.cxx:1003
 AliGlauberMC.cxx:1004
 AliGlauberMC.cxx:1005
 AliGlauberMC.cxx:1006
 AliGlauberMC.cxx:1007
 AliGlauberMC.cxx:1008
 AliGlauberMC.cxx:1009
 AliGlauberMC.cxx:1010
 AliGlauberMC.cxx:1011
 AliGlauberMC.cxx:1012
 AliGlauberMC.cxx:1013
 AliGlauberMC.cxx:1014
 AliGlauberMC.cxx:1015
 AliGlauberMC.cxx:1016
 AliGlauberMC.cxx:1017
 AliGlauberMC.cxx:1018
 AliGlauberMC.cxx:1019
 AliGlauberMC.cxx:1020
 AliGlauberMC.cxx:1021
 AliGlauberMC.cxx:1022
 AliGlauberMC.cxx:1023
 AliGlauberMC.cxx:1024
 AliGlauberMC.cxx:1025
 AliGlauberMC.cxx:1026
 AliGlauberMC.cxx:1027
 AliGlauberMC.cxx:1028
 AliGlauberMC.cxx:1029
 AliGlauberMC.cxx:1030
 AliGlauberMC.cxx:1031
 AliGlauberMC.cxx:1032
 AliGlauberMC.cxx:1033
 AliGlauberMC.cxx:1034
 AliGlauberMC.cxx:1035
 AliGlauberMC.cxx:1036
 AliGlauberMC.cxx:1037
 AliGlauberMC.cxx:1038
 AliGlauberMC.cxx:1039
 AliGlauberMC.cxx:1040
 AliGlauberMC.cxx:1041
 AliGlauberMC.cxx:1042
 AliGlauberMC.cxx:1043
 AliGlauberMC.cxx:1044
 AliGlauberMC.cxx:1045
 AliGlauberMC.cxx:1046
 AliGlauberMC.cxx:1047
 AliGlauberMC.cxx:1048
 AliGlauberMC.cxx:1049
 AliGlauberMC.cxx:1050
 AliGlauberMC.cxx:1051
 AliGlauberMC.cxx:1052
 AliGlauberMC.cxx:1053
 AliGlauberMC.cxx:1054
 AliGlauberMC.cxx:1055
 AliGlauberMC.cxx:1056
 AliGlauberMC.cxx:1057
 AliGlauberMC.cxx:1058
 AliGlauberMC.cxx:1059
 AliGlauberMC.cxx:1060
 AliGlauberMC.cxx:1061
 AliGlauberMC.cxx:1062
 AliGlauberMC.cxx:1063
 AliGlauberMC.cxx:1064
 AliGlauberMC.cxx:1065
 AliGlauberMC.cxx:1066
 AliGlauberMC.cxx:1067
 AliGlauberMC.cxx:1068
 AliGlauberMC.cxx:1069
 AliGlauberMC.cxx:1070
 AliGlauberMC.cxx:1071
 AliGlauberMC.cxx:1072
 AliGlauberMC.cxx:1073
 AliGlauberMC.cxx:1074
 AliGlauberMC.cxx:1075
 AliGlauberMC.cxx:1076
 AliGlauberMC.cxx:1077
 AliGlauberMC.cxx:1078
 AliGlauberMC.cxx:1079
 AliGlauberMC.cxx:1080
 AliGlauberMC.cxx:1081
 AliGlauberMC.cxx:1082
 AliGlauberMC.cxx:1083
 AliGlauberMC.cxx:1084
 AliGlauberMC.cxx:1085
 AliGlauberMC.cxx:1086
 AliGlauberMC.cxx:1087
 AliGlauberMC.cxx:1088
 AliGlauberMC.cxx:1089
 AliGlauberMC.cxx:1090
 AliGlauberMC.cxx:1091
 AliGlauberMC.cxx:1092
 AliGlauberMC.cxx:1093
 AliGlauberMC.cxx:1094
 AliGlauberMC.cxx:1095
 AliGlauberMC.cxx:1096
 AliGlauberMC.cxx:1097
 AliGlauberMC.cxx:1098
 AliGlauberMC.cxx:1099
 AliGlauberMC.cxx:1100
 AliGlauberMC.cxx:1101
 AliGlauberMC.cxx:1102
 AliGlauberMC.cxx:1103
 AliGlauberMC.cxx:1104
 AliGlauberMC.cxx:1105
 AliGlauberMC.cxx:1106
 AliGlauberMC.cxx:1107
 AliGlauberMC.cxx:1108
 AliGlauberMC.cxx:1109
 AliGlauberMC.cxx:1110
 AliGlauberMC.cxx:1111
 AliGlauberMC.cxx:1112
 AliGlauberMC.cxx:1113
 AliGlauberMC.cxx:1114
 AliGlauberMC.cxx:1115
 AliGlauberMC.cxx:1116
 AliGlauberMC.cxx:1117
 AliGlauberMC.cxx:1118
 AliGlauberMC.cxx:1119
 AliGlauberMC.cxx:1120
 AliGlauberMC.cxx:1121
 AliGlauberMC.cxx:1122
 AliGlauberMC.cxx:1123
 AliGlauberMC.cxx:1124
 AliGlauberMC.cxx:1125
 AliGlauberMC.cxx:1126
 AliGlauberMC.cxx:1127
 AliGlauberMC.cxx:1128
 AliGlauberMC.cxx:1129
 AliGlauberMC.cxx:1130
 AliGlauberMC.cxx:1131
 AliGlauberMC.cxx:1132
 AliGlauberMC.cxx:1133
 AliGlauberMC.cxx:1134
 AliGlauberMC.cxx:1135
 AliGlauberMC.cxx:1136
 AliGlauberMC.cxx:1137
 AliGlauberMC.cxx:1138
 AliGlauberMC.cxx:1139
 AliGlauberMC.cxx:1140
 AliGlauberMC.cxx:1141
 AliGlauberMC.cxx:1142
 AliGlauberMC.cxx:1143
 AliGlauberMC.cxx:1144
 AliGlauberMC.cxx:1145
 AliGlauberMC.cxx:1146
 AliGlauberMC.cxx:1147
 AliGlauberMC.cxx:1148
 AliGlauberMC.cxx:1149
 AliGlauberMC.cxx:1150
 AliGlauberMC.cxx:1151
 AliGlauberMC.cxx:1152
 AliGlauberMC.cxx:1153
 AliGlauberMC.cxx:1154
 AliGlauberMC.cxx:1155
 AliGlauberMC.cxx:1156
 AliGlauberMC.cxx:1157
 AliGlauberMC.cxx:1158
 AliGlauberMC.cxx:1159
 AliGlauberMC.cxx:1160
 AliGlauberMC.cxx:1161
 AliGlauberMC.cxx:1162
 AliGlauberMC.cxx:1163
 AliGlauberMC.cxx:1164
 AliGlauberMC.cxx:1165
 AliGlauberMC.cxx:1166
 AliGlauberMC.cxx:1167
 AliGlauberMC.cxx:1168
 AliGlauberMC.cxx:1169
 AliGlauberMC.cxx:1170
 AliGlauberMC.cxx:1171
 AliGlauberMC.cxx:1172
 AliGlauberMC.cxx:1173
 AliGlauberMC.cxx:1174
 AliGlauberMC.cxx:1175
 AliGlauberMC.cxx:1176
 AliGlauberMC.cxx:1177
 AliGlauberMC.cxx:1178
 AliGlauberMC.cxx:1179
 AliGlauberMC.cxx:1180
 AliGlauberMC.cxx:1181
 AliGlauberMC.cxx:1182
 AliGlauberMC.cxx:1183
 AliGlauberMC.cxx:1184
 AliGlauberMC.cxx:1185
 AliGlauberMC.cxx:1186
 AliGlauberMC.cxx:1187
 AliGlauberMC.cxx:1188
 AliGlauberMC.cxx:1189
 AliGlauberMC.cxx:1190
 AliGlauberMC.cxx:1191
 AliGlauberMC.cxx:1192
 AliGlauberMC.cxx:1193
 AliGlauberMC.cxx:1194
 AliGlauberMC.cxx:1195
 AliGlauberMC.cxx:1196
 AliGlauberMC.cxx:1197
 AliGlauberMC.cxx:1198
 AliGlauberMC.cxx:1199
 AliGlauberMC.cxx:1200
 AliGlauberMC.cxx:1201
 AliGlauberMC.cxx:1202
 AliGlauberMC.cxx:1203
 AliGlauberMC.cxx:1204
 AliGlauberMC.cxx:1205
 AliGlauberMC.cxx:1206
 AliGlauberMC.cxx:1207
 AliGlauberMC.cxx:1208
 AliGlauberMC.cxx:1209
 AliGlauberMC.cxx:1210
 AliGlauberMC.cxx:1211
 AliGlauberMC.cxx:1212
 AliGlauberMC.cxx:1213
 AliGlauberMC.cxx:1214
 AliGlauberMC.cxx:1215
 AliGlauberMC.cxx:1216
 AliGlauberMC.cxx:1217
 AliGlauberMC.cxx:1218
 AliGlauberMC.cxx:1219
 AliGlauberMC.cxx:1220
 AliGlauberMC.cxx:1221
 AliGlauberMC.cxx:1222
 AliGlauberMC.cxx:1223
 AliGlauberMC.cxx:1224
 AliGlauberMC.cxx:1225
 AliGlauberMC.cxx:1226
 AliGlauberMC.cxx:1227
 AliGlauberMC.cxx:1228
 AliGlauberMC.cxx:1229
 AliGlauberMC.cxx:1230
 AliGlauberMC.cxx:1231
 AliGlauberMC.cxx:1232
 AliGlauberMC.cxx:1233
 AliGlauberMC.cxx:1234
 AliGlauberMC.cxx:1235
 AliGlauberMC.cxx:1236
 AliGlauberMC.cxx:1237
 AliGlauberMC.cxx:1238
 AliGlauberMC.cxx:1239
 AliGlauberMC.cxx:1240
 AliGlauberMC.cxx:1241
 AliGlauberMC.cxx:1242
 AliGlauberMC.cxx:1243
 AliGlauberMC.cxx:1244
 AliGlauberMC.cxx:1245
 AliGlauberMC.cxx:1246
 AliGlauberMC.cxx:1247
 AliGlauberMC.cxx:1248
 AliGlauberMC.cxx:1249
 AliGlauberMC.cxx:1250
 AliGlauberMC.cxx:1251
 AliGlauberMC.cxx:1252
 AliGlauberMC.cxx:1253
 AliGlauberMC.cxx:1254
 AliGlauberMC.cxx:1255
 AliGlauberMC.cxx:1256
 AliGlauberMC.cxx:1257
 AliGlauberMC.cxx:1258
 AliGlauberMC.cxx:1259
 AliGlauberMC.cxx:1260
 AliGlauberMC.cxx:1261
 AliGlauberMC.cxx:1262
 AliGlauberMC.cxx:1263
 AliGlauberMC.cxx:1264
 AliGlauberMC.cxx:1265
 AliGlauberMC.cxx:1266
 AliGlauberMC.cxx:1267
 AliGlauberMC.cxx:1268
 AliGlauberMC.cxx:1269
 AliGlauberMC.cxx:1270
 AliGlauberMC.cxx:1271
 AliGlauberMC.cxx:1272
 AliGlauberMC.cxx:1273
 AliGlauberMC.cxx:1274
 AliGlauberMC.cxx:1275
 AliGlauberMC.cxx:1276
 AliGlauberMC.cxx:1277
 AliGlauberMC.cxx:1278
 AliGlauberMC.cxx:1279
 AliGlauberMC.cxx:1280
 AliGlauberMC.cxx:1281
 AliGlauberMC.cxx:1282
 AliGlauberMC.cxx:1283
 AliGlauberMC.cxx:1284
 AliGlauberMC.cxx:1285
 AliGlauberMC.cxx:1286
 AliGlauberMC.cxx:1287
 AliGlauberMC.cxx:1288
 AliGlauberMC.cxx:1289
 AliGlauberMC.cxx:1290
 AliGlauberMC.cxx:1291
 AliGlauberMC.cxx:1292
 AliGlauberMC.cxx:1293
 AliGlauberMC.cxx:1294
 AliGlauberMC.cxx:1295
 AliGlauberMC.cxx:1296
 AliGlauberMC.cxx:1297
 AliGlauberMC.cxx:1298
 AliGlauberMC.cxx:1299
 AliGlauberMC.cxx:1300
 AliGlauberMC.cxx:1301
 AliGlauberMC.cxx:1302
 AliGlauberMC.cxx:1303
 AliGlauberMC.cxx:1304
 AliGlauberMC.cxx:1305
 AliGlauberMC.cxx:1306
 AliGlauberMC.cxx:1307
 AliGlauberMC.cxx:1308
 AliGlauberMC.cxx:1309
 AliGlauberMC.cxx:1310
 AliGlauberMC.cxx:1311
 AliGlauberMC.cxx:1312
 AliGlauberMC.cxx:1313
 AliGlauberMC.cxx:1314
 AliGlauberMC.cxx:1315
 AliGlauberMC.cxx:1316
 AliGlauberMC.cxx:1317
 AliGlauberMC.cxx:1318
 AliGlauberMC.cxx:1319
 AliGlauberMC.cxx:1320
 AliGlauberMC.cxx:1321
 AliGlauberMC.cxx:1322
 AliGlauberMC.cxx:1323
 AliGlauberMC.cxx:1324
 AliGlauberMC.cxx:1325
 AliGlauberMC.cxx:1326
 AliGlauberMC.cxx:1327
 AliGlauberMC.cxx:1328
 AliGlauberMC.cxx:1329
 AliGlauberMC.cxx:1330
 AliGlauberMC.cxx:1331
 AliGlauberMC.cxx:1332
 AliGlauberMC.cxx:1333
 AliGlauberMC.cxx:1334
 AliGlauberMC.cxx:1335
 AliGlauberMC.cxx:1336
 AliGlauberMC.cxx:1337
 AliGlauberMC.cxx:1338
 AliGlauberMC.cxx:1339
 AliGlauberMC.cxx:1340
 AliGlauberMC.cxx:1341
 AliGlauberMC.cxx:1342
 AliGlauberMC.cxx:1343
 AliGlauberMC.cxx:1344
 AliGlauberMC.cxx:1345
 AliGlauberMC.cxx:1346
 AliGlauberMC.cxx:1347
 AliGlauberMC.cxx:1348
 AliGlauberMC.cxx:1349
 AliGlauberMC.cxx:1350
 AliGlauberMC.cxx:1351
 AliGlauberMC.cxx:1352
 AliGlauberMC.cxx:1353
 AliGlauberMC.cxx:1354
 AliGlauberMC.cxx:1355
 AliGlauberMC.cxx:1356
 AliGlauberMC.cxx:1357
 AliGlauberMC.cxx:1358
 AliGlauberMC.cxx:1359
 AliGlauberMC.cxx:1360
 AliGlauberMC.cxx:1361
 AliGlauberMC.cxx:1362
 AliGlauberMC.cxx:1363
 AliGlauberMC.cxx:1364
 AliGlauberMC.cxx:1365
 AliGlauberMC.cxx:1366
 AliGlauberMC.cxx:1367
 AliGlauberMC.cxx:1368
 AliGlauberMC.cxx:1369
 AliGlauberMC.cxx:1370
 AliGlauberMC.cxx:1371
 AliGlauberMC.cxx:1372
 AliGlauberMC.cxx:1373
 AliGlauberMC.cxx:1374
 AliGlauberMC.cxx:1375
 AliGlauberMC.cxx:1376
 AliGlauberMC.cxx:1377
 AliGlauberMC.cxx:1378
 AliGlauberMC.cxx:1379
 AliGlauberMC.cxx:1380
 AliGlauberMC.cxx:1381
 AliGlauberMC.cxx:1382
 AliGlauberMC.cxx:1383
 AliGlauberMC.cxx:1384
 AliGlauberMC.cxx:1385
 AliGlauberMC.cxx:1386
 AliGlauberMC.cxx:1387
 AliGlauberMC.cxx:1388
 AliGlauberMC.cxx:1389
 AliGlauberMC.cxx:1390
 AliGlauberMC.cxx:1391
 AliGlauberMC.cxx:1392
 AliGlauberMC.cxx:1393
 AliGlauberMC.cxx:1394
 AliGlauberMC.cxx:1395
 AliGlauberMC.cxx:1396
 AliGlauberMC.cxx:1397
 AliGlauberMC.cxx:1398
 AliGlauberMC.cxx:1399
 AliGlauberMC.cxx:1400
 AliGlauberMC.cxx:1401
 AliGlauberMC.cxx:1402
 AliGlauberMC.cxx:1403
 AliGlauberMC.cxx:1404
 AliGlauberMC.cxx:1405
 AliGlauberMC.cxx:1406
 AliGlauberMC.cxx:1407
 AliGlauberMC.cxx:1408
 AliGlauberMC.cxx:1409
 AliGlauberMC.cxx:1410
 AliGlauberMC.cxx:1411
 AliGlauberMC.cxx:1412
 AliGlauberMC.cxx:1413
 AliGlauberMC.cxx:1414
 AliGlauberMC.cxx:1415
 AliGlauberMC.cxx:1416
 AliGlauberMC.cxx:1417
 AliGlauberMC.cxx:1418
 AliGlauberMC.cxx:1419
 AliGlauberMC.cxx:1420
 AliGlauberMC.cxx:1421
 AliGlauberMC.cxx:1422
 AliGlauberMC.cxx:1423
 AliGlauberMC.cxx:1424
 AliGlauberMC.cxx:1425
 AliGlauberMC.cxx:1426
 AliGlauberMC.cxx:1427
 AliGlauberMC.cxx:1428
 AliGlauberMC.cxx:1429
 AliGlauberMC.cxx:1430
 AliGlauberMC.cxx:1431
 AliGlauberMC.cxx:1432
 AliGlauberMC.cxx:1433
 AliGlauberMC.cxx:1434
 AliGlauberMC.cxx:1435
 AliGlauberMC.cxx:1436
 AliGlauberMC.cxx:1437
 AliGlauberMC.cxx:1438
 AliGlauberMC.cxx:1439
 AliGlauberMC.cxx:1440
 AliGlauberMC.cxx:1441
 AliGlauberMC.cxx:1442
 AliGlauberMC.cxx:1443
 AliGlauberMC.cxx:1444
 AliGlauberMC.cxx:1445
 AliGlauberMC.cxx:1446
 AliGlauberMC.cxx:1447
 AliGlauberMC.cxx:1448
 AliGlauberMC.cxx:1449
 AliGlauberMC.cxx:1450
 AliGlauberMC.cxx:1451
 AliGlauberMC.cxx:1452
 AliGlauberMC.cxx:1453
 AliGlauberMC.cxx:1454
 AliGlauberMC.cxx:1455
 AliGlauberMC.cxx:1456
 AliGlauberMC.cxx:1457
 AliGlauberMC.cxx:1458
 AliGlauberMC.cxx:1459
 AliGlauberMC.cxx:1460
 AliGlauberMC.cxx:1461
 AliGlauberMC.cxx:1462
 AliGlauberMC.cxx:1463
 AliGlauberMC.cxx:1464
 AliGlauberMC.cxx:1465
 AliGlauberMC.cxx:1466
 AliGlauberMC.cxx:1467
 AliGlauberMC.cxx:1468
 AliGlauberMC.cxx:1469
 AliGlauberMC.cxx:1470
 AliGlauberMC.cxx:1471
 AliGlauberMC.cxx:1472
 AliGlauberMC.cxx:1473
 AliGlauberMC.cxx:1474
 AliGlauberMC.cxx:1475
 AliGlauberMC.cxx:1476
 AliGlauberMC.cxx:1477
 AliGlauberMC.cxx:1478
 AliGlauberMC.cxx:1479
 AliGlauberMC.cxx:1480
 AliGlauberMC.cxx:1481
 AliGlauberMC.cxx:1482
 AliGlauberMC.cxx:1483
 AliGlauberMC.cxx:1484
 AliGlauberMC.cxx:1485
 AliGlauberMC.cxx:1486
 AliGlauberMC.cxx:1487
 AliGlauberMC.cxx:1488
 AliGlauberMC.cxx:1489
 AliGlauberMC.cxx:1490
 AliGlauberMC.cxx:1491
 AliGlauberMC.cxx:1492
 AliGlauberMC.cxx:1493
 AliGlauberMC.cxx:1494
 AliGlauberMC.cxx:1495
 AliGlauberMC.cxx:1496
 AliGlauberMC.cxx:1497
 AliGlauberMC.cxx:1498
 AliGlauberMC.cxx:1499
 AliGlauberMC.cxx:1500
 AliGlauberMC.cxx:1501
 AliGlauberMC.cxx:1502
 AliGlauberMC.cxx:1503
 AliGlauberMC.cxx:1504
 AliGlauberMC.cxx:1505
 AliGlauberMC.cxx:1506
 AliGlauberMC.cxx:1507
 AliGlauberMC.cxx:1508
 AliGlauberMC.cxx:1509
 AliGlauberMC.cxx:1510
 AliGlauberMC.cxx:1511
 AliGlauberMC.cxx:1512
 AliGlauberMC.cxx:1513
 AliGlauberMC.cxx:1514
 AliGlauberMC.cxx:1515
 AliGlauberMC.cxx:1516
 AliGlauberMC.cxx:1517
 AliGlauberMC.cxx:1518
 AliGlauberMC.cxx:1519
 AliGlauberMC.cxx:1520
 AliGlauberMC.cxx:1521
 AliGlauberMC.cxx:1522
 AliGlauberMC.cxx:1523
 AliGlauberMC.cxx:1524
 AliGlauberMC.cxx:1525
 AliGlauberMC.cxx:1526
 AliGlauberMC.cxx:1527
 AliGlauberMC.cxx:1528
 AliGlauberMC.cxx:1529
 AliGlauberMC.cxx:1530
 AliGlauberMC.cxx:1531
 AliGlauberMC.cxx:1532
 AliGlauberMC.cxx:1533
 AliGlauberMC.cxx:1534
 AliGlauberMC.cxx:1535
 AliGlauberMC.cxx:1536
 AliGlauberMC.cxx:1537
 AliGlauberMC.cxx:1538
 AliGlauberMC.cxx:1539
 AliGlauberMC.cxx:1540
 AliGlauberMC.cxx:1541
 AliGlauberMC.cxx:1542
 AliGlauberMC.cxx:1543
 AliGlauberMC.cxx:1544
 AliGlauberMC.cxx:1545
 AliGlauberMC.cxx:1546
 AliGlauberMC.cxx:1547
 AliGlauberMC.cxx:1548
 AliGlauberMC.cxx:1549
 AliGlauberMC.cxx:1550
 AliGlauberMC.cxx:1551
 AliGlauberMC.cxx:1552
 AliGlauberMC.cxx:1553
 AliGlauberMC.cxx:1554
 AliGlauberMC.cxx:1555
 AliGlauberMC.cxx:1556
 AliGlauberMC.cxx:1557
 AliGlauberMC.cxx:1558
 AliGlauberMC.cxx:1559
 AliGlauberMC.cxx:1560
 AliGlauberMC.cxx:1561
 AliGlauberMC.cxx:1562
 AliGlauberMC.cxx:1563
 AliGlauberMC.cxx:1564
 AliGlauberMC.cxx:1565
 AliGlauberMC.cxx:1566
 AliGlauberMC.cxx:1567
 AliGlauberMC.cxx:1568
 AliGlauberMC.cxx:1569
 AliGlauberMC.cxx:1570
 AliGlauberMC.cxx:1571
 AliGlauberMC.cxx:1572
 AliGlauberMC.cxx:1573
 AliGlauberMC.cxx:1574
 AliGlauberMC.cxx:1575
 AliGlauberMC.cxx:1576
 AliGlauberMC.cxx:1577
 AliGlauberMC.cxx:1578
 AliGlauberMC.cxx:1579
 AliGlauberMC.cxx:1580
 AliGlauberMC.cxx:1581
 AliGlauberMC.cxx:1582
 AliGlauberMC.cxx:1583
 AliGlauberMC.cxx:1584
 AliGlauberMC.cxx:1585
 AliGlauberMC.cxx:1586
 AliGlauberMC.cxx:1587
 AliGlauberMC.cxx:1588
 AliGlauberMC.cxx:1589
 AliGlauberMC.cxx:1590
 AliGlauberMC.cxx:1591
 AliGlauberMC.cxx:1592
 AliGlauberMC.cxx:1593
 AliGlauberMC.cxx:1594
 AliGlauberMC.cxx:1595
 AliGlauberMC.cxx:1596
 AliGlauberMC.cxx:1597
 AliGlauberMC.cxx:1598
 AliGlauberMC.cxx:1599
 AliGlauberMC.cxx:1600
 AliGlauberMC.cxx:1601
 AliGlauberMC.cxx:1602
 AliGlauberMC.cxx:1603
 AliGlauberMC.cxx:1604
 AliGlauberMC.cxx:1605
 AliGlauberMC.cxx:1606
 AliGlauberMC.cxx:1607
 AliGlauberMC.cxx:1608
 AliGlauberMC.cxx:1609
 AliGlauberMC.cxx:1610
 AliGlauberMC.cxx:1611
 AliGlauberMC.cxx:1612
 AliGlauberMC.cxx:1613
 AliGlauberMC.cxx:1614
 AliGlauberMC.cxx:1615
 AliGlauberMC.cxx:1616
 AliGlauberMC.cxx:1617
 AliGlauberMC.cxx:1618
 AliGlauberMC.cxx:1619
 AliGlauberMC.cxx:1620
 AliGlauberMC.cxx:1621
 AliGlauberMC.cxx:1622
 AliGlauberMC.cxx:1623
 AliGlauberMC.cxx:1624
 AliGlauberMC.cxx:1625
 AliGlauberMC.cxx:1626
 AliGlauberMC.cxx:1627
 AliGlauberMC.cxx:1628
 AliGlauberMC.cxx:1629
 AliGlauberMC.cxx:1630
 AliGlauberMC.cxx:1631
 AliGlauberMC.cxx:1632
 AliGlauberMC.cxx:1633
 AliGlauberMC.cxx:1634
 AliGlauberMC.cxx:1635
 AliGlauberMC.cxx:1636
 AliGlauberMC.cxx:1637
 AliGlauberMC.cxx:1638
 AliGlauberMC.cxx:1639
 AliGlauberMC.cxx:1640
 AliGlauberMC.cxx:1641
 AliGlauberMC.cxx:1642
 AliGlauberMC.cxx:1643
 AliGlauberMC.cxx:1644
 AliGlauberMC.cxx:1645
 AliGlauberMC.cxx:1646
 AliGlauberMC.cxx:1647
 AliGlauberMC.cxx:1648
 AliGlauberMC.cxx:1649
 AliGlauberMC.cxx:1650
 AliGlauberMC.cxx:1651
 AliGlauberMC.cxx:1652
 AliGlauberMC.cxx:1653
 AliGlauberMC.cxx:1654
 AliGlauberMC.cxx:1655
 AliGlauberMC.cxx:1656
 AliGlauberMC.cxx:1657
 AliGlauberMC.cxx:1658
 AliGlauberMC.cxx:1659
 AliGlauberMC.cxx:1660
 AliGlauberMC.cxx:1661
 AliGlauberMC.cxx:1662
 AliGlauberMC.cxx:1663
 AliGlauberMC.cxx:1664
 AliGlauberMC.cxx:1665
 AliGlauberMC.cxx:1666
 AliGlauberMC.cxx:1667
 AliGlauberMC.cxx:1668
 AliGlauberMC.cxx:1669
 AliGlauberMC.cxx:1670
 AliGlauberMC.cxx:1671
 AliGlauberMC.cxx:1672
 AliGlauberMC.cxx:1673
 AliGlauberMC.cxx:1674
 AliGlauberMC.cxx:1675
 AliGlauberMC.cxx:1676
 AliGlauberMC.cxx:1677
 AliGlauberMC.cxx:1678
 AliGlauberMC.cxx:1679
 AliGlauberMC.cxx:1680
 AliGlauberMC.cxx:1681
 AliGlauberMC.cxx:1682
 AliGlauberMC.cxx:1683
 AliGlauberMC.cxx:1684
 AliGlauberMC.cxx:1685
 AliGlauberMC.cxx:1686
 AliGlauberMC.cxx:1687
 AliGlauberMC.cxx:1688
 AliGlauberMC.cxx:1689
 AliGlauberMC.cxx:1690
 AliGlauberMC.cxx:1691
 AliGlauberMC.cxx:1692
 AliGlauberMC.cxx:1693
 AliGlauberMC.cxx:1694
 AliGlauberMC.cxx:1695
 AliGlauberMC.cxx:1696
 AliGlauberMC.cxx:1697
 AliGlauberMC.cxx:1698
 AliGlauberMC.cxx:1699
 AliGlauberMC.cxx:1700
 AliGlauberMC.cxx:1701
 AliGlauberMC.cxx:1702
 AliGlauberMC.cxx:1703
 AliGlauberMC.cxx:1704
 AliGlauberMC.cxx:1705
 AliGlauberMC.cxx:1706
 AliGlauberMC.cxx:1707
 AliGlauberMC.cxx:1708
 AliGlauberMC.cxx:1709
 AliGlauberMC.cxx:1710
 AliGlauberMC.cxx:1711
 AliGlauberMC.cxx:1712
 AliGlauberMC.cxx:1713
 AliGlauberMC.cxx:1714
 AliGlauberMC.cxx:1715
 AliGlauberMC.cxx:1716
 AliGlauberMC.cxx:1717
 AliGlauberMC.cxx:1718
 AliGlauberMC.cxx:1719
 AliGlauberMC.cxx:1720
 AliGlauberMC.cxx:1721
 AliGlauberMC.cxx:1722
 AliGlauberMC.cxx:1723
 AliGlauberMC.cxx:1724
 AliGlauberMC.cxx:1725
 AliGlauberMC.cxx:1726
 AliGlauberMC.cxx:1727
 AliGlauberMC.cxx:1728
 AliGlauberMC.cxx:1729
 AliGlauberMC.cxx:1730
 AliGlauberMC.cxx:1731
 AliGlauberMC.cxx:1732
 AliGlauberMC.cxx:1733
 AliGlauberMC.cxx:1734
 AliGlauberMC.cxx:1735
 AliGlauberMC.cxx:1736
 AliGlauberMC.cxx:1737
 AliGlauberMC.cxx:1738
 AliGlauberMC.cxx:1739
 AliGlauberMC.cxx:1740
 AliGlauberMC.cxx:1741
 AliGlauberMC.cxx:1742
 AliGlauberMC.cxx:1743
 AliGlauberMC.cxx:1744
 AliGlauberMC.cxx:1745
 AliGlauberMC.cxx:1746
 AliGlauberMC.cxx:1747
 AliGlauberMC.cxx:1748
 AliGlauberMC.cxx:1749
 AliGlauberMC.cxx:1750
 AliGlauberMC.cxx:1751
 AliGlauberMC.cxx:1752
 AliGlauberMC.cxx:1753
 AliGlauberMC.cxx:1754
 AliGlauberMC.cxx:1755
 AliGlauberMC.cxx:1756
 AliGlauberMC.cxx:1757
 AliGlauberMC.cxx:1758
 AliGlauberMC.cxx:1759
 AliGlauberMC.cxx:1760
 AliGlauberMC.cxx:1761
 AliGlauberMC.cxx:1762
 AliGlauberMC.cxx:1763
 AliGlauberMC.cxx:1764
 AliGlauberMC.cxx:1765
 AliGlauberMC.cxx:1766
 AliGlauberMC.cxx:1767
 AliGlauberMC.cxx:1768
 AliGlauberMC.cxx:1769
 AliGlauberMC.cxx:1770
 AliGlauberMC.cxx:1771
 AliGlauberMC.cxx:1772
 AliGlauberMC.cxx:1773
 AliGlauberMC.cxx:1774
 AliGlauberMC.cxx:1775
 AliGlauberMC.cxx:1776
 AliGlauberMC.cxx:1777
 AliGlauberMC.cxx:1778
 AliGlauberMC.cxx:1779
 AliGlauberMC.cxx:1780
 AliGlauberMC.cxx:1781
 AliGlauberMC.cxx:1782
 AliGlauberMC.cxx:1783
 AliGlauberMC.cxx:1784
 AliGlauberMC.cxx:1785
 AliGlauberMC.cxx:1786
 AliGlauberMC.cxx:1787
 AliGlauberMC.cxx:1788
 AliGlauberMC.cxx:1789
 AliGlauberMC.cxx:1790
 AliGlauberMC.cxx:1791
 AliGlauberMC.cxx:1792
 AliGlauberMC.cxx:1793
 AliGlauberMC.cxx:1794
 AliGlauberMC.cxx:1795
 AliGlauberMC.cxx:1796
 AliGlauberMC.cxx:1797
 AliGlauberMC.cxx:1798
 AliGlauberMC.cxx:1799
 AliGlauberMC.cxx:1800
 AliGlauberMC.cxx:1801
 AliGlauberMC.cxx:1802
 AliGlauberMC.cxx:1803
 AliGlauberMC.cxx:1804
 AliGlauberMC.cxx:1805
 AliGlauberMC.cxx:1806
 AliGlauberMC.cxx:1807
 AliGlauberMC.cxx:1808
 AliGlauberMC.cxx:1809
 AliGlauberMC.cxx:1810
 AliGlauberMC.cxx:1811
 AliGlauberMC.cxx:1812
 AliGlauberMC.cxx:1813
 AliGlauberMC.cxx:1814
 AliGlauberMC.cxx:1815
 AliGlauberMC.cxx:1816
 AliGlauberMC.cxx:1817
 AliGlauberMC.cxx:1818
 AliGlauberMC.cxx:1819
 AliGlauberMC.cxx:1820
 AliGlauberMC.cxx:1821
 AliGlauberMC.cxx:1822
 AliGlauberMC.cxx:1823
 AliGlauberMC.cxx:1824
 AliGlauberMC.cxx:1825
 AliGlauberMC.cxx:1826
 AliGlauberMC.cxx:1827
 AliGlauberMC.cxx:1828
 AliGlauberMC.cxx:1829
 AliGlauberMC.cxx:1830
 AliGlauberMC.cxx:1831
 AliGlauberMC.cxx:1832
 AliGlauberMC.cxx:1833
 AliGlauberMC.cxx:1834
 AliGlauberMC.cxx:1835
 AliGlauberMC.cxx:1836
 AliGlauberMC.cxx:1837
 AliGlauberMC.cxx:1838
 AliGlauberMC.cxx:1839
 AliGlauberMC.cxx:1840
 AliGlauberMC.cxx:1841
 AliGlauberMC.cxx:1842
 AliGlauberMC.cxx:1843
 AliGlauberMC.cxx:1844
 AliGlauberMC.cxx:1845
 AliGlauberMC.cxx:1846
 AliGlauberMC.cxx:1847
 AliGlauberMC.cxx:1848
 AliGlauberMC.cxx:1849
 AliGlauberMC.cxx:1850
 AliGlauberMC.cxx:1851
 AliGlauberMC.cxx:1852
 AliGlauberMC.cxx:1853
 AliGlauberMC.cxx:1854
 AliGlauberMC.cxx:1855
 AliGlauberMC.cxx:1856
 AliGlauberMC.cxx:1857
 AliGlauberMC.cxx:1858
 AliGlauberMC.cxx:1859