ROOT logo
#if !defined(__CINT__) || defined(__MAKECINT__)
#include <Riostream.h>
#include <TRandom.h>
#include <TSystem.h>
#include <TVirtualMC.h>
#include <TGeant3.h>
#include "STEER/AliRunLoader.h"
#include "STEER/AliRun.h"
#include "STEER/AliConfig.h"
#include "STEER/AliGenerator.h"
#include "PYTHIA6/AliDecayerPythia.h"
#include "EVGEN/AliGenHIJINGpara.h"
#include "THijing/AliGenHijing.h"
#include "EVGEN/AliGenCocktail.h"
#include "EVGEN/AliGenSlowNucleons.h"
#include "EVGEN/AliSlowNucleonModelExp.h"
#include "PYTHIA6/AliGenPythia.h"
#include "STEER/AliMagF.h"
#include "STRUCT/AliBODY.h"
#include "STRUCT/AliMAG.h"
#include "STRUCT/AliABSOv0.h"
#include "STRUCT/AliDIPOv2.h"
#include "STRUCT/AliHALL.h"
#include "STRUCT/AliFRAMEv2.h"
#include "STRUCT/AliSHILv2.h"
#include "STRUCT/AliPIPEv0.h"
#include "ITS/AliITSvPPRasymmFMD.h"
#include "TPC/AliTPCv2.h"
#include "TOF/AliTOFv4T0.h"
#include "HMPID/AliHMPIDv1.h"
#include "ZDC/AliZDCv2.h"
#include "TRD/AliTRDv1.h"
#include "FMD/AliFMDv1.h"
#include "MUON/AliMUONv1.h"
#include "PHOS/AliPHOSv1.h"
#include "PMD/AliPMDv1.h"
#include "T0/AliT0v1.h"
#include "EMCAL/AliEMCALv1.h"
#include "ACORDE/AliACORDEv1.h"
#include "VZERO/AliVZEROv3.h"
#endif

enum PprRun_t 
{
    test50,
    kParam_8000,   kParam_4000,  kParam_2000, 
    kHijing_cent1, kHijing_cent2, 
    kHijing_per1,  kHijing_per2, kHijing_per3, kHijing_per4,  kHijing_per5,
    kHijing_jj25,  kHijing_jj50, kHijing_jj75, kHijing_jj100, kHijing_jj200, 
    kHijing_gj25,  kHijing_gj50, kHijing_gj75, kHijing_gj100, kHijing_gj200,
    kHijing_pA, kPythia6, kPythia6Jets, kD0PbPb5500
};

enum PprGeo_t 
{
    kHoles, kNoHoles
};

enum PprRad_t
{
    kGluonRadiation, kNoGluonRadiation
};

// This part for configuration    
static PprRun_t srun = test50;
//static PprRun_t srun = kPythia6;
static PprGeo_t sgeo = kNoHoles;
static PprRad_t srad = kGluonRadiation;
//static AliMagF::BMap_t smag = AliMagF::k5kG;

// Comment line 
static TString  comment;

// Functions
Float_t EtaToTheta(Float_t arg);
AliGenerator* GeneratorFactory(PprRun_t srun);
AliGenHijing* HijingStandard();

void Config()
{
    // ThetaRange is (0., 180.). It was (0.28,179.72) 7/12/00 09:00
    // Theta range given through pseudorapidity limits 22/6/2001

    // Set Random Number seed
  gRandom->SetSeed(12345); //Set 0 to use the current time
    cout<<"Seed for random number generation= "<<gRandom->GetSeed()<<endl; 


   // libraries required by geant321
#if defined(__CINT__)
    gSystem->Load("libgeant321");
#endif

    new     TGeant3("C++ Interface to Geant3");

    AliRunLoader* rl=0x0;

    cout<<"Config.C: Creating Run Loader ..."<<endl;
    rl = AliRunLoader::Open("galice.root",
			    AliConfig::GetDefaultEventFolderName(),
			    "recreate");
    if (rl == 0x0)
      {
	gAlice->Fatal("Config.C","Can not instatiate the Run Loader");
	return;
      }
    rl->SetCompressionLevel(2);
    rl->SetNumberOfEventsPerFile(3);
    gAlice->SetRunLoader(rl);

    //
    // Set External decayer
    AliDecayer *decayer = new AliDecayerPythia();

    decayer->SetForceDecay(kAll);
    decayer->Init();
    gMC->SetExternalDecayer(decayer);
    //
    //
    //=======================================================================
    //
    //=======================================================================
    // ************* STEERING parameters FOR ALICE SIMULATION **************
    // --- Specify event type to be tracked through the ALICE setup
    // --- All positions are in cm, angles in degrees, and P and E in GeV

    gMC->SetProcess("DCAY",1);
    gMC->SetProcess("PAIR",1);
    gMC->SetProcess("COMP",1);
    gMC->SetProcess("PHOT",1);
    gMC->SetProcess("PFIS",0);
    gMC->SetProcess("DRAY",0);
    gMC->SetProcess("ANNI",1);
    gMC->SetProcess("BREM",1);
    gMC->SetProcess("MUNU",1);
    gMC->SetProcess("CKOV",1);
    gMC->SetProcess("HADR",1);
    gMC->SetProcess("LOSS",2);
    gMC->SetProcess("MULS",1);
    gMC->SetProcess("RAYL",1);

    Float_t cut = 1.e-3;        // 1MeV cut by default
    Float_t tofmax = 1.e10;

    gMC->SetCut("CUTGAM", cut);
    gMC->SetCut("CUTELE", cut);
    gMC->SetCut("CUTNEU", cut);
    gMC->SetCut("CUTHAD", cut);
    gMC->SetCut("CUTMUO", cut);
    gMC->SetCut("BCUTE",  cut); 
    gMC->SetCut("BCUTM",  cut); 
    gMC->SetCut("DCUTE",  cut); 
    gMC->SetCut("DCUTM",  cut); 
    gMC->SetCut("PPCUTM", cut);
    gMC->SetCut("TOFMAX", tofmax); 


// Generator Configuration
    gAlice->SetDebug(1);
    AliGenerator* gener = GeneratorFactory(srun);
    gener->SetOrigin(0, 0, 0);    // vertex position
    gener->SetSigma(0, 0, 5.3);   // Sigma in (X,Y,Z) (cm) on IP position
    gener->SetCutVertexZ(1.);     // Truncate at 1 sigma
    gener->SetVertexSmear(kPerEvent); 
    gener->SetTrackingFlag(1);
    gener->Init();

    /*    
    if (smag == AliMagF::k2kG) {
	comment = comment.Append(" | L3 field 0.2 T");
    } else if (smag == AliMagF::k5kG) {
	comment = comment.Append(" | L3 field 0.5 T");
    }
    */
    
    if (srad == kGluonRadiation)
    {
	comment = comment.Append(" | Gluon Radiation On");
	
    } else {
	comment = comment.Append(" | Gluon Radiation Off");
    }

    if (sgeo == kHoles)
    {
	comment = comment.Append(" | Holes for PHOS/HMPID");
	
    } else {
	comment = comment.Append(" | No holes for PHOS/HMPID");
    }

    printf("\n \n Comment: %s \n \n", comment.Data());
    
    
// Field (L3 +-0.2/0.5 T)
    TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps",-1,-1, AliMagF::k5kG)); // +0.5/-0.7
    /*
    TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", 1, 1, AliMagF::k5kG)); // -0.5/-0.7
    TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps",-1,-1, AliMagF::k2kG)); // +0.2/-0.7
    TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", 1, 1, AliMagF::k2kG)); // -0.2/+0.7
    TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", 1, 0, AliMagF::k5kG)); // +-0.5/0
    TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", 1, 0, AliMagF::k2kG)); // +-0.2/0
    TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", 0, 0, AliMagF::k5kGUniform)); // 0/0
    */

//
    Int_t   iABSO   = 0;
    Int_t   iDIPO   = 0;
    Int_t   iFMD    = 0;
    Int_t   iFRAME  = 1;
    Int_t   iHALL   = 0;
    Int_t   iITS    = 1;
    Int_t   iMAG    = 1;
    Int_t   iMUON   = 0;
    Int_t   iPHOS   = 0;
    Int_t   iPIPE   = 1;
    Int_t   iPMD    = 0;
    Int_t   iHMPID   = 0;
    Int_t   iSHIL   = 0;
    Int_t   iT0  = 0;
    Int_t   iTOF    = 1;
    Int_t   iTPC    = 1;
    Int_t   iTRD    = 1;
    Int_t   iZDC    = 0;
    Int_t   iEMCAL  = 0;
    Int_t   iVZERO  = 0;
    Int_t   iACORDE    = 0;

    //=================== Alice BODY parameters =============================
    AliBODY *BODY = new AliBODY("BODY", "Alice envelop");


    if (iMAG)
    {
        //=================== MAG parameters ============================
        // --- Start with Magnet since detector layouts may be depending ---
        // --- on the selected Magnet dimensions ---
        AliMAG *MAG = new AliMAG("MAG", "Magnet");
    }


    if (iABSO)
    {
        //=================== ABSO parameters ============================
        AliABSO *ABSO = new AliABSOv0("ABSO", "Muon Absorber");
    }

    if (iDIPO)
    {
        //=================== DIPO parameters ============================

        AliDIPO *DIPO = new AliDIPOv2("DIPO", "Dipole version 2");
    }

    if (iHALL)
    {
        //=================== HALL parameters ============================

        AliHALL *HALL = new AliHALL("HALL", "Alice Hall");
    }


    if (iFRAME)
    {
        //=================== FRAME parameters ============================

        AliFRAMEv2 *FRAME = new AliFRAMEv2("FRAME", "Space Frame");
	if (sgeo == kHoles) {
	    FRAME->SetHoles(1);
	} else {
	    FRAME->SetHoles(0);
	}
    }

    if (iSHIL)
    {
        //=================== SHIL parameters ============================

        AliSHIL *SHIL = new AliSHILv2("SHIL", "Shielding Version 2");
    }


    if (iPIPE)
    {
        //=================== PIPE parameters ============================

        AliPIPE *PIPE = new AliPIPEv0("PIPE", "Beam Pipe");
    }
 
    if(iITS) {

    //=================== ITS parameters ============================
    //
    // As the innermost detector in ALICE, the Inner Tracking System "impacts" on
    // almost all other detectors. This involves the fact that the ITS geometry
    // still has several options to be followed in parallel in order to determine
    // the best set-up which minimizes the induced background. All the geometries
    // available to date are described in the following. Read carefully the comments
    // and use the default version (the only one uncommented) unless you are making
    // comparisons and you know what you are doing. In this case just uncomment the
    // ITS geometry you want to use and run Aliroot.
    //
    // Detailed geometries:         
    //
    //
    //AliITS *ITS  = new AliITSv5symm("ITS","Updated ITS TDR detailed version with symmetric services");
    //
    //AliITS *ITS  = new AliITSv5asymm("ITS","Updates ITS TDR detailed version with asymmetric services");
    //
	AliITSvPPRasymmFMD *ITS  = new AliITSvPPRasymmFMD("ITS","New ITS PPR detailed version with asymmetric services");
	ITS->SetMinorVersion(2);  // don't touch this parameter if you're not an ITS developer
	ITS->SetReadDet(kTRUE);	  // don't touch this parameter if you're not an ITS developer
    //    ITS->SetWriteDet("$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.det");  // don't touch this parameter if you're not an ITS developer
	ITS->SetThicknessDet1(200.);   // detector thickness on layer 1 must be in the range [100,300]
	ITS->SetThicknessDet2(200.);   // detector thickness on layer 2 must be in the range [100,300]
	ITS->SetThicknessChip1(200.);  // chip thickness on layer 1 must be in the range [150,300]
	ITS->SetThicknessChip2(200.);  // chip thickness on layer 2 must be in the range [150,300]
	ITS->SetRails(0);	     // 1 --> rails in ; 0 --> rails out
	ITS->SetCoolingFluid(1);   // 1 --> water ; 0 --> freon

    // Coarse geometries (warning: no hits are produced with these coarse geometries and they unuseful 
    // for reconstruction !):
    //                                                     
    //
    //AliITSvPPRcoarseasymm *ITS  = new AliITSvPPRcoarseasymm("ITS","New ITS PPR coarse version with asymmetric services");
    //ITS->SetRails(0);                // 1 --> rails in ; 0 --> rails out
    //ITS->SetSupportMaterial(0);      // 0 --> Copper ; 1 --> Aluminum ; 2 --> Carbon
    //
    //AliITS *ITS  = new AliITSvPPRcoarsesymm("ITS","New ITS PPR coarse version with symmetric services");
    //ITS->SetRails(0);                // 1 --> rails in ; 0 --> rails out
    //ITS->SetSupportMaterial(0);      // 0 --> Copper ; 1 --> Aluminum ; 2 --> Carbon
    //                      
    //
    //
    // Geant3 <-> EUCLID conversion
    // ============================
    //
    // SetEUCLID is a flag to output (=1) or not to output (=0) both geometry and
    // media to two ASCII files (called by default ITSgeometry.euc and
    // ITSgeometry.tme) in a format understandable to the CAD system EUCLID.
    // The default (=0) means that you dont want to use this facility.
    //
	ITS->SetEUCLID(0);  
    }

    if (iTPC)
    {
        //============================ TPC parameters ================================
        // --- This allows the user to specify sectors for the SLOW (TPC geometry 2)
        // --- Simulator. SecAL (SecAU) <0 means that ALL lower (upper)
        // --- sectors are specified, any value other than that requires at least one 
        // --- sector (lower or upper)to be specified!
        // --- Reminder: sectors 1-24 are lower sectors (1-12 -> z>0, 13-24 -> z<0)
        // ---           sectors 25-72 are the upper ones (25-48 -> z>0, 49-72 -> z<0)
        // --- SecLows - number of lower sectors specified (up to 6)
        // --- SecUps - number of upper sectors specified (up to 12)
        // --- Sens - sensitive strips for the Slow Simulator !!!
        // --- This does NOT work if all S or L-sectors are specified, i.e.
        // --- if SecAL or SecAU < 0
        //
        //
        //-----------------------------------------------------------------------------

        //  gROOT->LoadMacro("SetTPCParam.C");
        //  AliTPCParam *param = SetTPCParam();
        AliTPC *TPC = new AliTPCv2("TPC", "Default");

        // All sectors included 
        TPC->SetSecAL(-1);
        TPC->SetSecAU(-1);

    }


    if (iTOF) {
        //=================== TOF parameters ============================
	AliTOF *TOF = new AliTOFv4T0("TOF", "normal TOF");
    }


    if (iHMPID)
    {
        //=================== HMPID parameters ===========================
        AliHMPID *HMPID = new AliHMPIDv1("HMPID", "normal HMPID");

    }


    if (iZDC)
    {
        //=================== ZDC parameters ============================

        AliZDC *ZDC = new AliZDCv2("ZDC", "normal ZDC");
    }

    if (iTRD)
    {
        //=================== TRD parameters ============================

        AliTRD *TRD = new AliTRDv1("TRD", "TRD slow simulator");

        // Select the gas mixture (0: 97% Xe + 3% isobutane, 1: 90% Xe + 10% CO2)
        TRD->SetGasMix(1);
	if (sgeo == kHoles) {
	    // With hole in front of PHOS
	    TRD->SetPHOShole();
	    // With hole in front of HMPID
	    TRD->SetHMPIDhole();
	}
	    // Switch on TR
	    AliTRDsim *TRDsim = TRD->CreateTR();
    }

    if (iFMD)
    {
        //=================== FMD parameters ============================
	AliFMD *FMD = new AliFMDv1("FMD", "normal FMD");
   }

    if (iMUON)
    {
        //=================== MUON parameters ===========================

        AliMUON *MUON = new AliMUONv1("MUON", "default");
    }
    //=================== PHOS parameters ===========================

    if (iPHOS)
    {
        AliPHOS *PHOS = new AliPHOSv1("PHOS", "IHEP");
    }


    if (iPMD)
    {
        //=================== PMD parameters ============================
        AliPMD *PMD = new AliPMDv1("PMD", "normal PMD");
    }

    if (iT0)
    {
        //=================== T0 parameters ============================
        AliT0 *T0 = new AliT0v1("T0", "T0 Detector");
    }

    if (iEMCAL)
    {
        //=================== EMCAL parameters ============================
        AliEMCAL *EMCAL = new AliEMCALv1("EMCAL", "G56_2_55_19");
    }

     if (iACORDE)
    {
        //=================== ACORDE parameters ============================
        AliACORDE *ACORDE = new AliACORDEv1("ACORDE", "normal ACORDE");
    }

     if (iVZERO)
    {
        //=================== ACORDE parameters ============================
        AliVZERO *VZERO = new AliVZEROv3("VZERO", "normal VZERO");
    }
 
             
}

Float_t EtaToTheta(Float_t arg){
  return (180./TMath::Pi())*2.*atan(exp(-arg));
}



AliGenerator* GeneratorFactory(PprRun_t srun) {
    Int_t isw = 3;
    if (srad == kNoGluonRadiation) isw = 0;
    

    AliGenerator * gGener = 0x0;
    switch (srun) {
    case test50:
      {
	comment = comment.Append(":HIJINGparam test 50 particles");
	AliGenHIJINGpara *gener = new AliGenHIJINGpara(50);
	gener->SetMomentumRange(0, 999999.);
	gener->SetPhiRange(0., 360.);
	// Set pseudorapidity range from -8 to 8.
	Float_t thmin = EtaToTheta(1);   // theta min. <---> eta max
	Float_t thmax = EtaToTheta(-1);  // theta max. <---> eta min 
	gener->SetThetaRange(thmin,thmax);
	gGener=gener;
      }
      break;
    case kParam_8000:
      {
	comment = comment.Append(":HIJINGparam N=8000");
	AliGenHIJINGpara *gener = new AliGenHIJINGpara(86030);
	gener->SetMomentumRange(0, 999999.);
	gener->SetPhiRange(0., 360.);
	// Set pseudorapidity range from -8 to 8.
	Float_t thmin = EtaToTheta(8);   // theta min. <---> eta max
	Float_t thmax = EtaToTheta(-8);  // theta max. <---> eta min 
	gener->SetThetaRange(thmin,thmax);
	gGener=gener;
      }
      break;
    case kParam_4000:
      {
	comment = comment.Append("HIJINGparam N=4000");
	AliGenHIJINGpara *gener = new AliGenHIJINGpara(43015);
	gener->SetMomentumRange(0, 999999.);
	gener->SetPhiRange(0., 360.);
	// Set pseudorapidity range from -8 to 8.
	Float_t thmin = EtaToTheta(8);   // theta min. <---> eta max
	Float_t thmax = EtaToTheta(-8);  // theta max. <---> eta min 
	gener->SetThetaRange(thmin,thmax);
	gGener=gener;
      }
	break;
    case kParam_2000:
      {
	comment = comment.Append("HIJINGparam N=2000");
	AliGenHIJINGpara *gener = new AliGenHIJINGpara(21507);
	gener->SetMomentumRange(0, 999999.);
	gener->SetPhiRange(0., 360.);
	// Set pseudorapidity range from -8 to 8.
	Float_t thmin = EtaToTheta(8);   // theta min. <---> eta max
	Float_t thmax = EtaToTheta(-8);  // theta max. <---> eta min 
	gener->SetThetaRange(thmin,thmax);
	gGener=gener;
      }
      break;
//
//  Hijing Central
//
    case kHijing_cent1:
      {
	comment = comment.Append("HIJING cent1");
	AliGenHijing *gener = HijingStandard();
// impact parameter range
	gener->SetImpactParameterRange(0., 5.);
	gGener=gener;
      }
      break;
    case kHijing_cent2:
      {
	comment = comment.Append("HIJING cent2");
	AliGenHijing *gener = HijingStandard();
// impact parameter range
	gener->SetImpactParameterRange(0., 2.);
	gGener=gener;
      }
      break;
//
// Hijing Peripheral 
//
    case kHijing_per1:
      {
	comment = comment.Append("HIJING per1");
	AliGenHijing *gener = HijingStandard();
// impact parameter range
	gener->SetImpactParameterRange(5., 8.6);
	gGener=gener;
      }
      break;
    case kHijing_per2:
      {
	comment = comment.Append("HIJING per2");
	AliGenHijing *gener = HijingStandard();
// impact parameter range
	gener->SetImpactParameterRange(8.6, 11.2);
	gGener=gener;
      }
      break;
    case kHijing_per3:
      {
	comment = comment.Append("HIJING per3");
	AliGenHijing *gener = HijingStandard();
// impact parameter range
	gener->SetImpactParameterRange(11.2, 13.2);
	gGener=gener;
      }
      break;
    case kHijing_per4:
      {
	comment = comment.Append("HIJING per4");
	AliGenHijing *gener = HijingStandard();
// impact parameter range
	gener->SetImpactParameterRange(13.2, 15.);
	gGener=gener;
      }
      break;
    case kHijing_per5:
      {
	comment = comment.Append("HIJING per5");
	AliGenHijing *gener = HijingStandard();
// impact parameter range
	gener->SetImpactParameterRange(15., 100.);
	gGener=gener;
      }
      break;
//
//  Jet-Jet
//
    case kHijing_jj25:
      {
	comment = comment.Append("HIJING Jet 25 GeV");
	AliGenHijing *gener = HijingStandard();
// impact parameter range
	gener->SetImpactParameterRange(0., 5.);
	// trigger
	gener->SetTrigger(1);
	gener->SetPtJet(25.);
	gener->SetRadiation(isw);
	gener->SetSimpleJets(!isw);
	gener->SetJetEtaRange(-0.3,0.3);
	gener->SetJetPhiRange(75., 165.);   
	gGener=gener;
      }
      break;

    case kHijing_jj50:
      {
	comment = comment.Append("HIJING Jet 50 GeV");
	AliGenHijing *gener = HijingStandard();
// impact parameter range
	gener->SetImpactParameterRange(0., 5.);
	// trigger
	gener->SetTrigger(1);
	gener->SetPtJet(50.);
	gener->SetRadiation(isw);
	gener->SetSimpleJets(!isw);
	gener->SetJetEtaRange(-0.3,0.3);
	gener->SetJetPhiRange(75., 165.);   
	gGener=gener;
      }
	break;

    case kHijing_jj75:
      {
	comment = comment.Append("HIJING Jet 75 GeV");
	AliGenHijing *gener = HijingStandard();
// impact parameter range
	gener->SetImpactParameterRange(0., 5.);
	// trigger
	gener->SetTrigger(1);
	gener->SetPtJet(75.);
	gener->SetRadiation(isw);
	gener->SetSimpleJets(!isw);
	gener->SetJetEtaRange(-0.3,0.3);
	gener->SetJetPhiRange(75., 165.);   
	gGener=gener;
      }
      break;

    case kHijing_jj100:
      {
	comment = comment.Append("HIJING Jet 100 GeV");
	AliGenHijing *gener = HijingStandard();
// impact parameter range
	gener->SetImpactParameterRange(0., 5.);
	// trigger
	gener->SetTrigger(1);
	gener->SetPtJet(100.);
	gener->SetRadiation(isw);
	gener->SetSimpleJets(!isw);
	gener->SetJetEtaRange(-0.3,0.3);
	gener->SetJetPhiRange(75., 165.);   
	gGener=gener;
      }
      break;

    case kHijing_jj200:
      {
	comment = comment.Append("HIJING Jet 200 GeV");
	AliGenHijing *gener = HijingStandard();
// impact parameter range
	gener->SetImpactParameterRange(0., 5.);
	// trigger
	gener->SetTrigger(1);
	gener->SetPtJet(200.);
	gener->SetRadiation(isw);
	gener->SetSimpleJets(!isw);
	gener->SetJetEtaRange(-0.3,0.3);
	gener->SetJetPhiRange(75., 165.);   
	gGener=gener;
      }
      break;
//
// Gamma-Jet
//
    case kHijing_gj25:
      {
	comment = comment.Append("HIJING Gamma 25 GeV");
	AliGenHijing *gener = HijingStandard();
// impact parameter range
	gener->SetImpactParameterRange(0., 5.);
	// trigger
	gener->SetTrigger(2);
	gener->SetPtJet(25.);
	gener->SetRadiation(isw);
	gener->SetSimpleJets(!isw);
	gener->SetJetEtaRange(-0.12, 0.12);
        gener->SetJetPhiRange(220., 320.);
	gGener=gener;
      }
      break;

    case kHijing_gj50:
      {
	comment = comment.Append("HIJING Gamma 50 GeV");
	AliGenHijing *gener = HijingStandard();
// impact parameter range
	gener->SetImpactParameterRange(0., 5.);
	// trigger
	gener->SetTrigger(2);
	gener->SetPtJet(50.);
	gener->SetRadiation(isw);
	gener->SetSimpleJets(!isw);
	gener->SetJetEtaRange(-0.12, 0.12);
        gener->SetJetPhiRange(220., 320.);
	gGener=gener;
      }
      break;

    case kHijing_gj75:
      {
	comment = comment.Append("HIJING Gamma 75 GeV");
	AliGenHijing *gener = HijingStandard();
// impact parameter range
	gener->SetImpactParameterRange(0., 5.);
	// trigger
	gener->SetTrigger(2);
	gener->SetPtJet(75.);
	gener->SetRadiation(isw);
	gener->SetSimpleJets(!isw);
	gener->SetJetEtaRange(-0.12, 0.12);
        gener->SetJetPhiRange(220., 320.);
	gGener=gener;
      }
      break;

    case kHijing_gj100:
      {
	comment = comment.Append("HIJING Gamma 100 GeV");
	AliGenHijing *gener = HijingStandard();
// impact parameter range
	gener->SetImpactParameterRange(0., 5.);
	// trigger
	gener->SetTrigger(2);
	gener->SetPtJet(100.);
	gener->SetRadiation(isw);
	gener->SetSimpleJets(!isw);
	gener->SetJetEtaRange(-0.12, 0.12);
        gener->SetJetPhiRange(220., 320.);
	gGener=gener;
      }
      break;

    case kHijing_gj200:
      {
	comment = comment.Append("HIJING Gamma 200 GeV");
	AliGenHijing *gener = HijingStandard();
// impact parameter range
	gener->SetImpactParameterRange(0., 5.);
	// trigger
	gener->SetTrigger(2);
	gener->SetPtJet(200.);
	gener->SetRadiation(isw);
	gener->SetSimpleJets(!isw);
	gener->SetJetEtaRange(-0.12, 0.12);
        gener->SetJetPhiRange(220., 320.);
	gGener=gener;
      }
      break;
    case kHijing_pA:
      {
	comment = comment.Append("HIJING pA");

	AliGenCocktail *gener  = new AliGenCocktail();
//	gener->SetTrackingFlag(0);
	gener->SetOrigin(0, 0, 0);    // vertex position
	gener->SetSigma(0, 0, 5.3);   // Sigma in (X,Y,Z) (cm) on IP position
	gener->SetCutVertexZ(1.);     // Truncate at 1 sigma
	gener->SetVertexSmear(kPerEvent); 
	AliGenHijing   *hijing = new AliGenHijing(-1);
// centre of mass energy 
	hijing->SetEnergyCMS(TMath::Sqrt(82./208.) * 14000.);
// impact parameter range
	hijing->SetImpactParameterRange(0., 15.);
// reference frame
	hijing->SetReferenceFrame("CMS");
	hijing->SetBoostLHC(1);
// projectile
	hijing->SetProjectile("P", 1, 1);
	hijing->SetTarget    ("A", 208, 82);
// tell hijing to keep the full parent child chain
	hijing->KeepFullEvent();
// enable jet quenching
	hijing->SetJetQuenching(0);
// enable shadowing
	hijing->SetShadowing(1);
// Don't track spectators
	hijing->SetSpectators(0);
// kinematic selection
	hijing->SetSelectAll(0);
//
	AliGenSlowNucleons*  gray    = new AliGenSlowNucleons(1);
	AliSlowNucleonModel* model   = new AliSlowNucleonModelExp();
	gray->SetSlowNucleonModel(model);
	gray->SetDebug(1);
	gener->AddGenerator(hijing,"Hijing pPb", 1);
	gener->AddGenerator(gray,  "Gray Particles",1);
	gGener=gener;
      }
      break;
    case kPythia6:
      {
        comment = comment.Append(":Pythia p-p @ 14 TeV");
        AliGenPythia *gener = new AliGenPythia(-1); 
        gener->SetMomentumRange(0,999999);
        gener->SetPhiRange(-180,180);
        gener->SetThetaRange(0., 180.);
        gener->SetYRange(-12,12);
        gener->SetPtRange(0,1000);
        gener->SetStrucFunc(kCTEQ4L);   
        gener->SetProcess(kPyMb);
        gener->SetEnergyCMS(14000.);
	gGener=gener;
      }
      break;
    case kPythia6Jets:
      {
        comment = comment.Append(":Pythia jets @ 5.5 TeV");
        AliGenPythia * gener = new AliGenPythia(-1);
	gener->SetEnergyCMS(5500.);//        Centre of mass energy
	gener->SetProcess(kPyJets);//        Process type
	gener->SetJetEtaRange(-0.5, 0.5);//  Final state kinematic cuts
	gener->SetJetPhiRange(0., 360.);
	gener->SetJetEtRange(10., 1000.);
	gener->SetGluonRadiation(1,1);
	//    gener->SetPtKick(0.);
	//   Structure function
	gener->SetStrucFunc(kCTEQ4L);
	gener->SetPtHard(86., 104.);// Pt transfer of the hard scattering
	gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
	gener->SetForceDecay(kAll);//  Decay type (semielectronic, etc.)
	gGener=gener;
      }
      break;
    case kD0PbPb5500:
      {
	comment = comment.Append(" D0 in Pb-Pb at 5.5 TeV");
	AliGenPythia * gener = new AliGenPythia(10);
	gener->SetProcess(kPyD0PbPbMNR);
	gener->SetStrucFunc(kCTEQ4L);
	gener->SetPtHard(2.1,-1.0);
	gener->SetEnergyCMS(5500.);
	gener->SetNuclei(208,208);
	gGener=gener;
      }
      break;
    }
    return gGener;
}

AliGenHijing* HijingStandard()
{
    AliGenHijing *gener = new AliGenHijing(-1);
// centre of mass energy 
    gener->SetEnergyCMS(5500.);
// reference frame
    gener->SetReferenceFrame("CMS");
// projectile
     gener->SetProjectile("A", 208, 82);
     gener->SetTarget    ("A", 208, 82);
// tell hijing to keep the full parent child chain
     gener->KeepFullEvent();
// enable jet quenching
     gener->SetJetQuenching(4);
// enable shadowing
     gener->SetShadowing(1);
// neutral pion and heavy particle decays switched off
     gener->SetDecaysOff(1);
// Don't track spectators
     gener->SetSpectators(0);
// kinematic selection
     gener->SetSelectAll(0);
     return gener;
}



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