ROOT logo
AliGenerator*  CreateGenerator();

void fastGenPA(Int_t nev = 1, char* filename = "galice.root")
{
//  Runloader
    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");

//  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();
	}
	
//  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()
{
    AliGenCocktail *gener  = new AliGenCocktail();
    gener->SetTrackingFlag(0);
    AliGenHijing   *hijing = new AliGenHijing(-1);
// centre of mass energy 
    hijing->SetEnergyCMS(TMath::Sqrt(82./208.) * 14000.);
// impact parameter range
    hijing->SetImpactParameterRange(0., 6.);
// reference frame
    hijing->SetReferenceFrame("CMS");
    hijing->SetBoostLHC(1);
// projectile
    hijing->SetProjectile("P", 1, 1);
    hijing->SetTarget    ("A", 208, 82);
// tell hijing to keep the full parent child chain
    hijing->KeepFullEvent();
// enable jet quenching
    hijing->SetJetQuenching(4);
// enable shadowing
    hijing->SetShadowing(1);
// Don't track spectators
    hijing->SetSpectators(0);
// kinematic selection
    hijing->SetSelectAll(0);
//
    AliGenSlowNucleons*  gray    = new AliGenSlowNucleons(1);
    AliSlowNucleonModel* model   = new AliSlowNucleonModelExp();
    gray->SetSlowNucleonModel(model);
    gray->SetDebug(1);
    
    
    gener->AddGenerator(hijing,"Hijing pPb", 1);
    gener->AddGenerator(gray,  "Gray Particles",1);
    
    return gener;
}












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