#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=param4;
+gentype_t gentype = mcatnlo;
Int_t ntracks=1;
gSystem->Load("libgeant321");
#endif
- new TGeant3("C++ Interface to Geant3");
+ new TGeant3TGeo("C++ Interface to Geant3");
//=======================================================================
// Create the output file
cout<<"Config.C: Creating Run Loader ..."<<endl;
rl = AliRunLoader::Open("galice.root",
- AliConfig::fgkDefaultEventFolderName,
+ AliConfig::GetDefaultEventFolderName(),
"recreate");
if (rl == 0x0)
{
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;
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;
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;
}
// impact parameter range
gener->SetImpactParameterRange(0, 3.);
// evaluate cross section before run
- gener->SetEvaluate(1);
+ gener->SetEvaluate(0);
// tell hijing to keep the full parent child chain
gener->KeepFullEvent();
// enable jet quenching
// momentum range
gener->SetMomentumRange(0,999);
// phi range
- gener->SetPhiRange(-180,180);
+ gener->SetPhiRange(0.,360.);
// theta range
gener->SetThetaRange(0,180.);
// select flavor (0: no, 4: charm+beauty, 5:beauty)
- gener->SetFlavor(4);
+ gener->SetFlavor(0);
//
gener->SetOrigin(0., 0.0 ,0);
gener->SetSigma(0,0,5.3);
AliGenPythia *gener = new AliGenPythia(-1);
// final state kinematic cuts
gener->SetMomentumRange(0,999);
- gener->SetPhiRange(-180,180);
+ gener->SetPhiRange(0. ,360.);
gener->SetThetaRange(0., 180.);
gener->SetYRange(-10,10);
gener->SetPtRange(0,100);
}
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
new AliGenParam(ntracks, AliGenMUONlib::kUpsilon);
gener->SetMomentumRange(0,999);
gener->SetPtRange(0,999);
- gener->SetPhiRange(-180, 180);
+ gener->SetPhiRange(0. , 360.);
gener->SetYRange(2.5,4);
gener->SetCutOnChild(1);
gener->SetChildThetaRange(2,9);
AliGenGSIlib::kUpsilon, "MUON");
gener->SetMomentumRange(0,999);
gener->SetPtRange(0,999);
- gener->SetPhiRange(-180, 180);
+ gener->SetPhiRange(0., 360.);
gener->SetYRange(2.5,4);
gener->SetCutOnChild(1);
gener->SetChildThetaRange(2,9);
rl->CdGAFile();
// gener->SetPartFlag(10);
gener->SetMomentumRange(0,999);
- gener->SetPhiRange(0,360);
+ gener->SetPhiRange(0.,360.);
gener->SetThetaRange(0., 180.);
gener->SetAgeMax(1.e-5);