ROOT logo
//____________________________________________________________________
//
// $Id$
//
// 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,"ConfigPPR.C++")
//
/** @file    Config.C
    @author  Christian Holm Christensen <cholm@nbi.dk>
    @date    Mon Mar 27 12:50:29 2006
    @brief   Simulation configuration script
*/
//____________________________________________________________________
// 
// Generator types 
//
enum EG_t {
  test50,
  kParam_8000,			//
  kParam_4000,			//
  kParam_2000,			//
  kParam_fmd,			//
  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,			//
  kPythia6Jets20_24,		//
  kPythia6Jets24_29,		//
  kPythia6Jets29_35,		//
  kPythia6Jets35_42,		//
  kPythia6Jets42_50,		//
  kPythia6Jets50_60,		//
  kPythia6Jets60_72,		//
  kPythia6Jets72_86,		//
  kPythia6Jets86_104,		//
  kPythia6Jets104_125,		//
  kPythia6Jets125_150,		//
  kPythia6Jets150_180,		//
  kD0PbPb5500,			//
  kCharmSemiElPbPb5500,		//
  kBeautySemiElPbPb5500,	//
  kCocktailTRD,			//
  kPyJJ,			//
  kPyGJ,			//
  kMuonCocktailCent1,		//
  kMuonCocktailPer1,		//
  kMuonCocktailPer4,		//
  kMuonCocktailCent1HighPt,	//
  kMuonCocktailPer1HighPt,	//
  kMuonCocktailPer4HighPt,	//
  kMuonCocktailCent1Single,	//
  kMuonCocktailPer1Single,	//
  kMuonCocktailPer4Single,
  kFMD1Flat, 
  kFMD2Flat, 
  kFMD3Flat,
  kFMDFlat,
  kEgMax
};

//____________________________________________________________________
// 
// Generator types names
//
const char* egName[kEgMax] = {
  "test50",
  "kParam_8000",		//
  "kParam_4000",		//
  "kParam_2000",		//
  "kParam_fmd",			//
  "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",			//
  "kPythia6Jets20_24",		//
  "kPythia6Jets24_29",		//
  "kPythia6Jets29_35",		//
  "kPythia6Jets35_42",		//
  "kPythia6Jets42_50",		//
  "kPythia6Jets50_60",		//
  "kPythia6Jets60_72",		//
  "kPythia6Jets72_86",		//
  "kPythia6Jets86_104",		//
  "kPythia6Jets104_125",	//
  "kPythia6Jets125_150",	//
  "kPythia6Jets150_180",	//
  "kD0PbPb5500",		//
  "kCharmSemiElPbPb5500",	//
  "kBeautySemiElPbPb5500",	//
  "kCocktailTRD",		//
  "kPyJJ",			//
  "kPyGJ",			//
  "kMuonCocktailCent1",		//
  "kMuonCocktailPer1",		//
  "kMuonCocktailPer4",		//
  "kMuonCocktailCent1HighPt",	//
  "kMuonCocktailPer1HighPt",	//
  "kMuonCocktailPer4HighPt",	//
  "kMuonCocktailCent1Single",	//
  "kMuonCocktailPer1Single",	//
  "kMuonCocktailPer4Single",
  "kFMD1Flat",
  "kFMD2Flat",
  "kFMD3Flat",
  "kFMDFlat"
};

//____________________________________________________________________
enum Geo_t {
  kHoles,			//
  kNoHoles			//
};

//____________________________________________________________________
enum Rad_t {
  kGluonRadiation,		//
  kNoGluonRadiation		//
};

//____________________________________________________________________
enum MC_t {
  kFLUKA, 
  kGEANT3, 
  kGEANT4, 
  kGEANT3TGEO,
};

//____________________________________________________________________
// Functions
Float_t       EtaToTheta(Float_t eta);
Eg_t          LookupEG(const Char_t* name);
AliGenerator* GeneratorFactory(EG_t eg, Rad_t rad, TString& comment);
AliGenHijing* HijingStandard();
void          ProcessEnvironmentVars(EG_t& eg, Int_t& seed);

//____________________________________________________________________
void 
Config()
{
  //____________________________________________________________________
  // This part for configuration    
  // EG_t  eg   = test50;
  // EG_t  eg   = kParam_fmd;
  EG_t  eg   = kParam_2000; // kPythia;
  // EG_t  eg   = kFMDFlat;
  Geo_t geo  = kNoHoles;
  Rad_t rad  = kGluonRadiation;
  AliMagF::BMap_t mag  = AliMagF::k5kG;
  Int_t seed = 12345; //Set 0 to use the current time
  MC_t  mc   = kGEANT3TGEO;
  
  //____________________________________________________________________
  // Comment line 
  static TString  comment;
  
  //____________________________________________________________________
  // Get settings from environment variables
  ProcessEnvironmentVars(eg, seed);

  //____________________________________________________________________
  // Set Random Number seed
  gRandom->SetSeed(seed);
  cout<<"Seed for random number generation= "<<gRandom->GetSeed()<<endl; 


  //__________________________________________________________________
  switch (mc) {
  case kFLUKA: 
    // 
    // libraries required by fluka21
    // 
    gSystem->Load("libGeom");
    cout << "\t* Loading TFluka..." << endl;  
    gSystem->Load("libTFluka");    
    gSystem->MakeDirectory("peg");
    // 
    // FLUKA MC
    //
    cout << "\t* Instantiating TFluka..." << endl;
    new TFluka("C++ Interface to Fluka", 0/*verbosity*/);
    break;
  case kGEANT3: 
    {
      //
      // Libraries needed by GEANT 3.21 
      //
      gSystem->Load("libgeant321");
      
      // 
      // GEANT 3.21 MC 
      // 
      TGeant3* gmc = new TGeant3("C++ Interface to Geant3");
      gmc->SetSWIT(4, 1000);
    }
    break;
  case kGEANT3TGEO:
    {
      //
      // Libraries needed by GEANT 3.21 
      //
      gSystem->Load("libgeant321");
    
      // 
      // GEANT 3.21 MC 
      // 
      TGeant3TGeo* gmc  = new TGeant3TGeo("C++ Interface to Geant3");
      gmc->SetSWIT(4, 1000);
      Printf("Making a TGeant3TGeo objet");
    }
    break;
  default:
    gAlice->Fatal("Config.C", "No MC type chosen");
    return;
  }

  //__________________________________________________________________
  AliRunLoader* rl = 0;

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

  //__________________________________________________________________
  // For FLUKA 
  switch (mc) {
  case kFLUKA: 
    {
      //
      // Use kTRUE as argument to generate alice.pemf first
      //
      TString alice_pemf(gSystem->Which(".", "peg/mat17.pemf"));
      if (!alice_pemf.IsNull()) 
	((TFluka*)gMC)->SetGeneratePemf(kFALSE);
      else
	((TFluka*)gMC)->SetGeneratePemf(kTRUE);
      TString flupro(gSystem->Getenv("FLUPRO"));
      if (flupro.IsNull()) 
	Fatal("Config.C", "Environment variable FLUPRO not set");
#if 0
      char* files[] = { "brems_fin.bin", "cohff.bin", "elasct.bin", 
			"gxsect.bin", "nuclear.bin", "sigmapi.bin", 
			0 };
      char* file = files[0];
      while (file) {
	TString which(gSystem->Which(".", file));
	if (which.IsNull()) {
	  if (gSystem->Symlink(Form("%s/%s", flupro.Data(), file), file)!=0) 
	    Fatal("Config.C", "Couldn't link $(FLUPRO)/%s -> .", file);
	}
	file++;
      }
#endif
      TString neuxsc(gSystem->Which(".", "neuxsc.bin"));
      if (neuxsc.IsNull()) 
	gSystem->Symlink(Form("%s/neuxsc_72.bin", flupro.Data()), 
			 "neuxsc.bin"); 
      gSystem->CopyFile("$(FLUPRO)/random.dat", "old.seed", kTRUE);
    }
    break;
  }

  //__________________________________________________________________
  //
  // Set External decayer
#if 0
  AliDecayer *decayer = new AliDecayerPythia();
  switch (eg) {
  case kD0PbPb5500:           decayer->SetForceDecay(kHadronicD);      break;
  case kCharmSemiElPbPb5500:  decayer->SetForceDecay(kSemiElectronic); break;
  case kBeautySemiElPbPb5500: decayer->SetForceDecay(kSemiElectronic); break;
  default:                    decayer->SetForceDecay(kAll);            break;
  }
  decayer->Init();
  gMC->SetExternalDecayer(decayer);
#endif

  //__________________________________________________________________
  // *********** 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
  AliGenerator* gener = GeneratorFactory(eg, rad, comment);
  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();
    
  //__________________________________________________________________
  // 
  // Comments 
  // 
  switch (mag) {
  case AliMagF::k2kG: comment = comment.Append(" | L3 field 0.2 T"); break;
  case AliMagF::k5kG: comment = comment.Append(" | L3 field 0.5 T"); break;
  }

  switch (rad) {
  case kGluonRadiation: 
    comment = comment.Append(" | Gluon Radiation On");  break;
  default:
    comment = comment.Append(" | Gluon Radiation Off"); break;
  }

  switch(geo) {
  case kHoles: comment = comment.Append(" | Holes for PHOS/HMPID"); break;
  default:     comment = comment.Append(" | No holes for PHOS/HMPID"); break;
  }

  std::cout << "\n\n Comment: " << comment << "\n" << std::endl;

  //__________________________________________________________________
  // Field (L3 0.4 T)
  AliMagF* field = new AliMagF("Maps","Maps",1.,1.,AliMagF::k5kG);
  field->SetL3ConstField(0); //Using const. field in the barrel
  TGeoGlobalMagField::Instance()->SetField(field);

  rl->CdGAFile();

  //__________________________________________________________________
  // 
  // Used detectors 
  // 
  Bool_t useABSO  = kTRUE; 
  Bool_t useACORDE= kFALSE; 
  Bool_t useDIPO  = kFALSE; 
  Bool_t useFMD   = kTRUE; 
  Bool_t useFRAME = kFALSE; 
  Bool_t useHALL  = kFALSE; 
  Bool_t useITS   = kTRUE;
  Bool_t useMAG   = kFALSE; 
  Bool_t useMUON  = kFALSE; 
  Bool_t usePHOS  = kFALSE; 
  Bool_t usePIPE  = kFALSE; 
  Bool_t usePMD   = kFALSE; 
  Bool_t useHMPID = kFALSE; 
  Bool_t useSHIL  = kFALSE; 
  Bool_t useT0    = kTRUE; 
  Bool_t useTOF   = kFALSE; 
  Bool_t useTPC   = kFALSE;
  Bool_t useTRD   = kFALSE; 
  Bool_t useZDC   = kFALSE; 
  Bool_t useEMCAL = kFALSE; 
  Bool_t useVZERO = kTRUE;

  gROOT->LoadMacro("LoadDummy.C");
  cout << "\t* Creating the detectors ..." << endl;
  // ================= Alice BODY parameters =========================
  AliBODY *BODY = new AliBODY("BODY", "Alice envelop");
  
  
  if (useMAG) {
    // =================== MAG parameters ============================
    // Start with Magnet since detector layouts may be depending on
    // the selected Magnet dimensions 
    AliMAG *MAG = new AliMAG("MAG", "Magnet");
  }

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

  if (useDIPO) {
    // =================== DIPO parameters ===========================
    AliDIPO *DIPO = new DummyABSO("DIPO");
  }

  if (useHALL) {
    // =================== HALL parameters ===========================
    AliHALL *HALL = new AliHALL("HALL", "Alice Hall");
  }


  if (useFRAME) {
    // ================== FRAME parameters ===========================
    AliFRAMEv2 *FRAME = new DummyFRAME("FRAME");
    switch (geo) {
    case kHoles: FRAME->SetHoles(1); break;
    default:     FRAME->SetHoles(0); break;
    }
  }

  if (useSHIL) {
    // ================== SHIL parameters ============================
    AliSHIL *SHIL = new DummySHIl("SHIL");
  }


  if (usePIPE) {
    // ================== PIPE parameters ============================
    AliPIPE *PIPE = new AliPIPEv0("PIPE", "Beam Pipe");
  }
  
  if (useITS) {
    // =================== 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 DummyITS("ITS");
    // new AliITSvPPRasymmFMD("ITS","New ITS PPR detailed version "
    // "with asymmetric services") 
     // don't touch this parameter if you're not an ITS developer
    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");  
    // detector thickness on layer 1 must be in the range [100,300]
    ITS->SetThicknessDet1(200.);   
    // detector thickness on layer 2 must be in the range [100,300]
    ITS->SetThicknessDet2(200.);   
    // chip thickness on layer 1 must be in the range [150,300]
    ITS->SetThicknessChip1(200.);  
    // chip thickness on layer 2 must be in the range [150,300]
    ITS->SetThicknessChip2(200.);
    // 1 --> rails in ; 0 --> rails out
    ITS->SetRails(0);          
    // 1 --> water ; 0 --> freon
    ITS->SetCoolingFluid(1);   

    // 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");
    // 1 --> rails in ; 0 --> rails out
    // ITS->SetRails(0);
    // 0 --> Copper ; 1 --> Aluminum ; 2 --> Carbon
    // ITS->SetSupportMaterial(0);      
    //
    // AliITS *ITS  = 
    //  new AliITSvPPRcoarsesymm("ITS","New ITS PPR coarse version "
    //                           "with symmetric services");
    // 1 --> rails in ; 0 --> rails out
    // ITS->SetRails(0);                
    // 0 --> Copper ; 1 --> Aluminum ; 2 --> Carbon
    // ITS->SetSupportMaterial(0);      
    //
    // 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 (useTPC) {
    // =================== 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 DummyTPC("TPC");
  }

  if (useTOF) {
    // ================== TOF parameters =============================
    AliTOF *TOF = new DummyTOF("TOF");
  }

  if (useHMPID) {
    // ================== HMPID parameters ============================
    AliHMPID *HMPID = new DummyHMPID("HMPID");

  }

  if (useZDC) {
    // ================== ZDC parameters =============================
    AliZDC *ZDC = new DummyZDC("ZDC");
  }

  if (useTRD) {
    // ================== TRD parameters =============================
    AliTRD *TRD = new DummyTRD("TRD");

    // Select the gas mixture (0: 97% Xe + 3% isobutane, 1: 90% Xe + 10% CO2)
    TRD->SetGasMix(1);
    if (geo == 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 (useFMD) {
    // =================== FMD parameters ============================
    // AliLog::SetModuleDebugLevel("FMD", 15);
    AliFMD *FMD = new AliFMDv1("FMD", "normal FMD");
    // FMD->UseDetailed(kFALSE);
    // FMD->UseAssembly();
    // FMD->UseOld();
  }

  if (useMUON) {
    // =================== MUON parameters ===========================
    AliMUON *MUON = new DummyMUON("MUON");
    // MUON->AddGeometryBuilder(new AliMUONSt1GeometryBuilder(MUON));
    // MUON->AddGeometryBuilder(new AliMUONSt2GeometryBuilder(MUON));
    // MUON->AddGeometryBuilder(new AliMUONSlatGeometryBuilder(MUON));
    // MUON->AddGeometryBuilder(new AliMUONTriggerGeometryBuilder(MUON));
  }

  if (usePHOS) {
    // =================== PHOS parameters ===========================
    AliPHOS *PHOS = new DummyPHOS("PHOS");
  }

  if (usePMD) {
    // =================== PMD parameters ============================
    AliPMD *PMD = new DummyPMD("PMD");
  }

  if (useT0) {
    // =================== T0 parameters ==========================
    AliT0 *T0 = new DummyT0("T0");
  }

  if (useEMCAL) {
    // =================== EMCAL parameters ==========================
    AliEMCAL *EMCAL = new DummyEMCAL("EMCAL");
  }

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

  if (useVZERO) {
    // =================== V0 parameters =============================
    AliVZERO *VZERO = new DummyVZERO("VZERO");
  }
}

//____________________________________________________________________
Float_t EtaToTheta(Float_t arg)
{
  return (180./TMath::Pi())*2.*TMath::ATan(TMath::Exp(-arg));
}

//____________________________________________________________________
Int_t 
LookupEG(const Char_t* name) 
{
  TString n(name);
  for (Int_t i = 0; i < kEgMax; i++) {
    if (n == egName[i]) return i;
  }
  return -1;
}

//____________________________________________________________________  
AliGenerator* 
GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)  
{
  Int_t isw = 3;
  if (rad == kNoGluonRadiation) isw = 0;
  
  
  AliGenerator * gGener = 0;
  switch (eg) {
  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(8);   // theta min. <---> eta max
      Float_t thmax = EtaToTheta(-8);  // 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(9);   // theta min. <---> eta max
      Float_t thmax = EtaToTheta(-9);  // theta max. <---> eta min 
      gener->SetThetaRange(thmin,thmax);
      gGener=gener;
    }
    break;
  case kParam_fmd:
    {
      comment = comment.Append("HIJINGparam N=100");
      AliGenHIJINGpara *gener = new AliGenHIJINGpara(500);
      gener->SetMomentumRange(0, 999999.);
      gener->SetPhiRange(0., 360.);
      // Set pseudorapidity range from -8 to 8.
      Float_t thmin = EtaToTheta(6);   // theta min. <---> eta max
      Float_t thmax = EtaToTheta(2);  // 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();

      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->SetThetaRange(0., 180.);
      gener->SetYRange(-12,12);
      gener->SetPtRange(0,1000);
      gener->SetProcess(kPyMb);
      gener->SetEnergyCMS(14000.);
      gGener=gener;
    }
    break;
  case kPythia6Jets20_24:
    {
      comment = comment.Append(":Pythia jets 20-24 GeV @ 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(20., 24.);// 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 kPythia6Jets24_29:
    {
      comment = comment.Append(":Pythia jets 24-29 GeV @ 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(24., 29.);// 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 kPythia6Jets29_35:
    {
      comment = comment.Append(":Pythia jets 29-35 GeV @ 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(29., 35.);// 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 kPythia6Jets35_42:
    {
      comment = comment.Append(":Pythia jets 35-42 GeV @ 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(35., 42.);// 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 kPythia6Jets42_50:
    {
      comment = comment.Append(":Pythia jets 42-50 GeV @ 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(42., 50.);// 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 kPythia6Jets50_60:
    {
      comment = comment.Append(":Pythia jets 50-60 GeV @ 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(50., 60.);// 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 kPythia6Jets60_72:
    {
      comment = comment.Append(":Pythia jets 60-72 GeV @ 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(60., 72.);// 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 kPythia6Jets72_86:
    {
      comment = comment.Append(":Pythia jets 72-86 GeV @ 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(72., 86.);// 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 kPythia6Jets86_104:
    {
      comment = comment.Append(":Pythia jets 86-104 GeV @ 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 kPythia6Jets104_125:
    {
      comment = comment.Append(":Pythia jets 105-125 GeV @ 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(104., 125.);// 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 kPythia6Jets125_150:
    {
      comment = comment.Append(":Pythia jets 125-150 GeV @ 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(125., 150.);// 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 kPythia6Jets150_180:
    {
      comment = comment.Append(":Pythia jets 150-180 GeV @ 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(150., 180.);// 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);
      gener->SetForceDecay(kHadronicD);
      gener->SetYRange(-2,2);
      gener->SetFeedDownHigherFamily(kFALSE);
      gener->SetStackFillOpt(AliGenPythia::kParentSelection);
      gener->SetCountMode(AliGenPythia::kCountParents);
      gGener=gener;
    }
    break;
  case kCharmSemiElPbPb5500:
    {
      comment = comment.Append(" Charm in Pb-Pb at 5.5 TeV");
      AliGenPythia * gener = new AliGenPythia(10);
      gener->SetProcess(kPyCharmPbPbMNR);
      gener->SetStrucFunc(kCTEQ4L);
      gener->SetPtHard(2.1,-1.0);
      gener->SetEnergyCMS(5500.);
      gener->SetNuclei(208,208);
      gener->SetForceDecay(kSemiElectronic);
      gener->SetYRange(-2,2);
      gener->SetFeedDownHigherFamily(kFALSE);
      gener->SetCountMode(AliGenPythia::kCountParents);
      gGener=gener;
    }
    break;
  case kBeautySemiElPbPb5500:
    {
      comment = comment.Append(" Beauty in Pb-Pb at 5.5 TeV");
      AliGenPythia *gener = new AliGenPythia(10);
      gener->SetProcess(kPyBeautyPbPbMNR);
      gener->SetStrucFunc(kCTEQ4L);
      gener->SetPtHard(2.75,-1.0);
      gener->SetEnergyCMS(5500.);
      gener->SetNuclei(208,208);
      gener->SetForceDecay(kSemiElectronic);
      gener->SetYRange(-2,2);
      gener->SetFeedDownHigherFamily(kFALSE);
      gener->SetCountMode(AliGenPythia::kCountParents);
      gGener=gener;
    }
    break;
  case kCocktailTRD:
    {
      comment = comment.Append(" Cocktail for TRD at 5.5 TeV");
      AliGenCocktail *gener  = new AliGenCocktail();

      AliGenParam *jpsi = new AliGenParam(10,
					  new AliGenMUONlib(),
					  AliGenMUONlib::kJpsiFamily,
					  "Vogt PbPb");

      jpsi->SetPtRange(0, 100);
      jpsi->SetYRange(-1., +1.);
      jpsi->SetForceDecay(kDiElectron);

      AliGenParam *ups = new AliGenParam(10,
					 new AliGenMUONlib(),
					 AliGenMUONlib::kUpsilonFamily,
					 "Vogt PbPb");
      ups->SetPtRange(0, 100);
      ups->SetYRange(-1., +1.);
      ups->SetForceDecay(kDiElectron);
	
      AliGenParam *charm = new AliGenParam(10,
					   new AliGenMUONlib(), 
					   AliGenMUONlib::kCharm,
					   "central");
      charm->SetPtRange(0, 100);
      charm->SetYRange(-1.5, +1.5);
      charm->SetForceDecay(kSemiElectronic);
	
	
      AliGenParam *beauty = new AliGenParam(10,
					    new AliGenMUONlib(), 
					    AliGenMUONlib::kBeauty,
					    "central");
      beauty->SetPtRange(0, 100);
      beauty->SetYRange(-1.5, +1.5);
      beauty->SetForceDecay(kSemiElectronic);

      gener->AddGenerator(jpsi,"J/psi",1);
      gener->AddGenerator(ups,"Upsilon",1);
      gener->AddGenerator(charm,"Charm",1);
      gener->AddGenerator(beauty,"Beauty",1);
      gGener=gener;
    }
    break;
  case kPyJJ:
    {
      comment = comment.Append(" Jet-jet at 5.5 TeV");
      AliGenPythia *gener = new AliGenPythia(-1);
      gener->SetEnergyCMS(5500.);
      gener->SetProcess(kPyJets);
      Double_t ptHardMin=10.0, ptHardMax=-1.0;
      gener->SetPtHard(ptHardMin,ptHardMax);
      gener->SetYHard(-0.7,0.7);
      gener->SetJetEtaRange(-0.2,0.2);
      gener->SetEventListRange(0,1);
      gGener=gener;
    }
    break;
  case kPyGJ:
    {
      comment = comment.Append(" Gamma-jet at 5.5 TeV");
      AliGenPythia *gener = new AliGenPythia(-1);
      gener->SetEnergyCMS(5500.);
      gener->SetProcess(kPyDirectGamma);
      Double_t ptHardMin=10.0, ptHardMax=-1.0;
      gener->SetPtHard(ptHardMin,ptHardMax);
      gener->SetYHard(-1.0,1.0);
      gener->SetGammaEtaRange(-0.13,0.13);
      gener->SetGammaPhiRange(210.,330.);
      gener->SetEventListRange(0,1);
      gGener=gener;
    }
    break;
  case kMuonCocktailCent1:
    {
      comment = comment.Append(" Muon Cocktail Cent1");
      AliGenMUONCocktail * gener = new AliGenMUONCocktail();
      gener->SetPtRange(1.0,100.);       // Transverse momentum range   
      gener->SetPhiRange(0.,360.);    // Azimuthal angle range  
      gener->SetYRange(-4.0,-2.4);
      gener->SetMuonPtCut(0.8);
      gener->SetMuonThetaCut(171.,178.);
      gener->SetMuonMultiplicity(2);
      gener->SetNumberOfCollisions(1626.);  //Centrality class Cent1 for PDC04
      gener->SetNumberOfParticipants(359.4);//Centrality class Cent1 for PDC04
      gGener=gener;
    }
    break;
  case kMuonCocktailPer1:
    {
      comment = comment.Append(" Muon Cocktail Per1");
      AliGenMUONCocktail * gener = new AliGenMUONCocktail();
      gener->SetPtRange(1.0,100.);       // Transverse momentum range   
      gener->SetPhiRange(0.,360.);    // Azimuthal angle range  
      gener->SetYRange(-4.0,-2.4);
      gener->SetMuonPtCut(0.8);
      gener->SetMuonThetaCut(171.,178.);
      gener->SetMuonMultiplicity(2);
      gener->SetNumberOfCollisions(820.0);//Centrality class Per1 for PDC04
      gener->SetNumberOfParticipants(229.3);//Centrality class Per1 for PDC04
      gGener=gener;
    }
    break;
  case kMuonCocktailPer4:
    {
      comment = comment.Append(" Muon Cocktail Per4");
      AliGenMUONCocktail * gener = new AliGenMUONCocktail();
      gener->SetPtRange(1.0,100.);       // Transverse momentum range   
      gener->SetPhiRange(0.,360.);    // Azimuthal angle range  
      gener->SetYRange(-4.0,-2.4);
      gener->SetMuonPtCut(0.8);
      gener->SetMuonThetaCut(171.,178.);
      gener->SetMuonMultiplicity(2);
      gener->SetNumberOfCollisions(13.6);//Centrality class Per4 for PDC04
      gener->SetNumberOfParticipants(13.3);//Centrality class Per4 for PDC04
      gGener=gener;
    }
    break;
  case kMuonCocktailCent1HighPt:
    {
      comment = comment.Append(" Muon Cocktail HighPt Cent1");
      AliGenMUONCocktail * gener = new AliGenMUONCocktail();
      gener->SetPtRange(1.0,100.);       // Transverse momentum range   
      gener->SetPhiRange(0.,360.);    // Azimuthal angle range  
      gener->SetYRange(-4.0,-2.4);
      gener->SetMuonPtCut(2.5);
      gener->SetMuonThetaCut(171.,178.);
      gener->SetMuonMultiplicity(2);
      gener->SetNumberOfCollisions(1626.);  //Centrality class Cent1 for PDC04
      gener->SetNumberOfParticipants(359.4);//Centrality class Cent1 for PDC04
      gGener=gener;
    }
    break;
  case kMuonCocktailPer1HighPt :
    {
      comment = comment.Append(" Muon Cocktail HighPt Per1");
      AliGenMUONCocktail * gener = new AliGenMUONCocktail();
      gener->SetPtRange(1.0,100.);       // Transverse momentum range   
      gener->SetPhiRange(0.,360.);    // Azimuthal angle range  
      gener->SetYRange(-4.0,-2.4);
      gener->SetMuonPtCut(2.5);
      gener->SetMuonThetaCut(171.,178.);
      gener->SetMuonMultiplicity(2);
      gener->SetNumberOfCollisions(820.0);//Centrality class Per1 for PDC04
      gener->SetNumberOfParticipants(229.3);//Centrality class Per1 for PDC04
      gGener=gener;
    }
    break;
  case kMuonCocktailPer4HighPt:
    {
      comment = comment.Append(" Muon Cocktail HighPt Per4");
      AliGenMUONCocktail * gener = new AliGenMUONCocktail();
      gener->SetPtRange(1.0,100.);       // Transverse momentum range   
      gener->SetPhiRange(0.,360.);    // Azimuthal angle range  
      gener->SetYRange(-4.0,-2.4);
      gener->SetMuonPtCut(2.5);
      gener->SetMuonThetaCut(171.,178.);
      gener->SetMuonMultiplicity(2);
      gener->SetNumberOfCollisions(13.6);//Centrality class Per4 for PDC04
      gener->SetNumberOfParticipants(13.3);//Centrality class Per4 for PDC04
      gGener=gener;
    }
    break;
  case kMuonCocktailCent1Single:
    {
      comment = comment.Append(" Muon Cocktail Single Cent1");
      AliGenMUONCocktail * gener = new AliGenMUONCocktail();
      gener->SetPtRange(1.0,100.);       // Transverse momentum range   
      gener->SetPhiRange(0.,360.);    // Azimuthal angle range  
      gener->SetYRange(-4.0,-2.4);
      gener->SetMuonPtCut(0.8);
      gener->SetMuonThetaCut(171.,178.);
      gener->SetMuonMultiplicity(1);
      gener->SetNumberOfCollisions(1626.);  //Centrality class Cent1 for PDC04
      gener->SetNumberOfParticipants(359.4);//Centrality class Cent1 for PDC04
      gGener=gener;
    }
    break;
  case kMuonCocktailPer1Single :
    {
      comment = comment.Append(" Muon Cocktail Single Per1");
      AliGenMUONCocktail * gener = new AliGenMUONCocktail();
      gener->SetPtRange(1.0,100.);       // Transverse momentum range   
      gener->SetPhiRange(0.,360.);    // Azimuthal angle range  
      gener->SetYRange(-4.0,-2.4);
      gener->SetMuonPtCut(0.8);
      gener->SetMuonThetaCut(171.,178.);
      gener->SetMuonMultiplicity(1);
      gener->SetNumberOfCollisions(820.0);//Centrality class Per1 for PDC04
      gener->SetNumberOfParticipants(229.3);//Centrality class Per1 for PDC04
      gGener=gener;
    }
    break;
  case kMuonCocktailPer4Single:
    {
      comment = comment.Append(" Muon Cocktail Single Per4");
      AliGenMUONCocktail * gener = new AliGenMUONCocktail();
      gener->SetPtRange(1.0,100.);       // Transverse momentum range   
      gener->SetPhiRange(0.,360.);    // Azimuthal angle range  
      gener->SetYRange(-4.0,-2.4);
      gener->SetMuonPtCut(0.8);
      gener->SetMuonThetaCut(171.,178.);
      gener->SetMuonMultiplicity(1);
      gener->SetNumberOfCollisions(13.6);//Centrality class Per4 for PDC04
      gener->SetNumberOfParticipants(13.3);//Centrality class Per4 for PDC04
      gGener=gener;
    }
    break;
  case kFMD1Flat: 
    {
      comment = comment.Append(" Flat in FMD1 range");
      AliGenBox* gener = new AliGenBox(2000);
      gener->SetPart(211);
      gener->SetMomentumRange(3,4);
      gener->SetPhiRange(0, 360);
      gener->SetThetaRange(0.77, 3.08);
      gGener = gener;
    }
    break;
  case kFMD2Flat: 
    {
      comment = comment.Append(" Flat in FMD2 range");
      AliGenBox* gener = new AliGenBox(2000);
      gener->SetPart(211);
      gener->SetMomentumRange(3,4);
      gener->SetPhiRange(0, 360);
      gener->SetThetaRange(2.95, 20.42);
      gGener = gener;
    }
    break;
  case kFMD3Flat: 
    {
      comment = comment.Append(" Flat in FMD3 range");
      AliGenBox* gener = new AliGenBox(2000);
      gener->SetPart(211);
      gener->SetMomentumRange(3,4);
      gener->SetPhiRange(0, 360);
      gener->SetThetaRange(155.97, 176.73);
      gGener = gener;
    }
    break;
  case kFMDFlat:
    {
      comment = comment.Append(" Flat in FMD range");
      AliGenCocktail* gener = new AliGenCocktail();
      gener->SetMomentumRange(3,4);
      gener->SetPhiRange(0, 360);
      AliGenBox* gener3 = new AliGenBox(2000);
      gener3->SetThetaRange(155.97, 176.73);
      gener3->SetPart(211);
      gener->AddGenerator(gener3, "FMD3", .33);
      AliGenBox* gener2 = new AliGenBox(2000);
      gener2->SetThetaRange(2.95, 20.42);
      gener2->SetPart(211);
      gener->AddGenerator(gener2, "FMD2", .33);
      AliGenBox* gener1 = new AliGenBox(2000);
      gener1->SetThetaRange(0.77, 3.08);
      gener1->SetPart(211);
      gener->AddGenerator(gener1, "FMD1", .34);
      gGener = gener;
    }
    break;
    
  default: 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(1);
  // 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;
}


//____________________________________________________________________
void 
ProcessEnvironmentVars(EG_t& eg, Int_t& seed)
{
  // Run type
  if (gSystem->Getenv("CONFIG_RUN_TYPE")) {
    Int_t eg1 = LookupEG(gSystem->Getenv("CONFIG_RUN_TYPE"));
    if  (eg1 >= 0) eg = EG_t(eg1);
  }
  // Random Number seed
  if (gSystem->Getenv("CONFIG_SEED")) {
    seed = atoi(gSystem->Getenv("CONFIG_SEED"));
  }
}

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