#include "AliRsnCutTrackQuality.h"
#include "AliRsnCutPIDNSigma.h"
#include "AliRsnCutTOFMatch.h"
+#include "AliRsnCutPhi.h"
class AliRsnCutSetDaughterParticle : public AliRsnCutSet {
public:
- enum ERsnDaughterCutSet {
- kNoCuts,
- kQualityStd2010,
- kQualityStd2011,
- kTOFMatch,
- kFastTPCpidNsigma,
- kFastTOFpidNsigma,
- kTPCTOFpidKstarPP2010,
- kTOFpidKstarPbPb2010,
- kTOFTPCmismatchKstarPbPb2010,
- kNDaughterCuts
- };
+ enum ERsnDaughterCutSet {
+ kNoCuts,
+ kQualityStd2010,//quality only
+ kQualityStd2011,
+ kQualityStd2011HighPt,
+ kTOFMatch,
+ kFastTPCpidNsigma, //PbPb analysis
+ kFastTOFpidNsigma,
+ kTPCTOFpidKstarPP2010,
+ kTOFpidKstarPbPb2010,
+ kTOFTPCmismatchKstarPbPb2010,
+ kTOFMatchTRD2010,
+ kTOFMatchNoTRD2010,
+ kTOFpidKstarPbPbTRD2010,
+ kTOFpidKstarPbPbNoTRD2010,
+ kTOFMatchTPCpidNsigma,
+ kQualityStd2010TRD,
+ kQualityStd2010NoTRD,
+ kTOFMatchPPB2011, //pA analysis
+ kTPCpidKstarPPB2011,
+ kTOFpidKstarPPB2011,
+ kTPCTOFpidKstarPPB2011,
+ kTPCTOFtightPidKStarPPB2011, //TPC 2.0 (3.0) sigma pid & TOF at 3.0 (5.0) sigma
+ kTPCpidMatchPPB2011, //Match with nsigma = fNsigmaTPC
+ kTPCpidTOFveto4s, //TPC n sigma + 4.0 sigma TOF veto
+ kTPCpidTOFveto3s, //TPC n sigma + 3.0 sigma TOF veto
+ kCombinedPidBestPtDep,
+ kTPCPidPtDep,
+ kTOFPidPtDep,
+ kTPCRejPtDepTOFNsigma,
+ kTPCNsigmaTOFVetoPtDep,
+ kTPCTOFpidLstar,//cuts for L* in pA
+ kNDaughterCuts
+ };
+ enum ECustomQualityCuts {
+ kDisableCustom = -1,
+ kFilterBitCustom,
+ kStdLooserDCAXY,
+ kStdLooserDCAZ,
+ kStdCrossedRows60,
+ kStdCrossedRows80,
+ kStdRowsToCls075,
+ kStdRowsToCls085,
+ kStdCls70,
+ kStdChi2TPCCls35,
+ kStdUseTPCNcls,
+ kNcustomQualityCuts
+ };
+
AliRsnCutSetDaughterParticle();
AliRsnCutSetDaughterParticle(const char *name,
AliRsnCutSetDaughterParticle::ERsnDaughterCutSet cutSetID,
AliPID::EParticleType pid,
Float_t nsigmaFast,
- Int_t AODfilterBit);
+ Int_t AODfilterBit,
+ Bool_t useTPCCrossedRows);
+ AliRsnCutSetDaughterParticle(const char *name,
+ AliRsnCutTrackQuality *rsnTrackQualityCut,
+ AliRsnCutSetDaughterParticle::ERsnDaughterCutSet cutSetID,
+ AliPID::EParticleType pid,
+ Float_t nSigmaFast);
AliRsnCutSetDaughterParticle(const AliRsnCutSetDaughterParticle ©);
AliRsnCutSetDaughterParticle &operator=(const AliRsnCutSetDaughterParticle ©);
virtual ~AliRsnCutSetDaughterParticle();
void Init();
+ void InitStdQualityCuts(Bool_t useTPCCrossedRows=kTRUE);
void SetNsigmaForFastTPCpid(Float_t nsigma) {fNsigmaTPC=nsigma; return;};
void SetNsigmaForFastTOFpid(Float_t nsigma) {fNsigmaTOF=nsigma; return;};
void SetAODTrackCutFilterBit(Int_t ibit) {fAODTrkCutFilterBit=ibit; return;}
+ void SetUseFilterBitOnly(Bool_t useFilterBitOnly=kTRUE) {fCheckOnlyFilterBit=useFilterBitOnly; return;}
+ void EnableCustomCuts(Bool_t useCustom=kFALSE) {fUseCustomQualityCuts=useCustom; return;}
+ void SetPtRange(Double_t a, Double_t b) {fPtRange[0] = TMath::Min(a, b); fPtRange[1] = TMath::Max(a, b); return;}
+ void SetEtaRange(Double_t a, Double_t b) {fEtaRange[0] = TMath::Min(a, b); fEtaRange[1] = TMath::Max(a, b); return;}
+ void SetUse2011StdQualityCuts(Bool_t use2011=kFALSE) {fIsUse2011stdQualityCuts=use2011; return;}
+ void SetUse2011StdQualityCutsHighPt(Bool_t use2011HighPt=kFALSE) {fIsUse2011stdQualityCutsHighPt=use2011HighPt; return;}
//getters
const char *GetAppliedDaughterCutSetName() { return GetName();}
- Int_t GetAppliedDaughterCutSetId() { return fAppliedCutSetID;}
+ Int_t GetAppliedDaughterCutSetId() { return fAppliedCutSetID;}
const AliRsnCutTrackQuality *GetQualityCut() {return fCutQuality;};
+ void PrintTrackQualityCuts();
-private:
-
+ private:
+
AliPID::EParticleType fPID; // PID for track
AliRsnCutSetDaughterParticle::ERsnDaughterCutSet fAppliedCutSetID; // ID of applied cut
Float_t fNsigmaTPC; // number of TPC sigmas for fast pid cut only
Float_t fNsigmaTOF; // number of TOF sigmas for fast pid cut only
AliRsnCutTrackQuality *fCutQuality; //pointer to quality cut object
Int_t fAODTrkCutFilterBit; //AOD filter bit for track cuts
- ClassDef(AliRsnCutSetDaughterParticle, 2) // cut definitions for K*
+ Bool_t fCheckOnlyFilterBit; //flag to use only filter bit cut
+ Bool_t fUseCustomQualityCuts; //flag to enable the usage of custom quality cuts
+ Float_t fPtRange[2]; //single track pt range (min, max)
+ Float_t fEtaRange[2]; //single track eta range (min, max)
+ Bool_t fIsUse2011stdQualityCuts;//flag to enalble std quality cuts 2011
+ Bool_t fIsUse2011stdQualityCutsHighPt;//flag to enalble std quality cuts 2011
+
+ ClassDef(AliRsnCutSetDaughterParticle, 5) // cut definitions for K*
};
#endif
+