Int_t *nIntBC = new Int_t[3*AliTriggerBCMask::kNBits];
Int_t *indexBC = new Int_t[3*AliTriggerBCMask::kNBits];
Int_t nTotBC = 0;
- for(Int_t iBC = 0; iBC < AliTriggerBCMask::kNBits; iBC++) {
+ while (nTotBC == 0) {
+ for(Int_t iBC = 0; iBC < AliTriggerBCMask::kNBits; iBC++) {
- if (!fBCMask.GetMask(iBC)) continue;
+ if (!fBCMask.GetMask(iBC)) continue;
- Int_t nInteractions = gRandom->Poisson(rate);
- if (nInteractions == 0) continue;
+ Int_t nInteractions = gRandom->Poisson(rate);
+ if (nInteractions == 0) continue;
- nIntBC[nTotBC] = nInteractions;
- indexBC[nTotBC] = iBC;
- nTotBC++;
+ nIntBC[nTotBC] = nInteractions;
+ indexBC[nTotBC] = iBC;
+ nTotBC++;
+ }
}
// Select the bunch crossing for triggered event
// generated within this bc (only in case
// the user disabled the generation of the trigger
// interaction)
- if (fGenTrig) nIntBC[iTrgBC]--;
+ if (!fGenTrig) nIntBC[iTrgBC]--;
// Remove bunch crossings outside pileup
// time window
// Loop over the generated collision times, call the generator
// and correct the partcile times in the stack
- AliStack *stack = AliRunLoader::GetRunLoader()->Stack();
+ AliStack *stack = AliRunLoader::Instance()->Stack();
Int_t lastpart=0;
entry->SetFirst(lastpart);