Possibility to select flat acceptance in y
authorfprino <fprino@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 2 Mar 2013 22:52:17 +0000 (22:52 +0000)
committerfprino <fprino@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 2 Mar 2013 22:52:17 +0000 (22:52 +0000)
PWGHF/vertexingHF/AliRDHFCuts.cxx
PWGHF/vertexingHF/AliRDHFCuts.h
PWGHF/vertexingHF/AliRDHFCutsD0toKpi.cxx
PWGHF/vertexingHF/AliRDHFCutsD0toKpipipi.cxx
PWGHF/vertexingHF/AliRDHFCutsDStartoKpipi.cxx
PWGHF/vertexingHF/AliRDHFCutsDplustoKpipi.cxx
PWGHF/vertexingHF/AliRDHFCutsDstoKKpi.cxx
PWGHF/vertexingHF/AliRDHFCutsLctopKpi.cxx

index f3b2cf9..fb67735 100644 (file)
@@ -91,6 +91,7 @@ fIsSelectedCuts(0),
 fIsSelectedPID(0),
 fMinPtCand(-1.),
 fMaxPtCand(100000.),
+fMaxRapidityCand(-999.),
 fKeepSignalMC(kFALSE),
 fIsCandTrackSPDFirst(kFALSE),
 fMaxPtCandTrackSPDFirst(0.),
@@ -149,6 +150,7 @@ AliRDHFCuts::AliRDHFCuts(const AliRDHFCuts &source) :
   fIsSelectedPID(source.fIsSelectedPID),
   fMinPtCand(source.fMinPtCand),
   fMaxPtCand(source.fMaxPtCand),
+  fMaxRapidityCand(source.fMaxRapidityCand),
   fKeepSignalMC(source.fKeepSignalMC),
   fIsCandTrackSPDFirst(source.fIsCandTrackSPDFirst),
   fMaxPtCandTrackSPDFirst(source.fMaxPtCandTrackSPDFirst),
@@ -221,6 +223,7 @@ AliRDHFCuts &AliRDHFCuts::operator=(const AliRDHFCuts &source)
   fIsSelectedPID=source.fIsSelectedPID;
   fMinPtCand=source.fMinPtCand;
   fMaxPtCand=source.fMaxPtCand;
+  fMaxRapidityCand=source.fMaxRapidityCand;
   fKeepSignalMC=source.fKeepSignalMC;
   fIsCandTrackSPDFirst=source.fIsCandTrackSPDFirst;
   fMaxPtCandTrackSPDFirst=source.fMaxPtCandTrackSPDFirst;
index 44ea3ff..aac32e7 100644 (file)
@@ -3,6 +3,8 @@
 /* Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
+/* $Id$ */
+
 //***********************************************************
 // Class AliRDHFCuts
 // base class for cuts on AOD reconstructed heavy-flavour decays
@@ -136,6 +138,7 @@ class AliRDHFCuts : public AliAnalysisCuts
   void SetRecomputePrimaryVertex(Bool_t opt) {fRecomputePrimVertex=opt;}
   void SetMinPtCandidate(Double_t ptCand=-1.) {fMinPtCand=ptCand; return;}
   void SetMaxPtCandidate(Double_t ptCand=1000.) {fMaxPtCand=ptCand; return;}
+  void SetMaxRapidityCandidate(Double_t ycand) {fMaxRapidityCand=ycand; return;}
   void SetOptPileup(Int_t opt=0){
     // see enum below
     fOptPileup=opt;
@@ -226,6 +229,9 @@ class AliRDHFCuts : public AliAnalysisCuts
   Bool_t IsEventRejectedDueToCentrality() const {
     return fEvRejectionBits&(1<<kOutsideCentrality);
   }
+  Bool_t IsEventRejectedDueToCentralityFlattening() const {
+    return fEvRejectionBits&(1<<kCentralityFlattening);
+  }
   Bool_t IsEventRejectedDuePhysicsSelection() const {
     return fEvRejectionBits&(1<<kPhysicsSelection);
   }
@@ -316,6 +322,7 @@ class AliRDHFCuts : public AliAnalysisCuts
   Int_t  fIsSelectedPID;  // outcome of PID selection
   Double_t fMinPtCand; // minimum pt of the candidate
   Double_t fMaxPtCand; // minimum pt of the candidate
+  Double_t fMaxRapidityCand; // max rapidity of candidate (if !=-999 overrides IsInFiducialAcceptance)
   Bool_t  fKeepSignalMC; // IsSelected returns always kTRUE for MC signal
   Bool_t fIsCandTrackSPDFirst; // flag to select the track kFirst criteria for pt < ptlimit
   Double_t fMaxPtCandTrackSPDFirst; // maximum pt of the candidate for which to check if the daughters fulfill kFirst criteria
@@ -327,7 +334,7 @@ class AliRDHFCuts : public AliAnalysisCuts
   Bool_t fUseCentrFlatteningInMC; // flag for enabling/diabling centrality flattening in MC
   TH1F *fHistCentrDistr;   // histogram with reference centrality distribution for centrality distribution flattening
 
-  ClassDef(AliRDHFCuts,30);  // base class for cuts on AOD reconstructed heavy-flavour decays
+  ClassDef(AliRDHFCuts,31);  // base class for cuts on AOD reconstructed heavy-flavour decays
 };
 
 #endif
index bf973f2..b04d450 100644 (file)
@@ -647,6 +647,11 @@ Bool_t AliRDHFCutsD0toKpi::IsInFiducialAcceptance(Double_t pt, Double_t y) const
   // Checking if D0 is in fiducial acceptance region 
   //
 
+  if(fMaxRapidityCand>-998.){
+    if(TMath::Abs(y) > fMaxRapidityCand) return kFALSE;
+    else return kTRUE;
+  }
+
   if(pt > 5.) {
     // applying cut for pt > 5 GeV
     AliDebug(2,Form("pt of D0 = %f (> 5), cutting at |y| < 0.8\n",pt)); 
index dd6db6a..31e3f8c 100644 (file)
@@ -13,6 +13,8 @@
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
+/* $Id$ */
+
 /////////////////////////////////////////////////////////////
 //
 // Class for cuts on AOD reconstructed D0->Kpipipi
@@ -478,6 +480,11 @@ Bool_t AliRDHFCutsD0toKpipipi::IsInFiducialAcceptance(Double_t pt, Double_t y) c
   // Checking if D0 is in fiducial acceptance region 
   //
 
+  if(fMaxRapidityCand>-998.){
+    if(TMath::Abs(y) > fMaxRapidityCand) return kFALSE;
+    else return kTRUE;
+  }
+
   if(pt > 5.) {
     // applying cut for pt > 5 GeV
     AliDebug(4,Form("pt of D0 = %f (> 5), cutting at |y| < 0.8\n",pt)); 
index 499d94f..088c1fc 100644 (file)
@@ -443,6 +443,11 @@ Bool_t AliRDHFCutsDStartoKpipi::IsInFiducialAcceptance(Double_t pt, Double_t y)
   // D* fiducial acceptance region 
   //
 
+  if(fMaxRapidityCand>-998.){
+    if(TMath::Abs(y) > fMaxRapidityCand) return kFALSE;
+    else return kTRUE;
+  }
+
   if(pt > 5.) {
     // applying cut for pt > 5 GeV
     AliDebug(4,Form("pt of D* = %f (> 5), cutting at |y| < 0.8\n",pt)); 
index e07dd22..2c7ac53 100644 (file)
@@ -290,6 +290,11 @@ Bool_t AliRDHFCutsDplustoKpipi::IsInFiducialAcceptance(Double_t pt, Double_t y)
   // Checking if Dplus is in fiducial acceptance region 
   //
 
+  if(fMaxRapidityCand>-998.){
+    if(TMath::Abs(y) > fMaxRapidityCand) return kFALSE;
+    else return kTRUE;
+  }
+
   if(pt > 5.) {
     // applying cut for pt > 5 GeV
     AliDebug(2,Form("pt of D+ = %f (> 5), cutting at |y| < 0.8",pt)); 
index 0bc3364..b34ede5 100644 (file)
@@ -342,6 +342,11 @@ Bool_t AliRDHFCutsDstoKKpi::IsInFiducialAcceptance(Double_t pt, Double_t y) cons
   // Checking if Ds is in fiducial acceptance region 
   //
 
+  if(fMaxRapidityCand>-998.){
+    if(TMath::Abs(y) > fMaxRapidityCand) return kFALSE;
+    else return kTRUE;
+  }
+
   if(pt > 5.) {
     // applying cut for pt > 5 GeV
     AliDebug(2,Form("pt of Ds = %f (> 5), cutting at |y| < 0.8",pt)); 
index b51a4aa..889d5ba 100644 (file)
@@ -846,19 +846,24 @@ void AliRDHFCutsLctopKpi::SetStandardCutsPbPb2011() {
 Bool_t AliRDHFCutsLctopKpi::IsInFiducialAcceptance(Double_t pt, Double_t y) const
 {
   //
-  //  // Checking if Dplus is in fiducial acceptance region 
+  //  // Checking if Lc is in fiducial acceptance region 
   //    //
   //
+  if(fMaxRapidityCand>-998.){
+    if(TMath::Abs(y) > fMaxRapidityCand) return kFALSE;
+    else return kTRUE;
+  }
+
   if(pt > 5.) {
     // applying cut for pt > 5 GeV
-   AliDebug(2,Form("pt of D+ = %f (> 5), cutting at |y| < 0.8",pt));
+   AliDebug(2,Form("pt of Lc = %f (> 5), cutting at |y| < 0.8",pt));
    if (TMath::Abs(y) > 0.8) return kFALSE;
   
   } else {
    // appliying smooth cut for pt < 5 GeV
    Double_t maxFiducialY = -0.2/15*pt*pt+1.9/15*pt+0.5;
    Double_t minFiducialY = 0.2/15*pt*pt-1.9/15*pt-0.5;
-  AliDebug(2,Form("pt of D+ = %f (< 5), cutting  according to the fiducial zone [%f, %f]\n",pt,minFiducialY,maxFiducialY));
+  AliDebug(2,Form("pt of Lc = %f (< 5), cutting  according to the fiducial zone [%f, %f]\n",pt,minFiducialY,maxFiducialY));
   if (y < minFiducialY || y > maxFiducialY) return kFALSE;
  }
   //