//if((Charge()==+1 && !okD0) || (Charge()==-1 && !okD0bar)) return kFALSE;
return returnvalue;
}
+//----------------------------------------------------------------------------------
+Bool_t AliRDHFCutsDStartoKpipi::IsInFiducialAcceptance(Double_t pt, Double_t y) const
+{
+ //
+ // D* fiducial acceptance region
+ //
+ if(pt > 5.) {
+ // applying cut for pt > 5 GeV
+ AliDebug(4,Form("pt of D* = %f (> 5), cutting at |y| < 0.8\n",pt));
+ if (TMath::Abs(y) > 0.8){
+ return kFALSE;
+ }
+ } else {
+ // appliying smooth cut for pt < 5 GeV
+ Double_t maxFiducialY = -0.151/15*pt*pt+1.9/15*pt+0.4;
+ Double_t minFiducialY = 0.151/15*pt*pt-1.9/15*pt-0.4;
+ AliDebug(4,Form("pt of D* = %f (< 5), cutting according to the fiducial zone [%f, %f]\n",pt,minFiducialY,maxFiducialY));
+ if (y < minFiducialY || y > maxFiducialY){
+ return kFALSE;
+ }
+ }
+ return kTRUE;
+}
using AliRDHFCuts::IsSelected;
virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel);
Int_t IsD0FromDStarSelected(Double_t pt, TObject* obj,Int_t selectionLevel) const;
-
+ virtual Bool_t IsInFiducialAcceptance(Double_t pt,Double_t y) const;
Float_t GetMassCut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(9,iPtBin)] : 1.e6);} // for the Dstar
Float_t GetDCACut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(1,iPtBin)] : 1.e6);} // for the D0