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

/* $Id$ */

//
// Generator using the TPythia interface (via AliPythia)
// to generate pp collisions.
// Using SetNuclei() also nuclear modifications to the structure functions
// can be taken into account. This makes, of course, only sense for the
// generation of the products of hard processes (heavy flavor, jets ...)
//
// andreas.morsch@cern.ch
//

#include <TClonesArray.h>
#include <TDatabasePDG.h>
#include <TParticle.h>
#include <TPDGCode.h>
#include <TSystem.h>
#include <TTree.h>
#include "AliConst.h"
#include "AliDecayerPythia.h"
#include "AliGenPythiaPlus.h"
#include "AliHeader.h"
#include "AliGenPythiaEventHeader.h"
#include "AliPythiaBase.h"
#include "AliPythiaRndm.h"
#include "AliRun.h"
#include "AliStack.h"
#include "AliRunLoader.h"
#include "AliMC.h"
#include "PyquenCommon.h"

ClassImp(AliGenPythiaPlus)


AliGenPythiaPlus::AliGenPythiaPlus():
    AliGenMC(),
    fPythia(0),
    fProcess(kPyCharm),          
    fStrucFunc(kCTEQ5L), 
    fKineBias(0.),
    fTrials(0),
    fTrialsRun(0),
    fQ(0.),
    fX1(0.),
    fX2(0.),
    fEventTime(0.),
    fInteractionRate(0.),
    fTimeWindow(0.),
    fCurSubEvent(0),
    fEventsTime(0),
    fNev(0),
    fFlavorSelect(0),
    fXsection(0.),
    fPtHardMin(0.),
    fPtHardMax(1.e4),
    fYHardMin(-1.e10),
    fYHardMax(1.e10),
    fGinit(1),
    fGfinal(1),
    fHadronisation(1),
    fNpartons(0),
    fReadFromFile(0),
    fQuench(0),
    fPtKick(1.),
    fFullEvent(kTRUE),
    fDecayer(new AliDecayerPythia()),
    fDebugEventFirst(-1),
    fDebugEventLast(-1),
    fEtMinJet(0.),      
    fEtMaxJet(1.e4),      
    fEtaMinJet(-20.),     
    fEtaMaxJet(20.),     
    fPhiMinJet(0.),     
    fPhiMaxJet(2.* TMath::Pi()),     
    fJetReconstruction(kCell),
    fEtaMinGamma(-20.),      
    fEtaMaxGamma(20.),      
    fPhiMinGamma(0.),      
    fPhiMaxGamma(2. * TMath::Pi()),      
    fUseYCutHQ(kFALSE),
    fYMinHQ(-20.),
    fYMaxHQ(20.),
    fPycellEtaMax(2.),     
    fPycellNEta(274),       
    fPycellNPhi(432),       
    fPycellThreshold(0.),  
    fPycellEtSeed(4.),     
    fPycellMinEtJet(10.),  
    fPycellMaxRadius(1.), 
    fStackFillOpt(kFlavorSelection),   
    fFeedDownOpt(kTRUE),    
    fFragmentation(kTRUE),
    fSetNuclei(kFALSE),
    fNewMIS(kFALSE),   
    fHFoff(kFALSE),    
    fTriggerParticle(0),
    fTriggerEta(0.9),     
    fCountMode(kCountAll),      
    fHeader(0),  
    fRL(0),      
    fFileName(0),
    fFragPhotonInCalo(kFALSE),
    fPi0InCalo(kFALSE) ,
    fPhotonInCalo(kFALSE),
    fCheckEMCAL(kFALSE),
    fCheckPHOS(kFALSE),
    fCheckPHOSeta(kFALSE),
    fFragPhotonOrPi0MinPt(0), 
    fPhotonMinPt(0), 
    fPHOSMinPhi(219.),
    fPHOSMaxPhi(321.),
    fPHOSEta(0.13),
    fEMCALMinPhi(79.),
    fEMCALMaxPhi(191.),
    fEMCALEta(0.71),
    fItune(-1), 
    fInfo(1) 
{
// Default Constructor
  fEnergyCMS = 5500.;
  SetNuclei(0,0);
  if (!AliPythiaRndm::GetPythiaRandom()) 
      AliPythiaRndm::SetPythiaRandom(GetRandom());
}

AliGenPythiaPlus::AliGenPythiaPlus(AliPythiaBase* pythia)
    :AliGenMC(-1),
     fPythia(pythia),
     fProcess(kPyCharm),          
     fStrucFunc(kCTEQ5L), 
     fKineBias(0.),
     fTrials(0),
     fTrialsRun(0),
     fQ(0.),
     fX1(0.),
     fX2(0.),
     fEventTime(0.),
     fInteractionRate(0.),
     fTimeWindow(0.),
     fCurSubEvent(0),
     fEventsTime(0),
     fNev(0),
     fFlavorSelect(0),
     fXsection(0.),
     fPtHardMin(0.),
     fPtHardMax(1.e4),
     fYHardMin(-1.e10),
     fYHardMax(1.e10),
     fGinit(kTRUE),
     fGfinal(kTRUE),
     fHadronisation(kTRUE),
     fNpartons(0),
     fReadFromFile(kFALSE),
     fQuench(kFALSE),
     fPtKick(1.),
     fFullEvent(kTRUE),
     fDecayer(new AliDecayerPythia()),
     fDebugEventFirst(-1),
     fDebugEventLast(-1),
     fEtMinJet(0.),      
     fEtMaxJet(1.e4),      
     fEtaMinJet(-20.),     
     fEtaMaxJet(20.),     
     fPhiMinJet(0.),     
     fPhiMaxJet(2.* TMath::Pi()),     
     fJetReconstruction(kCell),
     fEtaMinGamma(-20.),      
     fEtaMaxGamma(20.),      
     fPhiMinGamma(0.),      
     fPhiMaxGamma(2. * TMath::Pi()),      
     fUseYCutHQ(kFALSE),
     fYMinHQ(-20.),
     fYMaxHQ(20.),
     fPycellEtaMax(2.),     
     fPycellNEta(274),       
     fPycellNPhi(432),       
     fPycellThreshold(0.),  
     fPycellEtSeed(4.),     
     fPycellMinEtJet(10.),  
     fPycellMaxRadius(1.), 
     fStackFillOpt(kFlavorSelection),   
     fFeedDownOpt(kTRUE),    
     fFragmentation(kTRUE),
     fSetNuclei(kFALSE),
     fNewMIS(kFALSE),   
     fHFoff(kFALSE),    
     fTriggerParticle(0),
     fTriggerEta(0.9),     
     fCountMode(kCountAll),      
     fHeader(0),  
     fRL(0),      
     fFileName(0),
     fFragPhotonInCalo(kFALSE),
     fPi0InCalo(kFALSE) ,
     fPhotonInCalo(kFALSE),
     fCheckEMCAL(kFALSE),
     fCheckPHOS(kFALSE),
     fCheckPHOSeta(kFALSE),
     fFragPhotonOrPi0MinPt(0),
     fPhotonMinPt(0),
     fPHOSMinPhi(219.),
     fPHOSMaxPhi(321.),
     fPHOSEta(0.13),
     fEMCALMinPhi(79.),
     fEMCALMaxPhi(191.),
     fEMCALEta(0.71),
     fItune(-1),
     fInfo(1) 
{
// default charm production at 5. 5 TeV
// semimuonic decay
// structure function GRVHO
//
    fEnergyCMS = 5500.;
    fName = "Pythia";
    fTitle= "Particle Generator using PYTHIA";
    SetForceDecay();
    // Set random number generator 
    if (!AliPythiaRndm::GetPythiaRandom()) 
      AliPythiaRndm::SetPythiaRandom(GetRandom());
    SetNuclei(0,0);
 }

AliGenPythiaPlus::~AliGenPythiaPlus()
{
// Destructor
  if(fEventsTime) delete fEventsTime;
}

void AliGenPythiaPlus::SetInteractionRate(Float_t rate,Float_t timewindow)
{
// Generate pileup using user specified rate
    fInteractionRate = rate;
    fTimeWindow = timewindow;
    GeneratePileup();
}

void AliGenPythiaPlus::GeneratePileup()
{
// Generate sub events time for pileup
    fEventsTime = 0;
    if(fInteractionRate == 0.) {
      Warning("GeneratePileup","Zero interaction specified. Skipping pileup generation.\n");
      return;
    }

    Int_t npart = NumberParticles();
    if(npart < 0) {
      Warning("GeneratePileup","Negative number of particles. Skipping pileup generation.\n");
      return;
    }

    if(fEventsTime) delete fEventsTime;
    fEventsTime = new TArrayF(npart);
    TArrayF &array = *fEventsTime;
    for(Int_t ipart = 0; ipart < npart; ipart++)
      array[ipart] = 0.;

    Float_t eventtime = 0.;
    while(1)
      {
	eventtime += (AliPythiaRndm::GetPythiaRandom())->Exp(1./fInteractionRate);
	if(eventtime > fTimeWindow) break;
	array.Set(array.GetSize()+1);
	array[array.GetSize()-1] = eventtime;
      }

    eventtime = 0.;
    while(1)
      {
	eventtime -= (AliPythiaRndm::GetPythiaRandom())->Exp(1./fInteractionRate);
	if(TMath::Abs(eventtime) > fTimeWindow) break;
	array.Set(array.GetSize()+1);
	array[array.GetSize()-1] = eventtime;
      }

    SetNumberParticles(fEventsTime->GetSize());
}

void AliGenPythiaPlus::SetPycellParameters(Float_t etamax, Int_t neta, Int_t nphi,
				       Float_t thresh, Float_t etseed, Float_t minet, Float_t r)
{
// Set pycell parameters
    fPycellEtaMax    =  etamax;
    fPycellNEta      =  neta;
    fPycellNPhi      =  nphi;
    fPycellThreshold =  thresh;
    fPycellEtSeed    =  etseed;
    fPycellMinEtJet  =  minet;
    fPycellMaxRadius =  r;
}



void AliGenPythiaPlus::SetEventListRange(Int_t eventFirst, Int_t eventLast)
{
  // Set a range of event numbers, for which a table
  // of generated particle will be printed
  fDebugEventFirst = eventFirst;
  fDebugEventLast  = eventLast;
  if (fDebugEventLast==-1) fDebugEventLast=fDebugEventFirst;
}

void AliGenPythiaPlus::Init()
{
// Initialisation
    
//    SetMC(AliPythia::Instance());
//    fPythia=(AliPythia*) fMCEvGen;
    
//
    fParentWeight=1./Float_t(fNpart);
//

    
    fPythia->SetPtHardRange(fPtHardMin, fPtHardMax);
    fPythia->SetYHardRange(fYHardMin, fYHardMax);
    
    if (fAProjectile > 0 && fATarget > 0) fPythia->SetNuclei(fAProjectile, fATarget);  
    // Fragmentation?
    if (fFragmentation) {
      fPythia->SetFragmentation(1);
    } else {
      fPythia->SetFragmentation(0);
    }


//  initial state radiation   
    fPythia->SetInitialAndFinalStateRadiation(fGinit, fGfinal);

//  pt - kick
    fPythia->SetIntrinsicKt(fPtKick);

    if (fReadFromFile) {
	fRL  =  AliRunLoader::Open(fFileName, "Partons");
	fRL->LoadKinematics();
	fRL->LoadHeader();
    } else {
	fRL = 0x0;
    }
 //
    fPythia->ProcInit(fProcess, fEnergyCMS, fStrucFunc, fItune);
    //  Forward Paramters to the AliPythia object
    fDecayer->SetForceDecay(fForceDecay);    
// Switch off Heavy Flavors on request  
    if (fHFoff) {
	fPythia->SwitchHFOff();
	// Switch off g->QQbar splitting in decay table
	((AliDecayerPythia*) fDecayer)->HeavyFlavourOff();
    }

    fDecayer->Init();


//  Parent and Children Selection
    switch (fProcess) 
    {
    case kPyOldUEQ2ordered:
    case kPyOldUEQ2ordered2:
    case kPyOldPopcorn:
      break;
    case kPyCharm:
    case kPyCharmUnforced:
    case kPyCharmPbPbMNR:
    case kPyCharmpPbMNR:
    case kPyCharmppMNR:
    case kPyCharmppMNRwmi:
    case kPyCharmPWHG:
	fParentSelect[0] =   411;
	fParentSelect[1] =   421;
	fParentSelect[2] =   431;
	fParentSelect[3] =  4122;
	fParentSelect[4] =  4232;
	fParentSelect[5] =  4132;
	fParentSelect[6] =  4332;
	fFlavorSelect    =  4;	
	break;
    case kPyD0PbPbMNR:
    case kPyD0pPbMNR:
    case kPyD0ppMNR:
	fParentSelect[0] =   421;
	fFlavorSelect    =   4;	
	break;
    case kPyDPlusPbPbMNR:
    case kPyDPluspPbMNR:
    case kPyDPlusppMNR:
	fParentSelect[0] =   411;
	fFlavorSelect    =   4;	
	break;
    case kPyDPlusStrangePbPbMNR:
    case kPyDPlusStrangepPbMNR:
    case kPyDPlusStrangeppMNR:
	fParentSelect[0] =   431;
	fFlavorSelect    =   4;	
	break;
    case kPyLambdacppMNR:
	fParentSelect[0] =  4122;
	fFlavorSelect    =   4;	
	break;      
    case kPyBeauty:
    case kPyBeautyJets:
    case kPyBeautyPbPbMNR:
    case kPyBeautypPbMNR:
    case kPyBeautyppMNR:
    case kPyBeautyppMNRwmi:
    case kPyBeautyPWHG:
	fParentSelect[0]=  511;
	fParentSelect[1]=  521;
	fParentSelect[2]=  531;
	fParentSelect[3]= 5122;
	fParentSelect[4]= 5132;
	fParentSelect[5]= 5232;
	fParentSelect[6]= 5332;
	fFlavorSelect   = 5;	
	break;
    case kPyBeautyUnforced:
	fParentSelect[0] =  511;
	fParentSelect[1] =  521;
	fParentSelect[2] =  531;
	fParentSelect[3] = 5122;
	fParentSelect[4] = 5132;
	fParentSelect[5] = 5232;
	fParentSelect[6] = 5332;
	fFlavorSelect    = 5;	
	break;
    case kPyJpsiChi:
    case kPyJpsi:
	fParentSelect[0] = 443;
	break;
    case kPyMbAtlasTuneMC09:
    case kPyMbDefault:
    case kPyMb:
    case kPyMbWithDirectPhoton:
    case kPyMbNonDiffr:
    case kPyMbMSEL1:
    case kPyJets:
    case kPyJetsPWHG:
    case kPyDirectGamma:
    case kPyLhwgMb:	
	break;
    case kPyWPWHG:
    case kPyW:
    case kPyZ:
    case kPyZgamma:
    case kPyMBRSingleDiffraction:
    case kPyMBRDoubleDiffraction:
    case kPyMBRCentralDiffraction:
        break;
    }
//
//
//  JetFinder for Trigger
//
//  Configure detector (EMCAL like)
//
    fPythia->SetPycellParameters(fPycellEtaMax,fPycellNEta, fPycellNPhi,
				 fPycellThreshold, fPycellEtSeed, 
				 fPycellMinEtJet, fPycellMaxRadius);
//
//  This counts the total number of calls to Pyevnt() per run.
    fTrialsRun = 0;
    fQ         = 0.;
    fX1        = 0.;
    fX2        = 0.;    
    fNev       = 0 ;
//    
//
//
    AliGenMC::Init();
//
//
//  
    if (fSetNuclei) {
	fDyBoost = 0;
	Warning("Init","SetNuclei used. Use SetProjectile + SetTarget instead. fDyBoost has been reset to 0\n");
    }
    
    if (fQuench) {
	fPythia->InitQuenching(0., 0.1, 0.6e6, 0, 0.97, 30);
    }

//    fPythia->SetPARJ(200, 0.0);

//    if (fQuench == 3) {
//	// Nestor's change of the splittings
//	fPythia->SetPARJ(200, 0.8);
//	fPythia->SetMSTJ(41, 1);  // QCD radiation only
//	fPythia->SetMSTJ(42, 2);  // angular ordering
//	fPythia->SetMSTJ(44, 2);  // option to run alpha_s
//	fPythia->SetMSTJ(47, 0);  // No correction back to hard scattering element
//	fPythia->SetMSTJ(50, 0);  // No coherence in first branching
//	fPythia->SetPARJ(82, 1.); // Cut off for parton showers
//    }
}

void AliGenPythiaPlus::SetSeed(UInt_t seed)
{
  fPythia->SetSeed(seed);
}

void AliGenPythiaPlus::Generate()
{
// Generate one event
    
    fDecayer->ForceDecay();

    Double_t polar[3]   =   {0,0,0};
    Double_t origin[3]  =   {0,0,0};
    Double_t p[4];
//  converts from mm/c to s
    const Float_t kconv=0.001/2.999792458e8;
//
    Int_t nt=0;
    Int_t jev=0;
    Int_t j, kf;
    fTrials=0;
    fEventTime = 0.;
    
    

    //  Set collision vertex position 
    if (fVertexSmear == kPerEvent) Vertex();
    
//  event loop    
    while(1)
    {
//
// Produce event
//
//
// Switch hadronisation off
//
//	fPythia->SwitchHadronisationOff();
//
// Either produce new event or read partons from file
//	
	if (!fReadFromFile) {
	    if (!fNewMIS) {
		fPythia->GenerateEvent();
	    } else {
		fPythia->GenerateMIEvent();
	    }
	    fNpartons = fPythia->GetNumberOfParticles();
	} else {
	    printf("Loading Event %d\n",AliRunLoader::Instance()->GetEventNumber());
	    fRL->GetEvent(AliRunLoader::Instance()->GetEventNumber());
	    fPythia->SetNumberOfParticles(0);
	    fPythia->LoadEvent(fRL->Stack(), 0 , 1);
	    fPythia->EditEventList(21);
	}
	
//
//  Run quenching routine 
//
	if (fQuench == 1) {
	    fPythia->Quench();
	} else if (fQuench == 2){
	    fPythia->Pyquen(208., 0, 0.);
	} else if (fQuench == 3) {
	    // Quenching is via multiplicative correction of the splittings
	}
	
//
// Switch hadronisation on
//
//	fPythia->SwitchHadronisationOn();
//
// .. and perform hadronisation
//	printf("Calling hadronisation %d\n", fPythia->GetN());
//	fPythia->HadronizeEvent();	
	fTrials++;
	fPythia->GetParticles(&fParticles);
	Boost();
//
//
//
	Int_t i;
	
	fNprimaries = 0;
	Int_t np = fParticles.GetEntriesFast();
	
	if (np == 0) continue;
//
	
//
	Int_t* pParent   = new Int_t[np];
	Int_t* pSelected = new Int_t[np];
	Int_t* trackIt   = new Int_t[np];
	for (i = 0; i < np; i++) {
	    pParent[i]   = -1;
	    pSelected[i] =  0;
	    trackIt[i]   =  0;
	}

	Int_t nc = 0;        // Total n. of selected particles
	Int_t nParents = 0;  // Selected parents
	Int_t nTkbles = 0;   // Trackable particles
	if (fProcess != kPyMbDefault && 
	    fProcess != kPyMb && 
	    fProcess != kPyMbWithDirectPhoton && 
	    fProcess != kPyJets && 
	    fProcess != kPyDirectGamma &&
	    fProcess != kPyMbNonDiffr  &&
	    fProcess != kPyMbMSEL1     &&
	    fProcess != kPyW && 
	    fProcess != kPyZ &&
      fProcess != kPyZgamma &&
	    fProcess != kPyCharmppMNRwmi && 
	    fProcess != kPyBeautyppMNRwmi &&
      fProcess != kPyWPWHG &&
	    fProcess != kPyJetsPWHG &&
	    fProcess != kPyCharmPWHG &&
     fProcess != kPyBeautyPWHG) {
	    
	    for (i = 0; i < np; i++) {
		TParticle* iparticle = (TParticle *) fParticles.At(i);
		Int_t ks = iparticle->GetStatusCode();
		kf = CheckPDGCode(iparticle->GetPdgCode());
// No initial state partons
		if (ks==21) continue;
//
// Heavy Flavor Selection
//
		// quark ?
		kf = TMath::Abs(kf);
		Int_t kfl = kf;
		// Resonance

		if (kfl > 100000) kfl %= 100000;
		if (kfl > 10000)  kfl %= 10000;
		// meson ?
		if  (kfl > 10) kfl/=100;
		// baryon
		if (kfl > 10) kfl/=10;
		Int_t ipa = (fPythia->Version() == 6) ? (iparticle->GetFirstMother() - 1) :(iparticle->GetFirstMother()) ;
		Int_t kfMo = 0;
//
// Establish mother daughter relation between heavy quarks and mesons
//
		if (kf >= fFlavorSelect && kf <= 6) {
		    Int_t idau = (fPythia->Version() == 6) ? (iparticle->GetFirstDaughter() - 1) :(iparticle->GetFirstDaughter());
		    if (idau > -1) {
			TParticle* daughter = (TParticle *) fParticles.At(idau);
			Int_t pdgD = daughter->GetPdgCode();
			if (pdgD == 91 || pdgD == 92) {
			    Int_t jmin = (fPythia->Version() == 6) ? (daughter->GetFirstDaughter() - 1) : (daughter->GetFirstDaughter());
			    Int_t jmax = (fPythia->Version() == 6) ? (daughter->GetLastDaughter() - 1)  : (daughter->GetLastDaughter());

			    for (Int_t jp = jmin; jp <= jmax; jp++)
				((TParticle *) fParticles.At(jp))->SetFirstMother(i+1);
			} // is string or cluster
		    } // has daughter
		} // heavy quark
		

		if (ipa > -1) {
		    TParticle *  mother = (TParticle *) fParticles.At(ipa);
		    kfMo = TMath::Abs(mother->GetPdgCode());
		}
		
		// What to keep in Stack?
		Bool_t flavorOK = kFALSE;
		Bool_t selectOK = kFALSE;
		if (fFeedDownOpt) {
		    if (kfl >= fFlavorSelect) flavorOK = kTRUE;
		} else {
		    if (kfl > fFlavorSelect) {
			nc = -1;
			break;
		    }
		    if (kfl == fFlavorSelect) flavorOK = kTRUE;
		}
		switch (fStackFillOpt) {
		case kFlavorSelection:
		    selectOK = kTRUE;
		    break;
		case kParentSelection:
		    if (ParentSelected(kf) || kf <= 10) selectOK = kTRUE;
		    break;
		}
		if (flavorOK && selectOK) { 
//
// Heavy flavor hadron or quark
//
// Kinematic seletion on final state heavy flavor mesons
		    if (ParentSelected(kf) && !KinematicSelection(iparticle, 0)) 
		    {
			continue;
		    }
		    pSelected[i] = 1;
		    if (ParentSelected(kf)) ++nParents; // Update parent count
//		    printf("\n particle (HF)  %d %d %d", i, pSelected[i], kf);
		} else {
// Kinematic seletion on decay products
		    if (fCutOnChild && ParentSelected(kfMo) && ChildSelected(kf) 
			&& !KinematicSelection(iparticle, 1)) 
		    {
			continue;
		    }
//
// Decay products 
// Select if mother was selected and is not tracked

		    if (pSelected[ipa] && 
			!trackIt[ipa]  &&     // mother will be  tracked ?
			kfMo !=  5 &&         // mother is b-quark, don't store fragments          
			kfMo !=  4 &&         // mother is c-quark, don't store fragments 
			kf   != 92)           // don't store string
		    {
//
// Semi-stable or de-selected: diselect decay products:
// 
//
			if (pSelected[i] == -1 ||  fDecayer->GetLifetime(kf) > fMaxLifeTime)
			{
			    Int_t ipF = iparticle->GetFirstDaughter();
			    Int_t ipL = iparticle->GetLastDaughter();	
			    if (ipF > 0) for (j = ipF-1; j < ipL; j++) pSelected[j] = -1;
			}
//			printf("\n particle (decay)  %d %d %d", i, pSelected[i], kf);
			pSelected[i] = (pSelected[i] == -1) ? 0 : 1;
		    }
		}
		if (pSelected[i] == -1) pSelected[i] = 0;
		if (!pSelected[i]) continue;
		// Count quarks only if you did not include fragmentation
		if (fFragmentation && kf <= 10) continue;

		nc++;
// Decision on tracking
		trackIt[i] = 0;
//
// Track final state particle
		if (ks == 1) trackIt[i] = 1;
// Track semi-stable particles
		if ((ks == 1) || (fDecayer->GetLifetime(kf) > fMaxLifeTime))  trackIt[i] = 1;
// Track particles selected by process if undecayed. 
		if (fForceDecay == kNoDecay) {
		    if (ParentSelected(kf)) trackIt[i] = 1;
		} else {
		    if (ParentSelected(kf)) trackIt[i] = 0;
		}
		if (trackIt[i] == 1) ++nTkbles; // Update trackable counter
//
//

  	    } // particle selection loop
	    if (nc > 0) {
		for (i = 0; i < np; i++) {
		    if (!pSelected[i]) continue;
		    TParticle *  iparticle = (TParticle *) fParticles.At(i);
		    kf = CheckPDGCode(iparticle->GetPdgCode());
		    Int_t ks = iparticle->GetStatusCode();  
		    p[0] = iparticle->Px();
		    p[1] = iparticle->Py();
		    p[2] = iparticle->Pz();
		    p[3] = iparticle->Energy();
		    
		    origin[0] = fVertex[0]+iparticle->Vx()/10; // [cm]
		    origin[1] = fVertex[1]+iparticle->Vy()/10; // [cm]
		    origin[2] = fVertex[2]+iparticle->Vz()/10; // [cm]
		    
		    Float_t tof   = fTime + kconv*iparticle->T();
		    Int_t ipa = (fPythia->Version() == 6) ? (iparticle->GetFirstMother() - 1) :(iparticle->GetFirstMother()) ;
		    Int_t iparent = (ipa > -1) ? pParent[ipa] : -1;
 
		    PushTrack(fTrackIt*trackIt[i], iparent, kf, 
			      p[0], p[1], p[2], p[3], 
			      origin[0], origin[1], origin[2], tof, 
			      polar[0], polar[1], polar[2],
			      kPPrimary, nt, 1., ks);
		    pParent[i] = nt;
		    KeepTrack(nt);
		    fNprimaries++;
		} //  PushTrack loop
	    }
  	} else {
	    nc = GenerateMB();
	} // mb ?
	
	GetSubEventTime();

	delete[] pParent;
	delete[] pSelected;
	delete[] trackIt;

	if (nc > 0) {
	  switch (fCountMode) {
	  case kCountAll:
	    // printf(" Count all \n");
	    jev += nc;
	    break;
	  case kCountParents:
	    // printf(" Count parents \n");
	    jev += nParents;
	    break;
	  case kCountTrackables:
	    // printf(" Count trackable \n");
	    jev += nTkbles;
	    break;
	  }
	    if (jev >= fNpart || fNpart == -1) {
		fKineBias=Float_t(fNpart)/Float_t(fTrials);
		if (fInfo) fPythia->GetXandQ(fX1, fX2, fQ);
		fTrialsRun += fTrials;
		fNev++;
		MakeHeader();
		break;
	    }
	}
    } // event loop
    SetHighWaterMark(nt);
//  Adjust weight due to kinematic selection
//  AdjustWeights();
//  get cross-section
    fXsection = fPythia->GetXSection();
}

Int_t  AliGenPythiaPlus::GenerateMB()
{
//
// Min Bias selection and other global selections
//
    Int_t i, kf, nt, iparent;
    Int_t nc = 0;
    Float_t p[4];
    Float_t polar[3]   =   {0,0,0};
    Float_t origin[3]  =   {0,0,0};
//  converts from mm/c to s
    const Float_t kconv = 0.001 / 2.999792458e8;
    
    Int_t np = (fHadronisation) ? fParticles.GetEntriesFast() : fNpartons;
    
    Int_t* pParent = new Int_t[np];
    for (i=0; i< np; i++) pParent[i] = -1;
    if (fProcess == kPyJets || fProcess == kPyDirectGamma || fProcess == kPyJetsPWHG || fProcess == kPyCharmPWHG || fProcess == kPyBeautyPWHG ) {
	TParticle* jet1 = (TParticle *) fParticles.At(6);
	TParticle* jet2 = (TParticle *) fParticles.At(7);
	if (!CheckTrigger(jet1, jet2)) {
	  delete [] pParent;
	  return 0;
	}
    }

    // Select jets with fragmentation photon or pi0 going to PHOS or EMCAL
    if ((fProcess == kPyJets || fProcess == kPyJetsPWHG) && (fFragPhotonInCalo || fPi0InCalo) ) {

      Bool_t ok = kFALSE;

      Int_t pdg  = 0; 
      if (fFragPhotonInCalo) pdg = 22   ; // Photon
      else if (fPi0InCalo) pdg = 111 ; // Pi0

      for (i=0; i< np; i++) {
	TParticle* iparticle = (TParticle *) fParticles.At(i);
	if(iparticle->GetStatusCode()==1 && iparticle->GetPdgCode()==pdg && 
	   iparticle->Pt() > fFragPhotonOrPi0MinPt){
	    Int_t imother = (fPythia->Version() == 6) ? (iparticle->GetFirstMother() - 1) :(iparticle->GetFirstMother()) ;
	  TParticle* pmother = (TParticle *) fParticles.At(imother);
	  if(pdg == 111 || 
	     (pdg == 22 && pmother->GetStatusCode() != 11))//No photon from hadron decay
	    {
	      Float_t phi = iparticle->Phi()*180./TMath::Pi(); //Convert to degrees
	      Float_t eta =TMath::Abs(iparticle->Eta());//in calos etamin=-etamax	  
	      if((fCheckEMCAL && IsInEMCAL(phi,eta)) ||
	         (fCheckPHOS    && IsInPHOS(phi,eta)) )
		ok =kTRUE;
	    }
	}
      }
      if(!ok){
	  delete [] pParent;
	  return 0;
      }
    }
    
    
     // Select events with a photon  pt > min pt going to PHOS eta acceptance or exactly PHOS eta phi
    if ((fProcess == kPyJets || fProcess == kPyJetsPWHG || fProcess == kPyDirectGamma) && fPhotonInCalo && (fCheckPHOSeta || fCheckPHOS)){

      Bool_t okd = kFALSE;

      Int_t pdg  = 22; 
      Int_t iphcand = -1;
      for (i=0; i< np; i++) {
	 TParticle* iparticle = (TParticle *) fParticles.At(i);
	 Float_t phi = iparticle->Phi()*180./TMath::Pi(); //Convert to degrees
	 Float_t eta =TMath::Abs(iparticle->Eta());//in calos etamin=-etamax 
	 
	 if(iparticle->GetStatusCode() == 1 
	    && iparticle->GetPdgCode() == pdg   
	    && iparticle->Pt() > fPhotonMinPt    
	    && eta < fPHOSEta){                 
	    
	    // first check if the photon is in PHOS phi
	    if(IsInPHOS(phi,eta)){ 
	        okd = kTRUE;
		break;
	    } 
	    if(fCheckPHOSeta) iphcand = i; // candiate photon to rotate in phi
	     
	 }
      }
      
      if(!okd && iphcand != -1) // execute rotation in phi 
          RotatePhi(iphcand,okd);
      
      if(!okd) {
	  delete[] pParent;
	  return 0;
      }
    }
    
    if (fTriggerParticle) {
	Bool_t triggered = kFALSE;
	for (i = 0; i < np; i++) {
	    TParticle *  iparticle = (TParticle *) fParticles.At(i);
	    kf = CheckPDGCode(iparticle->GetPdgCode());
	    if (kf != fTriggerParticle) continue;
	    if (iparticle->Pt() == 0.) continue;
	    if (TMath::Abs(iparticle->Eta()) > fTriggerEta) continue;
	    triggered = kTRUE;
	    break;
	}
	if (!triggered) {
	  delete [] pParent;
	  return 0;
	}
    }
	

    // Check if there is a ccbar or bbbar pair with at least one of the two
    // in fYMin < y < fYMax
    if (fProcess == kPyCharmppMNRwmi || fProcess == kPyBeautyppMNRwmi) {
      TParticle *partCheck;
      TParticle *mother;
      Bool_t  theQ=kFALSE,theQbar=kFALSE,inYcut=kFALSE;
      Bool_t  theChild=kFALSE;
      Float_t y;  
      Int_t   pdg,mpdg,mpdgUpperFamily;
      for(i=0; i<np; i++) {
	partCheck = (TParticle*)fParticles.At(i);
	pdg = partCheck->GetPdgCode();  
	if(TMath::Abs(pdg) == fFlavorSelect) { // quark  
	  if(pdg>0) { theQ=kTRUE; } else { theQbar=kTRUE; }
	  y = 0.5*TMath::Log((partCheck->Energy()+partCheck->Pz()+1.e-13)/
			     (partCheck->Energy()-partCheck->Pz()+1.e-13));
	  if(fUseYCutHQ && y>fYMinHQ && y<fYMaxHQ) inYcut=kTRUE;
	  if(!fUseYCutHQ && y>fYMin && y<fYMax) inYcut=kTRUE;
	}

	if(fCutOnChild && TMath::Abs(pdg) == fPdgCodeParticleforAcceptanceCut) {
	  Int_t mi = partCheck->GetFirstMother() - 1;
	  if(mi<0) continue;
	  mother = (TParticle*)fParticles.At(mi);
	  mpdg=TMath::Abs(mother->GetPdgCode());
	  mpdgUpperFamily=(mpdg>1000 ? mpdg+1000 : mpdg+100); // keep e from c from b
	  if ( ParentSelected(mpdg) || 
	      (fFlavorSelect==5 && ParentSelected(mpdgUpperFamily))) {
	    if (KinematicSelection(partCheck,1)) {
	      theChild=kTRUE;
	    }
	  }
	}
      }
      if (!theQ || !theQbar || !inYcut) { // one of the c/b conditions not satisfied
	delete[] pParent;
	return 0;
      }
      if (fCutOnChild && !theChild) { // one of the child conditions not satisfied
	delete[] pParent;
	return 0;	
      }

    }

    //Introducing child cuts in case kPyW, kPyZ, kPyMb, and kPyMbNonDiff
    if ( (
    fProcess == kPyWPWHG ||
    fProcess == kPyW ||
	  fProcess == kPyZ ||
    fProcess == kPyZgamma ||
	  fProcess == kPyMbDefault ||
	  fProcess == kPyMb ||
	  fProcess == kPyMbWithDirectPhoton ||
	  fProcess == kPyMbNonDiffr)  
	 && (fCutOnChild == 1) ) {
      if ( !CheckKinematicsOnChild() ) {
	delete[] pParent;
	return 0;
      }
    }
  

    for (i = 0; i < np; i++) {
	Int_t trackIt = 0;
	TParticle *  iparticle = (TParticle *) fParticles.At(i);
	kf = CheckPDGCode(iparticle->GetPdgCode());
	Int_t ks = iparticle->GetStatusCode();
	Int_t km = iparticle->GetFirstMother();
	if ((ks == 1  && kf!=0 && KinematicSelection(iparticle, 0)) ||
	    (ks != 1) ||
	    ((fProcess == kPyJets || fProcess == kPyJetsPWHG) && ks == 21 && km == 0 && i>1)) {
	    nc++;
	    if (ks == 1) trackIt = 1;

	    Int_t ipa = (fPythia->Version() == 6) ? (iparticle->GetFirstMother() - 1) :(iparticle->GetFirstMother()) ;
	    iparent = (ipa > -1) ? pParent[ipa] : -1;
	    if (ipa >= np) fPythia->EventListing();
	    
//
// store track information
	    p[0] = iparticle->Px();
	    p[1] = iparticle->Py();
	    p[2] = iparticle->Pz();
	    p[3] = iparticle->Energy();

	    
	    origin[0] = fVertex[0]+iparticle->Vx()/10; // [cm]
	    origin[1] = fVertex[1]+iparticle->Vy()/10; // [cm]
	    origin[2] = fVertex[2]+iparticle->Vz()/10; // [cm]
	    
	    Float_t tof = fTime + fEventTime + kconv * iparticle->T();

	    PushTrack(fTrackIt*trackIt, iparent, kf, 
		      p[0], p[1], p[2], p[3], 
		      origin[0], origin[1], origin[2], tof, 
		      polar[0], polar[1], polar[2],
		      kPPrimary, nt, 1., ks);
	    fNprimaries++;

	    
	    //
	    // Special Treatment to store color-flow
	    //
	    /*
	    if (ks == 3 || ks == 13 || ks == 14) {
		TParticle* particle = 0;
		if (fStack) {
		    particle = fStack->Particle(nt);
		} else {
  		    particle = AliRunLoader::Instance()->Stack()->Particle(nt);
		}
		particle->SetFirstDaughter(fPythia->GetK(2, i));
		particle->SetLastDaughter(fPythia->GetK(3, i));		
	    }
	    */  
	    KeepTrack(nt);
	    pParent[i] = nt;
	    SetHighWaterMark(nt);
	    
	} // select particle
    } // particle loop 

    delete[] pParent;
    
    return 1;
}


void AliGenPythiaPlus::FinishRun()
{
// Print x-section summary
    fPythia->PrintStatistics();

    if (fNev > 0.) {
	fQ  /= fNev;
	fX1 /= fNev;
	fX2 /= fNev;    
    }
    
    printf("\nTotal number of Pyevnt() calls %d\n", fTrialsRun);
    printf("\nMean Q, x1, x2: %f %f %f\n", fQ, fX1, fX2);
}

void AliGenPythiaPlus::AdjustWeights() const
{
// Adjust the weights after generation of all events
//
    if (gAlice) {
	TParticle *part;
	Int_t ntrack=gAlice->GetMCApp()->GetNtrack();
	for (Int_t i=0; i<ntrack; i++) {
	    part= gAlice->GetMCApp()->Particle(i);
	    part->SetWeight(part->GetWeight()*fKineBias);
	}
    }
}
    
void AliGenPythiaPlus::SetNuclei(Int_t a1, Int_t a2)
{
// Treat protons as inside nuclei with mass numbers a1 and a2  

    fAProjectile = a1;
    fATarget     = a2;
    fSetNuclei   = kTRUE;
}


void AliGenPythiaPlus::MakeHeader()
{
//
// Make header for the simulated event
// 
  if (gAlice) {
    if (gAlice->GetEvNumber()>=fDebugEventFirst &&
	gAlice->GetEvNumber()<=fDebugEventLast) fPythia->EventListing();
  }

// Builds the event header, to be called after each event
    if (fHeader) delete fHeader;
    fHeader = new AliGenPythiaEventHeader("Pythia");
    fHeader->SetTitle(GetTitle());

//
// Event type  
    ((AliGenPythiaEventHeader*) fHeader)->SetProcessType(fPythia->ProcessCode());
//
// Number of trials
    ((AliGenPythiaEventHeader*) fHeader)->SetTrials(fTrials);
//
// Event Vertex 
    fHeader->SetPrimaryVertex(fVertex);
    fHeader->SetInteractionTime(fTime+fEventTime);    
//
// Number of primaries
    fHeader->SetNProduced(fNprimaries);
//
// Jets that have triggered

    if (fProcess == kPyJets || fProcess == kPyJetsPWHG)
    {
	Int_t ntrig, njet;
	Float_t jets[4][10];
	GetJets(njet, ntrig, jets);

	
	for (Int_t i = 0; i < ntrig; i++) {
	    ((AliGenPythiaEventHeader*) fHeader)->AddJet(jets[0][i], jets[1][i], jets[2][i], 
							jets[3][i]);
	}
    }
//
// Copy relevant information from external header, if present.
//
    Float_t uqJet[4];
    
    if (fRL) {
	AliGenPythiaEventHeader* exHeader = (AliGenPythiaEventHeader*) (fRL->GetHeader()->GenEventHeader());
	for (Int_t i = 0; i < exHeader->NTriggerJets(); i++)
	{
	    printf("Adding Jet %d %d \n", i,  exHeader->NTriggerJets());
	    
	    
	    exHeader->TriggerJet(i, uqJet);
	    ((AliGenPythiaEventHeader*) fHeader)->AddUQJet(uqJet[0], uqJet[1], uqJet[2], uqJet[3]);
	}
    }
//
// Store quenching parameters
//
    if (fQuench){
        Double_t z[4] = {0.};
	Double_t xp = 0.;
	Double_t yp = 0.;
	if (fQuench == 1) {
	    // Pythia::Quench()
	    fPythia->GetQuenchingParameters(xp, yp, z);
	} else {
	    // Pyquen
	    Double_t r1 = PARIMP.rb1;
	    Double_t r2 = PARIMP.rb2;
	    Double_t b  = PARIMP.b1;
	    Double_t r   = 0.5 * TMath::Sqrt(2. * (r1 * r1 + r2 * r2) - b * b);
	    Double_t phi = PARIMP.psib1;
	    xp = r * TMath::Cos(phi);
	    yp = r * TMath::Sin(phi);
	    
	}
	    ((AliGenPythiaEventHeader*) fHeader)->SetXYJet(xp, yp);
	    ((AliGenPythiaEventHeader*) fHeader)->SetZQuench(z);
	}
//
// Store pt^hard 
    ((AliGenPythiaEventHeader*) fHeader)->SetPtHard(fPythia->GetPtHard());
//
//  Pass header
//
    AddHeader(fHeader);
    fHeader = 0x0;
}

Bool_t AliGenPythiaPlus::CheckTrigger(const TParticle* jet1, const TParticle* jet2)
{
// Check the kinematic trigger condition
//
    Double_t eta[2];
    eta[0] = jet1->Eta();
    eta[1] = jet2->Eta();
    Double_t phi[2];
    phi[0] = jet1->Phi();
    phi[1] = jet2->Phi();
    Int_t    pdg[2]; 
    pdg[0] = jet1->GetPdgCode();
    pdg[1] = jet2->GetPdgCode();    
    Bool_t   triggered = kFALSE;

    if (fProcess == kPyJets || fProcess == kPyJetsPWHG) {
	Int_t njets = 0;
	Int_t ntrig = 0;
	Float_t jets[4][10];
//
// Use Pythia clustering on parton level to determine jet axis
//
	GetJets(njets, ntrig, jets);
	
	if (ntrig || fEtMinJet == 0.) triggered = kTRUE;
//
    } else {
	Int_t ij = 0;
	Int_t ig = 1;
	if (pdg[0] == kGamma) {
	    ij = 1;
	    ig = 0;
	}
	//Check eta range first...
	if ((eta[ij] < fEtaMaxJet   && eta[ij] > fEtaMinJet) &&
	    (eta[ig] < fEtaMaxGamma && eta[ig] > fEtaMinGamma))
	{
	    //Eta is okay, now check phi range
	    if ((phi[ij] < fPhiMaxJet   && phi[ij] > fPhiMinJet) &&
		(phi[ig] < fPhiMaxGamma && phi[ig] > fPhiMinGamma))
	    {
		triggered = kTRUE;
	    }
	}
    }
    return triggered;
}



Bool_t AliGenPythiaPlus::CheckKinematicsOnChild(){
//
//Checking Kinematics on Child (status code 1, particle code ?, kin cuts
//
    Bool_t checking = kFALSE;
    Int_t j, kcode, ks, km;
    Int_t nPartAcc = 0; //number of particles in the acceptance range
    Int_t numberOfAcceptedParticles = 1;
    if (fNumberOfAcceptedParticles != 0) { numberOfAcceptedParticles = fNumberOfAcceptedParticles; }
    Int_t npart = fParticles.GetEntriesFast();
    
    for (j = 0; j<npart; j++) {
	TParticle *  jparticle = (TParticle *) fParticles.At(j);
	kcode = TMath::Abs( CheckPDGCode(jparticle->GetPdgCode()) );
	ks = jparticle->GetStatusCode();
	km = jparticle->GetFirstMother(); 
	
	if( (ks == 1)  &&  (kcode == fPdgCodeParticleforAcceptanceCut)  &&  (KinematicSelection(jparticle,1)) ){
	    nPartAcc++;
	}
	if( numberOfAcceptedParticles <= nPartAcc){
	  checking = kTRUE;
	  break;
	}
    }

    return checking;
}

void AliGenPythiaPlus::RecJetsUA1(Int_t& njets, Float_t jets [4][50])
{
//
//  Calls the Pythia jet finding algorithm to find jets in the current event
//
//
//
//  Save jets
//
//  Run Jet Finder
    fPythia->Pycell(njets);
    Int_t i;
    for (i = 0; i < njets; i++) {
	Float_t px, py, pz, e;
	fPythia->GetJet(i, px, py, pz, e);
	jets[0][i] = px;
	jets[1][i] = py;
	jets[2][i] = pz;
	jets[3][i] = e;
    }
}


void  AliGenPythiaPlus::GetJets(Int_t& nJets, Int_t& nJetsTrig, Float_t jets[4][10])
{
//
//  Calls the Pythia clustering algorithm to find jets in the current event
//
    nJets       = 0;
    nJetsTrig   = 0;
    if (fJetReconstruction == kCluster) {
//
//  Configure cluster algorithm
//    
//	fPythia->SetPARU(43, 2.);
//	fPythia->SetMSTU(41, 1);
//
//  Call cluster algorithm
//    
	fPythia->Pyclus(nJets);
//
//  Loading jets from common block
//
    } else {

//
//  Run Jet Finder
	fPythia->Pycell(nJets);
    }

    Int_t i;
    for (i = 0; i < nJets; i++) {
	Float_t px, py, pz, e;
	fPythia->GetJet(i, px, py, pz, e);
	Float_t pt    = TMath::Sqrt(px * px + py * py);
	Float_t phi   = TMath::Pi() + TMath::ATan2(-py, -px);  
	Float_t theta = TMath::ATan2(pt,pz);
	Float_t et    = e * TMath::Sin(theta);
	Float_t eta   = -TMath::Log(TMath::Tan(theta / 2.));
	if (
	    eta > fEtaMinJet && eta < fEtaMaxJet && 
	    phi > fPhiMinJet && phi < fPhiMaxJet &&
	    et  > fEtMinJet  && et  < fEtMaxJet     
	    ) 
	{
	    jets[0][nJetsTrig] = px;
	    jets[1][nJetsTrig] = py;
	    jets[2][nJetsTrig] = pz;
	    jets[3][nJetsTrig] = e;
	    nJetsTrig++;
	} else {
	}
    }
}

void AliGenPythiaPlus::GetSubEventTime()
{
  // Calculates time of the next subevent
  fEventTime = 0.;
  if (fEventsTime) {
    TArrayF &array = *fEventsTime;
    fEventTime = array[fCurSubEvent++];
  }
  //  printf(" Event time: %d %f %p",fCurSubEvent,fEventTime,fEventsTime);
  return;
}




Bool_t AliGenPythiaPlus::IsInEMCAL(Float_t phi, Float_t eta) const
{
  // Is particle in EMCAL acceptance? 
  // phi in degrees, etamin=-etamax
  if(phi > fEMCALMinPhi  && phi < fEMCALMaxPhi && 
     eta < fEMCALEta  ) 
    return kTRUE;
  else 
    return kFALSE;
}

Bool_t AliGenPythiaPlus::IsInPHOS(Float_t phi, Float_t eta) const
{
  // Is particle in PHOS acceptance? 
  // Acceptance slightly larger considered.
  // phi in degrees, etamin=-etamax
  if(phi > fPHOSMinPhi  && phi < fPHOSMaxPhi && 
     eta < fPHOSEta  ) 
    return kTRUE;
  else 
    return kFALSE;
}

void AliGenPythiaPlus::RotatePhi(Int_t iphcand, Bool_t& okdd)
{
  //calculate the new position random between fPHOSMinPhi and fPHOSMaxPhi 
  Double_t phiPHOSmin = TMath::Pi()*fPHOSMinPhi/180;
  Double_t phiPHOSmax = TMath::Pi()*fPHOSMaxPhi/180;
  Double_t phiPHOS = gRandom->Uniform(phiPHOSmin,phiPHOSmax);
  
  //calculate deltaphi
  TParticle* ph = (TParticle *) fParticles.At(iphcand);
  Double_t phphi = ph->Phi();
  Double_t deltaphi = phiPHOS - phphi;

  
  
  //loop for all particles and produce the phi rotation
  Int_t np = (fHadronisation) ? fParticles.GetEntriesFast() : fNpartons;
  Double_t oldphi, newphi;
  Double_t newVx, newVy, R, Vz, time; 
  Double_t newPx, newPy, pt, Pz, e;
  for(Int_t i=0; i< np; i++) {
      TParticle* iparticle = (TParticle *) fParticles.At(i);
      oldphi = iparticle->Phi();
      newphi = oldphi + deltaphi;
      if(newphi < 0) newphi = 2*TMath::Pi() + newphi; // correct angle 
      if(newphi > 2*TMath::Pi()) newphi = newphi - 2*TMath::Pi(); // correct angle
      
      R = iparticle->R();
      newVx = R*TMath::Cos(newphi);
      newVy = R*TMath::Sin(newphi);
      Vz = iparticle->Vz(); // don't transform
      time = iparticle->T(); // don't transform
      
      pt = iparticle->Pt();
      newPx = pt*TMath::Cos(newphi);
      newPy = pt*TMath::Sin(newphi);
      Pz = iparticle->Pz(); // don't transform
      e = iparticle->Energy(); // don't transform
      
      // apply rotation 
      iparticle->SetProductionVertex(newVx, newVy, Vz, time);
      iparticle->SetMomentum(newPx, newPy, Pz, e);
      
  } //end particle loop 
  
   // now let's check that we put correctly the candidate photon in PHOS
   Float_t phi = ph->Phi()*180./TMath::Pi(); //Convert to degrees
   Float_t eta =TMath::Abs(ph->Eta());//in calos etamin=-etamax 
   if(IsInPHOS(phi,eta)) 
      okdd = kTRUE;
}


#ifdef never
void AliGenPythiaPlus::Streamer(TBuffer &R__b)
{
   // Stream an object of class AliGenPythia.

   if (R__b.IsReading()) {
      Version_t R__v = R__b.ReadVersion(); if (R__v) { }
      AliGenerator::Streamer(R__b);
      R__b >> (Int_t&)fProcess;
      R__b >> (Int_t&)fStrucFunc;
      R__b >> (Int_t&)fForceDecay;
      R__b >> fEnergyCMS;
      R__b >> fKineBias;
      R__b >> fTrials;
      fParentSelect.Streamer(R__b);
      fChildSelect.Streamer(R__b);
      R__b >> fXsection;
//      (AliPythia::Instance())->Streamer(R__b);
      R__b >> fPtHardMin;
      R__b >> fPtHardMax;
//      if (fDecayer) fDecayer->Streamer(R__b);
   } else {
      R__b.WriteVersion(AliGenPythiaPlus::IsA());
      AliGenerator::Streamer(R__b);
      R__b << (Int_t)fProcess;
      R__b << (Int_t)fStrucFunc;
      R__b << (Int_t)fForceDecay;
      R__b << fEnergyCMS;
      R__b << fKineBias;
      R__b << fTrials;
      fParentSelect.Streamer(R__b);
      fChildSelect.Streamer(R__b);
      R__b << fXsection;
//      R__b << fPythia;
      R__b << fPtHardMin;
      R__b << fPtHardMax;
      //     fDecayer->Streamer(R__b);
   }
}
#endif


 AliGenPythiaPlus.cxx:1
 AliGenPythiaPlus.cxx:2
 AliGenPythiaPlus.cxx:3
 AliGenPythiaPlus.cxx:4
 AliGenPythiaPlus.cxx:5
 AliGenPythiaPlus.cxx:6
 AliGenPythiaPlus.cxx:7
 AliGenPythiaPlus.cxx:8
 AliGenPythiaPlus.cxx:9
 AliGenPythiaPlus.cxx:10
 AliGenPythiaPlus.cxx:11
 AliGenPythiaPlus.cxx:12
 AliGenPythiaPlus.cxx:13
 AliGenPythiaPlus.cxx:14
 AliGenPythiaPlus.cxx:15
 AliGenPythiaPlus.cxx:16
 AliGenPythiaPlus.cxx:17
 AliGenPythiaPlus.cxx:18
 AliGenPythiaPlus.cxx:19
 AliGenPythiaPlus.cxx:20
 AliGenPythiaPlus.cxx:21
 AliGenPythiaPlus.cxx:22
 AliGenPythiaPlus.cxx:23
 AliGenPythiaPlus.cxx:24
 AliGenPythiaPlus.cxx:25
 AliGenPythiaPlus.cxx:26
 AliGenPythiaPlus.cxx:27
 AliGenPythiaPlus.cxx:28
 AliGenPythiaPlus.cxx:29
 AliGenPythiaPlus.cxx:30
 AliGenPythiaPlus.cxx:31
 AliGenPythiaPlus.cxx:32
 AliGenPythiaPlus.cxx:33
 AliGenPythiaPlus.cxx:34
 AliGenPythiaPlus.cxx:35
 AliGenPythiaPlus.cxx:36
 AliGenPythiaPlus.cxx:37
 AliGenPythiaPlus.cxx:38
 AliGenPythiaPlus.cxx:39
 AliGenPythiaPlus.cxx:40
 AliGenPythiaPlus.cxx:41
 AliGenPythiaPlus.cxx:42
 AliGenPythiaPlus.cxx:43
 AliGenPythiaPlus.cxx:44
 AliGenPythiaPlus.cxx:45
 AliGenPythiaPlus.cxx:46
 AliGenPythiaPlus.cxx:47
 AliGenPythiaPlus.cxx:48
 AliGenPythiaPlus.cxx:49
 AliGenPythiaPlus.cxx:50
 AliGenPythiaPlus.cxx:51
 AliGenPythiaPlus.cxx:52
 AliGenPythiaPlus.cxx:53
 AliGenPythiaPlus.cxx:54
 AliGenPythiaPlus.cxx:55
 AliGenPythiaPlus.cxx:56
 AliGenPythiaPlus.cxx:57
 AliGenPythiaPlus.cxx:58
 AliGenPythiaPlus.cxx:59
 AliGenPythiaPlus.cxx:60
 AliGenPythiaPlus.cxx:61
 AliGenPythiaPlus.cxx:62
 AliGenPythiaPlus.cxx:63
 AliGenPythiaPlus.cxx:64
 AliGenPythiaPlus.cxx:65
 AliGenPythiaPlus.cxx:66
 AliGenPythiaPlus.cxx:67
 AliGenPythiaPlus.cxx:68
 AliGenPythiaPlus.cxx:69
 AliGenPythiaPlus.cxx:70
 AliGenPythiaPlus.cxx:71
 AliGenPythiaPlus.cxx:72
 AliGenPythiaPlus.cxx:73
 AliGenPythiaPlus.cxx:74
 AliGenPythiaPlus.cxx:75
 AliGenPythiaPlus.cxx:76
 AliGenPythiaPlus.cxx:77
 AliGenPythiaPlus.cxx:78
 AliGenPythiaPlus.cxx:79
 AliGenPythiaPlus.cxx:80
 AliGenPythiaPlus.cxx:81
 AliGenPythiaPlus.cxx:82
 AliGenPythiaPlus.cxx:83
 AliGenPythiaPlus.cxx:84
 AliGenPythiaPlus.cxx:85
 AliGenPythiaPlus.cxx:86
 AliGenPythiaPlus.cxx:87
 AliGenPythiaPlus.cxx:88
 AliGenPythiaPlus.cxx:89
 AliGenPythiaPlus.cxx:90
 AliGenPythiaPlus.cxx:91
 AliGenPythiaPlus.cxx:92
 AliGenPythiaPlus.cxx:93
 AliGenPythiaPlus.cxx:94
 AliGenPythiaPlus.cxx:95
 AliGenPythiaPlus.cxx:96
 AliGenPythiaPlus.cxx:97
 AliGenPythiaPlus.cxx:98
 AliGenPythiaPlus.cxx:99
 AliGenPythiaPlus.cxx:100
 AliGenPythiaPlus.cxx:101
 AliGenPythiaPlus.cxx:102
 AliGenPythiaPlus.cxx:103
 AliGenPythiaPlus.cxx:104
 AliGenPythiaPlus.cxx:105
 AliGenPythiaPlus.cxx:106
 AliGenPythiaPlus.cxx:107
 AliGenPythiaPlus.cxx:108
 AliGenPythiaPlus.cxx:109
 AliGenPythiaPlus.cxx:110
 AliGenPythiaPlus.cxx:111
 AliGenPythiaPlus.cxx:112
 AliGenPythiaPlus.cxx:113
 AliGenPythiaPlus.cxx:114
 AliGenPythiaPlus.cxx:115
 AliGenPythiaPlus.cxx:116
 AliGenPythiaPlus.cxx:117
 AliGenPythiaPlus.cxx:118
 AliGenPythiaPlus.cxx:119
 AliGenPythiaPlus.cxx:120
 AliGenPythiaPlus.cxx:121
 AliGenPythiaPlus.cxx:122
 AliGenPythiaPlus.cxx:123
 AliGenPythiaPlus.cxx:124
 AliGenPythiaPlus.cxx:125
 AliGenPythiaPlus.cxx:126
 AliGenPythiaPlus.cxx:127
 AliGenPythiaPlus.cxx:128
 AliGenPythiaPlus.cxx:129
 AliGenPythiaPlus.cxx:130
 AliGenPythiaPlus.cxx:131
 AliGenPythiaPlus.cxx:132
 AliGenPythiaPlus.cxx:133
 AliGenPythiaPlus.cxx:134
 AliGenPythiaPlus.cxx:135
 AliGenPythiaPlus.cxx:136
 AliGenPythiaPlus.cxx:137
 AliGenPythiaPlus.cxx:138
 AliGenPythiaPlus.cxx:139
 AliGenPythiaPlus.cxx:140
 AliGenPythiaPlus.cxx:141
 AliGenPythiaPlus.cxx:142
 AliGenPythiaPlus.cxx:143
 AliGenPythiaPlus.cxx:144
 AliGenPythiaPlus.cxx:145
 AliGenPythiaPlus.cxx:146
 AliGenPythiaPlus.cxx:147
 AliGenPythiaPlus.cxx:148
 AliGenPythiaPlus.cxx:149
 AliGenPythiaPlus.cxx:150
 AliGenPythiaPlus.cxx:151
 AliGenPythiaPlus.cxx:152
 AliGenPythiaPlus.cxx:153
 AliGenPythiaPlus.cxx:154
 AliGenPythiaPlus.cxx:155
 AliGenPythiaPlus.cxx:156
 AliGenPythiaPlus.cxx:157
 AliGenPythiaPlus.cxx:158
 AliGenPythiaPlus.cxx:159
 AliGenPythiaPlus.cxx:160
 AliGenPythiaPlus.cxx:161
 AliGenPythiaPlus.cxx:162
 AliGenPythiaPlus.cxx:163
 AliGenPythiaPlus.cxx:164
 AliGenPythiaPlus.cxx:165
 AliGenPythiaPlus.cxx:166
 AliGenPythiaPlus.cxx:167
 AliGenPythiaPlus.cxx:168
 AliGenPythiaPlus.cxx:169
 AliGenPythiaPlus.cxx:170
 AliGenPythiaPlus.cxx:171
 AliGenPythiaPlus.cxx:172
 AliGenPythiaPlus.cxx:173
 AliGenPythiaPlus.cxx:174
 AliGenPythiaPlus.cxx:175
 AliGenPythiaPlus.cxx:176
 AliGenPythiaPlus.cxx:177
 AliGenPythiaPlus.cxx:178
 AliGenPythiaPlus.cxx:179
 AliGenPythiaPlus.cxx:180
 AliGenPythiaPlus.cxx:181
 AliGenPythiaPlus.cxx:182
 AliGenPythiaPlus.cxx:183
 AliGenPythiaPlus.cxx:184
 AliGenPythiaPlus.cxx:185
 AliGenPythiaPlus.cxx:186
 AliGenPythiaPlus.cxx:187
 AliGenPythiaPlus.cxx:188
 AliGenPythiaPlus.cxx:189
 AliGenPythiaPlus.cxx:190
 AliGenPythiaPlus.cxx:191
 AliGenPythiaPlus.cxx:192
 AliGenPythiaPlus.cxx:193
 AliGenPythiaPlus.cxx:194
 AliGenPythiaPlus.cxx:195
 AliGenPythiaPlus.cxx:196
 AliGenPythiaPlus.cxx:197
 AliGenPythiaPlus.cxx:198
 AliGenPythiaPlus.cxx:199
 AliGenPythiaPlus.cxx:200
 AliGenPythiaPlus.cxx:201
 AliGenPythiaPlus.cxx:202
 AliGenPythiaPlus.cxx:203
 AliGenPythiaPlus.cxx:204
 AliGenPythiaPlus.cxx:205
 AliGenPythiaPlus.cxx:206
 AliGenPythiaPlus.cxx:207
 AliGenPythiaPlus.cxx:208
 AliGenPythiaPlus.cxx:209
 AliGenPythiaPlus.cxx:210
 AliGenPythiaPlus.cxx:211
 AliGenPythiaPlus.cxx:212
 AliGenPythiaPlus.cxx:213
 AliGenPythiaPlus.cxx:214
 AliGenPythiaPlus.cxx:215
 AliGenPythiaPlus.cxx:216
 AliGenPythiaPlus.cxx:217
 AliGenPythiaPlus.cxx:218
 AliGenPythiaPlus.cxx:219
 AliGenPythiaPlus.cxx:220
 AliGenPythiaPlus.cxx:221
 AliGenPythiaPlus.cxx:222
 AliGenPythiaPlus.cxx:223
 AliGenPythiaPlus.cxx:224
 AliGenPythiaPlus.cxx:225
 AliGenPythiaPlus.cxx:226
 AliGenPythiaPlus.cxx:227
 AliGenPythiaPlus.cxx:228
 AliGenPythiaPlus.cxx:229
 AliGenPythiaPlus.cxx:230
 AliGenPythiaPlus.cxx:231
 AliGenPythiaPlus.cxx:232
 AliGenPythiaPlus.cxx:233
 AliGenPythiaPlus.cxx:234
 AliGenPythiaPlus.cxx:235
 AliGenPythiaPlus.cxx:236
 AliGenPythiaPlus.cxx:237
 AliGenPythiaPlus.cxx:238
 AliGenPythiaPlus.cxx:239
 AliGenPythiaPlus.cxx:240
 AliGenPythiaPlus.cxx:241
 AliGenPythiaPlus.cxx:242
 AliGenPythiaPlus.cxx:243
 AliGenPythiaPlus.cxx:244
 AliGenPythiaPlus.cxx:245
 AliGenPythiaPlus.cxx:246
 AliGenPythiaPlus.cxx:247
 AliGenPythiaPlus.cxx:248
 AliGenPythiaPlus.cxx:249
 AliGenPythiaPlus.cxx:250
 AliGenPythiaPlus.cxx:251
 AliGenPythiaPlus.cxx:252
 AliGenPythiaPlus.cxx:253
 AliGenPythiaPlus.cxx:254
 AliGenPythiaPlus.cxx:255
 AliGenPythiaPlus.cxx:256
 AliGenPythiaPlus.cxx:257
 AliGenPythiaPlus.cxx:258
 AliGenPythiaPlus.cxx:259
 AliGenPythiaPlus.cxx:260
 AliGenPythiaPlus.cxx:261
 AliGenPythiaPlus.cxx:262
 AliGenPythiaPlus.cxx:263
 AliGenPythiaPlus.cxx:264
 AliGenPythiaPlus.cxx:265
 AliGenPythiaPlus.cxx:266
 AliGenPythiaPlus.cxx:267
 AliGenPythiaPlus.cxx:268
 AliGenPythiaPlus.cxx:269
 AliGenPythiaPlus.cxx:270
 AliGenPythiaPlus.cxx:271
 AliGenPythiaPlus.cxx:272
 AliGenPythiaPlus.cxx:273
 AliGenPythiaPlus.cxx:274
 AliGenPythiaPlus.cxx:275
 AliGenPythiaPlus.cxx:276
 AliGenPythiaPlus.cxx:277
 AliGenPythiaPlus.cxx:278
 AliGenPythiaPlus.cxx:279
 AliGenPythiaPlus.cxx:280
 AliGenPythiaPlus.cxx:281
 AliGenPythiaPlus.cxx:282
 AliGenPythiaPlus.cxx:283
 AliGenPythiaPlus.cxx:284
 AliGenPythiaPlus.cxx:285
 AliGenPythiaPlus.cxx:286
 AliGenPythiaPlus.cxx:287
 AliGenPythiaPlus.cxx:288
 AliGenPythiaPlus.cxx:289
 AliGenPythiaPlus.cxx:290
 AliGenPythiaPlus.cxx:291
 AliGenPythiaPlus.cxx:292
 AliGenPythiaPlus.cxx:293
 AliGenPythiaPlus.cxx:294
 AliGenPythiaPlus.cxx:295
 AliGenPythiaPlus.cxx:296
 AliGenPythiaPlus.cxx:297
 AliGenPythiaPlus.cxx:298
 AliGenPythiaPlus.cxx:299
 AliGenPythiaPlus.cxx:300
 AliGenPythiaPlus.cxx:301
 AliGenPythiaPlus.cxx:302
 AliGenPythiaPlus.cxx:303
 AliGenPythiaPlus.cxx:304
 AliGenPythiaPlus.cxx:305
 AliGenPythiaPlus.cxx:306
 AliGenPythiaPlus.cxx:307
 AliGenPythiaPlus.cxx:308
 AliGenPythiaPlus.cxx:309
 AliGenPythiaPlus.cxx:310
 AliGenPythiaPlus.cxx:311
 AliGenPythiaPlus.cxx:312
 AliGenPythiaPlus.cxx:313
 AliGenPythiaPlus.cxx:314
 AliGenPythiaPlus.cxx:315
 AliGenPythiaPlus.cxx:316
 AliGenPythiaPlus.cxx:317
 AliGenPythiaPlus.cxx:318
 AliGenPythiaPlus.cxx:319
 AliGenPythiaPlus.cxx:320
 AliGenPythiaPlus.cxx:321
 AliGenPythiaPlus.cxx:322
 AliGenPythiaPlus.cxx:323
 AliGenPythiaPlus.cxx:324
 AliGenPythiaPlus.cxx:325
 AliGenPythiaPlus.cxx:326
 AliGenPythiaPlus.cxx:327
 AliGenPythiaPlus.cxx:328
 AliGenPythiaPlus.cxx:329
 AliGenPythiaPlus.cxx:330
 AliGenPythiaPlus.cxx:331
 AliGenPythiaPlus.cxx:332
 AliGenPythiaPlus.cxx:333
 AliGenPythiaPlus.cxx:334
 AliGenPythiaPlus.cxx:335
 AliGenPythiaPlus.cxx:336
 AliGenPythiaPlus.cxx:337
 AliGenPythiaPlus.cxx:338
 AliGenPythiaPlus.cxx:339
 AliGenPythiaPlus.cxx:340
 AliGenPythiaPlus.cxx:341
 AliGenPythiaPlus.cxx:342
 AliGenPythiaPlus.cxx:343
 AliGenPythiaPlus.cxx:344
 AliGenPythiaPlus.cxx:345
 AliGenPythiaPlus.cxx:346
 AliGenPythiaPlus.cxx:347
 AliGenPythiaPlus.cxx:348
 AliGenPythiaPlus.cxx:349
 AliGenPythiaPlus.cxx:350
 AliGenPythiaPlus.cxx:351
 AliGenPythiaPlus.cxx:352
 AliGenPythiaPlus.cxx:353
 AliGenPythiaPlus.cxx:354
 AliGenPythiaPlus.cxx:355
 AliGenPythiaPlus.cxx:356
 AliGenPythiaPlus.cxx:357
 AliGenPythiaPlus.cxx:358
 AliGenPythiaPlus.cxx:359
 AliGenPythiaPlus.cxx:360
 AliGenPythiaPlus.cxx:361
 AliGenPythiaPlus.cxx:362
 AliGenPythiaPlus.cxx:363
 AliGenPythiaPlus.cxx:364
 AliGenPythiaPlus.cxx:365
 AliGenPythiaPlus.cxx:366
 AliGenPythiaPlus.cxx:367
 AliGenPythiaPlus.cxx:368
 AliGenPythiaPlus.cxx:369
 AliGenPythiaPlus.cxx:370
 AliGenPythiaPlus.cxx:371
 AliGenPythiaPlus.cxx:372
 AliGenPythiaPlus.cxx:373
 AliGenPythiaPlus.cxx:374
 AliGenPythiaPlus.cxx:375
 AliGenPythiaPlus.cxx:376
 AliGenPythiaPlus.cxx:377
 AliGenPythiaPlus.cxx:378
 AliGenPythiaPlus.cxx:379
 AliGenPythiaPlus.cxx:380
 AliGenPythiaPlus.cxx:381
 AliGenPythiaPlus.cxx:382
 AliGenPythiaPlus.cxx:383
 AliGenPythiaPlus.cxx:384
 AliGenPythiaPlus.cxx:385
 AliGenPythiaPlus.cxx:386
 AliGenPythiaPlus.cxx:387
 AliGenPythiaPlus.cxx:388
 AliGenPythiaPlus.cxx:389
 AliGenPythiaPlus.cxx:390
 AliGenPythiaPlus.cxx:391
 AliGenPythiaPlus.cxx:392
 AliGenPythiaPlus.cxx:393
 AliGenPythiaPlus.cxx:394
 AliGenPythiaPlus.cxx:395
 AliGenPythiaPlus.cxx:396
 AliGenPythiaPlus.cxx:397
 AliGenPythiaPlus.cxx:398
 AliGenPythiaPlus.cxx:399
 AliGenPythiaPlus.cxx:400
 AliGenPythiaPlus.cxx:401
 AliGenPythiaPlus.cxx:402
 AliGenPythiaPlus.cxx:403
 AliGenPythiaPlus.cxx:404
 AliGenPythiaPlus.cxx:405
 AliGenPythiaPlus.cxx:406
 AliGenPythiaPlus.cxx:407
 AliGenPythiaPlus.cxx:408
 AliGenPythiaPlus.cxx:409
 AliGenPythiaPlus.cxx:410
 AliGenPythiaPlus.cxx:411
 AliGenPythiaPlus.cxx:412
 AliGenPythiaPlus.cxx:413
 AliGenPythiaPlus.cxx:414
 AliGenPythiaPlus.cxx:415
 AliGenPythiaPlus.cxx:416
 AliGenPythiaPlus.cxx:417
 AliGenPythiaPlus.cxx:418
 AliGenPythiaPlus.cxx:419
 AliGenPythiaPlus.cxx:420
 AliGenPythiaPlus.cxx:421
 AliGenPythiaPlus.cxx:422
 AliGenPythiaPlus.cxx:423
 AliGenPythiaPlus.cxx:424
 AliGenPythiaPlus.cxx:425
 AliGenPythiaPlus.cxx:426
 AliGenPythiaPlus.cxx:427
 AliGenPythiaPlus.cxx:428
 AliGenPythiaPlus.cxx:429
 AliGenPythiaPlus.cxx:430
 AliGenPythiaPlus.cxx:431
 AliGenPythiaPlus.cxx:432
 AliGenPythiaPlus.cxx:433
 AliGenPythiaPlus.cxx:434
 AliGenPythiaPlus.cxx:435
 AliGenPythiaPlus.cxx:436
 AliGenPythiaPlus.cxx:437
 AliGenPythiaPlus.cxx:438
 AliGenPythiaPlus.cxx:439
 AliGenPythiaPlus.cxx:440
 AliGenPythiaPlus.cxx:441
 AliGenPythiaPlus.cxx:442
 AliGenPythiaPlus.cxx:443
 AliGenPythiaPlus.cxx:444
 AliGenPythiaPlus.cxx:445
 AliGenPythiaPlus.cxx:446
 AliGenPythiaPlus.cxx:447
 AliGenPythiaPlus.cxx:448
 AliGenPythiaPlus.cxx:449
 AliGenPythiaPlus.cxx:450
 AliGenPythiaPlus.cxx:451
 AliGenPythiaPlus.cxx:452
 AliGenPythiaPlus.cxx:453
 AliGenPythiaPlus.cxx:454
 AliGenPythiaPlus.cxx:455
 AliGenPythiaPlus.cxx:456
 AliGenPythiaPlus.cxx:457
 AliGenPythiaPlus.cxx:458
 AliGenPythiaPlus.cxx:459
 AliGenPythiaPlus.cxx:460
 AliGenPythiaPlus.cxx:461
 AliGenPythiaPlus.cxx:462
 AliGenPythiaPlus.cxx:463
 AliGenPythiaPlus.cxx:464
 AliGenPythiaPlus.cxx:465
 AliGenPythiaPlus.cxx:466
 AliGenPythiaPlus.cxx:467
 AliGenPythiaPlus.cxx:468
 AliGenPythiaPlus.cxx:469
 AliGenPythiaPlus.cxx:470
 AliGenPythiaPlus.cxx:471
 AliGenPythiaPlus.cxx:472
 AliGenPythiaPlus.cxx:473
 AliGenPythiaPlus.cxx:474
 AliGenPythiaPlus.cxx:475
 AliGenPythiaPlus.cxx:476
 AliGenPythiaPlus.cxx:477
 AliGenPythiaPlus.cxx:478
 AliGenPythiaPlus.cxx:479
 AliGenPythiaPlus.cxx:480
 AliGenPythiaPlus.cxx:481
 AliGenPythiaPlus.cxx:482
 AliGenPythiaPlus.cxx:483
 AliGenPythiaPlus.cxx:484
 AliGenPythiaPlus.cxx:485
 AliGenPythiaPlus.cxx:486
 AliGenPythiaPlus.cxx:487
 AliGenPythiaPlus.cxx:488
 AliGenPythiaPlus.cxx:489
 AliGenPythiaPlus.cxx:490
 AliGenPythiaPlus.cxx:491
 AliGenPythiaPlus.cxx:492
 AliGenPythiaPlus.cxx:493
 AliGenPythiaPlus.cxx:494
 AliGenPythiaPlus.cxx:495
 AliGenPythiaPlus.cxx:496
 AliGenPythiaPlus.cxx:497
 AliGenPythiaPlus.cxx:498
 AliGenPythiaPlus.cxx:499
 AliGenPythiaPlus.cxx:500
 AliGenPythiaPlus.cxx:501
 AliGenPythiaPlus.cxx:502
 AliGenPythiaPlus.cxx:503
 AliGenPythiaPlus.cxx:504
 AliGenPythiaPlus.cxx:505
 AliGenPythiaPlus.cxx:506
 AliGenPythiaPlus.cxx:507
 AliGenPythiaPlus.cxx:508
 AliGenPythiaPlus.cxx:509
 AliGenPythiaPlus.cxx:510
 AliGenPythiaPlus.cxx:511
 AliGenPythiaPlus.cxx:512
 AliGenPythiaPlus.cxx:513
 AliGenPythiaPlus.cxx:514
 AliGenPythiaPlus.cxx:515
 AliGenPythiaPlus.cxx:516
 AliGenPythiaPlus.cxx:517
 AliGenPythiaPlus.cxx:518
 AliGenPythiaPlus.cxx:519
 AliGenPythiaPlus.cxx:520
 AliGenPythiaPlus.cxx:521
 AliGenPythiaPlus.cxx:522
 AliGenPythiaPlus.cxx:523
 AliGenPythiaPlus.cxx:524
 AliGenPythiaPlus.cxx:525
 AliGenPythiaPlus.cxx:526
 AliGenPythiaPlus.cxx:527
 AliGenPythiaPlus.cxx:528
 AliGenPythiaPlus.cxx:529
 AliGenPythiaPlus.cxx:530
 AliGenPythiaPlus.cxx:531
 AliGenPythiaPlus.cxx:532
 AliGenPythiaPlus.cxx:533
 AliGenPythiaPlus.cxx:534
 AliGenPythiaPlus.cxx:535
 AliGenPythiaPlus.cxx:536
 AliGenPythiaPlus.cxx:537
 AliGenPythiaPlus.cxx:538
 AliGenPythiaPlus.cxx:539
 AliGenPythiaPlus.cxx:540
 AliGenPythiaPlus.cxx:541
 AliGenPythiaPlus.cxx:542
 AliGenPythiaPlus.cxx:543
 AliGenPythiaPlus.cxx:544
 AliGenPythiaPlus.cxx:545
 AliGenPythiaPlus.cxx:546
 AliGenPythiaPlus.cxx:547
 AliGenPythiaPlus.cxx:548
 AliGenPythiaPlus.cxx:549
 AliGenPythiaPlus.cxx:550
 AliGenPythiaPlus.cxx:551
 AliGenPythiaPlus.cxx:552
 AliGenPythiaPlus.cxx:553
 AliGenPythiaPlus.cxx:554
 AliGenPythiaPlus.cxx:555
 AliGenPythiaPlus.cxx:556
 AliGenPythiaPlus.cxx:557
 AliGenPythiaPlus.cxx:558
 AliGenPythiaPlus.cxx:559
 AliGenPythiaPlus.cxx:560
 AliGenPythiaPlus.cxx:561
 AliGenPythiaPlus.cxx:562
 AliGenPythiaPlus.cxx:563
 AliGenPythiaPlus.cxx:564
 AliGenPythiaPlus.cxx:565
 AliGenPythiaPlus.cxx:566
 AliGenPythiaPlus.cxx:567
 AliGenPythiaPlus.cxx:568
 AliGenPythiaPlus.cxx:569
 AliGenPythiaPlus.cxx:570
 AliGenPythiaPlus.cxx:571
 AliGenPythiaPlus.cxx:572
 AliGenPythiaPlus.cxx:573
 AliGenPythiaPlus.cxx:574
 AliGenPythiaPlus.cxx:575
 AliGenPythiaPlus.cxx:576
 AliGenPythiaPlus.cxx:577
 AliGenPythiaPlus.cxx:578
 AliGenPythiaPlus.cxx:579
 AliGenPythiaPlus.cxx:580
 AliGenPythiaPlus.cxx:581
 AliGenPythiaPlus.cxx:582
 AliGenPythiaPlus.cxx:583
 AliGenPythiaPlus.cxx:584
 AliGenPythiaPlus.cxx:585
 AliGenPythiaPlus.cxx:586
 AliGenPythiaPlus.cxx:587
 AliGenPythiaPlus.cxx:588
 AliGenPythiaPlus.cxx:589
 AliGenPythiaPlus.cxx:590
 AliGenPythiaPlus.cxx:591
 AliGenPythiaPlus.cxx:592
 AliGenPythiaPlus.cxx:593
 AliGenPythiaPlus.cxx:594
 AliGenPythiaPlus.cxx:595
 AliGenPythiaPlus.cxx:596
 AliGenPythiaPlus.cxx:597
 AliGenPythiaPlus.cxx:598
 AliGenPythiaPlus.cxx:599
 AliGenPythiaPlus.cxx:600
 AliGenPythiaPlus.cxx:601
 AliGenPythiaPlus.cxx:602
 AliGenPythiaPlus.cxx:603
 AliGenPythiaPlus.cxx:604
 AliGenPythiaPlus.cxx:605
 AliGenPythiaPlus.cxx:606
 AliGenPythiaPlus.cxx:607
 AliGenPythiaPlus.cxx:608
 AliGenPythiaPlus.cxx:609
 AliGenPythiaPlus.cxx:610
 AliGenPythiaPlus.cxx:611
 AliGenPythiaPlus.cxx:612
 AliGenPythiaPlus.cxx:613
 AliGenPythiaPlus.cxx:614
 AliGenPythiaPlus.cxx:615
 AliGenPythiaPlus.cxx:616
 AliGenPythiaPlus.cxx:617
 AliGenPythiaPlus.cxx:618
 AliGenPythiaPlus.cxx:619
 AliGenPythiaPlus.cxx:620
 AliGenPythiaPlus.cxx:621
 AliGenPythiaPlus.cxx:622
 AliGenPythiaPlus.cxx:623
 AliGenPythiaPlus.cxx:624
 AliGenPythiaPlus.cxx:625
 AliGenPythiaPlus.cxx:626
 AliGenPythiaPlus.cxx:627
 AliGenPythiaPlus.cxx:628
 AliGenPythiaPlus.cxx:629
 AliGenPythiaPlus.cxx:630
 AliGenPythiaPlus.cxx:631
 AliGenPythiaPlus.cxx:632
 AliGenPythiaPlus.cxx:633
 AliGenPythiaPlus.cxx:634
 AliGenPythiaPlus.cxx:635
 AliGenPythiaPlus.cxx:636
 AliGenPythiaPlus.cxx:637
 AliGenPythiaPlus.cxx:638
 AliGenPythiaPlus.cxx:639
 AliGenPythiaPlus.cxx:640
 AliGenPythiaPlus.cxx:641
 AliGenPythiaPlus.cxx:642
 AliGenPythiaPlus.cxx:643
 AliGenPythiaPlus.cxx:644
 AliGenPythiaPlus.cxx:645
 AliGenPythiaPlus.cxx:646
 AliGenPythiaPlus.cxx:647
 AliGenPythiaPlus.cxx:648
 AliGenPythiaPlus.cxx:649
 AliGenPythiaPlus.cxx:650
 AliGenPythiaPlus.cxx:651
 AliGenPythiaPlus.cxx:652
 AliGenPythiaPlus.cxx:653
 AliGenPythiaPlus.cxx:654
 AliGenPythiaPlus.cxx:655
 AliGenPythiaPlus.cxx:656
 AliGenPythiaPlus.cxx:657
 AliGenPythiaPlus.cxx:658
 AliGenPythiaPlus.cxx:659
 AliGenPythiaPlus.cxx:660
 AliGenPythiaPlus.cxx:661
 AliGenPythiaPlus.cxx:662
 AliGenPythiaPlus.cxx:663
 AliGenPythiaPlus.cxx:664
 AliGenPythiaPlus.cxx:665
 AliGenPythiaPlus.cxx:666
 AliGenPythiaPlus.cxx:667
 AliGenPythiaPlus.cxx:668
 AliGenPythiaPlus.cxx:669
 AliGenPythiaPlus.cxx:670
 AliGenPythiaPlus.cxx:671
 AliGenPythiaPlus.cxx:672
 AliGenPythiaPlus.cxx:673
 AliGenPythiaPlus.cxx:674
 AliGenPythiaPlus.cxx:675
 AliGenPythiaPlus.cxx:676
 AliGenPythiaPlus.cxx:677
 AliGenPythiaPlus.cxx:678
 AliGenPythiaPlus.cxx:679
 AliGenPythiaPlus.cxx:680
 AliGenPythiaPlus.cxx:681
 AliGenPythiaPlus.cxx:682
 AliGenPythiaPlus.cxx:683
 AliGenPythiaPlus.cxx:684
 AliGenPythiaPlus.cxx:685
 AliGenPythiaPlus.cxx:686
 AliGenPythiaPlus.cxx:687
 AliGenPythiaPlus.cxx:688
 AliGenPythiaPlus.cxx:689
 AliGenPythiaPlus.cxx:690
 AliGenPythiaPlus.cxx:691
 AliGenPythiaPlus.cxx:692
 AliGenPythiaPlus.cxx:693
 AliGenPythiaPlus.cxx:694
 AliGenPythiaPlus.cxx:695
 AliGenPythiaPlus.cxx:696
 AliGenPythiaPlus.cxx:697
 AliGenPythiaPlus.cxx:698
 AliGenPythiaPlus.cxx:699
 AliGenPythiaPlus.cxx:700
 AliGenPythiaPlus.cxx:701
 AliGenPythiaPlus.cxx:702
 AliGenPythiaPlus.cxx:703
 AliGenPythiaPlus.cxx:704
 AliGenPythiaPlus.cxx:705
 AliGenPythiaPlus.cxx:706
 AliGenPythiaPlus.cxx:707
 AliGenPythiaPlus.cxx:708
 AliGenPythiaPlus.cxx:709
 AliGenPythiaPlus.cxx:710
 AliGenPythiaPlus.cxx:711
 AliGenPythiaPlus.cxx:712
 AliGenPythiaPlus.cxx:713
 AliGenPythiaPlus.cxx:714
 AliGenPythiaPlus.cxx:715
 AliGenPythiaPlus.cxx:716
 AliGenPythiaPlus.cxx:717
 AliGenPythiaPlus.cxx:718
 AliGenPythiaPlus.cxx:719
 AliGenPythiaPlus.cxx:720
 AliGenPythiaPlus.cxx:721
 AliGenPythiaPlus.cxx:722
 AliGenPythiaPlus.cxx:723
 AliGenPythiaPlus.cxx:724
 AliGenPythiaPlus.cxx:725
 AliGenPythiaPlus.cxx:726
 AliGenPythiaPlus.cxx:727
 AliGenPythiaPlus.cxx:728
 AliGenPythiaPlus.cxx:729
 AliGenPythiaPlus.cxx:730
 AliGenPythiaPlus.cxx:731
 AliGenPythiaPlus.cxx:732
 AliGenPythiaPlus.cxx:733
 AliGenPythiaPlus.cxx:734
 AliGenPythiaPlus.cxx:735
 AliGenPythiaPlus.cxx:736
 AliGenPythiaPlus.cxx:737
 AliGenPythiaPlus.cxx:738
 AliGenPythiaPlus.cxx:739
 AliGenPythiaPlus.cxx:740
 AliGenPythiaPlus.cxx:741
 AliGenPythiaPlus.cxx:742
 AliGenPythiaPlus.cxx:743
 AliGenPythiaPlus.cxx:744
 AliGenPythiaPlus.cxx:745
 AliGenPythiaPlus.cxx:746
 AliGenPythiaPlus.cxx:747
 AliGenPythiaPlus.cxx:748
 AliGenPythiaPlus.cxx:749
 AliGenPythiaPlus.cxx:750
 AliGenPythiaPlus.cxx:751
 AliGenPythiaPlus.cxx:752
 AliGenPythiaPlus.cxx:753
 AliGenPythiaPlus.cxx:754
 AliGenPythiaPlus.cxx:755
 AliGenPythiaPlus.cxx:756
 AliGenPythiaPlus.cxx:757
 AliGenPythiaPlus.cxx:758
 AliGenPythiaPlus.cxx:759
 AliGenPythiaPlus.cxx:760
 AliGenPythiaPlus.cxx:761
 AliGenPythiaPlus.cxx:762
 AliGenPythiaPlus.cxx:763
 AliGenPythiaPlus.cxx:764
 AliGenPythiaPlus.cxx:765
 AliGenPythiaPlus.cxx:766
 AliGenPythiaPlus.cxx:767
 AliGenPythiaPlus.cxx:768
 AliGenPythiaPlus.cxx:769
 AliGenPythiaPlus.cxx:770
 AliGenPythiaPlus.cxx:771
 AliGenPythiaPlus.cxx:772
 AliGenPythiaPlus.cxx:773
 AliGenPythiaPlus.cxx:774
 AliGenPythiaPlus.cxx:775
 AliGenPythiaPlus.cxx:776
 AliGenPythiaPlus.cxx:777
 AliGenPythiaPlus.cxx:778
 AliGenPythiaPlus.cxx:779
 AliGenPythiaPlus.cxx:780
 AliGenPythiaPlus.cxx:781
 AliGenPythiaPlus.cxx:782
 AliGenPythiaPlus.cxx:783
 AliGenPythiaPlus.cxx:784
 AliGenPythiaPlus.cxx:785
 AliGenPythiaPlus.cxx:786
 AliGenPythiaPlus.cxx:787
 AliGenPythiaPlus.cxx:788
 AliGenPythiaPlus.cxx:789
 AliGenPythiaPlus.cxx:790
 AliGenPythiaPlus.cxx:791
 AliGenPythiaPlus.cxx:792
 AliGenPythiaPlus.cxx:793
 AliGenPythiaPlus.cxx:794
 AliGenPythiaPlus.cxx:795
 AliGenPythiaPlus.cxx:796
 AliGenPythiaPlus.cxx:797
 AliGenPythiaPlus.cxx:798
 AliGenPythiaPlus.cxx:799
 AliGenPythiaPlus.cxx:800
 AliGenPythiaPlus.cxx:801
 AliGenPythiaPlus.cxx:802
 AliGenPythiaPlus.cxx:803
 AliGenPythiaPlus.cxx:804
 AliGenPythiaPlus.cxx:805
 AliGenPythiaPlus.cxx:806
 AliGenPythiaPlus.cxx:807
 AliGenPythiaPlus.cxx:808
 AliGenPythiaPlus.cxx:809
 AliGenPythiaPlus.cxx:810
 AliGenPythiaPlus.cxx:811
 AliGenPythiaPlus.cxx:812
 AliGenPythiaPlus.cxx:813
 AliGenPythiaPlus.cxx:814
 AliGenPythiaPlus.cxx:815
 AliGenPythiaPlus.cxx:816
 AliGenPythiaPlus.cxx:817
 AliGenPythiaPlus.cxx:818
 AliGenPythiaPlus.cxx:819
 AliGenPythiaPlus.cxx:820
 AliGenPythiaPlus.cxx:821
 AliGenPythiaPlus.cxx:822
 AliGenPythiaPlus.cxx:823
 AliGenPythiaPlus.cxx:824
 AliGenPythiaPlus.cxx:825
 AliGenPythiaPlus.cxx:826
 AliGenPythiaPlus.cxx:827
 AliGenPythiaPlus.cxx:828
 AliGenPythiaPlus.cxx:829
 AliGenPythiaPlus.cxx:830
 AliGenPythiaPlus.cxx:831
 AliGenPythiaPlus.cxx:832
 AliGenPythiaPlus.cxx:833
 AliGenPythiaPlus.cxx:834
 AliGenPythiaPlus.cxx:835
 AliGenPythiaPlus.cxx:836
 AliGenPythiaPlus.cxx:837
 AliGenPythiaPlus.cxx:838
 AliGenPythiaPlus.cxx:839
 AliGenPythiaPlus.cxx:840
 AliGenPythiaPlus.cxx:841
 AliGenPythiaPlus.cxx:842
 AliGenPythiaPlus.cxx:843
 AliGenPythiaPlus.cxx:844
 AliGenPythiaPlus.cxx:845
 AliGenPythiaPlus.cxx:846
 AliGenPythiaPlus.cxx:847
 AliGenPythiaPlus.cxx:848
 AliGenPythiaPlus.cxx:849
 AliGenPythiaPlus.cxx:850
 AliGenPythiaPlus.cxx:851
 AliGenPythiaPlus.cxx:852
 AliGenPythiaPlus.cxx:853
 AliGenPythiaPlus.cxx:854
 AliGenPythiaPlus.cxx:855
 AliGenPythiaPlus.cxx:856
 AliGenPythiaPlus.cxx:857
 AliGenPythiaPlus.cxx:858
 AliGenPythiaPlus.cxx:859
 AliGenPythiaPlus.cxx:860
 AliGenPythiaPlus.cxx:861
 AliGenPythiaPlus.cxx:862
 AliGenPythiaPlus.cxx:863
 AliGenPythiaPlus.cxx:864
 AliGenPythiaPlus.cxx:865
 AliGenPythiaPlus.cxx:866
 AliGenPythiaPlus.cxx:867
 AliGenPythiaPlus.cxx:868
 AliGenPythiaPlus.cxx:869
 AliGenPythiaPlus.cxx:870
 AliGenPythiaPlus.cxx:871
 AliGenPythiaPlus.cxx:872
 AliGenPythiaPlus.cxx:873
 AliGenPythiaPlus.cxx:874
 AliGenPythiaPlus.cxx:875
 AliGenPythiaPlus.cxx:876
 AliGenPythiaPlus.cxx:877
 AliGenPythiaPlus.cxx:878
 AliGenPythiaPlus.cxx:879
 AliGenPythiaPlus.cxx:880
 AliGenPythiaPlus.cxx:881
 AliGenPythiaPlus.cxx:882
 AliGenPythiaPlus.cxx:883
 AliGenPythiaPlus.cxx:884
 AliGenPythiaPlus.cxx:885
 AliGenPythiaPlus.cxx:886
 AliGenPythiaPlus.cxx:887
 AliGenPythiaPlus.cxx:888
 AliGenPythiaPlus.cxx:889
 AliGenPythiaPlus.cxx:890
 AliGenPythiaPlus.cxx:891
 AliGenPythiaPlus.cxx:892
 AliGenPythiaPlus.cxx:893
 AliGenPythiaPlus.cxx:894
 AliGenPythiaPlus.cxx:895
 AliGenPythiaPlus.cxx:896
 AliGenPythiaPlus.cxx:897
 AliGenPythiaPlus.cxx:898
 AliGenPythiaPlus.cxx:899
 AliGenPythiaPlus.cxx:900
 AliGenPythiaPlus.cxx:901
 AliGenPythiaPlus.cxx:902
 AliGenPythiaPlus.cxx:903
 AliGenPythiaPlus.cxx:904
 AliGenPythiaPlus.cxx:905
 AliGenPythiaPlus.cxx:906
 AliGenPythiaPlus.cxx:907
 AliGenPythiaPlus.cxx:908
 AliGenPythiaPlus.cxx:909
 AliGenPythiaPlus.cxx:910
 AliGenPythiaPlus.cxx:911
 AliGenPythiaPlus.cxx:912
 AliGenPythiaPlus.cxx:913
 AliGenPythiaPlus.cxx:914
 AliGenPythiaPlus.cxx:915
 AliGenPythiaPlus.cxx:916
 AliGenPythiaPlus.cxx:917
 AliGenPythiaPlus.cxx:918
 AliGenPythiaPlus.cxx:919
 AliGenPythiaPlus.cxx:920
 AliGenPythiaPlus.cxx:921
 AliGenPythiaPlus.cxx:922
 AliGenPythiaPlus.cxx:923
 AliGenPythiaPlus.cxx:924
 AliGenPythiaPlus.cxx:925
 AliGenPythiaPlus.cxx:926
 AliGenPythiaPlus.cxx:927
 AliGenPythiaPlus.cxx:928
 AliGenPythiaPlus.cxx:929
 AliGenPythiaPlus.cxx:930
 AliGenPythiaPlus.cxx:931
 AliGenPythiaPlus.cxx:932
 AliGenPythiaPlus.cxx:933
 AliGenPythiaPlus.cxx:934
 AliGenPythiaPlus.cxx:935
 AliGenPythiaPlus.cxx:936
 AliGenPythiaPlus.cxx:937
 AliGenPythiaPlus.cxx:938
 AliGenPythiaPlus.cxx:939
 AliGenPythiaPlus.cxx:940
 AliGenPythiaPlus.cxx:941
 AliGenPythiaPlus.cxx:942
 AliGenPythiaPlus.cxx:943
 AliGenPythiaPlus.cxx:944
 AliGenPythiaPlus.cxx:945
 AliGenPythiaPlus.cxx:946
 AliGenPythiaPlus.cxx:947
 AliGenPythiaPlus.cxx:948
 AliGenPythiaPlus.cxx:949
 AliGenPythiaPlus.cxx:950
 AliGenPythiaPlus.cxx:951
 AliGenPythiaPlus.cxx:952
 AliGenPythiaPlus.cxx:953
 AliGenPythiaPlus.cxx:954
 AliGenPythiaPlus.cxx:955
 AliGenPythiaPlus.cxx:956
 AliGenPythiaPlus.cxx:957
 AliGenPythiaPlus.cxx:958
 AliGenPythiaPlus.cxx:959
 AliGenPythiaPlus.cxx:960
 AliGenPythiaPlus.cxx:961
 AliGenPythiaPlus.cxx:962
 AliGenPythiaPlus.cxx:963
 AliGenPythiaPlus.cxx:964
 AliGenPythiaPlus.cxx:965
 AliGenPythiaPlus.cxx:966
 AliGenPythiaPlus.cxx:967
 AliGenPythiaPlus.cxx:968
 AliGenPythiaPlus.cxx:969
 AliGenPythiaPlus.cxx:970
 AliGenPythiaPlus.cxx:971
 AliGenPythiaPlus.cxx:972
 AliGenPythiaPlus.cxx:973
 AliGenPythiaPlus.cxx:974
 AliGenPythiaPlus.cxx:975
 AliGenPythiaPlus.cxx:976
 AliGenPythiaPlus.cxx:977
 AliGenPythiaPlus.cxx:978
 AliGenPythiaPlus.cxx:979
 AliGenPythiaPlus.cxx:980
 AliGenPythiaPlus.cxx:981
 AliGenPythiaPlus.cxx:982
 AliGenPythiaPlus.cxx:983
 AliGenPythiaPlus.cxx:984
 AliGenPythiaPlus.cxx:985
 AliGenPythiaPlus.cxx:986
 AliGenPythiaPlus.cxx:987
 AliGenPythiaPlus.cxx:988
 AliGenPythiaPlus.cxx:989
 AliGenPythiaPlus.cxx:990
 AliGenPythiaPlus.cxx:991
 AliGenPythiaPlus.cxx:992
 AliGenPythiaPlus.cxx:993
 AliGenPythiaPlus.cxx:994
 AliGenPythiaPlus.cxx:995
 AliGenPythiaPlus.cxx:996
 AliGenPythiaPlus.cxx:997
 AliGenPythiaPlus.cxx:998
 AliGenPythiaPlus.cxx:999
 AliGenPythiaPlus.cxx:1000
 AliGenPythiaPlus.cxx:1001
 AliGenPythiaPlus.cxx:1002
 AliGenPythiaPlus.cxx:1003
 AliGenPythiaPlus.cxx:1004
 AliGenPythiaPlus.cxx:1005
 AliGenPythiaPlus.cxx:1006
 AliGenPythiaPlus.cxx:1007
 AliGenPythiaPlus.cxx:1008
 AliGenPythiaPlus.cxx:1009
 AliGenPythiaPlus.cxx:1010
 AliGenPythiaPlus.cxx:1011
 AliGenPythiaPlus.cxx:1012
 AliGenPythiaPlus.cxx:1013
 AliGenPythiaPlus.cxx:1014
 AliGenPythiaPlus.cxx:1015
 AliGenPythiaPlus.cxx:1016
 AliGenPythiaPlus.cxx:1017
 AliGenPythiaPlus.cxx:1018
 AliGenPythiaPlus.cxx:1019
 AliGenPythiaPlus.cxx:1020
 AliGenPythiaPlus.cxx:1021
 AliGenPythiaPlus.cxx:1022
 AliGenPythiaPlus.cxx:1023
 AliGenPythiaPlus.cxx:1024
 AliGenPythiaPlus.cxx:1025
 AliGenPythiaPlus.cxx:1026
 AliGenPythiaPlus.cxx:1027
 AliGenPythiaPlus.cxx:1028
 AliGenPythiaPlus.cxx:1029
 AliGenPythiaPlus.cxx:1030
 AliGenPythiaPlus.cxx:1031
 AliGenPythiaPlus.cxx:1032
 AliGenPythiaPlus.cxx:1033
 AliGenPythiaPlus.cxx:1034
 AliGenPythiaPlus.cxx:1035
 AliGenPythiaPlus.cxx:1036
 AliGenPythiaPlus.cxx:1037
 AliGenPythiaPlus.cxx:1038
 AliGenPythiaPlus.cxx:1039
 AliGenPythiaPlus.cxx:1040
 AliGenPythiaPlus.cxx:1041
 AliGenPythiaPlus.cxx:1042
 AliGenPythiaPlus.cxx:1043
 AliGenPythiaPlus.cxx:1044
 AliGenPythiaPlus.cxx:1045
 AliGenPythiaPlus.cxx:1046
 AliGenPythiaPlus.cxx:1047
 AliGenPythiaPlus.cxx:1048
 AliGenPythiaPlus.cxx:1049
 AliGenPythiaPlus.cxx:1050
 AliGenPythiaPlus.cxx:1051
 AliGenPythiaPlus.cxx:1052
 AliGenPythiaPlus.cxx:1053
 AliGenPythiaPlus.cxx:1054
 AliGenPythiaPlus.cxx:1055
 AliGenPythiaPlus.cxx:1056
 AliGenPythiaPlus.cxx:1057
 AliGenPythiaPlus.cxx:1058
 AliGenPythiaPlus.cxx:1059
 AliGenPythiaPlus.cxx:1060
 AliGenPythiaPlus.cxx:1061
 AliGenPythiaPlus.cxx:1062
 AliGenPythiaPlus.cxx:1063
 AliGenPythiaPlus.cxx:1064
 AliGenPythiaPlus.cxx:1065
 AliGenPythiaPlus.cxx:1066
 AliGenPythiaPlus.cxx:1067
 AliGenPythiaPlus.cxx:1068
 AliGenPythiaPlus.cxx:1069
 AliGenPythiaPlus.cxx:1070
 AliGenPythiaPlus.cxx:1071
 AliGenPythiaPlus.cxx:1072
 AliGenPythiaPlus.cxx:1073
 AliGenPythiaPlus.cxx:1074
 AliGenPythiaPlus.cxx:1075
 AliGenPythiaPlus.cxx:1076
 AliGenPythiaPlus.cxx:1077
 AliGenPythiaPlus.cxx:1078
 AliGenPythiaPlus.cxx:1079
 AliGenPythiaPlus.cxx:1080
 AliGenPythiaPlus.cxx:1081
 AliGenPythiaPlus.cxx:1082
 AliGenPythiaPlus.cxx:1083
 AliGenPythiaPlus.cxx:1084
 AliGenPythiaPlus.cxx:1085
 AliGenPythiaPlus.cxx:1086
 AliGenPythiaPlus.cxx:1087
 AliGenPythiaPlus.cxx:1088
 AliGenPythiaPlus.cxx:1089
 AliGenPythiaPlus.cxx:1090
 AliGenPythiaPlus.cxx:1091
 AliGenPythiaPlus.cxx:1092
 AliGenPythiaPlus.cxx:1093
 AliGenPythiaPlus.cxx:1094
 AliGenPythiaPlus.cxx:1095
 AliGenPythiaPlus.cxx:1096
 AliGenPythiaPlus.cxx:1097
 AliGenPythiaPlus.cxx:1098
 AliGenPythiaPlus.cxx:1099
 AliGenPythiaPlus.cxx:1100
 AliGenPythiaPlus.cxx:1101
 AliGenPythiaPlus.cxx:1102
 AliGenPythiaPlus.cxx:1103
 AliGenPythiaPlus.cxx:1104
 AliGenPythiaPlus.cxx:1105
 AliGenPythiaPlus.cxx:1106
 AliGenPythiaPlus.cxx:1107
 AliGenPythiaPlus.cxx:1108
 AliGenPythiaPlus.cxx:1109
 AliGenPythiaPlus.cxx:1110
 AliGenPythiaPlus.cxx:1111
 AliGenPythiaPlus.cxx:1112
 AliGenPythiaPlus.cxx:1113
 AliGenPythiaPlus.cxx:1114
 AliGenPythiaPlus.cxx:1115
 AliGenPythiaPlus.cxx:1116
 AliGenPythiaPlus.cxx:1117
 AliGenPythiaPlus.cxx:1118
 AliGenPythiaPlus.cxx:1119
 AliGenPythiaPlus.cxx:1120
 AliGenPythiaPlus.cxx:1121
 AliGenPythiaPlus.cxx:1122
 AliGenPythiaPlus.cxx:1123
 AliGenPythiaPlus.cxx:1124
 AliGenPythiaPlus.cxx:1125
 AliGenPythiaPlus.cxx:1126
 AliGenPythiaPlus.cxx:1127
 AliGenPythiaPlus.cxx:1128
 AliGenPythiaPlus.cxx:1129
 AliGenPythiaPlus.cxx:1130
 AliGenPythiaPlus.cxx:1131
 AliGenPythiaPlus.cxx:1132
 AliGenPythiaPlus.cxx:1133
 AliGenPythiaPlus.cxx:1134
 AliGenPythiaPlus.cxx:1135
 AliGenPythiaPlus.cxx:1136
 AliGenPythiaPlus.cxx:1137
 AliGenPythiaPlus.cxx:1138
 AliGenPythiaPlus.cxx:1139
 AliGenPythiaPlus.cxx:1140
 AliGenPythiaPlus.cxx:1141
 AliGenPythiaPlus.cxx:1142
 AliGenPythiaPlus.cxx:1143
 AliGenPythiaPlus.cxx:1144
 AliGenPythiaPlus.cxx:1145
 AliGenPythiaPlus.cxx:1146
 AliGenPythiaPlus.cxx:1147
 AliGenPythiaPlus.cxx:1148
 AliGenPythiaPlus.cxx:1149
 AliGenPythiaPlus.cxx:1150
 AliGenPythiaPlus.cxx:1151
 AliGenPythiaPlus.cxx:1152
 AliGenPythiaPlus.cxx:1153
 AliGenPythiaPlus.cxx:1154
 AliGenPythiaPlus.cxx:1155
 AliGenPythiaPlus.cxx:1156
 AliGenPythiaPlus.cxx:1157
 AliGenPythiaPlus.cxx:1158
 AliGenPythiaPlus.cxx:1159
 AliGenPythiaPlus.cxx:1160
 AliGenPythiaPlus.cxx:1161
 AliGenPythiaPlus.cxx:1162
 AliGenPythiaPlus.cxx:1163
 AliGenPythiaPlus.cxx:1164
 AliGenPythiaPlus.cxx:1165
 AliGenPythiaPlus.cxx:1166
 AliGenPythiaPlus.cxx:1167
 AliGenPythiaPlus.cxx:1168
 AliGenPythiaPlus.cxx:1169
 AliGenPythiaPlus.cxx:1170
 AliGenPythiaPlus.cxx:1171
 AliGenPythiaPlus.cxx:1172
 AliGenPythiaPlus.cxx:1173
 AliGenPythiaPlus.cxx:1174
 AliGenPythiaPlus.cxx:1175
 AliGenPythiaPlus.cxx:1176
 AliGenPythiaPlus.cxx:1177
 AliGenPythiaPlus.cxx:1178
 AliGenPythiaPlus.cxx:1179
 AliGenPythiaPlus.cxx:1180
 AliGenPythiaPlus.cxx:1181
 AliGenPythiaPlus.cxx:1182
 AliGenPythiaPlus.cxx:1183
 AliGenPythiaPlus.cxx:1184
 AliGenPythiaPlus.cxx:1185
 AliGenPythiaPlus.cxx:1186
 AliGenPythiaPlus.cxx:1187
 AliGenPythiaPlus.cxx:1188
 AliGenPythiaPlus.cxx:1189
 AliGenPythiaPlus.cxx:1190
 AliGenPythiaPlus.cxx:1191
 AliGenPythiaPlus.cxx:1192
 AliGenPythiaPlus.cxx:1193
 AliGenPythiaPlus.cxx:1194
 AliGenPythiaPlus.cxx:1195
 AliGenPythiaPlus.cxx:1196
 AliGenPythiaPlus.cxx:1197
 AliGenPythiaPlus.cxx:1198
 AliGenPythiaPlus.cxx:1199
 AliGenPythiaPlus.cxx:1200
 AliGenPythiaPlus.cxx:1201
 AliGenPythiaPlus.cxx:1202
 AliGenPythiaPlus.cxx:1203
 AliGenPythiaPlus.cxx:1204
 AliGenPythiaPlus.cxx:1205
 AliGenPythiaPlus.cxx:1206
 AliGenPythiaPlus.cxx:1207
 AliGenPythiaPlus.cxx:1208
 AliGenPythiaPlus.cxx:1209
 AliGenPythiaPlus.cxx:1210
 AliGenPythiaPlus.cxx:1211
 AliGenPythiaPlus.cxx:1212
 AliGenPythiaPlus.cxx:1213
 AliGenPythiaPlus.cxx:1214
 AliGenPythiaPlus.cxx:1215
 AliGenPythiaPlus.cxx:1216
 AliGenPythiaPlus.cxx:1217
 AliGenPythiaPlus.cxx:1218
 AliGenPythiaPlus.cxx:1219
 AliGenPythiaPlus.cxx:1220
 AliGenPythiaPlus.cxx:1221
 AliGenPythiaPlus.cxx:1222
 AliGenPythiaPlus.cxx:1223
 AliGenPythiaPlus.cxx:1224
 AliGenPythiaPlus.cxx:1225
 AliGenPythiaPlus.cxx:1226
 AliGenPythiaPlus.cxx:1227
 AliGenPythiaPlus.cxx:1228
 AliGenPythiaPlus.cxx:1229
 AliGenPythiaPlus.cxx:1230
 AliGenPythiaPlus.cxx:1231
 AliGenPythiaPlus.cxx:1232
 AliGenPythiaPlus.cxx:1233
 AliGenPythiaPlus.cxx:1234
 AliGenPythiaPlus.cxx:1235
 AliGenPythiaPlus.cxx:1236
 AliGenPythiaPlus.cxx:1237
 AliGenPythiaPlus.cxx:1238
 AliGenPythiaPlus.cxx:1239
 AliGenPythiaPlus.cxx:1240
 AliGenPythiaPlus.cxx:1241
 AliGenPythiaPlus.cxx:1242
 AliGenPythiaPlus.cxx:1243
 AliGenPythiaPlus.cxx:1244
 AliGenPythiaPlus.cxx:1245
 AliGenPythiaPlus.cxx:1246
 AliGenPythiaPlus.cxx:1247
 AliGenPythiaPlus.cxx:1248
 AliGenPythiaPlus.cxx:1249
 AliGenPythiaPlus.cxx:1250
 AliGenPythiaPlus.cxx:1251
 AliGenPythiaPlus.cxx:1252
 AliGenPythiaPlus.cxx:1253
 AliGenPythiaPlus.cxx:1254
 AliGenPythiaPlus.cxx:1255
 AliGenPythiaPlus.cxx:1256
 AliGenPythiaPlus.cxx:1257
 AliGenPythiaPlus.cxx:1258
 AliGenPythiaPlus.cxx:1259
 AliGenPythiaPlus.cxx:1260
 AliGenPythiaPlus.cxx:1261
 AliGenPythiaPlus.cxx:1262
 AliGenPythiaPlus.cxx:1263
 AliGenPythiaPlus.cxx:1264
 AliGenPythiaPlus.cxx:1265
 AliGenPythiaPlus.cxx:1266
 AliGenPythiaPlus.cxx:1267
 AliGenPythiaPlus.cxx:1268
 AliGenPythiaPlus.cxx:1269
 AliGenPythiaPlus.cxx:1270
 AliGenPythiaPlus.cxx:1271
 AliGenPythiaPlus.cxx:1272
 AliGenPythiaPlus.cxx:1273
 AliGenPythiaPlus.cxx:1274
 AliGenPythiaPlus.cxx:1275
 AliGenPythiaPlus.cxx:1276
 AliGenPythiaPlus.cxx:1277
 AliGenPythiaPlus.cxx:1278
 AliGenPythiaPlus.cxx:1279
 AliGenPythiaPlus.cxx:1280
 AliGenPythiaPlus.cxx:1281
 AliGenPythiaPlus.cxx:1282
 AliGenPythiaPlus.cxx:1283
 AliGenPythiaPlus.cxx:1284
 AliGenPythiaPlus.cxx:1285
 AliGenPythiaPlus.cxx:1286
 AliGenPythiaPlus.cxx:1287
 AliGenPythiaPlus.cxx:1288
 AliGenPythiaPlus.cxx:1289
 AliGenPythiaPlus.cxx:1290
 AliGenPythiaPlus.cxx:1291
 AliGenPythiaPlus.cxx:1292
 AliGenPythiaPlus.cxx:1293
 AliGenPythiaPlus.cxx:1294
 AliGenPythiaPlus.cxx:1295
 AliGenPythiaPlus.cxx:1296
 AliGenPythiaPlus.cxx:1297
 AliGenPythiaPlus.cxx:1298
 AliGenPythiaPlus.cxx:1299
 AliGenPythiaPlus.cxx:1300
 AliGenPythiaPlus.cxx:1301
 AliGenPythiaPlus.cxx:1302
 AliGenPythiaPlus.cxx:1303
 AliGenPythiaPlus.cxx:1304
 AliGenPythiaPlus.cxx:1305
 AliGenPythiaPlus.cxx:1306
 AliGenPythiaPlus.cxx:1307
 AliGenPythiaPlus.cxx:1308
 AliGenPythiaPlus.cxx:1309
 AliGenPythiaPlus.cxx:1310
 AliGenPythiaPlus.cxx:1311
 AliGenPythiaPlus.cxx:1312
 AliGenPythiaPlus.cxx:1313
 AliGenPythiaPlus.cxx:1314
 AliGenPythiaPlus.cxx:1315
 AliGenPythiaPlus.cxx:1316
 AliGenPythiaPlus.cxx:1317
 AliGenPythiaPlus.cxx:1318
 AliGenPythiaPlus.cxx:1319
 AliGenPythiaPlus.cxx:1320
 AliGenPythiaPlus.cxx:1321
 AliGenPythiaPlus.cxx:1322
 AliGenPythiaPlus.cxx:1323
 AliGenPythiaPlus.cxx:1324
 AliGenPythiaPlus.cxx:1325
 AliGenPythiaPlus.cxx:1326
 AliGenPythiaPlus.cxx:1327
 AliGenPythiaPlus.cxx:1328
 AliGenPythiaPlus.cxx:1329
 AliGenPythiaPlus.cxx:1330
 AliGenPythiaPlus.cxx:1331
 AliGenPythiaPlus.cxx:1332
 AliGenPythiaPlus.cxx:1333
 AliGenPythiaPlus.cxx:1334
 AliGenPythiaPlus.cxx:1335
 AliGenPythiaPlus.cxx:1336
 AliGenPythiaPlus.cxx:1337
 AliGenPythiaPlus.cxx:1338
 AliGenPythiaPlus.cxx:1339
 AliGenPythiaPlus.cxx:1340
 AliGenPythiaPlus.cxx:1341
 AliGenPythiaPlus.cxx:1342
 AliGenPythiaPlus.cxx:1343
 AliGenPythiaPlus.cxx:1344
 AliGenPythiaPlus.cxx:1345
 AliGenPythiaPlus.cxx:1346
 AliGenPythiaPlus.cxx:1347
 AliGenPythiaPlus.cxx:1348
 AliGenPythiaPlus.cxx:1349
 AliGenPythiaPlus.cxx:1350
 AliGenPythiaPlus.cxx:1351
 AliGenPythiaPlus.cxx:1352
 AliGenPythiaPlus.cxx:1353
 AliGenPythiaPlus.cxx:1354
 AliGenPythiaPlus.cxx:1355
 AliGenPythiaPlus.cxx:1356
 AliGenPythiaPlus.cxx:1357
 AliGenPythiaPlus.cxx:1358
 AliGenPythiaPlus.cxx:1359
 AliGenPythiaPlus.cxx:1360
 AliGenPythiaPlus.cxx:1361
 AliGenPythiaPlus.cxx:1362
 AliGenPythiaPlus.cxx:1363
 AliGenPythiaPlus.cxx:1364
 AliGenPythiaPlus.cxx:1365
 AliGenPythiaPlus.cxx:1366
 AliGenPythiaPlus.cxx:1367
 AliGenPythiaPlus.cxx:1368
 AliGenPythiaPlus.cxx:1369
 AliGenPythiaPlus.cxx:1370
 AliGenPythiaPlus.cxx:1371
 AliGenPythiaPlus.cxx:1372
 AliGenPythiaPlus.cxx:1373
 AliGenPythiaPlus.cxx:1374
 AliGenPythiaPlus.cxx:1375
 AliGenPythiaPlus.cxx:1376
 AliGenPythiaPlus.cxx:1377
 AliGenPythiaPlus.cxx:1378
 AliGenPythiaPlus.cxx:1379
 AliGenPythiaPlus.cxx:1380
 AliGenPythiaPlus.cxx:1381
 AliGenPythiaPlus.cxx:1382
 AliGenPythiaPlus.cxx:1383
 AliGenPythiaPlus.cxx:1384
 AliGenPythiaPlus.cxx:1385
 AliGenPythiaPlus.cxx:1386
 AliGenPythiaPlus.cxx:1387
 AliGenPythiaPlus.cxx:1388
 AliGenPythiaPlus.cxx:1389
 AliGenPythiaPlus.cxx:1390
 AliGenPythiaPlus.cxx:1391
 AliGenPythiaPlus.cxx:1392
 AliGenPythiaPlus.cxx:1393
 AliGenPythiaPlus.cxx:1394
 AliGenPythiaPlus.cxx:1395
 AliGenPythiaPlus.cxx:1396
 AliGenPythiaPlus.cxx:1397
 AliGenPythiaPlus.cxx:1398
 AliGenPythiaPlus.cxx:1399
 AliGenPythiaPlus.cxx:1400
 AliGenPythiaPlus.cxx:1401
 AliGenPythiaPlus.cxx:1402
 AliGenPythiaPlus.cxx:1403
 AliGenPythiaPlus.cxx:1404
 AliGenPythiaPlus.cxx:1405
 AliGenPythiaPlus.cxx:1406
 AliGenPythiaPlus.cxx:1407
 AliGenPythiaPlus.cxx:1408
 AliGenPythiaPlus.cxx:1409
 AliGenPythiaPlus.cxx:1410
 AliGenPythiaPlus.cxx:1411
 AliGenPythiaPlus.cxx:1412
 AliGenPythiaPlus.cxx:1413
 AliGenPythiaPlus.cxx:1414
 AliGenPythiaPlus.cxx:1415
 AliGenPythiaPlus.cxx:1416
 AliGenPythiaPlus.cxx:1417
 AliGenPythiaPlus.cxx:1418
 AliGenPythiaPlus.cxx:1419
 AliGenPythiaPlus.cxx:1420
 AliGenPythiaPlus.cxx:1421
 AliGenPythiaPlus.cxx:1422
 AliGenPythiaPlus.cxx:1423
 AliGenPythiaPlus.cxx:1424
 AliGenPythiaPlus.cxx:1425
 AliGenPythiaPlus.cxx:1426
 AliGenPythiaPlus.cxx:1427
 AliGenPythiaPlus.cxx:1428
 AliGenPythiaPlus.cxx:1429
 AliGenPythiaPlus.cxx:1430
 AliGenPythiaPlus.cxx:1431
 AliGenPythiaPlus.cxx:1432
 AliGenPythiaPlus.cxx:1433
 AliGenPythiaPlus.cxx:1434
 AliGenPythiaPlus.cxx:1435
 AliGenPythiaPlus.cxx:1436
 AliGenPythiaPlus.cxx:1437
 AliGenPythiaPlus.cxx:1438
 AliGenPythiaPlus.cxx:1439
 AliGenPythiaPlus.cxx:1440
 AliGenPythiaPlus.cxx:1441
 AliGenPythiaPlus.cxx:1442
 AliGenPythiaPlus.cxx:1443
 AliGenPythiaPlus.cxx:1444
 AliGenPythiaPlus.cxx:1445
 AliGenPythiaPlus.cxx:1446
 AliGenPythiaPlus.cxx:1447
 AliGenPythiaPlus.cxx:1448
 AliGenPythiaPlus.cxx:1449
 AliGenPythiaPlus.cxx:1450
 AliGenPythiaPlus.cxx:1451
 AliGenPythiaPlus.cxx:1452
 AliGenPythiaPlus.cxx:1453
 AliGenPythiaPlus.cxx:1454
 AliGenPythiaPlus.cxx:1455
 AliGenPythiaPlus.cxx:1456
 AliGenPythiaPlus.cxx:1457
 AliGenPythiaPlus.cxx:1458
 AliGenPythiaPlus.cxx:1459
 AliGenPythiaPlus.cxx:1460
 AliGenPythiaPlus.cxx:1461
 AliGenPythiaPlus.cxx:1462
 AliGenPythiaPlus.cxx:1463
 AliGenPythiaPlus.cxx:1464
 AliGenPythiaPlus.cxx:1465
 AliGenPythiaPlus.cxx:1466
 AliGenPythiaPlus.cxx:1467
 AliGenPythiaPlus.cxx:1468
 AliGenPythiaPlus.cxx:1469
 AliGenPythiaPlus.cxx:1470
 AliGenPythiaPlus.cxx:1471
 AliGenPythiaPlus.cxx:1472
 AliGenPythiaPlus.cxx:1473
 AliGenPythiaPlus.cxx:1474
 AliGenPythiaPlus.cxx:1475
 AliGenPythiaPlus.cxx:1476
 AliGenPythiaPlus.cxx:1477
 AliGenPythiaPlus.cxx:1478
 AliGenPythiaPlus.cxx:1479
 AliGenPythiaPlus.cxx:1480
 AliGenPythiaPlus.cxx:1481
 AliGenPythiaPlus.cxx:1482
 AliGenPythiaPlus.cxx:1483
 AliGenPythiaPlus.cxx:1484
 AliGenPythiaPlus.cxx:1485
 AliGenPythiaPlus.cxx:1486
 AliGenPythiaPlus.cxx:1487
 AliGenPythiaPlus.cxx:1488
 AliGenPythiaPlus.cxx:1489
 AliGenPythiaPlus.cxx:1490
 AliGenPythiaPlus.cxx:1491
 AliGenPythiaPlus.cxx:1492
 AliGenPythiaPlus.cxx:1493