Update in strong PID slection for D+ (Giacomo)
authorprino <prino@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 22 Dec 2011 00:20:32 +0000 (00:20 +0000)
committerprino <prino@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 22 Dec 2011 00:20:32 +0000 (00:20 +0000)
PWG3/vertexingHF/AliRDHFCutsDplustoKpipi.cxx
PWG3/vertexingHF/AliRDHFCutsDplustoKpipi.h

index 420137a..78c528b 100644 (file)
@@ -39,6 +39,8 @@ AliRDHFCutsDplustoKpipi::AliRDHFCutsDplustoKpipi(const char* name) :
 AliRDHFCuts(name),
   fUseStrongPid(0),
   fMaxPtStrongPid(0.),
+  fMaxPtStrongPidK(0.),
+  fMaxPtStrongPidpi(0.),
   fUseImpParProdCorrCut(kFALSE)
 {
   //
@@ -122,6 +124,8 @@ AliRDHFCutsDplustoKpipi::AliRDHFCutsDplustoKpipi(const AliRDHFCutsDplustoKpipi &
   AliRDHFCuts(source),
   fUseStrongPid(source.fUseStrongPid),
   fMaxPtStrongPid(source.fMaxPtStrongPid),
+  fMaxPtStrongPidK(source.fMaxPtStrongPidK),
+  fMaxPtStrongPidpi(source.fMaxPtStrongPidpi),
   fUseImpParProdCorrCut(source.fUseImpParProdCorrCut)
 {
   //
@@ -141,6 +145,8 @@ AliRDHFCutsDplustoKpipi &AliRDHFCutsDplustoKpipi::operator=(const AliRDHFCutsDpl
 
   fUseStrongPid=source.fUseStrongPid;
   fMaxPtStrongPid=source.fMaxPtStrongPid;
+  fMaxPtStrongPidK=source.fMaxPtStrongPidK;
+  fMaxPtStrongPidpi=source.fMaxPtStrongPidpi;
   fUseImpParProdCorrCut=source.fUseImpParProdCorrCut;
 
   return *this;
@@ -318,11 +324,11 @@ Int_t AliRDHFCutsDplustoKpipi::IsSelectedPID(AliAODRecoDecayHF *rd)
     if(isKaon<0) nNotKaons++;  
     if(sign==track->Charge()){//pions
       if(isPion<0)return 0;
-      if(rd->Pt()<fMaxPtStrongPid && isPion<=0 && fUseStrongPid>1)return 0;
+      if(rd->Pt()<fMaxPtStrongPid && isPion<=0 && fUseStrongPid&2 && track->Pt()<fMaxPtStrongPidpi)return 0;
     }
     else{//kaons
       if(isKaon<0)return 0;
-       if(rd->Pt()<fMaxPtStrongPid && isKaon<=0 && fUseStrongPid>0)return 0;
+       if(rd->Pt()<fMaxPtStrongPid && isKaon<=0 && fUseStrongPid&1&& track->Pt()<fMaxPtStrongPidK)return 0;
     }
   }
   
@@ -737,3 +743,4 @@ void AliRDHFCutsDplustoKpipi::SetStandardCutsPbPb2010() {
 
   return;
 }
+
index 9391197..cd2164a 100644 (file)
@@ -48,8 +48,12 @@ class AliRDHFCutsDplustoKpipi : public AliRDHFCuts
   Float_t GetDCACut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(1,iPtBin)] : 1.e6);}
   void SetUseStrongPid(Int_t spid){fUseStrongPid=spid;}
   void SetMaxPtStrongPid(Float_t spid){fMaxPtStrongPid=spid;}
+  void SetMaxPtStrongPidK(Float_t spid){fMaxPtStrongPidK=spid;}
+  void SetMaxPtStrongPidpi(Float_t spid){fMaxPtStrongPidpi=spid;}
   Int_t GetStrongPid() const {return fUseStrongPid;}
   Float_t GetMaxPtStrongPid(){return fMaxPtStrongPid;}
+  Float_t GetMaxPtStrongPidK(){return fMaxPtStrongPidK;}
+  Float_t GetMaxPtStrongPidpi(){return fMaxPtStrongPidpi;}
   void SetUseImpParProdCorrCut(Bool_t use){
     fUseImpParProdCorrCut=use;
   }
@@ -60,12 +64,15 @@ class AliRDHFCutsDplustoKpipi : public AliRDHFCuts
  protected:
 
  private:
-  Int_t fUseStrongPid; //use strong pid 0 no,1 only for K,2 both pi and K
-  Float_t fMaxPtStrongPid;//Maximum pt to apply strong Pid
+  Int_t fUseStrongPid; //use strong pid 0 no,1 only for K,2 pi 3 both
+  Float_t fMaxPtStrongPid;//Maximum pt of candidate to apply strong Pid
+  Float_t fMaxPtStrongPidK;//Maximum pt of track to apply strong Pid on K
+  Float_t fMaxPtStrongPidpi;//Maximum pt of track to apply strong Pid on pi
   Bool_t fUseImpParProdCorrCut; //switch for d0K*d0pi1 vs. d0K*d0pi2 cut
 
-  ClassDef(AliRDHFCutsDplustoKpipi,4);  // class for cuts on AOD reconstructed 
+  ClassDef(AliRDHFCutsDplustoKpipi,5);  // class for cuts on AOD reconstructed 
                                    // D+->Kpipi
 };
 
 #endif
+