AliGenerator* CreateGenerator(); void pythia8(Int_t nev = 1, char* filename = "galice.root") { // Runloader gSystem->Load("liblhapdf.so"); gSystem->Load("libEGPythia6.so"); gSystem->Load("libpythia6.so"); gSystem->Load("libAliPythia6.so"); gSystem->Load("libpythia8.so"); gSystem->Load("libEGPythia8.so"); gSystem->Load("libAliPythia8.so"); AliRunLoader* rl = AliRunLoader::Open("galice.root","FASTRUN","recreate"); rl->SetCompressionLevel(2); rl->SetNumberOfEventsPerFile(nev); rl->LoadKinematics("RECREATE"); rl->MakeTree("E"); gAlice->SetRunLoader(rl); // Create stack rl->MakeStack(); AliStack* stack = rl->Stack(); // Header AliHeader* header = rl->GetHeader(); // // Create and Initialize Generator AliGenerator *gener = CreateGenerator(); gener->Init(); gener->SetStack(stack); // // Event Loop // Int_t iev; for (iev = 0; iev < nev; iev++) { printf("\n \n Event number %d \n \n", iev); // Initialize event header->Reset(0,iev); rl->SetEventNumber(iev); stack->Reset(); rl->MakeTree("K"); // stack->ConnectTree(); // Generate event gener->Generate(); // Analysis Int_t npart = stack->GetNprimary(); printf("Analyse %d Particles\n", npart); for (Int_t part=0; partParticle(part); Int_t mpart = MPart->GetPdgCode(); // printf("Particle %d\n", mpart); } // Finish event header->SetNprimary(stack->GetNprimary()); header->SetNtrack(stack->GetNtrack()); // I/O // stack->FinishEvent(); header->SetStack(stack); rl->TreeE()->Fill(); rl->WriteKinematics("OVERWRITE"); } // event loop // // Termination // Generator gener->FinishRun(); // Write file rl->WriteHeader("OVERWRITE"); gener->Write(); rl->Write(); } AliGenerator* CreateGenerator() { AliGenPythiaPlus* gener = new AliGenPythiaPlus(AliPythia8::Instance()); // // gener->SetProcess(kPyMb); // Centre of mass energy gener->SetEnergyCMS(14000.); // Initialize generator gener->SetEventListRange(-1, 10) return gener; }