]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
In case mumber of signals is n>1 call Generate n times
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 7 Mar 2011 15:33:15 +0000 (15:33 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 7 Mar 2011 15:33:15 +0000 (15:33 +0000)
EVGEN/AliGenCocktail.cxx

index 90b07d942f0a4d5e3a5335df7b716b0708849ef6..45fa4fa31a511c963a70b5f1de9af2d84fbb978b 100644 (file)
@@ -184,7 +184,8 @@ AddGenerator(AliGenerator *Generator, const char* Name, Float_t RateExp, TFormul
     if (!fRandom) {
        //
        // Loop over generators and generate events
-       Int_t igen=0;
+       Int_t igen   = 0;
+       Int_t ntimes = 1;
        while((entry = (AliGenCocktailEntry*)next())) {
          if (fUsePerEventRate && (gRandom->Rndm() > entry->Rate())) continue;
          
@@ -221,12 +222,12 @@ AddGenerator(AliGenerator *Generator, const char* Name, Float_t RateExp, TFormul
              Float_t b  = coll->ImpactParameter();
              Int_t nsig = Int_t(entry->Formula()->Eval(b));
              if (nsig < 1) nsig = 1;
-             AliInfo(Form("Signal Events %13.3f %5d\n", b, nsig));
-             gen->SetNumberParticles(nsig);
+             AliInfo(Form("Signal Events %13.3f %5d %5d\n", b, coll->HardScatters(), nsig));
+             ntimes = nsig;
            }
          
          entry->Generator()->SetVertex(fVertex.At(0), fVertex.At(1), fVertex.At(2));
-         entry->Generator()->Generate();
+         for (Int_t i = 0; i < ntimes; i++) entry->Generator()->Generate();
          entry->SetLast(partArray->GetEntriesFast());
          preventry = entry;
        }