#include "AliAODVertex.h"
#include "AliESDVertex.h"
+using std::cout;
+using std::endl;
+
ClassImp(AliRDHFCutsDStartoKpipi)
//--------------------------------------------------------------------------
AliRDHFCutsDStartoKpipi::AliRDHFCutsDStartoKpipi(const char* name) :
AliRDHFCuts(name),
fTrackCutsSoftPi(0),
- fMaxPtPid(9999.)
+ fMaxPtPid(9999.),
+ fTPCflag(999.)
{
//
// Default Constructor
AliRDHFCutsDStartoKpipi::AliRDHFCutsDStartoKpipi(const AliRDHFCutsDStartoKpipi &source) :
AliRDHFCuts(source),
fTrackCutsSoftPi(0),
- fMaxPtPid(9999.)
+ fMaxPtPid(9999.),
+ fTPCflag(999.)
{
//
// Copy constructor
//
// Apply selection for D*.
//
+
+ fIsSelectedCuts=0;
+ fIsSelectedPID=0;
+
if(!fCutsRD){
cout<<"Cut matrice not inizialized. Exit..."<<endl;
return 0;
return 0;
}
- if(dd->HasBadDaughters()) return 0;
+ if(fUseTrackSelectionWithFilterBits && dd->HasBadDaughters()) return 0;
AliAODTrack *b = (AliAODTrack*)d->GetBachelor();
if(fTrackCutsSoftPi && fTrackCutsSoftPi->GetRequireTPCRefit()){
}
+ fIsSelectedCuts = returnvalue;
+
// selection on PID
if(selectionLevel==AliRDHFCuts::kAll ||
selectionLevel==AliRDHFCuts::kCandidate ||
selectionLevel==AliRDHFCuts::kPID) {
returnvaluePID = IsSelectedPID(d);
+ fIsSelectedPID = returnvaluePID;
}
if(returnvaluePID!=3) returnvalue =0;
// 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));
if(type==3) isTOF=fPidHF->IsKaonRaw(track,"TOF");
}
}
+
+ //--------------------------------
+ // cut on high momentum in the TPC
+ //--------------------------------
+ Double_t pPIDcut = track->P();
+ if(pPIDcut>fTPCflag) isTPC=1;
+
isParticle = isTPC&&isTOF;
}
Double_t prob[5]={1.,1.,1.,1.,1.};
//fPidHF->SetPriors(priors);
- fPidHF->BayesianProbability(track,prob);
+ // fPidHF->BayesianProbability(track,prob);
Double_t max=0.;
Int_t k=-1;
isParticle = Bool_t(k==type);
}
+
return isParticle;
}