Int_t ic=0;
AliDielectron *die=0;
AliDielectron *die2=0;
+ fPairArray=0x0;
// main loop
while ( (die=static_cast<AliDielectron*>(nextDie())) ){
// loop over all pools
for (Int_t ipool=0; ipool<mix->GetNumberOfBins(); ++ipool){
// printf("mix remaining %04d/%04d \n",ipool,mix->GetNumberOfBins());
- mix->MixRemaining(die, ipool);
+ if(! mix->MixRemaining(die, ipool) ) { fPairArray=0x0; continue; }
+
fPairArray = (*(die->GetPairArraysPointer()));
if(!fPairArray) continue;
// loop over internal train task candidates
for(Int_t i=ic; i<fListDielectron.GetEntries(); i++) {
die2 = static_cast<AliDielectron*>(fListDielectron.At(i));
- if(die2->DoEventProcess()) continue;
+ // abort if tasks following are not internal wagons
+ if(die2->DoEventProcess()) break;
// fill internal train output
die2->SetPairArraysPointer(fPairArray);
// printf(" --> fill internal train output %s \n",die2->GetName());