#ifndef ALIRDHFCUTSLCTOPKPI_H
#define ALIRDHFCUTSLCTOPKPI_H
#include "AliRDHFCuts.h"
#include "AliAODPidHF.h"
#include "AliAODRecoDecayHF3Prong.h"
class AliRDHFCutsLctopKpi : public AliRDHFCuts
{
public:
enum EPIDStrategy {
kNSigma,
kCombined,
kCombinedSoft,
kNSigmaStrong,
kCombinedpPb,
kCombinedpPb2,
kNSigmaPbPb
};
enum ECutsStrategy {
kStandard,
kKF
};
AliRDHFCutsLctopKpi(const char* name="CutsLctopKpi");
virtual ~AliRDHFCutsLctopKpi();
AliRDHFCutsLctopKpi(const AliRDHFCutsLctopKpi& source);
AliRDHFCutsLctopKpi& operator=(const AliRDHFCutsLctopKpi& source);
using AliRDHFCuts::GetCutVarsForOpt;
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters){
return GetCutVarsForOpt(d,vars,nvars,pdgdaughters,0x0);
}
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters,AliAODEvent *aod);
void SetPidpion(AliAODPidHF* pidPion) {
if(fPidObjpion) delete fPidObjpion;
fPidObjpion=new AliAODPidHF(*pidPion);
}
void SetPidprot(AliAODPidHF* pidProt) {
if(fPidObjprot) delete fPidObjprot;
fPidObjprot=new AliAODPidHF(*pidProt);
}
virtual void SetStandardCutsPP2010();
virtual void SetStandardCutsPbPb2010();
virtual void SetStandardCutsPbPb2011();
virtual void SetStandardCutsPPb2013();
AliAODPidHF* GetPidpion() const {return fPidObjpion;}
AliAODPidHF* GetPidprot() const {return fPidObjprot;}
void SetPIDStrategy(EPIDStrategy pidStrategy) {
fPIDStrategy=pidStrategy;
}
EPIDStrategy GetPIDStrategy() const {
return fPIDStrategy;
}
void SetCutsStrategy(ECutsStrategy cutsStrategy) {
fCutsStrategy=cutsStrategy;
}
ECutsStrategy GetCutsStrategy() const {
return fCutsStrategy;
}
void SetPIDThreshold(AliPID::EParticleType species,Double_t threshold) {
fPIDThreshold[static_cast<Int_t>(species)]=threshold;
}
Double_t GetPIDThreshold(AliPID::EParticleType species) const {
return fPIDThreshold[static_cast<Int_t>(species)];
}
Bool_t GetUseSpecialCut(){return fUseSpecialCut;}
void SetUseSpecialCut(Bool_t useSpecialCut=kTRUE){fUseSpecialCut=useSpecialCut;}
using AliRDHFCuts::IsSelected;
virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel)
{return IsSelected(obj,selectionLevel,0);}
virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel,AliAODEvent *aod);
using AliRDHFCuts::IsSelectedPID;
virtual Int_t IsSelectedPID(AliAODRecoDecayHF* obj);
Int_t IsSelectedCombinedPID(AliAODRecoDecayHF* obj);
Int_t IsSelectedCombinedPIDSoft(AliAODRecoDecayHF* obj);
Int_t IsSelectedCombinedPIDpPb(AliAODRecoDecayHF* obj);
Int_t IsSelectedCombinedPIDpPb2(AliAODRecoDecayHF* obj);
Int_t IsSelectedPIDStrong(AliAODRecoDecayHF* obj);
Int_t IsSelectedNSigmaPbPb(AliAODRecoDecayHF* obj);
Int_t CombinePIDCuts (Int_t returnvalue, Int_t returnvaluePID) const;
virtual Bool_t IsInFiducialAcceptance(Double_t pt,Double_t y) const;
Float_t GetMassCut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(0,iPtBin)] : 1.e6);}
Float_t GetDCACut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(11,iPtBin)] : 1.e6);}
void SetUseImpParProdCorrCut(Bool_t use){
fUseImpParProdCorrCut=use;
}
Bool_t GetUseImpParProdCorrCut() const {
return fUseImpParProdCorrCut;
}
AliKFParticle* ReconstructKF(AliAODRecoDecayHF3Prong *d,Int_t *pdgs,Double_t field,Bool_t constraint) const;
protected:
AliAODPidHF *fPidObjprot;
AliAODPidHF *fPidObjpion;
Bool_t fUseImpParProdCorrCut;
private:
EPIDStrategy fPIDStrategy;
Double_t fPIDThreshold[AliPID::kSPECIES];
ECutsStrategy fCutsStrategy;
Bool_t fUseSpecialCut;
ClassDef(AliRDHFCutsLctopKpi,9);
};
#endif
AliRDHFCutsLctopKpi.h:100 AliRDHFCutsLctopKpi.h:101 AliRDHFCutsLctopKpi.h:102 AliRDHFCutsLctopKpi.h:103 AliRDHFCutsLctopKpi.h:104 AliRDHFCutsLctopKpi.h:105 AliRDHFCutsLctopKpi.h:106 AliRDHFCutsLctopKpi.h:107 AliRDHFCutsLctopKpi.h:108 AliRDHFCutsLctopKpi.h:109 AliRDHFCutsLctopKpi.h:110 AliRDHFCutsLctopKpi.h:111 AliRDHFCutsLctopKpi.h:112 AliRDHFCutsLctopKpi.h:113 AliRDHFCutsLctopKpi.h:114 AliRDHFCutsLctopKpi.h:115 AliRDHFCutsLctopKpi.h:116 AliRDHFCutsLctopKpi.h:117 AliRDHFCutsLctopKpi.h:118 AliRDHFCutsLctopKpi.h:119 AliRDHFCutsLctopKpi.h:120 AliRDHFCutsLctopKpi.h:121 AliRDHFCutsLctopKpi.h:122 AliRDHFCutsLctopKpi.h:123 AliRDHFCutsLctopKpi.h:124 AliRDHFCutsLctopKpi.h:125 AliRDHFCutsLctopKpi.h:126 AliRDHFCutsLctopKpi.h:127 AliRDHFCutsLctopKpi.h:128 AliRDHFCutsLctopKpi.h:129 AliRDHFCutsLctopKpi.h:130 AliRDHFCutsLctopKpi.h:131