Bug in AliCFParticleGenCuts::SelectionBitMap(AliAODMCParticle* mcPart) fProductionVer...
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 28 Sep 2012 16:30:15 +0000 (16:30 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 28 Sep 2012 16:30:15 +0000 (16:30 +0000)
CORRFW/AliCFParticleGenCuts.cxx

index 01d8208..319ecc1 100644 (file)
@@ -563,20 +563,28 @@ void AliCFParticleGenCuts::SelectionBitMap(AliAODMCParticle* mcPart)
 
   ++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);