ROOT logo
//
// Configuration for the Physics Data Challenge 2006 modified to generate
// e,mu,pi,K,p for PID studies of the TRD.
// Per event, AliGenBox is used to generate 100 particles per species
// (50 positive and 50 negative ones). Barrel detectors only.
// s.masciocchi@gsi.de
//

// One can use the configuration macro in compiled mode by
// root [0] gSystem->Load("libgeant321");
// root [0] gSystem->SetIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/include\
//                   -I$ALICE_ROOT -I$ALICE/geant3/TGeant3");
// root [0] .x grun.C(1,"Config_PDC06.C++")

#if !defined(__CINT__) || defined(__MAKECINT__)
#include <Riostream.h>
#include <TPDGCode.h>
#include <TRandom.h>
#include <TDatime.h>
#include <TSystem.h>
#include <TVirtualMC.h>
#include <TGeant3TGeo.h>
#include "EVGEN/AliGenCocktail.h"
#include "EVGEN/AliGenParam.h"
#include "EVGEN/AliGenMUONlib.h"
#include "STEER/AliRunLoader.h"
#include "STEER/AliRun.h"
#include "STEER/AliConfig.h"
#include "PYTHIA6/AliDecayerPythia.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/AliITSgeom.h"
#include "ITS/AliITSvPPRasymmFMD.h"
#include "TPC/AliTPCv2.h"
#include "TOF/AliTOFv5T0.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/AliEMCALv2.h"
#include "ACORDE/AliACORDEv1.h"
#include "VZERO/AliVZEROv6.h"
#endif


enum PDC06Proc_t 
{
//--- Heavy Flavour Production ---
  kCharmPbPb5500,  kCharmpPb8800,  kCharmpp14000,  kCharmpp14000wmi,
  kD0PbPb5500,     kD0pPb8800,     kD0pp14000,
  kDPlusPbPb5500,  kDPluspPb8800,  kDPluspp14000,
  kBeautyPbPb5500, kBeautypPb8800, kBeautypp14000, kBeautypp14000wmi, 
// -- Pythia Mb
  kPyMbNoHvq, kPyOmegaPlus, kPyOmegaMinus, kRunMax
}; 

const char * pprRunName[] = {
  "kCharmPbPb5500",  "kCharmpPb8800",  "kCharmpp14000",  "kCharmpp14000wmi",
  "kD0PbPb5500",     "kD0pPb8800",     "kD0pp14000",
  "kDPlusPbPb5500",  "kDPluspPb8800",  "kDPluspp14000",
  "kBeautyPbPb5500", "kBeautypPb8800", "kBeautypp14000", "kBeautypp14000wmi", 
  "kPyMbNoHvq", "kPyOmegaPlus", "kPyOmegaMinus"
};


//--- Decay Mode ---
enum DecayHvFl_t 
{
  kNature,  kHadr, kSemiEl, kSemiMu
};
//--- Rapidity Cut ---
enum YCut_t
{
  kFull, kBarrel, kMuonArm
};

//--- Functions ---
AliGenPythia *PythiaHVQ(PDC06Proc_t proc);
AliGenerator *MbCocktail();
AliGenerator *PyMbTriggered(Int_t pdg);
void ProcessEnvironmentVars();
Float_t EtaToTheta(Float_t arg){
  return (180./TMath::Pi())*2.*atan(exp(-arg));
}

// This part for configuration
static DecayHvFl_t   decHvFl   = kNature; 
static YCut_t        ycut      = kBarrel;
static AliMagF::BMap_t         mag       = k5kG; 
//========================//
// Set Random Number seed //
//========================//
TDatime dt;
static UInt_t seed    = dt.Get();

// nEvts = -1  : you get 1 QQbar pair and all the fragmentation and 
//               decay chain
// nEvts = N>0 : you get N charm / beauty Hadrons 
Int_t nEvts = -1; 
// stars = kTRUE : all heavy resonances and their decay stored
//       = kFALSE: only final heavy hadrons and their decays stored
Bool_t stars = kTRUE;

// To be used only with kCharmppMNRwmi and kBeautyppMNRwmi
// To get a "reasonable" agreement with MNR results, events have to be 
// generated with the minimum ptHard set to 2.76 GeV.
// To get a "perfect" agreement with MNR results, events have to be 
// generated in four ptHard bins with the following relative 
// normalizations:
//  CHARM
// 2.76-3 GeV: 25%
//    3-4 GeV: 40%
//    4-8 GeV: 29%
//     >8 GeV:  6%
//  BEAUTY
// 2.76-4 GeV:  5% 
//    4-6 GeV: 31%
//    6-8 GeV: 28%
//     >8 GeV: 36%
Float_t ptHardMin =  2.76;
Float_t ptHardMax = -1.;


// Comment line
static TString comment;

void Config()
{
 

  // Get settings from environment variables
  ProcessEnvironmentVars();

  gRandom->SetSeed(seed);
  cerr<<"Seed for random number generation= "<<seed<<endl; 

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

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

  //=======================================================================
  //  Create the output file

   
  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(1000);
  gAlice->SetRunLoader(rl);

  //
  //=======================================================================
  // ************* 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); 




  // Set External decayer //
  //======================//
  TVirtualMCDecayer* decayer = new AliDecayerPythia();
  // DECAYS
  //
  switch(decHvFl) {
  case kNature:
    decayer->SetForceDecay(kAll);
    break;
  case kHadr:
    decayer->SetForceDecay(kHadronicD);
    break;
  case kSemiEl:
    decayer->SetForceDecay(kSemiElectronic);
    break;
  case kSemiMu:
    decayer->SetForceDecay(kSemiMuonic);
    break;
  }
  decayer->Init();
  gMC->SetExternalDecayer(decayer);

  //=========================//
  // Generator Configuration //
  //=========================//
  
  AliGenCocktail *gener  = new AliGenCocktail();
  Double_t momen         = 0.6;
  Int_t Npart            = 50;
  // Set pseudorapidity range from -1 to 1.
  Float_t thmin          = EtaToTheta(1.);   // theta min. <---> eta max
  Float_t thmax          = EtaToTheta(-1.);  // theta max. <---> eta min
  
  // electron generator
  AliGenBox *eminus= new AliGenBox(Npart);
  eminus->SetPart(kElectron);
  eminus->SetMomentumRange(momen,momen);
  eminus->SetPhiRange(0,360);
  eminus->SetThetaRange(thmin,thmax);
  eminus->SetOrigin(0., 0., 0.);    // primary vertex position
  eminus->SetSigma(0.,0.,0.);       // sigma (x,y,z) in cm, on position

  // positron generator
  AliGenBox *eplus= new AliGenBox(Npart);
  eplus->SetPart(kPositron);
  eplus->SetMomentumRange(momen,momen);
  eplus->SetPhiRange(0,360);
  eplus->SetThetaRange(thmin,thmax);
  eplus->SetOrigin(0., 0., 0.);    // primary vertex position
  eplus->SetSigma(0.,0.,0.);       // sigma (x,y,z) in cm, on position

  // mu- generator
  AliGenBox *muminus= new AliGenBox(Npart);
  muminus->SetPart(kMuonMinus);
  muminus->SetMomentumRange(momen,momen);
  muminus->SetPhiRange(0,360);
  muminus->SetThetaRange(thmin,thmax);
  muminus->SetOrigin(0., 0., 0.);    // primary vertex position
  muminus->SetSigma(0.,0.,0.);       // sigma (x,y,z) in cm, on position

  // mu+ generator
  AliGenBox *muplus= new AliGenBox(Npart);
  muplus->SetPart(kMuonPlus);
  muplus->SetMomentumRange(momen,momen);
  muplus->SetPhiRange(0,360);
  muplus->SetThetaRange(thmin,thmax);
  muplus->SetOrigin(0., 0., 0.);    // primary vertex position
  muplus->SetSigma(0.,0.,0.);       // sigma (x,y,z) in cm, on position

  // pi- generator
  AliGenBox *piminus= new AliGenBox(Npart);
  piminus->SetPart(kPiMinus);
  piminus->SetMomentumRange(momen,momen);
  piminus->SetPhiRange(0,360);
  piminus->SetThetaRange(thmin,thmax);
  piminus->SetOrigin(0., 0., 0.);    // primary vertex position
  piminus->SetSigma(0.,0.,0.);       // sigma (x,y,z) in cm, on position

  // pi+ generator
  AliGenBox *piplus= new AliGenBox(Npart);
  piplus->SetPart(kPiPlus);
  piplus->SetMomentumRange(momen,momen);
  piplus->SetPhiRange(0,360);
  piplus->SetThetaRange(thmin,thmax);
  piplus->SetOrigin(0., 0., 0.);    // primary vertex position
  piplus->SetSigma(0.,0.,0.);       // sigma (x,y,z) in cm, on position

  // K- generator
  AliGenBox *kminus= new AliGenBox(Npart);
  kminus->SetPart(kKMinus);
  kminus->SetMomentumRange(momen,momen);
  kminus->SetPhiRange(0,360);
  kminus->SetThetaRange(thmin,thmax);
  kminus->SetOrigin(0., 0., 0.);    // primary vertex position
  kminus->SetSigma(0.,0.,0.);       // sigma (x,y,z) in cm, on position

  // K+ generator
  AliGenBox *kplus= new AliGenBox(Npart);
  kplus->SetPart(kKPlus);
  kplus->SetMomentumRange(momen,momen);
  kplus->SetPhiRange(0,360);
  kplus->SetThetaRange(thmin,thmax);
  kplus->SetOrigin(0., 0., 0.);    // primary vertex position
  kplus->SetSigma(0.,0.,0.);       // sigma (x,y,z) in cm, on position

  // p generator
  AliGenBox *proton= new AliGenBox(Npart);
  proton->SetPart(kProton);
  proton->SetMomentumRange(momen,momen);
  proton->SetPhiRange(0,360);
  proton->SetThetaRange(thmin,thmax);
  proton->SetOrigin(0., 0., 0.);    // primary vertex position
  proton->SetSigma(0.,0.,0.);       // sigma (x,y,z) in cm, on position

  // anti-p generator
  AliGenBox *aproton= new AliGenBox(Npart);
  aproton->SetPart(kProtonBar);
  aproton->SetMomentumRange(momen,momen);
  aproton->SetPhiRange(0,360);
  aproton->SetThetaRange(thmin,thmax);
  aproton->SetOrigin(0., 0., 0.);    // primary vertex position
  aproton->SetSigma(0.,0.,0.);       // sigma (x,y,z) in cm, on position



  gener->AddGenerator(eminus,"e-",1);
  gener->AddGenerator(eplus,"e+",1);
  gener->AddGenerator(muminus,"mu-",1);
  gener->AddGenerator(muplus,"mu+",1);
  gener->AddGenerator(piminus,"pi-",1);
  gener->AddGenerator(piplus,"pi+",1);
  gener->AddGenerator(kminus,"K-",1);
  gener->AddGenerator(kplus,"K+",1);
  gener->AddGenerator(proton,"p",1);
  gener->AddGenerator(aproton,"anti-p",1);

  gener->Init();

  // FIELD
  //    
  if (mag == AliMagF::k2kG) {
    comment = comment.Append(" | L3 field 0.2 T");
  } else if (mag == AliMagF::k5kG) {
    comment = comment.Append(" | L3 field 0.5 T");
  }
  printf("\n \n Comment: %s \n \n", comment.Data());
    
  AliMagF* field = new AliMagF("Maps","Maps", 1., 1., mag);
  field->SetL3ConstField(0); //Using const. field in the barrel
  TGeoGlobalMagField::Instance()->SetField(field);
  rl->CdGAFile();

  Int_t iABSO  = 1;
  Int_t iACORDE   = 0;
  Int_t iDIPO  = 0;
  Int_t iEMCAL = 0;
  Int_t iFMD   = 0;
  Int_t iFRAME = 1;
  Int_t iHALL  = 1;
  Int_t iITS   = 1;
  Int_t iMAG   = 1;
  Int_t iMUON  = 0;
  Int_t iPHOS  = 1;
  Int_t iPIPE  = 1;
  Int_t iPMD   = 0;
  Int_t iHMPID  = 1;
  Int_t iSHIL  = 0;
  Int_t iT0 = 0;
  Int_t iTOF   = 1;
  Int_t iTPC   = 1;
  Int_t iTRD   = 1;
  Int_t iVZERO = 0;
  Int_t iZDC   = 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");
	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 =====================
        AliTPC *TPC = new AliTPCv2("TPC", "Default");
    }


    if (iTOF) {
        //=================== TOF parameters ============================
	AliTOF *TOF = new AliTOFv5T0("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");
        AliTRDgeometry *geoTRD = TRD->GetGeometry();
 
    }

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

    if (iMUON)
    {
        //=================== MUON parameters ===========================
        // New MUONv1 version (geometry defined via builders)
        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 AliEMCALv2("EMCAL", "SHISH");
    }

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

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


void ProcessEnvironmentVars()
{
    // Run type
    if (gSystem->Getenv("CONFIG_RUN_TYPE")) {
      for (Int_t iRun = 0; iRun < kRunMax; iRun++) {
	if (strcmp(gSystem->Getenv("CONFIG_RUN_TYPE"), pprRunName[iRun])==0) {
	  proc = (PDC06Proc_t)iRun;
	  cout<<"Run type set to "<<pprRunName[iRun]<<endl;
	}
      }
    }

    // Random Number seed
    if (gSystem->Getenv("CONFIG_SEED")) {
      seed = atoi(gSystem->Getenv("CONFIG_SEED"));
    }
}



 AliTRDConfigPID.C:1
 AliTRDConfigPID.C:2
 AliTRDConfigPID.C:3
 AliTRDConfigPID.C:4
 AliTRDConfigPID.C:5
 AliTRDConfigPID.C:6
 AliTRDConfigPID.C:7
 AliTRDConfigPID.C:8
 AliTRDConfigPID.C:9
 AliTRDConfigPID.C:10
 AliTRDConfigPID.C:11
 AliTRDConfigPID.C:12
 AliTRDConfigPID.C:13
 AliTRDConfigPID.C:14
 AliTRDConfigPID.C:15
 AliTRDConfigPID.C:16
 AliTRDConfigPID.C:17
 AliTRDConfigPID.C:18
 AliTRDConfigPID.C:19
 AliTRDConfigPID.C:20
 AliTRDConfigPID.C:21
 AliTRDConfigPID.C:22
 AliTRDConfigPID.C:23
 AliTRDConfigPID.C:24
 AliTRDConfigPID.C:25
 AliTRDConfigPID.C:26
 AliTRDConfigPID.C:27
 AliTRDConfigPID.C:28
 AliTRDConfigPID.C:29
 AliTRDConfigPID.C:30
 AliTRDConfigPID.C:31
 AliTRDConfigPID.C:32
 AliTRDConfigPID.C:33
 AliTRDConfigPID.C:34
 AliTRDConfigPID.C:35
 AliTRDConfigPID.C:36
 AliTRDConfigPID.C:37
 AliTRDConfigPID.C:38
 AliTRDConfigPID.C:39
 AliTRDConfigPID.C:40
 AliTRDConfigPID.C:41
 AliTRDConfigPID.C:42
 AliTRDConfigPID.C:43
 AliTRDConfigPID.C:44
 AliTRDConfigPID.C:45
 AliTRDConfigPID.C:46
 AliTRDConfigPID.C:47
 AliTRDConfigPID.C:48
 AliTRDConfigPID.C:49
 AliTRDConfigPID.C:50
 AliTRDConfigPID.C:51
 AliTRDConfigPID.C:52
 AliTRDConfigPID.C:53
 AliTRDConfigPID.C:54
 AliTRDConfigPID.C:55
 AliTRDConfigPID.C:56
 AliTRDConfigPID.C:57
 AliTRDConfigPID.C:58
 AliTRDConfigPID.C:59
 AliTRDConfigPID.C:60
 AliTRDConfigPID.C:61
 AliTRDConfigPID.C:62
 AliTRDConfigPID.C:63
 AliTRDConfigPID.C:64
 AliTRDConfigPID.C:65
 AliTRDConfigPID.C:66
 AliTRDConfigPID.C:67
 AliTRDConfigPID.C:68
 AliTRDConfigPID.C:69
 AliTRDConfigPID.C:70
 AliTRDConfigPID.C:71
 AliTRDConfigPID.C:72
 AliTRDConfigPID.C:73
 AliTRDConfigPID.C:74
 AliTRDConfigPID.C:75
 AliTRDConfigPID.C:76
 AliTRDConfigPID.C:77
 AliTRDConfigPID.C:78
 AliTRDConfigPID.C:79
 AliTRDConfigPID.C:80
 AliTRDConfigPID.C:81
 AliTRDConfigPID.C:82
 AliTRDConfigPID.C:83
 AliTRDConfigPID.C:84
 AliTRDConfigPID.C:85
 AliTRDConfigPID.C:86
 AliTRDConfigPID.C:87
 AliTRDConfigPID.C:88
 AliTRDConfigPID.C:89
 AliTRDConfigPID.C:90
 AliTRDConfigPID.C:91
 AliTRDConfigPID.C:92
 AliTRDConfigPID.C:93
 AliTRDConfigPID.C:94
 AliTRDConfigPID.C:95
 AliTRDConfigPID.C:96
 AliTRDConfigPID.C:97
 AliTRDConfigPID.C:98
 AliTRDConfigPID.C:99
 AliTRDConfigPID.C:100
 AliTRDConfigPID.C:101
 AliTRDConfigPID.C:102
 AliTRDConfigPID.C:103
 AliTRDConfigPID.C:104
 AliTRDConfigPID.C:105
 AliTRDConfigPID.C:106
 AliTRDConfigPID.C:107
 AliTRDConfigPID.C:108
 AliTRDConfigPID.C:109
 AliTRDConfigPID.C:110
 AliTRDConfigPID.C:111
 AliTRDConfigPID.C:112
 AliTRDConfigPID.C:113
 AliTRDConfigPID.C:114
 AliTRDConfigPID.C:115
 AliTRDConfigPID.C:116
 AliTRDConfigPID.C:117
 AliTRDConfigPID.C:118
 AliTRDConfigPID.C:119
 AliTRDConfigPID.C:120
 AliTRDConfigPID.C:121
 AliTRDConfigPID.C:122
 AliTRDConfigPID.C:123
 AliTRDConfigPID.C:124
 AliTRDConfigPID.C:125
 AliTRDConfigPID.C:126
 AliTRDConfigPID.C:127
 AliTRDConfigPID.C:128
 AliTRDConfigPID.C:129
 AliTRDConfigPID.C:130
 AliTRDConfigPID.C:131
 AliTRDConfigPID.C:132
 AliTRDConfigPID.C:133
 AliTRDConfigPID.C:134
 AliTRDConfigPID.C:135
 AliTRDConfigPID.C:136
 AliTRDConfigPID.C:137
 AliTRDConfigPID.C:138
 AliTRDConfigPID.C:139
 AliTRDConfigPID.C:140
 AliTRDConfigPID.C:141
 AliTRDConfigPID.C:142
 AliTRDConfigPID.C:143
 AliTRDConfigPID.C:144
 AliTRDConfigPID.C:145
 AliTRDConfigPID.C:146
 AliTRDConfigPID.C:147
 AliTRDConfigPID.C:148
 AliTRDConfigPID.C:149
 AliTRDConfigPID.C:150
 AliTRDConfigPID.C:151
 AliTRDConfigPID.C:152
 AliTRDConfigPID.C:153
 AliTRDConfigPID.C:154
 AliTRDConfigPID.C:155
 AliTRDConfigPID.C:156
 AliTRDConfigPID.C:157
 AliTRDConfigPID.C:158
 AliTRDConfigPID.C:159
 AliTRDConfigPID.C:160
 AliTRDConfigPID.C:161
 AliTRDConfigPID.C:162
 AliTRDConfigPID.C:163
 AliTRDConfigPID.C:164
 AliTRDConfigPID.C:165
 AliTRDConfigPID.C:166
 AliTRDConfigPID.C:167
 AliTRDConfigPID.C:168
 AliTRDConfigPID.C:169
 AliTRDConfigPID.C:170
 AliTRDConfigPID.C:171
 AliTRDConfigPID.C:172
 AliTRDConfigPID.C:173
 AliTRDConfigPID.C:174
 AliTRDConfigPID.C:175
 AliTRDConfigPID.C:176
 AliTRDConfigPID.C:177
 AliTRDConfigPID.C:178
 AliTRDConfigPID.C:179
 AliTRDConfigPID.C:180
 AliTRDConfigPID.C:181
 AliTRDConfigPID.C:182
 AliTRDConfigPID.C:183
 AliTRDConfigPID.C:184
 AliTRDConfigPID.C:185
 AliTRDConfigPID.C:186
 AliTRDConfigPID.C:187
 AliTRDConfigPID.C:188
 AliTRDConfigPID.C:189
 AliTRDConfigPID.C:190
 AliTRDConfigPID.C:191
 AliTRDConfigPID.C:192
 AliTRDConfigPID.C:193
 AliTRDConfigPID.C:194
 AliTRDConfigPID.C:195
 AliTRDConfigPID.C:196
 AliTRDConfigPID.C:197
 AliTRDConfigPID.C:198
 AliTRDConfigPID.C:199
 AliTRDConfigPID.C:200
 AliTRDConfigPID.C:201
 AliTRDConfigPID.C:202
 AliTRDConfigPID.C:203
 AliTRDConfigPID.C:204
 AliTRDConfigPID.C:205
 AliTRDConfigPID.C:206
 AliTRDConfigPID.C:207
 AliTRDConfigPID.C:208
 AliTRDConfigPID.C:209
 AliTRDConfigPID.C:210
 AliTRDConfigPID.C:211
 AliTRDConfigPID.C:212
 AliTRDConfigPID.C:213
 AliTRDConfigPID.C:214
 AliTRDConfigPID.C:215
 AliTRDConfigPID.C:216
 AliTRDConfigPID.C:217
 AliTRDConfigPID.C:218
 AliTRDConfigPID.C:219
 AliTRDConfigPID.C:220
 AliTRDConfigPID.C:221
 AliTRDConfigPID.C:222
 AliTRDConfigPID.C:223
 AliTRDConfigPID.C:224
 AliTRDConfigPID.C:225
 AliTRDConfigPID.C:226
 AliTRDConfigPID.C:227
 AliTRDConfigPID.C:228
 AliTRDConfigPID.C:229
 AliTRDConfigPID.C:230
 AliTRDConfigPID.C:231
 AliTRDConfigPID.C:232
 AliTRDConfigPID.C:233
 AliTRDConfigPID.C:234
 AliTRDConfigPID.C:235
 AliTRDConfigPID.C:236
 AliTRDConfigPID.C:237
 AliTRDConfigPID.C:238
 AliTRDConfigPID.C:239
 AliTRDConfigPID.C:240
 AliTRDConfigPID.C:241
 AliTRDConfigPID.C:242
 AliTRDConfigPID.C:243
 AliTRDConfigPID.C:244
 AliTRDConfigPID.C:245
 AliTRDConfigPID.C:246
 AliTRDConfigPID.C:247
 AliTRDConfigPID.C:248
 AliTRDConfigPID.C:249
 AliTRDConfigPID.C:250
 AliTRDConfigPID.C:251
 AliTRDConfigPID.C:252
 AliTRDConfigPID.C:253
 AliTRDConfigPID.C:254
 AliTRDConfigPID.C:255
 AliTRDConfigPID.C:256
 AliTRDConfigPID.C:257
 AliTRDConfigPID.C:258
 AliTRDConfigPID.C:259
 AliTRDConfigPID.C:260
 AliTRDConfigPID.C:261
 AliTRDConfigPID.C:262
 AliTRDConfigPID.C:263
 AliTRDConfigPID.C:264
 AliTRDConfigPID.C:265
 AliTRDConfigPID.C:266
 AliTRDConfigPID.C:267
 AliTRDConfigPID.C:268
 AliTRDConfigPID.C:269
 AliTRDConfigPID.C:270
 AliTRDConfigPID.C:271
 AliTRDConfigPID.C:272
 AliTRDConfigPID.C:273
 AliTRDConfigPID.C:274
 AliTRDConfigPID.C:275
 AliTRDConfigPID.C:276
 AliTRDConfigPID.C:277
 AliTRDConfigPID.C:278
 AliTRDConfigPID.C:279
 AliTRDConfigPID.C:280
 AliTRDConfigPID.C:281
 AliTRDConfigPID.C:282
 AliTRDConfigPID.C:283
 AliTRDConfigPID.C:284
 AliTRDConfigPID.C:285
 AliTRDConfigPID.C:286
 AliTRDConfigPID.C:287
 AliTRDConfigPID.C:288
 AliTRDConfigPID.C:289
 AliTRDConfigPID.C:290
 AliTRDConfigPID.C:291
 AliTRDConfigPID.C:292
 AliTRDConfigPID.C:293
 AliTRDConfigPID.C:294
 AliTRDConfigPID.C:295
 AliTRDConfigPID.C:296
 AliTRDConfigPID.C:297
 AliTRDConfigPID.C:298
 AliTRDConfigPID.C:299
 AliTRDConfigPID.C:300
 AliTRDConfigPID.C:301
 AliTRDConfigPID.C:302
 AliTRDConfigPID.C:303
 AliTRDConfigPID.C:304
 AliTRDConfigPID.C:305
 AliTRDConfigPID.C:306
 AliTRDConfigPID.C:307
 AliTRDConfigPID.C:308
 AliTRDConfigPID.C:309
 AliTRDConfigPID.C:310
 AliTRDConfigPID.C:311
 AliTRDConfigPID.C:312
 AliTRDConfigPID.C:313
 AliTRDConfigPID.C:314
 AliTRDConfigPID.C:315
 AliTRDConfigPID.C:316
 AliTRDConfigPID.C:317
 AliTRDConfigPID.C:318
 AliTRDConfigPID.C:319
 AliTRDConfigPID.C:320
 AliTRDConfigPID.C:321
 AliTRDConfigPID.C:322
 AliTRDConfigPID.C:323
 AliTRDConfigPID.C:324
 AliTRDConfigPID.C:325
 AliTRDConfigPID.C:326
 AliTRDConfigPID.C:327
 AliTRDConfigPID.C:328
 AliTRDConfigPID.C:329
 AliTRDConfigPID.C:330
 AliTRDConfigPID.C:331
 AliTRDConfigPID.C:332
 AliTRDConfigPID.C:333
 AliTRDConfigPID.C:334
 AliTRDConfigPID.C:335
 AliTRDConfigPID.C:336
 AliTRDConfigPID.C:337
 AliTRDConfigPID.C:338
 AliTRDConfigPID.C:339
 AliTRDConfigPID.C:340
 AliTRDConfigPID.C:341
 AliTRDConfigPID.C:342
 AliTRDConfigPID.C:343
 AliTRDConfigPID.C:344
 AliTRDConfigPID.C:345
 AliTRDConfigPID.C:346
 AliTRDConfigPID.C:347
 AliTRDConfigPID.C:348
 AliTRDConfigPID.C:349
 AliTRDConfigPID.C:350
 AliTRDConfigPID.C:351
 AliTRDConfigPID.C:352
 AliTRDConfigPID.C:353
 AliTRDConfigPID.C:354
 AliTRDConfigPID.C:355
 AliTRDConfigPID.C:356
 AliTRDConfigPID.C:357
 AliTRDConfigPID.C:358
 AliTRDConfigPID.C:359
 AliTRDConfigPID.C:360
 AliTRDConfigPID.C:361
 AliTRDConfigPID.C:362
 AliTRDConfigPID.C:363
 AliTRDConfigPID.C:364
 AliTRDConfigPID.C:365
 AliTRDConfigPID.C:366
 AliTRDConfigPID.C:367
 AliTRDConfigPID.C:368
 AliTRDConfigPID.C:369
 AliTRDConfigPID.C:370
 AliTRDConfigPID.C:371
 AliTRDConfigPID.C:372
 AliTRDConfigPID.C:373
 AliTRDConfigPID.C:374
 AliTRDConfigPID.C:375
 AliTRDConfigPID.C:376
 AliTRDConfigPID.C:377
 AliTRDConfigPID.C:378
 AliTRDConfigPID.C:379
 AliTRDConfigPID.C:380
 AliTRDConfigPID.C:381
 AliTRDConfigPID.C:382
 AliTRDConfigPID.C:383
 AliTRDConfigPID.C:384
 AliTRDConfigPID.C:385
 AliTRDConfigPID.C:386
 AliTRDConfigPID.C:387
 AliTRDConfigPID.C:388
 AliTRDConfigPID.C:389
 AliTRDConfigPID.C:390
 AliTRDConfigPID.C:391
 AliTRDConfigPID.C:392
 AliTRDConfigPID.C:393
 AliTRDConfigPID.C:394
 AliTRDConfigPID.C:395
 AliTRDConfigPID.C:396
 AliTRDConfigPID.C:397
 AliTRDConfigPID.C:398
 AliTRDConfigPID.C:399
 AliTRDConfigPID.C:400
 AliTRDConfigPID.C:401
 AliTRDConfigPID.C:402
 AliTRDConfigPID.C:403
 AliTRDConfigPID.C:404
 AliTRDConfigPID.C:405
 AliTRDConfigPID.C:406
 AliTRDConfigPID.C:407
 AliTRDConfigPID.C:408
 AliTRDConfigPID.C:409
 AliTRDConfigPID.C:410
 AliTRDConfigPID.C:411
 AliTRDConfigPID.C:412
 AliTRDConfigPID.C:413
 AliTRDConfigPID.C:414
 AliTRDConfigPID.C:415
 AliTRDConfigPID.C:416
 AliTRDConfigPID.C:417
 AliTRDConfigPID.C:418
 AliTRDConfigPID.C:419
 AliTRDConfigPID.C:420
 AliTRDConfigPID.C:421
 AliTRDConfigPID.C:422
 AliTRDConfigPID.C:423
 AliTRDConfigPID.C:424
 AliTRDConfigPID.C:425
 AliTRDConfigPID.C:426
 AliTRDConfigPID.C:427
 AliTRDConfigPID.C:428
 AliTRDConfigPID.C:429
 AliTRDConfigPID.C:430
 AliTRDConfigPID.C:431
 AliTRDConfigPID.C:432
 AliTRDConfigPID.C:433
 AliTRDConfigPID.C:434
 AliTRDConfigPID.C:435
 AliTRDConfigPID.C:436
 AliTRDConfigPID.C:437
 AliTRDConfigPID.C:438
 AliTRDConfigPID.C:439
 AliTRDConfigPID.C:440
 AliTRDConfigPID.C:441
 AliTRDConfigPID.C:442
 AliTRDConfigPID.C:443
 AliTRDConfigPID.C:444
 AliTRDConfigPID.C:445
 AliTRDConfigPID.C:446
 AliTRDConfigPID.C:447
 AliTRDConfigPID.C:448
 AliTRDConfigPID.C:449
 AliTRDConfigPID.C:450
 AliTRDConfigPID.C:451
 AliTRDConfigPID.C:452
 AliTRDConfigPID.C:453
 AliTRDConfigPID.C:454
 AliTRDConfigPID.C:455
 AliTRDConfigPID.C:456
 AliTRDConfigPID.C:457
 AliTRDConfigPID.C:458
 AliTRDConfigPID.C:459
 AliTRDConfigPID.C:460
 AliTRDConfigPID.C:461
 AliTRDConfigPID.C:462
 AliTRDConfigPID.C:463
 AliTRDConfigPID.C:464
 AliTRDConfigPID.C:465
 AliTRDConfigPID.C:466
 AliTRDConfigPID.C:467
 AliTRDConfigPID.C:468
 AliTRDConfigPID.C:469
 AliTRDConfigPID.C:470
 AliTRDConfigPID.C:471
 AliTRDConfigPID.C:472
 AliTRDConfigPID.C:473
 AliTRDConfigPID.C:474
 AliTRDConfigPID.C:475
 AliTRDConfigPID.C:476
 AliTRDConfigPID.C:477
 AliTRDConfigPID.C:478
 AliTRDConfigPID.C:479
 AliTRDConfigPID.C:480
 AliTRDConfigPID.C:481
 AliTRDConfigPID.C:482
 AliTRDConfigPID.C:483
 AliTRDConfigPID.C:484
 AliTRDConfigPID.C:485
 AliTRDConfigPID.C:486
 AliTRDConfigPID.C:487
 AliTRDConfigPID.C:488
 AliTRDConfigPID.C:489
 AliTRDConfigPID.C:490
 AliTRDConfigPID.C:491
 AliTRDConfigPID.C:492
 AliTRDConfigPID.C:493
 AliTRDConfigPID.C:494
 AliTRDConfigPID.C:495
 AliTRDConfigPID.C:496
 AliTRDConfigPID.C:497
 AliTRDConfigPID.C:498
 AliTRDConfigPID.C:499
 AliTRDConfigPID.C:500
 AliTRDConfigPID.C:501
 AliTRDConfigPID.C:502
 AliTRDConfigPID.C:503
 AliTRDConfigPID.C:504
 AliTRDConfigPID.C:505
 AliTRDConfigPID.C:506
 AliTRDConfigPID.C:507
 AliTRDConfigPID.C:508
 AliTRDConfigPID.C:509
 AliTRDConfigPID.C:510
 AliTRDConfigPID.C:511
 AliTRDConfigPID.C:512
 AliTRDConfigPID.C:513
 AliTRDConfigPID.C:514
 AliTRDConfigPID.C:515
 AliTRDConfigPID.C:516
 AliTRDConfigPID.C:517
 AliTRDConfigPID.C:518
 AliTRDConfigPID.C:519
 AliTRDConfigPID.C:520
 AliTRDConfigPID.C:521
 AliTRDConfigPID.C:522
 AliTRDConfigPID.C:523
 AliTRDConfigPID.C:524
 AliTRDConfigPID.C:525
 AliTRDConfigPID.C:526
 AliTRDConfigPID.C:527
 AliTRDConfigPID.C:528
 AliTRDConfigPID.C:529
 AliTRDConfigPID.C:530
 AliTRDConfigPID.C:531
 AliTRDConfigPID.C:532
 AliTRDConfigPID.C:533
 AliTRDConfigPID.C:534
 AliTRDConfigPID.C:535
 AliTRDConfigPID.C:536
 AliTRDConfigPID.C:537
 AliTRDConfigPID.C:538
 AliTRDConfigPID.C:539
 AliTRDConfigPID.C:540
 AliTRDConfigPID.C:541
 AliTRDConfigPID.C:542
 AliTRDConfigPID.C:543
 AliTRDConfigPID.C:544
 AliTRDConfigPID.C:545
 AliTRDConfigPID.C:546
 AliTRDConfigPID.C:547
 AliTRDConfigPID.C:548
 AliTRDConfigPID.C:549
 AliTRDConfigPID.C:550
 AliTRDConfigPID.C:551
 AliTRDConfigPID.C:552
 AliTRDConfigPID.C:553
 AliTRDConfigPID.C:554
 AliTRDConfigPID.C:555
 AliTRDConfigPID.C:556
 AliTRDConfigPID.C:557
 AliTRDConfigPID.C:558
 AliTRDConfigPID.C:559
 AliTRDConfigPID.C:560
 AliTRDConfigPID.C:561
 AliTRDConfigPID.C:562
 AliTRDConfigPID.C:563
 AliTRDConfigPID.C:564
 AliTRDConfigPID.C:565
 AliTRDConfigPID.C:566
 AliTRDConfigPID.C:567
 AliTRDConfigPID.C:568
 AliTRDConfigPID.C:569
 AliTRDConfigPID.C:570
 AliTRDConfigPID.C:571
 AliTRDConfigPID.C:572
 AliTRDConfigPID.C:573
 AliTRDConfigPID.C:574
 AliTRDConfigPID.C:575
 AliTRDConfigPID.C:576
 AliTRDConfigPID.C:577
 AliTRDConfigPID.C:578
 AliTRDConfigPID.C:579
 AliTRDConfigPID.C:580
 AliTRDConfigPID.C:581
 AliTRDConfigPID.C:582
 AliTRDConfigPID.C:583
 AliTRDConfigPID.C:584
 AliTRDConfigPID.C:585
 AliTRDConfigPID.C:586
 AliTRDConfigPID.C:587
 AliTRDConfigPID.C:588
 AliTRDConfigPID.C:589
 AliTRDConfigPID.C:590
 AliTRDConfigPID.C:591
 AliTRDConfigPID.C:592
 AliTRDConfigPID.C:593
 AliTRDConfigPID.C:594
 AliTRDConfigPID.C:595
 AliTRDConfigPID.C:596
 AliTRDConfigPID.C:597
 AliTRDConfigPID.C:598
 AliTRDConfigPID.C:599
 AliTRDConfigPID.C:600
 AliTRDConfigPID.C:601
 AliTRDConfigPID.C:602
 AliTRDConfigPID.C:603
 AliTRDConfigPID.C:604
 AliTRDConfigPID.C:605
 AliTRDConfigPID.C:606
 AliTRDConfigPID.C:607
 AliTRDConfigPID.C:608
 AliTRDConfigPID.C:609
 AliTRDConfigPID.C:610
 AliTRDConfigPID.C:611
 AliTRDConfigPID.C:612