}
void AliGenCocktail::
-AddGenerator(AliGenerator *Generator, const char* Name, Float_t RateExp, TFormula* formula)
+AddGenerator(AliGenerator *Generator, const char* Name, Float_t RateExp, TFormula* formula, Int_t ntimes)
{
//
// Add a generator to the list
AliGenCocktailEntry *entry =
new AliGenCocktailEntry(Generator, Name, RateExp);
- if (formula) entry->SetFormula(formula);
+ if (formula) entry->SetFormula(formula);
+ entry->SetNTimes(ntimes);
fEntries->Add(entry);
fNGenerators++;
flnk1 = 0;
// Loop over generators and generate events
Int_t igen = 0;
while((entry = (AliGenCocktailEntry*)next())) {
- Int_t ntimes = 1;
+ Int_t ntimes = entry->NTimes();
if (fUsePerEventRate && (gRandom->Rndm() > entry->Rate())) continue;
igen++;
next.Reset();
-// Event Vertex
+ // Event Vertex
fHeader->SetPrimaryVertex(eventVertex);
fHeader->CalcNProduced();
- gAlice->SetGenEventHeader(fHeader);
+ if (fContainer) {
+ fHeader->SetName(fName);
+ fContainer->AddHeader(fHeader);
+ } else {
+ gAlice->SetGenEventHeader(fHeader);
+ }
}
void AliGenCocktail::SetVertexSmear(VertexSmear_t smear)