]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - macros/Config_gener.C
Include cstdlib (gcc 4.3.0)
[u/mrichter/AliRoot.git] / macros / Config_gener.C
index 54f7ec0905a3cad6a3eb7fe5943ce97d8b7fda97..8820a33bbd3ba49d08835badd20d6cc95cdfff0c 100644 (file)
@@ -15,6 +15,7 @@
 #include "EVGEN/AliGenHIJINGpara.h"
 #include "THijing/AliGenHijing.h"
 #include "PYTHIA6/AliGenPythia.h"
+#include "THerwig/AliGenHerwig.h"
 #include "EVGEN/AliGenParam.h"
 #include "EVGEN/AliGenMUONlib.h"
 #include "EVGEN/AliGenPHOSlib.h"
 #include "STRUCT/AliMAG.h"
 #endif
 
-enum gentype_t {hijing, hijingParam, gun, box, pythia, 
+enum gentype_t {hijing, hijingParam, gun, box, pythia, herwig, mcatnlo, 
                param1, param2, param3, param4, 
-               cocktail, fluka, halo, ntuple, scan, doublescan};
+               cocktail, fluka, halo, ntuple, scan};
 
-gentype_t gentype = hijing;
+gentype_t gentype = mcatnlo;
 
 Int_t ntracks=1;
 
@@ -48,7 +49,7 @@ void Config()
   gSystem->Load("libgeant321");
 #endif
 
-  new TGeant3("C++ Interface to Geant3");
+  new TGeant3TGeo("C++ Interface to Geant3");
 
 //=======================================================================
 //  Create the output file
@@ -57,7 +58,7 @@ void Config()
 
   cout<<"Config.C: Creating Run Loader ..."<<endl;
   rl = AliRunLoader::Open("galice.root",
-                         AliConfig::fgkDefaultEventFolderName,
+                         AliConfig::GetDefaultEventFolderName(),
                          "recreate");
   if (rl == 0x0)
     {
@@ -127,7 +128,7 @@ void Config()
        gener->SetPhi(180.);
        gener->SetTheta(5.);
        gener->SetOrigin(0,0,0);        //vertex position
-       gener->SetPart(13);             //GEANT particle type
+       gener->SetPart(kNeutron);
        gGener = gener;
       }
       break;
@@ -143,7 +144,7 @@ void Config()
        gener->SetOrigin(0,0,0);   
        //vertex position
        gener->SetSigma(0,0,0);         //Sigma in (X,Y,Z) (cm) on IP position
-       gener->SetPart(5);              //GEANT particle type
+       gener->SetPart(kMuonPlus);
        gGener = gener;
       }
       break;
@@ -158,7 +159,7 @@ void Config()
        gener->SetThetaRange(9,9);
        //vertex position
        gener->SetSigma(6,6,0);         //Sigma in (X,Y,Z) (cm) on IP position
-       gener->SetPart(5); 
+       gener->SetPart(kMuonPlus); 
        gener->SetRange(20, -100, 100, 20, -100, 100, 1, 500, 500);
        gGener = gener;
       }
@@ -255,6 +256,63 @@ void Config()
       }
       break;              
 
+    case herwig:
+//********************************************
+// Example for Charm  Production with Pythia *
+//********************************************
+      {
+       AliGenHerwig *gener = new AliGenHerwig(-1);
+//   final state kinematic cuts
+       gener->SetMomentumRange(0,7000);
+       gener->SetPhiRange(0. ,360.);
+       gener->SetThetaRange(0., 180.);
+       gener->SetYRange(-10,10);
+       gener->SetPtRange(0,7000);
+//   vertex position and smearing 
+       gener->SetOrigin(0,0,0);       // vertex position
+       gener->SetVertexSmear(kPerEvent);
+       gener->SetSigma(0,0,5.6);      // Sigma in (X,Y,Z) (cm) on IP position
+//   Beam momenta
+       gener->SetBeamMomenta(7000,7000);
+//   Beams
+       gener->SetProjectile("P");
+       gener->SetTarget("P");
+//   Structure function
+       gener->SetStrucFunc(kGRVHO);
+//   Hard scatering
+       gener->SetPtHardMin(200);
+       gener->SetPtRMS(20);
+//   Min bias
+       gener->SetProcess(8000);
+//   No Tracking 
+       gener->SetTrackingFlag(0);
+       gGener = gener;
+      }
+      break;              
+
+    case mcatnlo:
+    {
+      AliGenHerwig *gener = new AliGenHerwig(-1);
+      gener->SetMomentumRange(0,7000);
+      gener->SetPhiRange(0. ,360.);
+      gener->SetThetaRange(0., 180.);
+      gener->SetYRange(-10,10);
+      gener->SetPtRange(0,7000);
+      gener->SetOrigin(0,0,0);       // vertex position
+      gener->SetVertexSmear(kPerEvent);
+      gener->SetSigma(0,0,5.6);      // Sigma in (X,Y,Z) (cm) on IP position
+      gener->SetBeamMomenta(7000,7000);
+      gener->SetProjectile("P");
+      gener->SetTarget("P");
+      gener->SetStrucFunc(kCTEQ5M);
+      gener->SetProcess(-1705);
+      gener->SetHardProcessFile("sb.events");
+      gener->SetEventListRange(0,1);
+      gener->SetTrackingFlag(0);
+      gGener = gener;
+    }
+    break;  
+      
     case param1:
 //*******************************************************
 // Example for J/psi  Production from  Parameterisation