1 void fastGenEMCocktail(Int_t nev = 1, char* filename = "galice.root")
5 gSystem->Load("liblhapdf.so"); // Parton density functions
6 gSystem->Load("libpythia6.so"); // Pythia
7 gSystem->Load("libEG");
8 gSystem->Load("libEGPythia6");
9 gSystem->Load("libAliPythia6.so"); // ALICE specific implementations
13 AliRunLoader* rl = AliRunLoader::Open("galice.root","FASTRUN","recreate");
15 rl->SetCompressionLevel(2);
16 rl->SetNumberOfEventsPerFile(nev);
17 rl->LoadKinematics("RECREATE");
19 gAlice->SetRunLoader(rl);
23 AliStack* stack = rl->Stack();
26 AliHeader* header = rl->GetHeader();
28 // Create and Initialize Generator
30 AliGenEMCocktail *gener = new AliGenEMCocktail();
32 //=======================================================================
33 // Set External decayer
34 TVirtualMCDecayer *decayer = new AliDecayerPythia();
36 gener->SetNPart(1000); // source multiplicity per event
37 gener->SetPtRange(0.,20.);
38 gener->SetYRange(-1.,1.);
39 gener->SetPhiRange(0., 360.);
40 gener->SetOrigin(0.,0.,0.);
41 gener->SetSigma(0.,0.,0.);
42 gener->SetVertexSmear(kPerEvent);
43 gener->SetTrackingFlag(0);
44 gener->SetDecayMode(kElectronEM); // select cocktail:
45 // kElectronEM => single electron
46 // kDiElectronEM => electron-positron
47 // kGammaEM => single photon
48 gener->SetDecayer(decayer);
49 gener->SetWeightingMode(kNonAnalog); // select weighting:
50 // kNonAnalog => weight ~ dN/dp_T
51 // kAnalog => weight ~ 1
52 gener->CreateCocktail();
54 gener->SetStack(stack);
61 for (iev = 0; iev < nev; iev++) {
63 printf("\n \n Event number %d \n \n", iev);
67 rl->SetEventNumber(iev);
70 // stack->ConnectTree();
75 Int_t npart = stack->GetNprimary();
76 printf("Analyse %d Particles\n", npart);
77 for (Int_t part=0; part<npart; part++) {
78 TParticle *MPart = stack->Particle(part);
79 Int_t mpart = MPart->GetPdgCode();
80 // printf("Particle %d\n", mpart);
84 header->SetNprimary(stack->GetNprimary());
85 header->SetNtrack(stack->GetNtrack());
90 header->SetStack(stack);
92 rl->WriteKinematics("OVERWRITE");
101 rl->WriteHeader("OVERWRITE");