]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Added standard cuts (Alessandro)
authordainese <dainese@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 9 Dec 2010 16:07:47 +0000 (16:07 +0000)
committerdainese <dainese@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 9 Dec 2010 16:07:47 +0000 (16:07 +0000)
PWG3/vertexingHF/AliRDHFCutsDStartoKpipi.cxx
PWG3/vertexingHF/AliRDHFCutsDStartoKpipi.h
PWG3/vertexingHF/macros/makeTFile4CutsDStartoKpipi.C

index a7c728572a3a54450e1d1bbb80420854b6a7263c..d73557baf90987fe98f3a3d1556ba7b7e2ecd682 100644 (file)
@@ -18,6 +18,9 @@
 // Class for cuts on AOD reconstructed DStar->Kpipi
 //
 // Author: A.Grelli, alessandro.grelli@uu.nl
+//
+// PID method implemented by   Y.Wang, yifei@physi.uni-heidelberg.de
+//           
 /////////////////////////////////////////////////////////////
 
 #include <TDatabasePDG.h>
@@ -34,8 +37,6 @@
 #include "AliAODVertex.h"
 #include "AliESDVertex.h"
 
-
-
 ClassImp(AliRDHFCutsDStartoKpipi)
 
 //--------------------------------------------------------------------------
@@ -46,7 +47,7 @@ AliRDHFCutsDStartoKpipi::AliRDHFCutsDStartoKpipi(const char* name) :
   //
   // Default Constructor
   //
+  
   Int_t nvars=14;
   SetNVars(nvars);
   TString varNames[14]={
@@ -276,7 +277,7 @@ Int_t AliRDHFCutsDStartoKpipi::IsSelected(TObject* obj,Int_t selectionLevel) {
   if(selectionLevel==AliRDHFCuts::kAll || 
      selectionLevel==AliRDHFCuts::kCandidate ||
      selectionLevel==AliRDHFCuts::kPID) {
-    returnvaluePID = IsSelectedPID(dd);
+    returnvaluePID = IsSelectedPID(d);
   }
 
 
@@ -310,8 +311,10 @@ Int_t AliRDHFCutsDStartoKpipi::IsSelected(TObject* obj,Int_t selectionLevel) {
     if(d->AngleD0dkpPisoft() > fCutsRD[GetGlobalIndex(13,ptbin)]) return 0;
   
   }
-
+  
+  if(returnvaluePID!=3) returnvalue =0;
   return returnvalue;
+
 }
 //_________________________________________________________________________________________________
 Int_t AliRDHFCutsDStartoKpipi::IsD0FromDStarSelected(Double_t pt, TObject* obj,Int_t selectionLevel) const {
@@ -398,8 +401,7 @@ Bool_t AliRDHFCutsDStartoKpipi::IsInFiducialAcceptance(Double_t pt, Double_t y)
     if (TMath::Abs(y) > 0.8){
       return kFALSE;
     }
-  } else {
-    
+  } 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;                
@@ -408,18 +410,302 @@ Bool_t AliRDHFCutsDStartoKpipi::IsInFiducialAcceptance(Double_t pt, Double_t y)
       return kFALSE;
     }
   }
+    
+  return kTRUE;
+}
+
+//_______________________________________________________________________________-
+Int_t AliRDHFCutsDStartoKpipi::IsSelectedPID(AliAODRecoDecayHF* obj)
+{
+  //
+  // PID method, n signa approach default
+  //
+  
+  if(!fUsePID) return 3;
+  
+  AliAODRecoCascadeHF* dstar = (AliAODRecoCascadeHF*)obj;
+  if(!dstar){
+    cout<<"AliAODRecoCascadeHF null"<<endl;
+    return 0;
+  }  
+  AliAODRecoDecayHF2Prong* d0 = (AliAODRecoDecayHF2Prong*)dstar->Get2Prong();  
+  if(!d0){
+    cout<<"AliAODRecoDecayHF2Prong null"<<endl;
+    return 0;
+  }
+
+  //  here the PID
+  AliAODTrack *pos = (AliAODTrack*)dstar->Get2Prong()->GetDaughter(0);
+  AliAODTrack *neg = (AliAODTrack*)dstar->Get2Prong()->GetDaughter(1);
 
+  if (dstar->Charge()>0){
+    if(!SelectPID(pos,2)) return 0;//pion+
+    if(!SelectPID(neg,3)) return 0;//kaon-
+  }else{
+    if(!SelectPID(pos,3)) return 0;//kaon+
+    if(!SelectPID(neg,2)) return 0;//pion-
+  }
 
-  return kTRUE;
+  return 3;
 }
+
 //_______________________________________________________________________________-
-Int_t AliRDHFCutsDStartoKpipi::IsSelectedPID(AliAODRecoDecayHF* dd) 
+Int_t AliRDHFCutsDStartoKpipi::SelectPID(AliAODTrack *track, Int_t type)
 {
   //
   //  here the PID
+    
+  Bool_t isParticle=kTRUE;
+
+  if(fPidHF->GetMatch()==1){//n-sigma
+    Bool_t TPCon=TMath::Abs(2)>1e-4?kTRUE:kFALSE;
+    Bool_t TOFon=TMath::Abs(3)>1e-4?kTRUE:kFALSE;
+    
+    Bool_t isTPC=kTRUE;
+    Bool_t isTOF=kTRUE;
+
+    if (TPCon){//TPC
+      if(fPidHF->CheckStatus(track,"TPC")){
+       if(type==2) isTPC=fPidHF->IsPionRaw(track,"TPC");
+       if(type==3) isTPC=fPidHF->IsKaonRaw(track,"TPC");
+      }
+    }
+    if (TOFon){//TOF
+      if(fPidHF->CheckStatus(track,"TOF")){
+       if(type==2) isTOF=fPidHF->IsPionRaw(track,"TOF");
+       if(type==3) isTOF=fPidHF->IsKaonRaw(track,"TOF");
+      }
+    }
+    isParticle = isTPC&&isTOF;
+  }
+  
+  if(fPidHF->GetMatch()==2){//bayesian
+    //Double_t priors[5]={0.01,0.001,0.3,0.3,0.3};
+    Double_t prob[5]={1.,1.,1.,1.,1.};
+    
+    //fPidHF->SetPriors(priors);
+    fPidHF->BayesianProbability(track,prob);
+    
+    Double_t max=0.;
+    Int_t k=-1;
+    for (Int_t i=0; i<5; i++) {
+      if (prob[i]>max) {k=i; max=prob[i];}
+    }
+    isParticle = Bool_t(k==type);
+  }
+  
+  return isParticle;
+  
+}
+//__________________________________________________________________________________-
+void  AliRDHFCutsDStartoKpipi::SetStandardCutsPP2010() {
+  //
+  //STANDARD CUTS USED FOR 2010 pp analysis 
+  //                                           
+  // Need to be updated for the final cut version
+  //
+
+  SetName("DStartoD0piCutsStandard");
+  SetTitle("Standard Cuts for D* analysis");
+  
+  // PILE UP REJECTION
+  SetOptPileup(AliRDHFCuts::kRejectPileupEvent);
+
+  // EVENT CUTS
+  SetMinVtxContr(1);
+  
+  // CUTS ON SINGLE TRACKS
+  AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default");
+  esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
+  esdTrackCuts->SetRequireTPCRefit(kTRUE);
+  esdTrackCuts->SetRequireITSRefit(kTRUE);
+  esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
+  esdTrackCuts->SetMinDCAToVertexXY(0.);
+  esdTrackCuts->SetEtaRange(-0.8,0.8);
+  esdTrackCuts->SetPtRange(0.3,1.e10);
+  
+  // CUTS on SOFT PION
+  AliESDtrackCuts* esdSoftPicuts=new AliESDtrackCuts();
+  esdSoftPicuts->SetRequireSigmaToVertex(kFALSE);
+  esdSoftPicuts->SetRequireTPCRefit(kFALSE);
+  esdSoftPicuts->SetRequireITSRefit(kFALSE);
+  esdSoftPicuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
+                                         AliESDtrackCuts::kAny); 
+  esdSoftPicuts->SetPtRange(0.0,1.e10);
+
+  AddTrackCuts(esdTrackCuts);
+  AddTrackCutsSoftPi(esdSoftPicuts);
+
+  const Int_t nptbins =13;
+  const Double_t ptmax = 9999.;
+  const Int_t nvars=14;
+  Float_t ptbins[nptbins+1];
+  ptbins[0]=0.;
+  ptbins[1]=0.5;       
+  ptbins[2]=1.;
+  ptbins[3]=2.;
+  ptbins[4]=3.;
+  ptbins[5]=4.;
+  ptbins[6]=5.;
+  ptbins[7]=6.;
+  ptbins[8]=8.;
+  ptbins[9]=12.;
+  ptbins[10]=16.;
+  ptbins[11]=20.;
+  ptbins[12]=24.;
+  ptbins[13]=ptmax;
+
+  SetGlobalIndex(nvars,nptbins);
+  SetPtBins(nptbins+1,ptbins);
+  
+  Float_t cutsMatrixD0toKpiStand[nptbins][nvars]={{0.7,220.*1E-4,0.7,0.21,0.21,500.*1E-4,500.*1E-4,-2000.*1E-8,0.85,0.3,0.1,0.05,100,0.5},/* pt<0.5*/
+                                                 {0.7,220.*1E-4,0.7,0.21,0.21,500.*1E-4,500.*1E-4,-16000.*1E-8,0.85,0.3,0.1,0.05,100,0.5},/* 0.5<pt<1*/
+                                                 {0.7,400.*1E-4,0.8,0.7,0.7,400.*1E-4,400.*1E-4,-36000.*1E-8,0.82,0.3,0.1,0.05,100,0.5},/* 1<pt<2 */
+                                                 {0.7,200.*1E-4,0.8,0.7,0.7,800.*1E-4,800.*1E-4,-16000.*1E-8,0.9,0.3,0.1,0.05,100,0.5},/* 2<pt<3 */
+                                                 {0.7,500.*1E-4,0.8,1.0,1.0,420.*1E-4,560.*1E-4,-6500.*1E-8,0.9,0.3,0.1,0.05,100,0.5},/* 3<pt<4 */
+                                                 {0.7,800.*1E-4,0.9,1.2,1.2,700.*1E-4,700.*1E-4,1000.*1E-8,0.9,0.3,0.1,0.05,100,0.5},/* 4<pt<5 */
+                                                 {0.7,1000.*1E-4,1.0,1.0,1.0,800.*1E-4,800.*1E-4,50000.*1E-8,0.8,0.3,0.1,0.05,100,0.5},/* 5<pt<6 */
+                                                 {0.7,1000.*1E-4,1.0,1.0,1.0,1000.*1E-4,1000.*1E-4,100000.*1E-8,0.7,0.3,0.1,0.05,100,0.5},/* 6<pt<8 */
+                                                 {0.7,1000.*1E-4,1.0,1.0,1.0,1000.*1E-4,1000.*1E-4,600000.*1E-8,0.7,0.3,0.1,0.05,100,0.5},/* 8<pt<12 */
+                                                 {0.7,1000.*1E-4,1.0,1.0,1.0,1500.*1E-4,1500.*1E-4,1000000.*1E-8,0.7,0.3,0.1,0.05,100,0.5},/* 12<pt<16 */
+                                                 {0.7,1000.*1E-4,1.0,1.0,1.0,1500.*1E-4,1500.*1E-4,1000000.*1E-8,0.7,0.3,0.1,0.05,100,0.5},/* 16<pt<20 */
+                                                 {0.7,1000.*1E-4,1.0,1.0,1.0,1500.*1E-4,1500.*1E-4,1000000.*1E-8,0.7,0.3,0.1,0.05,100,0.5},/* 20<pt<24 */
+                                                 {0.7,1000.*1E-4,1.0,1.0,1.0,1500.*1E-4,1500.*1E-4,1000000.*1E-8,0.7,0.3,0.1,0.05,100,0.5}};/* pt>24 */
+  
+  
+  //CREATE TRANSPOSE MATRIX...REVERSE INDICES as required by AliRDHFCuts
+  Float_t **cutsMatrixTransposeStand=new Float_t*[nvars];
+  for(Int_t iv=0;iv<nvars;iv++)cutsMatrixTransposeStand[iv]=new Float_t[nptbins];
+  
+  for (Int_t ibin=0;ibin<nptbins;ibin++){
+    for (Int_t ivar = 0; ivar<nvars; ivar++){
+      cutsMatrixTransposeStand[ivar][ibin]=cutsMatrixD0toKpiStand[ibin][ivar];      
+    }
+  }
+  
+  SetCuts(nvars,nptbins,cutsMatrixTransposeStand);
+  
+  // PID SETTINGS FOR D* analysis
+  AliAODPidHF* pidObj=new AliAODPidHF();
+  //pidObj->SetName("pid4DSatr");
+  Int_t mode=1;
+  Double_t priors[5]={0.01,0.001,0.3,0.3,0.3};
+  pidObj->SetPriors(priors);
+  pidObj->SetMatch(mode);
+  pidObj->SetSigma(0,2); // TPC
+  pidObj->SetSigma(3,3); // TOF
+  pidObj->SetTPC(kTRUE);
+  pidObj->SetTOF(kTRUE);
+  
+  SetPidHF(pidObj);
+  SetUsePID(kTRUE);
+
+  PrintAll();
+
+  return;
+}
+//_____________________________________________________________________________-
+void  AliRDHFCutsDStartoKpipi::SetStandardCutsPbPb2010(){  
+  //
+  // TEMPORARY, WORK IN PROGRESS ... BUT WORKING! 
+  //
+  //  Lead Lead
+  //
+
+  SetName("DStartoD0piCutsStandard");
+  SetTitle("Standard Cuts for D* analysis in PbPb 2010");
+
+  // EVENT CUTS
+  SetMinVtxContr(1);
+  
+  // CUTS ON SINGLE TRACKS
+  AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default");
+  esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
+  esdTrackCuts->SetRequireTPCRefit(kTRUE);
+  esdTrackCuts->SetRequireITSRefit(kTRUE);
+  esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
+  esdTrackCuts->SetMinDCAToVertexXY(0.);
+  esdTrackCuts->SetEtaRange(-0.8,0.8);
+  esdTrackCuts->SetPtRange(0.3,1.e10);
+  
+  // CUTS on SOFT PION
+  AliESDtrackCuts* esdSoftPicuts=new AliESDtrackCuts();
+  esdSoftPicuts->SetRequireSigmaToVertex(kFALSE);
+  esdSoftPicuts->SetRequireTPCRefit(kTRUE);
+  esdSoftPicuts->SetRequireITSRefit(kTRUE);
+  esdSoftPicuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
+                                         AliESDtrackCuts::kAny); //test d0 asimmetry
+  esdSoftPicuts->SetPtRange(0.25,5);
+
+  AddTrackCuts(esdTrackCuts);
+  AddTrackCutsSoftPi(esdSoftPicuts);
+
+  const Int_t nptbins =13;
+  const Double_t ptmax = 9999.;
+  const Int_t nvars=14;
+  Float_t ptbins[nptbins+1];
+  ptbins[0]=0.;
+  ptbins[1]=0.5;       
+  ptbins[2]=1.;
+  ptbins[3]=2.;
+  ptbins[4]=3.;
+  ptbins[5]=4.;
+  ptbins[6]=5.;
+  ptbins[7]=6.;
+  ptbins[8]=8.;
+  ptbins[9]=12.;
+  ptbins[10]=16.;
+  ptbins[11]=20.;
+  ptbins[12]=24.;
+  ptbins[13]=ptmax;
+
+  SetGlobalIndex(nvars,nptbins);
+  SetPtBins(nptbins+1,ptbins);
+  
+  Float_t cutsMatrixD0toKpiStand[nptbins][nvars]={{0.7,220.*1E-4,0.7,0.21,0.21,500.*1E-4,500.*1E-4,-2000.*1E-8,0.85,0.3,0.1,0.05,100,0.5},/* pt<0.5*/
+                                                 {0.7,220.*1E-4,0.7,0.21,0.21,500.*1E-4,500.*1E-4,-16000.*1E-8,0.85,0.3,0.1,0.05,100,0.5},/* 0.5<pt<1*/
+                                                 {0.7,400.*1E-4,0.8,0.7,0.7,800.*1E-4,800.*1E-4,-36000.*1E-8,0.82,0.3,0.1,0.05,100,0.5},/* 1<pt<2 */
+                                                 {0.7,200.*1E-4,0.8,0.7,0.7,800.*1E-4,800.*1E-4,-16000.*1E-8,0.9,0.3,0.1,0.05,100,0.5},/* 2<pt<3 */
+                                                 {0.7,500.*1E-4,0.8,1.0,1.0,420.*1E-4,560.*1E-4,-6500.*1E-8,0.9,0.3,0.1,0.05,100,0.5},/* 3<pt<4 */
+                                                 {0.7,800.*1E-4,0.9,1.2,1.2,700.*1E-4,700.*1E-4,1000.*1E-8,0.9,0.3,0.1,0.05,100,0.5},/* 4<pt<5 */
+                                                 {0.7,1000.*1E-4,1.0,1.0,1.0,800.*1E-4,800.*1E-4,50000.*1E-8,0.8,0.3,0.1,0.05,100,0.5},/* 5<pt<6 */
+                                                 {0.7,1000.*1E-4,1.0,1.0,1.0,1000.*1E-4,1000.*1E-4,100000.*1E-8,0.7,0.3,0.1,0.05,100,0.5},/* 6<pt<8 */
+                                                 {0.7,1000.*1E-4,1.0,1.0,1.0,1000.*1E-4,1000.*1E-4,600000.*1E-8,0.7,0.3,0.1,0.05,100,0.5},/* 8<pt<12 */
+                                                 {0.7,1000.*1E-4,1.0,1.0,1.0,1500.*1E-4,1500.*1E-4,1000000.*1E-8,0.7,0.3,0.1,0.05,100,0.5},/* 12<pt<16 */
+                                                 {0.7,1000.*1E-4,1.0,1.0,1.0,1500.*1E-4,1500.*1E-4,1000000.*1E-8,0.7,0.3,0.1,0.05,100,0.5},/* 16<pt<20 */
+                                                 {0.7,1000.*1E-4,1.0,1.0,1.0,1500.*1E-4,1500.*1E-4,1000000.*1E-8,0.7,0.3,0.1,0.05,100,0.5},/* 20<pt<24 */
+                                                 {0.7,1000.*1E-4,1.0,1.0,1.0,1500.*1E-4,1500.*1E-4,1000000.*1E-8,0.7,0.3,0.1,0.05,100,0.5}};/* pt>24 */
+  
+  
+  //CREATE TRANSPOSE MATRIX...REVERSE INDICES as required by AliRDHFCuts
+  Float_t **cutsMatrixTransposeStand=new Float_t*[nvars];
+  for(Int_t iv=0;iv<nvars;iv++)cutsMatrixTransposeStand[iv]=new Float_t[nptbins];
+  
+  for (Int_t ibin=0;ibin<nptbins;ibin++){
+    for (Int_t ivar = 0; ivar<nvars; ivar++){
+      cutsMatrixTransposeStand[ivar][ibin]=cutsMatrixD0toKpiStand[ibin][ivar];      
+    }
+  }
+  
+  SetCuts(nvars,nptbins,cutsMatrixTransposeStand);
+  
+  // PID SETTINGS
+  AliAODPidHF* pidObj=new AliAODPidHF();
+  // pidObj->SetName("pid4DSatr");
+  Int_t mode=1;
+  Double_t priors[5]={0.01,0.001,0.3,0.3,0.3};
+  pidObj->SetPriors(priors);
+  pidObj->SetMatch(mode);
+  pidObj->SetSigma(0,2); // TPC
+  pidObj->SetSigma(3,3); // TOF
+  pidObj->SetTPC(kTRUE);
+  pidObj->SetTOF(kTRUE);
+  
+  SetPidHF(pidObj);
+  SetUsePID(kTRUE);
 
-  // Double_t cw = dd->Pt();
+  PrintAll();
+
+  return;
 
-  if(dd) return 1;
-  return 1;
 }
index 9662b576329472dc08ba1041900a3e3922897ac2..233719a5f7664fc23f0266eaa0c0dd6c03e3e4ba 100644 (file)
@@ -7,6 +7,7 @@
 // Class AliRDHFCutsDStartoKpipi
 // class for cuts on AOD reconstructed DStar->Kpipi
 // Author: A.Grelli, alessandro.grelli@uu.nl
+// PID method implemented by   Y.Wang, yifei@physi.uni-heidelberg.de
 //***********************************************************
 
 #include "AliRDHFCuts.h"
@@ -32,9 +33,12 @@ class AliRDHFCutsDStartoKpipi : public AliRDHFCuts
   virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel);
   Int_t IsD0FromDStarSelected(Double_t pt, TObject* obj,Int_t selectionLevel) const; 
   virtual Int_t IsSelectedPID(AliAODRecoDecayHF *rd);
+  virtual Int_t SelectPID(AliAODTrack *track, Int_t type);
   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
+  virtual void SetStandardCutsPP2010();
+  virtual void SetStandardCutsPbPb2010();  
 
   void AddTrackCutsSoftPi(const AliESDtrackCuts *cuts) 
      {fTrackCutsSoftPi=new AliESDtrackCuts(*cuts); return;}
@@ -44,7 +48,7 @@ class AliRDHFCutsDStartoKpipi : public AliRDHFCuts
 
   AliESDtrackCuts *fTrackCutsSoftPi; // cuts for soft pion (AOD converted to ESD on the flight!)
 
-  ClassDef(AliRDHFCutsDStartoKpipi,3);  // class for cuts on AOD reconstructed D0->Kpipi
+  ClassDef(AliRDHFCutsDStartoKpipi,4);  // class for cuts on AOD reconstructed D0->Kpipi
 };
 
 #endif
index 759401adf4aeb0a771aff9c11fae9f28bfb58575..cb81d8ae6d7dddeabb4f01c143b34f383e7cb771 100644 (file)
@@ -18,7 +18,7 @@
 
 
 //macro to make a .root file which contains an AliRDHFCutsDStartoKpipi for AliAnalysisTaskSEDStarSpectra task and CF task
-void makeInputAliAnalysisTaskSEDStarSpectra(){
+void makeInputAliAnalysisTaskSEDStarSpectra(const char *set_cuts="utrecht"){
 
   AliRDHFCutsDStartoKpipi* RDHFDStartoKpipi=new AliRDHFCutsDStartoKpipi();
   RDHFDStartoKpipi->SetName("DStartoKpipiCuts");
@@ -29,7 +29,6 @@ void makeInputAliAnalysisTaskSEDStarSpectra(){
   //default
   esdTrackCuts->SetRequireTPCRefit(kTRUE);
   esdTrackCuts->SetRequireITSRefit(kTRUE);
-  //esdTrackCuts->SetMinNClustersITS(4); // default is 5
   //esdTrackCuts->SetMinNClustersTPC(70);
   esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
                                         AliESDtrackCuts::kAny); 
@@ -43,7 +42,6 @@ void makeInputAliAnalysisTaskSEDStarSpectra(){
   //default
   esdSoftPicuts->SetRequireTPCRefit(kFALSE);
   esdSoftPicuts->SetRequireITSRefit(kFALSE);
-  //esdSoftPicuts->SetMinNClustersITS(4); // default is 4
   esdSoftPicuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
                                          AliESDtrackCuts::kAny); //test d0 asimmetry
   esdSoftPicuts->SetPtRange(0.0,1.e10);
@@ -74,211 +72,432 @@ void makeInputAliAnalysisTaskSEDStarSpectra(){
 
   RDHFDStartoKpipi->SetPtBins(nptbins+1,ptbins);
   
-
   Float_t** rdcutsvalmine;
   rdcutsvalmine=new Float_t*[nvars];
   for(Int_t iv=0;iv<nvars;iv++){
     rdcutsvalmine[iv]=new Float_t[nptbins];
   }
 
-  //0-0.5
-  rdcutsvalmine[0][0]=0.7;
-  rdcutsvalmine[1][0]=0.022;
-  rdcutsvalmine[2][0]=0.7;
-  rdcutsvalmine[3][0]=0.21;
-  rdcutsvalmine[4][0]=0.21;
-  rdcutsvalmine[5][0]=0.05;
-  rdcutsvalmine[6][0]=0.05;
-  rdcutsvalmine[7][0]=-0.00002;
-  rdcutsvalmine[8][0]=0.85;
-  rdcutsvalmine[9][0]=0.3;
-  rdcutsvalmine[10][0]=0.1;
-  rdcutsvalmine[11][0]=0.05;
-  rdcutsvalmine[12][0]=100.;
-  rdcutsvalmine[13][0]=0.5;
- //0.5-1
-  rdcutsvalmine[0][1]=0.7;
-  rdcutsvalmine[1][1]=0.022;
-  rdcutsvalmine[2][1]=0.7;
-  rdcutsvalmine[3][1]=0.21;
-  rdcutsvalmine[4][1]=0.21;
-  rdcutsvalmine[5][1]=0.05;
-  rdcutsvalmine[6][1]=0.05;
-  rdcutsvalmine[7][1]=-0.00016;
-  rdcutsvalmine[8][1]=0.85;
-  rdcutsvalmine[9][1]=0.3;
-  rdcutsvalmine[10][1]=0.1;
-  rdcutsvalmine[11][1]=0.05;
-  rdcutsvalmine[12][1]=100.;
-  rdcutsvalmine[13][1]=0.5;
-  //1-2
-  rdcutsvalmine[0][2]=0.7;
-  rdcutsvalmine[1][2]=0.04;
-  rdcutsvalmine[2][2]=0.8;
-  rdcutsvalmine[3][2]=0.7;
-  rdcutsvalmine[4][2]=0.7;
-  rdcutsvalmine[5][2]=0.04;
-  rdcutsvalmine[6][2]=0.04;
-  rdcutsvalmine[7][2]=-0.00036;
-  rdcutsvalmine[8][2]=0.82;
-  rdcutsvalmine[9][2]=0.3;
-  rdcutsvalmine[10][2]=0.1;
-  rdcutsvalmine[11][2]=0.05;
-  rdcutsvalmine[12][2]=100.;
-  rdcutsvalmine[13][2]=0.5;
-  //2-3
-  rdcutsvalmine[0][3]=0.7;
-  rdcutsvalmine[1][3]=0.02;
-  rdcutsvalmine[2][3]=0.8;
-  rdcutsvalmine[3][3]=0.7;
-  rdcutsvalmine[4][3]=0.7;
-  rdcutsvalmine[5][3]=0.05;
-  rdcutsvalmine[6][3]=0.05;
-  rdcutsvalmine[7][3]=-0.00016;
-  rdcutsvalmine[8][3]=0.90;
-  rdcutsvalmine[9][3]=0.3;
-  rdcutsvalmine[10][3]=0.1;
-  rdcutsvalmine[11][3]=0.05;
-  rdcutsvalmine[12][3]=100.;
-  rdcutsvalmine[13][3]=0.5;
-  //3-4
-  rdcutsvalmine[0][4]=0.7;
-  rdcutsvalmine[1][4]=0.05;
-  rdcutsvalmine[2][4]=0.8;
-  rdcutsvalmine[3][4]=1.;
-  rdcutsvalmine[4][4]=1.;
-  rdcutsvalmine[5][4]=0.042;
-  rdcutsvalmine[6][4]=0.056;
-  rdcutsvalmine[7][4]=-0.000065;
-  rdcutsvalmine[8][4]=0.9;
-  rdcutsvalmine[9][4]=0.3;
-  rdcutsvalmine[10][4]=0.1;
-  rdcutsvalmine[11][4]=0.05;
-  rdcutsvalmine[12][4]=100.;
-  rdcutsvalmine[13][4]=0.5;
-  //4-5
-  rdcutsvalmine[0][5]=0.7;
-  rdcutsvalmine[1][5]=0.08;
-  rdcutsvalmine[2][5]=0.9;
-  rdcutsvalmine[3][5]=1.2;
-  rdcutsvalmine[4][5]=1.2;
-  rdcutsvalmine[5][5]=0.07;
-  rdcutsvalmine[6][5]=0.07;
-  rdcutsvalmine[7][5]=0.0001;
-  rdcutsvalmine[8][5]=0.9;
-  rdcutsvalmine[9][5]=0.3;
-  rdcutsvalmine[10][5]=0.1;
-  rdcutsvalmine[11][5]=0.05;
-  rdcutsvalmine[12][5]=100.;
-  rdcutsvalmine[13][5]=0.5;
-  //5-6
-  rdcutsvalmine[0][6]=0.7;
-  rdcutsvalmine[1][6]=0.1;
-  rdcutsvalmine[2][6]=1.0;
-  rdcutsvalmine[3][6]=1.;
-  rdcutsvalmine[4][6]=1.;
-  rdcutsvalmine[5][6]=0.08;
-  rdcutsvalmine[6][6]=0.08;
-  rdcutsvalmine[7][6]=0.0005;
-  rdcutsvalmine[8][6]=0.8;
-  rdcutsvalmine[9][6]=0.3;
-  rdcutsvalmine[10][6]=0.1;
-  rdcutsvalmine[11][6]=0.05;
-  rdcutsvalmine[12][6]=100000.;
-  rdcutsvalmine[13][6]=0.5;
-  //6-8
-  rdcutsvalmine[0][7]=0.7;
-  rdcutsvalmine[1][7]=0.1;
-  rdcutsvalmine[2][7]=1.0;
-  rdcutsvalmine[3][7]=1.;
-  rdcutsvalmine[4][7]=1.;
-  rdcutsvalmine[5][7]=0.1;
-  rdcutsvalmine[6][7]=0.1;
-  rdcutsvalmine[7][7]=0.001;
-  rdcutsvalmine[8][7]=0.7;
-  rdcutsvalmine[9][7]=0.3;
-  rdcutsvalmine[10][7]=0.1;
-  rdcutsvalmine[11][7]=0.05;
-  rdcutsvalmine[12][7]=100.;
-  rdcutsvalmine[13][7]=0.5;
-  //8-12
-  rdcutsvalmine[0][8]=0.7;
-  rdcutsvalmine[1][8]=0.1;
-  rdcutsvalmine[2][8]=1.0;
-  rdcutsvalmine[3][8]=1.;
-  rdcutsvalmine[4][8]=1.;
-  rdcutsvalmine[5][8]=0.1;
-  rdcutsvalmine[6][8]=0.1;
-  rdcutsvalmine[7][8]=0.006;
-  rdcutsvalmine[8][8]=0.7;
-  rdcutsvalmine[9][8]=0.3;
-  rdcutsvalmine[10][8]=0.1;
-  rdcutsvalmine[11][8]=0.05;
-  rdcutsvalmine[12][8]=100.;
-  rdcutsvalmine[13][8]=0.5;
-  //12-16
-  rdcutsvalmine[0][9]=0.7;
-  rdcutsvalmine[1][9]=0.1;
-  rdcutsvalmine[2][9]=1.0;
-  rdcutsvalmine[3][9]=.3;
-  rdcutsvalmine[4][9]=.3;
-  rdcutsvalmine[5][9]=0.15;
-  rdcutsvalmine[6][9]=0.15;
-  rdcutsvalmine[7][9]=0.01;
-  rdcutsvalmine[8][9]=0.7;
-  rdcutsvalmine[9][9]=0.3;
-  rdcutsvalmine[10][9]=0.1;
-  rdcutsvalmine[11][9]=0.05;
-  rdcutsvalmine[12][9]=100.;
-  rdcutsvalmine[13][9]=0.5;
-  //16-20
-  rdcutsvalmine[0][10]=0.7;
-  rdcutsvalmine[1][10]=0.2;
-  rdcutsvalmine[2][10]=1.0;
-  rdcutsvalmine[3][10]=.3;
-  rdcutsvalmine[4][10]=.3;
-  rdcutsvalmine[5][10]=0.15;
-  rdcutsvalmine[6][10]=0.15;
-  rdcutsvalmine[7][10]=0.01;
-  rdcutsvalmine[8][10]=0.7;
-  rdcutsvalmine[9][10]=0.3;
-  rdcutsvalmine[10][10]=0.1;
-  rdcutsvalmine[11][10]=0.05;
-  rdcutsvalmine[12][10]=100.;
-  rdcutsvalmine[13][10]=0.5;
-  //20-24
-  rdcutsvalmine[0][11]=0.7;
-  rdcutsvalmine[1][11]=0.2;
-  rdcutsvalmine[2][11]=1.0;
-  rdcutsvalmine[3][11]=.3;
-  rdcutsvalmine[4][11]=.3;
-  rdcutsvalmine[5][11]=0.15;
-  rdcutsvalmine[6][11]=0.15;
-  rdcutsvalmine[7][11]=0.01;
-  rdcutsvalmine[8][11]=0.7;
-  rdcutsvalmine[9][11]=0.3;
-  rdcutsvalmine[10][11]=0.1;
-  rdcutsvalmine[11][11]=0.05;
-  rdcutsvalmine[12][11]=100.;
-  rdcutsvalmine[13][11]=0.5;
-  //>25
-  rdcutsvalmine[0][12]=0.7;
-  rdcutsvalmine[1][12]=0.6;
-  rdcutsvalmine[2][12]=1.0;
-  rdcutsvalmine[3][12]=.4;
-  rdcutsvalmine[4][12]=.4;
-  rdcutsvalmine[5][12]=0.5;
-  rdcutsvalmine[6][12]=0.5;
-  rdcutsvalmine[7][12]=0.1;
-  rdcutsvalmine[8][12]=0.7;
-  rdcutsvalmine[9][12]=0.3;
-  rdcutsvalmine[10][12]=0.1;
-  rdcutsvalmine[11][12]=0.05;
-  rdcutsvalmine[12][12]=100.;
-  rdcutsvalmine[13][12]=0.5;
-  
+  if(set_cuts=="utrecht"){
+    //0-0.5
+    rdcutsvalmine[0][0]=0.7;
+    rdcutsvalmine[1][0]=0.03;
+    rdcutsvalmine[2][0]=0.8;
+    rdcutsvalmine[3][0]=0.3;
+    rdcutsvalmine[4][0]=0.3;
+    rdcutsvalmine[5][0]=0.1;
+    rdcutsvalmine[6][0]=0.1;
+    rdcutsvalmine[7][0]=0.00035;
+    rdcutsvalmine[8][0]=0.73;
+    rdcutsvalmine[9][0]=0.3;
+    rdcutsvalmine[10][0]=0.1;
+    rdcutsvalmine[11][0]=0.05;
+    rdcutsvalmine[12][0]=100.;
+    rdcutsvalmine[13][0]=0.5;
+    //0.5-1
+    rdcutsvalmine[0][1]=0.7;
+    rdcutsvalmine[1][1]=0.03;
+    rdcutsvalmine[2][1]=0.8;
+    rdcutsvalmine[3][1]=0.3;
+    rdcutsvalmine[4][1]=0.3;
+    rdcutsvalmine[5][1]=0.1;
+    rdcutsvalmine[6][1]=0.1;
+    rdcutsvalmine[7][1]=-0.00020;
+    rdcutsvalmine[8][1]=0.73;
+    rdcutsvalmine[9][1]=0.3;
+    rdcutsvalmine[10][1]=0.1;
+    rdcutsvalmine[11][1]=0.05;
+    rdcutsvalmine[12][1]=100.;
+    rdcutsvalmine[13][1]=0.5;
+    //1-2
+    rdcutsvalmine[0][2]=0.7;
+    rdcutsvalmine[1][2]=0.02;
+    rdcutsvalmine[2][2]=0.8;
+    rdcutsvalmine[3][2]=0.4;
+    rdcutsvalmine[4][2]=0.4;
+    rdcutsvalmine[5][2]=0.1;
+    rdcutsvalmine[6][2]=0.1;
+    rdcutsvalmine[7][2]=-0.00036;
+    rdcutsvalmine[8][2]=0.82;
+    rdcutsvalmine[9][2]=0.3;
+    rdcutsvalmine[10][2]=0.1;
+    rdcutsvalmine[11][2]=0.05;
+    rdcutsvalmine[12][2]=100.;
+    rdcutsvalmine[13][2]=0.5;
+    //2-3
+    rdcutsvalmine[0][3]=0.7;
+    rdcutsvalmine[1][3]=0.02;
+    rdcutsvalmine[2][3]=0.8;
+    rdcutsvalmine[3][3]=0.7;
+    rdcutsvalmine[4][3]=0.7;
+    rdcutsvalmine[5][3]=0.08;
+    rdcutsvalmine[6][3]=0.08;
+    rdcutsvalmine[7][3]=-0.00016;
+    rdcutsvalmine[8][3]=0.90;
+    rdcutsvalmine[9][3]=0.3;
+    rdcutsvalmine[10][3]=0.1;
+    rdcutsvalmine[11][3]=0.05;
+    rdcutsvalmine[12][3]=100.;
+    rdcutsvalmine[13][3]=0.5;
+    //3-4
+    rdcutsvalmine[0][4]=0.7;
+    rdcutsvalmine[1][4]=0.05;
+    rdcutsvalmine[2][4]=0.8;
+    rdcutsvalmine[3][4]=1.;
+    rdcutsvalmine[4][4]=1.;
+    rdcutsvalmine[5][4]=0.042;
+    rdcutsvalmine[6][4]=0.056;
+    rdcutsvalmine[7][4]=-0.000065;
+    rdcutsvalmine[8][4]=0.9;
+    rdcutsvalmine[9][4]=0.3;
+    rdcutsvalmine[10][4]=0.1;
+    rdcutsvalmine[11][4]=0.05;
+    rdcutsvalmine[12][4]=100.;
+    rdcutsvalmine[13][4]=0.5;
+    //4-5
+    rdcutsvalmine[0][5]=0.7;
+    rdcutsvalmine[1][5]=0.08;
+    rdcutsvalmine[2][5]=0.9;
+    rdcutsvalmine[3][5]=1.2;
+    rdcutsvalmine[4][5]=1.2;
+    rdcutsvalmine[5][5]=0.07;
+    rdcutsvalmine[6][5]=0.07;
+    rdcutsvalmine[7][5]=0.0001;
+    rdcutsvalmine[8][5]=0.9;
+    rdcutsvalmine[9][5]=0.3;
+    rdcutsvalmine[10][5]=0.1;
+    rdcutsvalmine[11][5]=0.05;
+    rdcutsvalmine[12][5]=100.;
+    rdcutsvalmine[13][5]=0.5;
+    //5-6
+    rdcutsvalmine[0][6]=0.7;
+    rdcutsvalmine[1][6]=0.1;
+    rdcutsvalmine[2][6]=1.0;
+    rdcutsvalmine[3][6]=1.;
+    rdcutsvalmine[4][6]=1.;
+    rdcutsvalmine[5][6]=0.08;
+    rdcutsvalmine[6][6]=0.08;
+    rdcutsvalmine[7][6]=0.0005;
+    rdcutsvalmine[8][6]=0.8;
+    rdcutsvalmine[9][6]=0.3;
+    rdcutsvalmine[10][6]=0.1;
+    rdcutsvalmine[11][6]=0.05;
+    rdcutsvalmine[12][6]=100000.;
+    rdcutsvalmine[13][6]=0.5;
+    //6-8
+    rdcutsvalmine[0][7]=0.7;
+    rdcutsvalmine[1][7]=0.1;
+    rdcutsvalmine[2][7]=1.0;
+    rdcutsvalmine[3][7]=1.;
+    rdcutsvalmine[4][7]=1.;
+    rdcutsvalmine[5][7]=0.1;
+    rdcutsvalmine[6][7]=0.1;
+    rdcutsvalmine[7][7]=0.001;
+    rdcutsvalmine[8][7]=0.7;
+    rdcutsvalmine[9][7]=0.3;
+    rdcutsvalmine[10][7]=0.1;
+    rdcutsvalmine[11][7]=0.05;
+    rdcutsvalmine[12][7]=100.;
+    rdcutsvalmine[13][7]=0.5;
+    //8-12
+    rdcutsvalmine[0][8]=0.7;
+    rdcutsvalmine[1][8]=0.1;
+    rdcutsvalmine[2][8]=1.0;
+    rdcutsvalmine[3][8]=1.;
+    rdcutsvalmine[4][8]=1.;
+    rdcutsvalmine[5][8]=0.1;
+    rdcutsvalmine[6][8]=0.1;
+    rdcutsvalmine[7][8]=0.006;
+    rdcutsvalmine[8][8]=0.7;
+    rdcutsvalmine[9][8]=0.3;
+    rdcutsvalmine[10][8]=0.1;
+    rdcutsvalmine[11][8]=0.05;
+    rdcutsvalmine[12][8]=100.;
+    rdcutsvalmine[13][8]=0.5;
+    //12-16
+    rdcutsvalmine[0][9]=0.7;
+    rdcutsvalmine[1][9]=0.1;
+    rdcutsvalmine[2][9]=1.0;
+    rdcutsvalmine[3][9]=0.3;
+    rdcutsvalmine[4][9]=0.3;
+    rdcutsvalmine[5][9]=0.15;
+    rdcutsvalmine[6][9]=0.15;
+    rdcutsvalmine[7][9]=0.01;
+    rdcutsvalmine[8][9]=0.7;
+    rdcutsvalmine[9][9]=0.3;
+    rdcutsvalmine[10][9]=0.1;
+    rdcutsvalmine[11][9]=0.05;
+    rdcutsvalmine[12][9]=100.;
+    rdcutsvalmine[13][9]=0.5;
+    //16-20
+    rdcutsvalmine[0][10]=0.7;
+    rdcutsvalmine[1][10]=0.2;
+    rdcutsvalmine[2][10]=1.0;
+    rdcutsvalmine[3][10]=.3;
+    rdcutsvalmine[4][10]=.3;
+    rdcutsvalmine[5][10]=0.15;
+    rdcutsvalmine[6][10]=0.15;
+    rdcutsvalmine[7][10]=0.01;
+    rdcutsvalmine[8][10]=0.7;
+    rdcutsvalmine[9][10]=0.3;
+    rdcutsvalmine[10][10]=0.1;
+    rdcutsvalmine[11][10]=0.05;
+    rdcutsvalmine[12][10]=100.;
+    rdcutsvalmine[13][10]=0.5;
+    //20-24
+    rdcutsvalmine[0][11]=0.7;
+    rdcutsvalmine[1][11]=0.2;
+    rdcutsvalmine[2][11]=1.0;
+    rdcutsvalmine[3][11]=.3;
+    rdcutsvalmine[4][11]=.3;
+    rdcutsvalmine[5][11]=0.15;
+    rdcutsvalmine[6][11]=0.15;
+    rdcutsvalmine[7][11]=0.01;
+    rdcutsvalmine[8][11]=0.7;
+    rdcutsvalmine[9][11]=0.3;
+    rdcutsvalmine[10][11]=0.1;
+    rdcutsvalmine[11][11]=0.05;
+    rdcutsvalmine[12][11]=100.;
+    rdcutsvalmine[13][11]=0.5;
+    //>25
+    rdcutsvalmine[0][12]=0.7;
+    rdcutsvalmine[1][12]=0.6;
+    rdcutsvalmine[2][12]=1.0;
+    rdcutsvalmine[3][12]=.4;
+    rdcutsvalmine[4][12]=.4;
+    rdcutsvalmine[5][12]=0.5;
+    rdcutsvalmine[6][12]=0.5;
+    rdcutsvalmine[7][12]=0.1;
+    rdcutsvalmine[8][12]=0.7;
+    rdcutsvalmine[9][12]=0.3;
+    rdcutsvalmine[10][12]=0.1;
+    rdcutsvalmine[11][12]=0.05;
+    rdcutsvalmine[12][12]=100.;
+    rdcutsvalmine[13][12]=0.5;
+  }
+  if(set_cuts=="heidelberg"){
+
+    //0-0.5
+    rdcutsvalmine[0][0]=0.7;
+    rdcutsvalmine[1][0]=0.03;
+    rdcutsvalmine[2][0]=0.7;
+    rdcutsvalmine[3][0]=0.8;
+    rdcutsvalmine[4][0]=0.8;
+    rdcutsvalmine[5][0]=0.1;
+    rdcutsvalmine[6][0]=0.1;
+    rdcutsvalmine[7][0]=-0.00002;
+    rdcutsvalmine[8][0]=0.9;
+    rdcutsvalmine[9][0]=0.3;
+    rdcutsvalmine[10][0]=0.1;
+    rdcutsvalmine[11][0]=0.05;
+    rdcutsvalmine[12][0]=100.;
+    rdcutsvalmine[13][0]=0.5;
+    //0.5-1
+    rdcutsvalmine[0][1]=0.7;
+    rdcutsvalmine[1][1]=0.03;
+    rdcutsvalmine[2][1]=0.7;
+    rdcutsvalmine[3][1]=0.8;
+    rdcutsvalmine[4][1]=0.8;
+    rdcutsvalmine[5][1]=0.1;
+    rdcutsvalmine[6][1]=0.1;
+    rdcutsvalmine[7][1]=-0.00002;
+    rdcutsvalmine[8][1]=0.9;
+    rdcutsvalmine[9][1]=0.3;
+    rdcutsvalmine[10][1]=0.1;
+    rdcutsvalmine[11][1]=0.05;
+    rdcutsvalmine[12][1]=100.;
+    rdcutsvalmine[13][1]=0.5;
+
+    //1-2
+    rdcutsvalmine[0][2]=0.7;
+    rdcutsvalmine[1][2]=0.03;
+    rdcutsvalmine[2][2]=0.7;
+    rdcutsvalmine[3][2]=0.8;
+    rdcutsvalmine[4][2]=0.8;
+    rdcutsvalmine[5][2]=0.1;
+    rdcutsvalmine[6][2]=0.1;
+    rdcutsvalmine[7][2]=-0.00002;
+    rdcutsvalmine[8][2]=0.9;
+    rdcutsvalmine[9][2]=0.3;
+    rdcutsvalmine[10][2]=0.1;
+    rdcutsvalmine[11][2]=0.05;
+    rdcutsvalmine[12][2]=100.;
+    rdcutsvalmine[13][2]=0.5;
+    //2-3
+    rdcutsvalmine[0][3]=0.7;
+    rdcutsvalmine[1][3]=0.03;
+    rdcutsvalmine[2][3]=0.7;
+    rdcutsvalmine[3][3]=0.8;
+    rdcutsvalmine[4][3]=0.8;
+    rdcutsvalmine[5][3]=0.1;
+    rdcutsvalmine[6][3]=0.1;
+    rdcutsvalmine[7][3]=-0.00002;
+    rdcutsvalmine[8][3]=0.9;
+    rdcutsvalmine[9][3]=0.3;
+    rdcutsvalmine[10][3]=0.1;
+    rdcutsvalmine[11][3]=0.05;
+    rdcutsvalmine[12][3]=100.;
+    rdcutsvalmine[13][3]=0.5;
+    //3-4
+    rdcutsvalmine[0][4]=0.7;
+    rdcutsvalmine[1][4]=0.03;
+    rdcutsvalmine[2][4]=0.7;
+    rdcutsvalmine[3][4]=0.9;
+    rdcutsvalmine[4][4]=0.9;
+    rdcutsvalmine[5][4]=0.1;
+    rdcutsvalmine[6][4]=0.1;
+    rdcutsvalmine[7][4]=0.000002;
+    rdcutsvalmine[8][4]=0.8;
+    rdcutsvalmine[9][4]=0.3;
+    rdcutsvalmine[10][4]=0.1;
+    rdcutsvalmine[11][4]=0.05;
+    rdcutsvalmine[12][4]=100.;
+    rdcutsvalmine[13][4]=0.5;
+    //4-5
+    rdcutsvalmine[0][5]=0.7;
+    rdcutsvalmine[1][5]=0.03;
+    rdcutsvalmine[2][5]=0.7;
+    rdcutsvalmine[3][5]=0.9;
+    rdcutsvalmine[4][5]=0.9;
+    rdcutsvalmine[5][5]=0.1;
+    rdcutsvalmine[6][5]=0.1;
+    rdcutsvalmine[7][5]=0.000002;
+    rdcutsvalmine[8][5]=0.8;
+    rdcutsvalmine[9][5]=0.3;
+    rdcutsvalmine[10][5]=0.1;
+    rdcutsvalmine[11][5]=0.05;
+    rdcutsvalmine[12][5]=100.;
+    rdcutsvalmine[13][5]=0.5;
+    //5-6
+    rdcutsvalmine[0][6]=0.7;
+    rdcutsvalmine[1][6]=0.03;
+    rdcutsvalmine[2][6]=0.7;
+    rdcutsvalmine[3][6]=1.0;
+    rdcutsvalmine[4][6]=1.0;
+    rdcutsvalmine[5][6]=0.1;
+    rdcutsvalmine[6][6]=0.1;
+    rdcutsvalmine[7][6]=0.000002;
+    rdcutsvalmine[8][6]=0.8;
+    rdcutsvalmine[9][6]=0.3;
+    rdcutsvalmine[10][6]=0.1;
+    rdcutsvalmine[11][6]=0.05;
+    rdcutsvalmine[12][6]=100.;
+    rdcutsvalmine[13][6]=0.5;
+    //6-8
+    rdcutsvalmine[0][7]=0.7;
+    rdcutsvalmine[1][7]=0.03;
+    rdcutsvalmine[2][7]=0.7;
+    rdcutsvalmine[3][7]=1.0;
+    rdcutsvalmine[4][7]=1.0;
+    rdcutsvalmine[5][7]=0.1;
+    rdcutsvalmine[6][7]=0.1;
+    rdcutsvalmine[7][7]=0.000002;
+    rdcutsvalmine[8][7]=0.8;
+    rdcutsvalmine[9][7]=0.3;
+    rdcutsvalmine[10][7]=0.1;
+    rdcutsvalmine[11][7]=0.05;
+    rdcutsvalmine[12][7]=100.;
+    rdcutsvalmine[13][7]=0.5;
+    //8-12
+    rdcutsvalmine[0][8]=0.7;
+    rdcutsvalmine[1][8]=0.03;
+    rdcutsvalmine[2][8]=0.7;
+    rdcutsvalmine[3][8]=1.0;
+    rdcutsvalmine[4][8]=1.0;
+    rdcutsvalmine[5][8]=0.1;
+    rdcutsvalmine[6][8]=0.1;
+    rdcutsvalmine[7][8]=0.000002;
+    rdcutsvalmine[8][8]=0.8;
+    rdcutsvalmine[9][8]=0.3;
+    rdcutsvalmine[10][8]=0.1;
+    rdcutsvalmine[11][8]=0.05;
+    rdcutsvalmine[12][8]=100.;
+    rdcutsvalmine[13][8]=0.5;
+    //12-16
+    rdcutsvalmine[0][9]=0.7;
+    rdcutsvalmine[1][9]=0.03;
+    rdcutsvalmine[2][9]=0.7;
+    rdcutsvalmine[3][9]=1.0;
+    rdcutsvalmine[4][9]=1.0;
+    rdcutsvalmine[5][9]=0.1;
+    rdcutsvalmine[6][9]=0.1;
+    rdcutsvalmine[7][9]=0.000002;
+    rdcutsvalmine[8][9]=0.8;
+    rdcutsvalmine[9][9]=0.3;
+    rdcutsvalmine[10][9]=0.1;
+    rdcutsvalmine[11][9]=0.05;
+    rdcutsvalmine[12][9]=100.;
+    rdcutsvalmine[13][9]=0.5;
+    //16-20
+    rdcutsvalmine[0][10]=0.7;
+    rdcutsvalmine[1][10]=0.03;
+    rdcutsvalmine[2][10]=0.7;
+    rdcutsvalmine[3][10]=1.0;
+    rdcutsvalmine[4][10]=1.0;
+    rdcutsvalmine[5][10]=0.1;
+    rdcutsvalmine[6][10]=0.1;
+    rdcutsvalmine[7][10]=0.000002;
+    rdcutsvalmine[8][10]=0.8;
+    rdcutsvalmine[9][10]=0.3;
+    rdcutsvalmine[10][10]=0.1;
+    rdcutsvalmine[11][10]=0.05;
+    rdcutsvalmine[12][10]=100.;
+    rdcutsvalmine[13][10]=0.5;
+    //20-24
+    rdcutsvalmine[0][11]=0.7;
+    rdcutsvalmine[1][11]=0.03;
+    rdcutsvalmine[2][11]=0.7;
+    rdcutsvalmine[3][11]=1.0;
+    rdcutsvalmine[4][11]=1.0;
+    rdcutsvalmine[5][11]=0.1;
+    rdcutsvalmine[6][11]=0.1;
+    rdcutsvalmine[7][11]=0.000002;
+    rdcutsvalmine[8][11]=0.8;
+    rdcutsvalmine[9][11]=0.3;
+    rdcutsvalmine[10][11]=0.1;
+    rdcutsvalmine[11][11]=0.05;
+    rdcutsvalmine[12][11]=100.;
+    rdcutsvalmine[13][11]=0.5;
+    //>24
+    rdcutsvalmine[0][12]=0.7;
+    rdcutsvalmine[1][12]=0.03;
+    rdcutsvalmine[2][12]=0.7;
+    rdcutsvalmine[3][12]=1.0;
+    rdcutsvalmine[4][12]=1.0;
+    rdcutsvalmine[5][12]=0.1;
+    rdcutsvalmine[6][12]=0.1;
+    rdcutsvalmine[7][12]=0.000002;
+    rdcutsvalmine[8][12]=0.8;
+    rdcutsvalmine[9][12]=0.3;
+    rdcutsvalmine[10][12]=0.1;
+    rdcutsvalmine[11][12]=0.05;
+    rdcutsvalmine[12][12]=100.;
+    rdcutsvalmine[13][12]=0.5;
+  }
 
   RDHFDStartoKpipi->SetCuts(nvars,nptbins,rdcutsvalmine);
+
+  Bool_t pidflag=kFALSE;
+  RDHFDStartoKpipi->SetUsePID(pidflag);
+  if(pidflag) cout<<"PID is used"<<endl;
+  else cout<<"PID is not used"<<endl;
+
+  // PID SETTINGS
+  AliAODPidHF* pidObj=new AliAODPidHF();
+  // pidObj->SetName("pid4DSatr");
+  Int_t mode=1;
+  Double_t priors[5]={0.01,0.001,0.3,0.3,0.3};
+  pidObj->SetPriors(priors);
+  pidObj->SetMatch(mode);
+  pidObj->SetSigma(0,2); // TPC
+  pidObj->SetSigma(3,3); // TOF
+  pidObj->SetTPC(kTRUE);
+  pidObj->SetTOF(kTRUE);
+  RDHFDStartoKpipi->SetPidHF(pidObj);
+
+  //activate pileup rejection
+  RDHFDStartoKpipi->SetOptPileup(AliRDHFCuts::kRejectPileupEvent);
+
   RDHFDStartoKpipi->PrintAll();
 
   TFile* fout=new TFile("DStartoKpipiCuts.root","recreate");   //set this!! 
@@ -306,7 +525,7 @@ void makeInputAliAnalysisTaskSEDstarSignificanceMaximization(){
   
   esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
   esdTrackCuts->SetMinDCAToVertexXY(0.);
-  esdTrackCuts->SetEtaRange(-0.9,0.9);
+  esdTrackCuts->SetEtaRange(-0.8,0.8);
   esdTrackCuts->SetPtRange(0.1,1.e10);
   
  // soft pion pre-selections