From 59fe7b77ab8fdd1c631da3789396b3e477dd3f66 Mon Sep 17 00:00:00 2001 From: morsch Date: Mon, 31 Aug 2009 13:08:47 +0000 Subject: [PATCH] Pass event vertex to the cocktail entries. --- EVGEN/AliGenCocktailAfterBurner.cxx | 34 +++++++++++++++++++---------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/EVGEN/AliGenCocktailAfterBurner.cxx b/EVGEN/AliGenCocktailAfterBurner.cxx index b170585c319..edc5ddaa30e 100644 --- a/EVGEN/AliGenCocktailAfterBurner.cxx +++ b/EVGEN/AliGenCocktailAfterBurner.cxx @@ -105,6 +105,7 @@ AddAfterBurner(AliGenerator *AfterBurner, char* Name, Float_t RateExp) AfterBurner->SetSigma(fOsigma[0], fOsigma[1], fOsigma[2]); AfterBurner->SetVertexSmear(fVertexSmear); AfterBurner->SetTrackingFlag(fTrackIt); + AfterBurner->SetVertexSource(kContainer); // // Add AfterBurner to list @@ -164,6 +165,13 @@ void AliGenCocktailAfterBurner::Generate() if (fHeader) delete fHeader; fHeader = new AliGenCocktailEventHeader("Cocktail Header"); // + // +// Generate the vertex position used by all generators +// + if(fVertexSmear == kPerEvent) Vertex(); + TArrayF eventVertex; + eventVertex.Set(3); + for (Int_t j=0; j < 3; j++) eventVertex[j] = fVertex[j]; Int_t i; //iterator AliStack * stack; @@ -206,26 +214,27 @@ void AliGenCocktailAfterBurner::Generate() /***********************************************/ //First generator for all evenets, than second for all events, etc... for(i=0;iParticles(); fCurrentGenerator = entry->Generator(); fCurrentGenerator->SetStack(stack); if (igen ==1) - { + { entry->SetFirst(0); - } + } else - { + { entry->SetFirst((partArray->GetEntriesFast())+1); - } - fCurrentGenerator->Generate(); - entry->SetLast(partArray->GetEntriesFast()); - - if (fCurrentGenerator->ProvidesCollisionGeometry()) fCollisionGeometries[i] = fCurrentGenerator->CollisionGeometry(); - - } + } + fCurrentGenerator->SetVertex(fVertex.At(0), fVertex.At(1), fVertex.At(2)); + fCurrentGenerator->Generate(); + entry->SetLast(partArray->GetEntriesFast()); + + if (fCurrentGenerator->ProvidesCollisionGeometry()) fCollisionGeometries[i] = fCurrentGenerator->CollisionGeometry(); + + } /***********************************************/ } next.Reset(); @@ -270,6 +279,7 @@ void AliGenCocktailAfterBurner::Generate() /*********************************************************************/ // Pass the header to gAlice + fHeader->SetPrimaryVertex(eventVertex); gAlice->SetGenEventHeader(fHeader); }//else generated } -- 2.43.0