From: morsch Date: Mon, 24 Mar 2003 17:03:02 +0000 (+0000) Subject: Example for pA and slow nucleon simulation. X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=commitdiff_plain;h=33de81b87107675407c0aeb536151e262c2bdab1 Example for pA and slow nucleon simulation. --- diff --git a/FASTSIM/fastGenPA.C b/FASTSIM/fastGenPA.C new file mode 100644 index 00000000000..498507c8bbd --- /dev/null +++ b/FASTSIM/fastGenPA.C @@ -0,0 +1,129 @@ +AliGenerator* CreateGenerator(); + +void fastGenPA(Int_t nev = 1, char* filename = "galice.root") +{ +// +// Construction +// +// Output file + TFile* file = new TFile(filename, "recreate"); +// Create stack + AliStack* stack = new AliStack(10000); + stack->MakeTree(0, filename); + +// Create Header + AliHeader* header = new AliHeader(); +// Create Header Tree + TTree* treeE = new TTree("TE","Headers"); + treeE->Branch("Header", "AliHeader", &header, 4000, 0); + treeE->Write(); +// +// Create and Initialize Generator + AliGenerator *gener = CreateGenerator(); + AliPythia* pyth = AliPythia::Instance(); + + 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); + stack->Reset(); + stack->BeginEvent(iev); + +// 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); +// treeE->Fill(); +// (stack->TreeK())->Write(0,TObject::kOverwrite); + } // event loop +// +// Termination +// Generator + printf("Calling Finish Run \n"); + + gener->FinishRun(); +// Header + treeE->Write(0,TObject::kOverwrite); + delete treeE; treeE = 0; +// Stack + stack->FinishRun(); +// Write file + gener->Write(); + file->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; +} + + + + + + + + + + + +