Added IsInFiducualAcceptance() (Alessandro)
authordainese <dainese@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 27 Aug 2010 10:27:09 +0000 (10:27 +0000)
committerdainese <dainese@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 27 Aug 2010 10:27:09 +0000 (10:27 +0000)
PWG3/vertexingHF/AliRDHFCutsDStartoKpipi.cxx
PWG3/vertexingHF/AliRDHFCutsDStartoKpipi.h

index 6887747..fd538dc 100644 (file)
@@ -376,5 +376,28 @@ Int_t AliRDHFCutsDStartoKpipi::IsD0FromDStarSelected(Double_t pt, TObject* obj,I
   //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;
+}
index dc091ae..9290992 100644 (file)
@@ -27,7 +27,7 @@ class AliRDHFCutsDStartoKpipi : public AliRDHFCuts
   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