ROOT logo
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("libAliPythia8.so");
    
    AliRunLoader* rl = AliRunLoader::Open("galice.root","FASTRUN","recreate");
    
    rl->SetCompressionLevel(2);
    rl->SetNumberOfEventsPerFile(10000);
    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; part<npart; part++) {
	    TParticle *MPart = stack->Particle(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(kPyMbDefault);
//   Centre of mass energy 
    gener->SetEnergyCMS(7000.);
//   Initialize generator    
    gener->SetEventListRange(-1, 10);
    return gener;
}








 pythia8.C:1
 pythia8.C:2
 pythia8.C:3
 pythia8.C:4
 pythia8.C:5
 pythia8.C:6
 pythia8.C:7
 pythia8.C:8
 pythia8.C:9
 pythia8.C:10
 pythia8.C:11
 pythia8.C:12
 pythia8.C:13
 pythia8.C:14
 pythia8.C:15
 pythia8.C:16
 pythia8.C:17
 pythia8.C:18
 pythia8.C:19
 pythia8.C:20
 pythia8.C:21
 pythia8.C:22
 pythia8.C:23
 pythia8.C:24
 pythia8.C:25
 pythia8.C:26
 pythia8.C:27
 pythia8.C:28
 pythia8.C:29
 pythia8.C:30
 pythia8.C:31
 pythia8.C:32
 pythia8.C:33
 pythia8.C:34
 pythia8.C:35
 pythia8.C:36
 pythia8.C:37
 pythia8.C:38
 pythia8.C:39
 pythia8.C:40
 pythia8.C:41
 pythia8.C:42
 pythia8.C:43
 pythia8.C:44
 pythia8.C:45
 pythia8.C:46
 pythia8.C:47
 pythia8.C:48
 pythia8.C:49
 pythia8.C:50
 pythia8.C:51
 pythia8.C:52
 pythia8.C:53
 pythia8.C:54
 pythia8.C:55
 pythia8.C:56
 pythia8.C:57
 pythia8.C:58
 pythia8.C:59
 pythia8.C:60
 pythia8.C:61
 pythia8.C:62
 pythia8.C:63
 pythia8.C:64
 pythia8.C:65
 pythia8.C:66
 pythia8.C:67
 pythia8.C:68
 pythia8.C:69
 pythia8.C:70
 pythia8.C:71
 pythia8.C:72
 pythia8.C:73
 pythia8.C:74
 pythia8.C:75
 pythia8.C:76
 pythia8.C:77
 pythia8.C:78
 pythia8.C:79
 pythia8.C:80
 pythia8.C:81
 pythia8.C:82
 pythia8.C:83
 pythia8.C:84
 pythia8.C:85
 pythia8.C:86
 pythia8.C:87
 pythia8.C:88
 pythia8.C:89
 pythia8.C:90
 pythia8.C:91
 pythia8.C:92
 pythia8.C:93
 pythia8.C:94
 pythia8.C:95
 pythia8.C:96
 pythia8.C:97
 pythia8.C:98
 pythia8.C:99
 pythia8.C:100
 pythia8.C:101
 pythia8.C:102
 pythia8.C:103