goodDecay = kTRUE ;
for (Int_t iDaughter = 0 ; iDaughter<nDaughters; iDaughter++) {
AliAODMCParticle* daug = dynamic_cast<AliAODMCParticle*>(mcArray->At(mcPart->GetDaughter(1)-iDaughter));
+ if (!daug) {AliFatal(""); return;}
if (daug->GetPdgCode() != fDecayChannel->DaughterPdgCode(iDaughter)) {goodDecay = kFALSE; break;}
}
}
++iCutBit;
if ( (!fProdVtxRange2D && fCutValues->At(iCutBit) > fProdVtxXMin)
- || ( fProdVtxRange2D && prodVtxXYmin >= 1)) fBitmap->SetBitNumber(iCutBit,kTRUE);
-
+ || ( fProdVtxRange2D && (fProdVtxXMin>0 && fProdVtxYMin>0) && prodVtxXYmin >= 1)
+ || ( fProdVtxRange2D && (fProdVtxXMin<=0 || fProdVtxYMin<=0) ) )
+ fBitmap->SetBitNumber(iCutBit,kTRUE);
+
++iCutBit;
if ( (!fProdVtxRange2D && fCutValues->At(iCutBit) < fProdVtxXMax)
- || ( fProdVtxRange2D && prodVtxXYmax <= 1)) fBitmap->SetBitNumber(iCutBit,kTRUE);
-
+ || ( fProdVtxRange2D && (fProdVtxXMax>0 && fProdVtxYMax>0) && prodVtxXYmax <= 1)
+ || ( fProdVtxRange2D && (fProdVtxXMax<=0 || fProdVtxYMax<=0) ) )
+ fBitmap->SetBitNumber(iCutBit,kTRUE);
+
++iCutBit;
if ( (!fProdVtxRange2D && fCutValues->At(iCutBit) > fProdVtxYMin)
- || ( fProdVtxRange2D && prodVtxXYmin >= 1)) fBitmap->SetBitNumber(iCutBit,kTRUE);
-
+ || ( fProdVtxRange2D && (fProdVtxXMin>0 && fProdVtxYMin>0) && prodVtxXYmin >= 1)
+ || ( fProdVtxRange2D && (fProdVtxXMin<=0 || fProdVtxYMin<=0) ) )
+ fBitmap->SetBitNumber(iCutBit,kTRUE);
+
++iCutBit;
if ( (!fProdVtxRange2D && fCutValues->At(iCutBit) < fProdVtxYMax)
- || ( fProdVtxRange2D && prodVtxXYmax <= 1)) fBitmap->SetBitNumber(iCutBit,kTRUE);
-
+ || ( fProdVtxRange2D && (fProdVtxXMax>0 && fProdVtxYMax>0) && prodVtxXYmax <= 1)
+ || ( fProdVtxRange2D && (fProdVtxXMax<=0 || fProdVtxYMax<=0) ) )
+ fBitmap->SetBitNumber(iCutBit,kTRUE);
+
if ( fCutValues->At(++iCutBit) > fProdVtxZMin) fBitmap->SetBitNumber(iCutBit,kTRUE);
if ( fCutValues->At(++iCutBit) < fProdVtxZMax) fBitmap->SetBitNumber(iCutBit,kTRUE);
if ( fCutValues->At(++iCutBit) > fDecayVtxXMin) fBitmap->SetBitNumber(iCutBit,kTRUE);