ROOT logo
void fastGenEMCocktail(Int_t nev = 1, char* filename = "galice.root")
{
// load libraries

	gSystem->Load("liblhapdf.so");      // Parton density functions
	gSystem->Load("libpythia6.so");     // Pythia
	gSystem->Load("libEG");
	gSystem->Load("libEGPythia6");
	gSystem->Load("libAliPythia6.so");  // ALICE specific implementations

	// Runloader
		
	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

	AliGenEMCocktail *gener = new AliGenEMCocktail();

	//=======================================================================
	// Set External decayer
	TVirtualMCDecayer *decayer = new AliDecayerPythia();

	gener->SetNPart(1000);               // source multiplicity per event
	gener->SetPtRange(0.,20.);
	gener->SetYRange(-1.,1.);
	gener->SetPhiRange(0., 360.);
	gener->SetOrigin(0.,0.,0.); 
	gener->SetSigma(0.,0.,0.);
	gener->SetVertexSmear(kPerEvent);
	gener->SetTrackingFlag(0);
	gener->SelectMotherParticles(62591);
	gener->SetPtParamPi0(0);
	gener->SetPtParamEta(3);
	gener->SetPtParamOmega(3);
	gener->SetPtParamPhi(0);
	gener->SetCollisionSystem(2); 			//pp 7 TeV
	gener->SetCentrality(0);				// kpp

	gener->SetDecayMode(kGammaEM);    		// select cocktail:
											// kElectronEM   => single electron
											// kDiElectronEM => electron-positron
											// kGammaEM      => single photon
	gener->SetDecayer(decayer);
	gener->SetWeightingMode(kNonAnalog); 	// select weighting:
											// kNonAnalog => weight ~ dN/dp_T
											// kAnalog    => weight ~ 1
	gener->CreateCocktail();
	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();
}












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