+ case kMuonCocktailCent1:
+ {
+ comment = comment.Append(" Muon Cocktail Cent1");
+ AliGenMUONCocktail * gener = new AliGenMUONCocktail();
+ gener->SetPtRange(0.4,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->SetImpactParameterRange(0.,5.); //Centrality class Cent1 for PDC04
+ gGener=gener;
+ }
+ break;
+ case kMuonCocktailPer1:
+ {
+ comment = comment.Append(" Muon Cocktail Per1");
+ AliGenMUONCocktail * gener = new AliGenMUONCocktail();
+ gener->SetPtRange(0.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->SetImpactParameterRange(5.,8.6);//Centrality class Per1 for PDC04
+ gGener=gener;
+ }
+ break;
+ case kMuonCocktailPer4:
+ {
+ comment = comment.Append(" Muon Cocktail Per4");
+ AliGenMUONCocktail * gener = new AliGenMUONCocktail();
+ gener->SetPtRange(0.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->SetImpactParameterRange(13.2,15.0);//Centrality class Per4 for PDC04
+ gGener=gener;
+ }
+ break;
+ case kMuonCocktailCent1HighPt:
+ {
+ comment = comment.Append(" Muon Cocktail HighPt Cent1");
+ AliGenMUONCocktail * gener = new AliGenMUONCocktail();
+ gener->SetPtRange(0.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->SetImpactParameterRange(0.,5.); //Centrality class Cent1 for PDC04
+ gGener=gener;
+ }
+ break;
+ case kMuonCocktailPer1HighPt :
+ {
+ comment = comment.Append(" Muon Cocktail HighPt Per1");
+ AliGenMUONCocktail * gener = new AliGenMUONCocktail();
+ gener->SetPtRange(0.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->SetImpactParameterRange(5.,8.6);//Centrality class Per1 for PDC04
+ gGener=gener;
+ }
+ break;
+ case kMuonCocktailPer4HighPt:
+ {
+ comment = comment.Append(" Muon Cocktail HighPt Per4");
+ AliGenMUONCocktail * gener = new AliGenMUONCocktail();
+ gener->SetPtRange(0.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->SetImpactParameterRange(13.2,15.0);//Centrality class Per4 for PDC04
+ gGener=gener;
+ }
+ break;
+ case kMuonCocktailCent1Single:
+ {
+ comment = comment.Append(" Muon Cocktail Single Cent1");
+ AliGenMUONCocktail * gener = new AliGenMUONCocktail();
+ gener->SetPtRange(0.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->SetImpactParameterRange(0.,5.); //Centrality class Cent1 for PDC04
+ gGener=gener;
+ }
+ break;
+ case kMuonCocktailPer1Single :
+ {
+ comment = comment.Append(" Muon Cocktail Single Per1");
+ AliGenMUONCocktail * gener = new AliGenMUONCocktail();
+ gener->SetPtRange(0.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->SetImpactParameterRange(5.,8.6);//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(0.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->SetImpactParameterRange(13.2,15.0);//Centrality class Per4 for PDC04
+ gGener=gener;
+ }
+ break;
+ case kFlow_2_2000:
+ {
+ comment = comment.Append(" Flow with dN/deta = 2000, vn = 2%");
+ gGener = GeVSimStandard(2000., 2.);
+ }
+ break;
+
+ case kFlow_10_2000:
+ {
+ comment = comment.Append(" Flow with dN/deta = 2000, vn = 10%");
+ gGener = GeVSimStandard(2000., 10.);
+ }
+ break;
+
+ case kFlow_6_2000:
+ {
+ comment = comment.Append(" Flow with dN/deta = 2000, vn = 6%");
+ gGener = GeVSimStandard(2000., 6.);
+ }
+ break;
+
+ case kFlow_6_5000:
+ {
+ comment = comment.Append(" Flow with dN/deta = 5000, vn = 6%");
+ gGener = GeVSimStandard(5000., 6.);
+ }
+ break;
+ case kHIJINGplus:
+ {
+ //
+ // The cocktail
+ AliGenCocktail *gener = new AliGenCocktail();
+
+ //
+ // Charm production by Pythia
+ AliGenPythia * genpyc = new AliGenPythia(230);
+ genpyc->SetProcess(kPyCharmPbPbMNR);
+ genpyc->SetStrucFunc(kCTEQ4L);
+ genpyc->SetPtHard(2.1,-1.0);
+ genpyc->SetEnergyCMS(5500.);
+ genpyc->SetNuclei(208,208);
+ genpyc->SetYRange(-999,999);
+ genpyc->SetForceDecay(kAll);
+ genpyc->SetFeedDownHigherFamily(kFALSE);
+ genpyc->SetCountMode(AliGenPythia::kCountParents);
+ //
+ // Beauty production by Pythia
+ AliGenPythia * genpyb = new AliGenPythia(9);
+ genpyb->SetProcess(kPyBeautyPbPbMNR);
+ genpyb->SetStrucFunc(kCTEQ4L);
+ genpyb->SetPtHard(2.75,-1.0);
+ genpyb->SetEnergyCMS(5500.);
+ genpyb->SetNuclei(208,208);
+ genpyb->SetYRange(-999,999);
+ genpyb->SetForceDecay(kAll);
+ genpyb->SetFeedDownHigherFamily(kFALSE);
+ genpyb->SetCountMode(AliGenPythia::kCountParents);
+ //
+ // Hyperons
+ //
+ AliGenSTRANGElib *lib = new AliGenSTRANGElib();
+ Int_t particle;
+ // Xi
+ particle = AliGenSTRANGElib::kXiMinus;
+ AliGenParam *genXi = new AliGenParam(16,particle,lib->GetPt(particle),lib->GetY(particle),lib->GetIp(particle));
+ genXi->SetPtRange(0., 12.);
+ genXi->SetYRange(-1.1, 1.1);
+ genXi->SetForceDecay(kNoDecay);
+
+ //
+ // Omega
+ particle = AliGenSTRANGElib::kOmegaMinus;
+ AliGenParam *genOmega = new AliGenParam(10,particle,lib->GetPt(particle),lib->GetY(particle),lib->GetIp(particle));
+ genOmega->SetPtRange(0, 12.);
+ genOmega->SetYRange(-1.1, 1.1);
+ genOmega->SetForceDecay(kNoDecay);
+
+ //
+ // Central Hijing
+ AliGenHijing *genHi = HijingStandard();
+ genHi->SwitchOffHeavyQuarks(kTRUE);
+ genHi->SetImpactParameterRange(0.,5.);
+ //
+ // Add everything to the cocktail and shake ...
+ gener->AddGenerator(genHi, "Hijing cent1", 1);
+ gener->AddGenerator(genpyc, "Extra charm", 1);
+ gener->AddGenerator(genpyb, "Extra beauty", 1);
+ gener->AddGenerator(genXi, "Xi" , 1);
+ gener->AddGenerator(genOmega, "Omega", 1);
+ gGener = gener;
+ }
+ break;