]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - FMD/Config.C
Increased error checking and possibility to extract some diagnostics
[u/mrichter/AliRoot.git] / FMD / Config.C
index 0c50a1fc17a08feba56b333ca6c38ff14f93e513..9cf8b0a3b86a4c1bfe1c39750d7d3534bce9eb38 100644 (file)
     @date    Mon Mar 27 12:50:29 2006
     @brief   Simulation configuration script
 */
-#if !defined(__CINT__) || defined(__MAKECINT__)
-#include <Riostream.h>
-#include <TPDGCode.h>
-#include <TSystem.h>
-#include <TVirtualMC.h>
-#include <TGeant3.h>
-#include "STEER/AliRunLoader.h"
-#include "STEER/AliRun.h"
-#include "STEER/AliConfig.h"
-#include "STEER/AliGenerator.h"
-#include "PYTHIA6/AliDecayerPythia.h"
-#include "EVGEN/AliGenHIJINGpara.h"
-#include "THijing/AliGenHijing.h"
-#include "EVGEN/AliGenCocktail.h"
-#include "EVGEN/AliGenSlowNucleons.h"
-#include "EVGEN/AliSlowNucleonModelExp.h"
-#include "EVGEN/AliGenParam.h"
-#include "EVGEN/AliGenMUONlib.h"
-#include "EVGEN/AliGenMUONCocktail.h"
-#include "PYTHIA6/AliGenPythia.h"
-#include "STEER/AliMagFMaps.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/AliPIPEv3.h"
-#include "ITS/AliITSvPPRasymmFMD.h"
-#include "TPC/AliTPCv2.h"
-#include "TOF/AliTOFv4T0.h"
-#include "HMPID/AliHMPIDv1.h"
-#include "ZDC/AliZDCv2.h"
-#include "TRD/AliTRDv1.h"
-#include "FMD/AliFMDv1.h"
-#include "MUON/AliMUONv1.h"
-#include "MUON/AliMUONSt1GeometryBuilderV2.h"
-#include "MUON/AliMUONSt2GeometryBuilder.h"
-#include "MUON/AliMUONSlatGeometryBuilder.h"
-#include "MUON/AliMUONTriggerGeometryBuilder.h"
-#include "PHOS/AliPHOSv1.h"
-#include "PMD/AliPMDv1.h"
-#include "T0/AliT0v1.h"
-#include "EMCAL/AliEMCALv2.h"
-#include "ACORDE/AliACORDEv1.h"
-#include "VZERO/AliVZEROv2.h"
-#endif
 
 //____________________________________________________________________
 // 
@@ -199,13 +151,6 @@ enum Rad_t {
   kNoGluonRadiation            //
 };
 
-//____________________________________________________________________
-enum Mag_t {
-  k2kG,                                //
-  k4kG,                                //
-  k5kG                         //
-};
-
 //____________________________________________________________________
 enum MC_t {
   kFLUKA, 
@@ -217,8 +162,8 @@ enum MC_t {
 //____________________________________________________________________
 // Functions
 Float_t       EtaToTheta(Float_t eta);
-Eg_t          LookupEG(const Char_t* name);
-AliGenerator* GeneratorFactory(EG_t eg, Rad_t rad, TString& comment);
+EG_t          LookupEG(const Char_t* name);
+AliGenerator* GeneratorFactory(EG_t eg, Rad_t rad);
 AliGenHijing* HijingStandard();
 void          ProcessEnvironmentVars(EG_t& eg, Int_t& seed);
 
@@ -228,20 +173,13 @@ Config()
 {
   //____________________________________________________________________
   // This part for configuration    
-  // EG_t  eg   = test50;
-  // EG_t  eg   = kParam_fmd;
-  EG_t  eg   = kFMDFlat; // kParam_2000; // kPythia;
-  // EG_t  eg   = kFMDFlat;
+  EG_t  eg   = kPythia6;
   Geo_t geo  = kNoHoles;
   Rad_t rad  = kGluonRadiation;
-  Mag_t mag  = k5kG;
+  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);
@@ -273,6 +211,7 @@ Config()
       //
       // Libraries needed by GEANT 3.21 
       //
+      gSystem->Load("$ALICE_ROOT/lib/tgt_$ALICE_TARGET/libpythia6.so");
       gSystem->Load("libgeant321");
       
       // 
@@ -287,7 +226,10 @@ Config()
       //
       // Libraries needed by GEANT 3.21 
       //
-      gSystem->Load("EGPythia6.so");
+      gSystem->Load("$ALICE_ROOT/lib/tgt_$ALICE_TARGET/liblhapdf.so");
+      gSystem->Load("$ALICE_ROOT/lib/tgt_$ALICE_TARGET/libpythia6.so");
+      gSystem->Load("libEGPythia6.so"); //<- For non-debian (sigh!)
+      // gSystem->Load("EGPythia6.so");
       gSystem->Load("libgeant321");
     
       // 
@@ -387,7 +329,7 @@ Config()
   gMC->SetProcess("MUNU",1);
   gMC->SetProcess("CKOV",1);
   gMC->SetProcess("HADR",1);
-  gMC->SetProcess("LOSS",2); // 0:none 1,3:dray 2:nodray 4:nofluct (def:2)
+  gMC->SetProcess("LOSS",1); // 0:none 1,3:dray 2:nodray 4:nofluct (def:2)
   gMC->SetProcess("MULS",1);
   gMC->SetProcess("RAYL",1);
 
@@ -409,7 +351,7 @@ Config()
   
   //__________________________________________________________________
   // Generator Configuration
-  AliGenerator* gener = GeneratorFactory(eg, rad, comment);
+  AliGenerator* gener = GeneratorFactory(eg, rad);
   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
@@ -417,36 +359,13 @@ Config()
   gener->SetTrackingFlag(1);
   gener->Init();
     
-  //__________________________________________________________________
-  // 
-  // Comments 
-  // 
-  switch (mag) {
-  case k2kG: comment = comment.Append(" | L3 field 0.2 T"); break;
-  case k4kG: comment = comment.Append(" | L3 field 0.4 T"); break;
-  case 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)
-  AliMagFMaps* field = new AliMagFMaps("Maps","Maps", 2, 1., 10., mag);
-  field->SetL3ConstField(0); //Using const. field in the barrel
+  AliMagF* field = new AliMagF("Maps","Maps",-1., -1., mag);
+  TGeoGlobalMagField::Instance()->SetField(field);
+
   rl->CdGAFile();
-  gAlice->SetField(field);    
+
   TFile* magF = TFile::Open("mag.root", "RECREATE");
   field->Write("mag");
   magF->Close();
@@ -469,7 +388,7 @@ Config()
   Bool_t usePMD   = kFALSE; 
   Bool_t useHMPID = kFALSE; 
   Bool_t useSHIL  = kFALSE; 
-  Bool_t useT0    = kFALSE; 
+  Bool_t useT0    = kTRUE; 
   Bool_t useTOF   = kFALSE; 
   Bool_t useTPC   = kFALSE;
   Bool_t useTRD   = kFALSE; 
@@ -506,7 +425,7 @@ Config()
   if (usePHOS)   AliPHOS   *PHOS   = new AliPHOSv1("PHOS", "IHEP");
   if (usePMD)    AliPMD    *PMD    = new AliPMDv1("PMD", "normal PMD");
   if (useT0)     AliT0     *T0     = new AliT0v1("T0", "T0 Detector");
-  if (useEMCAL)  AliEMCAL  *EMCAL  = new AliEMCALv2("EMCAL", "EMCAL_COMPLETE");
+  if (useEMCAL)  AliEMCAL  *EMCAL  = new AliEMCALv2("EMCAL", "EMCAL_COMPLETEV1");
   if (useACORDE) AliACORDE *ACORDE = new AliACORDEv1("ACORDE", "normal ACORDE");
   if (useVZERO)  AliVZERO  *VZERO  = new AliVZEROv7("VZERO", "normal VZERO");
 }
@@ -530,17 +449,38 @@ LookupEG(const Char_t* name)
 
 //____________________________________________________________________  
 AliGenerator* 
-GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)  
+GeneratorFactory(EG_t eg, Rad_t rad)  
 {
   Int_t isw = 3;
   if (rad == kNoGluonRadiation) isw = 0;
   
+  // Possibly load libAliPythia6
+  switch (eg) {
+  case kPythia6:
+  case kPythia6Jets20_24:
+  case kPythia6Jets24_29:
+  case kPythia6Jets29_35:
+  case kPythia6Jets35_42:
+  case kPythia6Jets42_50:
+  case kPythia6Jets50_60:
+  case kPythia6Jets60_72:
+  case kPythia6Jets72_86:
+  case kPythia6Jets86_104:
+  case kPythia6Jets104_125:
+  case kPythia6Jets125_150:
+  case kPythia6Jets150_180:
+    gSystem->Load("liblhapdf.so");
+    // gSystem->Load("/usr/lib/libpythia.so");
+    // gSystem->ListLibraries();
+    gSystem->Load("EGPythia6.so");
+    gSystem->Load("libAliPythia6");
+    break;
+  }
   
   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.);
@@ -553,7 +493,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     break;
   case kParam_8000:
     {
-      comment = comment.Append(":HIJINGparam N=8000");
       AliGenHIJINGpara *gener = new AliGenHIJINGpara(86030);
       gener->SetMomentumRange(0, 999999.);
       gener->SetPhiRange(0., 360.);
@@ -566,7 +505,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     break;
   case kParam_4000:
     {
-      comment = comment.Append("HIJINGparam N=4000");
       AliGenHIJINGpara *gener = new AliGenHIJINGpara(43015);
       gener->SetMomentumRange(0, 999999.);
       gener->SetPhiRange(0., 360.);
@@ -579,7 +517,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     break;
   case kParam_2000:
     {
-      comment = comment.Append("HIJINGparam N=2000");
       AliGenHIJINGpara *gener = new AliGenHIJINGpara(21507);
       gener->SetMomentumRange(0, 999999.);
       gener->SetPhiRange(0., 360.);
@@ -592,7 +529,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     break;
   case kParam_fmd:
     {
-      comment = comment.Append("HIJINGparam N=100");
       AliGenHIJINGpara *gener = new AliGenHIJINGpara(500);
       gener->SetMomentumRange(0, 999999.);
       gener->SetPhiRange(0., 360.);
@@ -608,7 +544,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     //
   case kHijing_cent1:
     {
-      comment = comment.Append("HIJING cent1");
       AliGenHijing *gener = HijingStandard();
       // impact parameter range
       gener->SetImpactParameterRange(0., 5.);
@@ -617,7 +552,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     break;
   case kHijing_cent2:
     {
-      comment = comment.Append("HIJING cent2");
       AliGenHijing *gener = HijingStandard();
       // impact parameter range
       gener->SetImpactParameterRange(0., 2.);
@@ -629,7 +563,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     //
   case kHijing_per1:
     {
-      comment = comment.Append("HIJING per1");
       AliGenHijing *gener = HijingStandard();
       // impact parameter range
       gener->SetImpactParameterRange(5., 8.6);
@@ -638,7 +571,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     break;
   case kHijing_per2:
     {
-      comment = comment.Append("HIJING per2");
       AliGenHijing *gener = HijingStandard();
       // impact parameter range
       gener->SetImpactParameterRange(8.6, 11.2);
@@ -647,7 +579,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     break;
   case kHijing_per3:
     {
-      comment = comment.Append("HIJING per3");
       AliGenHijing *gener = HijingStandard();
       // impact parameter range
       gener->SetImpactParameterRange(11.2, 13.2);
@@ -656,7 +587,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     break;
   case kHijing_per4:
     {
-      comment = comment.Append("HIJING per4");
       AliGenHijing *gener = HijingStandard();
       // impact parameter range
       gener->SetImpactParameterRange(13.2, 15.);
@@ -665,7 +595,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     break;
   case kHijing_per5:
     {
-      comment = comment.Append("HIJING per5");
       AliGenHijing *gener = HijingStandard();
       // impact parameter range
       gener->SetImpactParameterRange(15., 100.);
@@ -677,7 +606,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     //
   case kHijing_jj25:
     {
-      comment = comment.Append("HIJING Jet 25 GeV");
       AliGenHijing *gener = HijingStandard();
       // impact parameter range
       gener->SetImpactParameterRange(0., 5.);
@@ -694,7 +622,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
 
   case kHijing_jj50:
     {
-      comment = comment.Append("HIJING Jet 50 GeV");
       AliGenHijing *gener = HijingStandard();
       // impact parameter range
       gener->SetImpactParameterRange(0., 5.);
@@ -711,7 +638,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
 
   case kHijing_jj75:
     {
-      comment = comment.Append("HIJING Jet 75 GeV");
       AliGenHijing *gener = HijingStandard();
       // impact parameter range
       gener->SetImpactParameterRange(0., 5.);
@@ -728,7 +654,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
 
   case kHijing_jj100:
     {
-      comment = comment.Append("HIJING Jet 100 GeV");
       AliGenHijing *gener = HijingStandard();
       // impact parameter range
       gener->SetImpactParameterRange(0., 5.);
@@ -745,7 +670,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
 
   case kHijing_jj200:
     {
-      comment = comment.Append("HIJING Jet 200 GeV");
       AliGenHijing *gener = HijingStandard();
       // impact parameter range
       gener->SetImpactParameterRange(0., 5.);
@@ -764,7 +688,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     //
   case kHijing_gj25:
     {
-      comment = comment.Append("HIJING Gamma 25 GeV");
       AliGenHijing *gener = HijingStandard();
       // impact parameter range
       gener->SetImpactParameterRange(0., 5.);
@@ -781,7 +704,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
 
   case kHijing_gj50:
     {
-      comment = comment.Append("HIJING Gamma 50 GeV");
       AliGenHijing *gener = HijingStandard();
       // impact parameter range
       gener->SetImpactParameterRange(0., 5.);
@@ -798,7 +720,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
 
   case kHijing_gj75:
     {
-      comment = comment.Append("HIJING Gamma 75 GeV");
       AliGenHijing *gener = HijingStandard();
       // impact parameter range
       gener->SetImpactParameterRange(0., 5.);
@@ -815,7 +736,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
 
   case kHijing_gj100:
     {
-      comment = comment.Append("HIJING Gamma 100 GeV");
       AliGenHijing *gener = HijingStandard();
       // impact parameter range
       gener->SetImpactParameterRange(0., 5.);
@@ -832,7 +752,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
 
   case kHijing_gj200:
     {
-      comment = comment.Append("HIJING Gamma 200 GeV");
       AliGenHijing *gener = HijingStandard();
       // impact parameter range
       gener->SetImpactParameterRange(0., 5.);
@@ -848,7 +767,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     break;
   case kHijing_pA:
     {
-      comment = comment.Append("HIJING pA");
 
       AliGenCocktail *gener  = new AliGenCocktail();
 
@@ -885,7 +803,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     break;
   case kPythia6:
     {
-      comment = comment.Append(":Pythia p-p @ 14 TeV");
       AliGenPythia *gener = new AliGenPythia(-1); 
       gener->SetMomentumRange(0,999999);
       gener->SetThetaRange(0., 180.);
@@ -898,7 +815,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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
@@ -917,7 +833,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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
@@ -936,7 +851,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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
@@ -955,7 +869,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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
@@ -974,7 +887,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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
@@ -993,7 +905,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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
@@ -1012,7 +923,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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
@@ -1031,7 +941,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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
@@ -1050,7 +959,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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
@@ -1069,7 +977,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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
@@ -1088,7 +995,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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
@@ -1107,7 +1013,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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
@@ -1126,7 +1031,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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);
@@ -1143,7 +1047,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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);
@@ -1159,7 +1062,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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);
@@ -1175,7 +1077,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     break;
   case kCocktailTRD:
     {
-      comment = comment.Append(" Cocktail for TRD at 5.5 TeV");
       AliGenCocktail *gener  = new AliGenCocktail();
 
       AliGenParam *jpsi = new AliGenParam(10,
@@ -1221,7 +1122,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     break;
   case kPyJJ:
     {
-      comment = comment.Append(" Jet-jet at 5.5 TeV");
       AliGenPythia *gener = new AliGenPythia(-1);
       gener->SetEnergyCMS(5500.);
       gener->SetProcess(kPyJets);
@@ -1235,7 +1135,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     break;
   case kPyGJ:
     {
-      comment = comment.Append(" Gamma-jet at 5.5 TeV");
       AliGenPythia *gener = new AliGenPythia(-1);
       gener->SetEnergyCMS(5500.);
       gener->SetProcess(kPyDirectGamma);
@@ -1250,7 +1149,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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  
@@ -1265,7 +1163,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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  
@@ -1280,7 +1177,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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  
@@ -1295,7 +1191,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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  
@@ -1310,7 +1205,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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  
@@ -1325,7 +1219,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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  
@@ -1340,7 +1233,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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  
@@ -1355,7 +1247,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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  
@@ -1370,7 +1261,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     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  
@@ -1385,7 +1275,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     break;
   case kFMD1Flat: 
     {
-      comment = comment.Append(" Flat in FMD1 range");
       AliGenBox* gener = new AliGenBox(2000);
       gener->SetPart(kPiPlus);
       gener->SetMomentumRange(3,4);
@@ -1396,8 +1285,7 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     break;
   case kFMD2Flat: 
     {
-      comment = comment.Append(" Flat in FMD2 range");
-      AliGenBox* gener = new AliGenBox(2000);
+      AliGenBox* gener = new AliGenBox(100);
       gener->SetPart(kPiPlus);
       gener->SetMomentumRange(3,4);
       gener->SetPhiRange(0, 360);
@@ -1407,7 +1295,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     break;
   case kFMD3Flat: 
     {
-      comment = comment.Append(" Flat in FMD3 range");
       AliGenBox* gener = new AliGenBox(2000);
       gener->SetPart(kPiPlus);
       gener->SetMomentumRange(3,4);
@@ -1418,7 +1305,6 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
     break;
   case kFMDFlat:
     {
-      comment = comment.Append(" Flat in FMD range");
       AliGenCocktail* gener = new AliGenCocktail();
       gener->SetMomentumRange(3,4);
       gener->SetPhiRange(0, 360);