18 #include "AliAODTrack.h" 19 #include "AliPIDResponse.h" 20 #include "AliPIDCombined.h" 117 fPriorsH[AliPID::kPion] =
new TH1F(*histo);
121 fPriorsH[AliPID::kKaon] =
new TH1F(*histo);
197 void DrawPrior(AliPID::EParticleType type);
210 void SetIdBand(AliPID::EParticleType specie, AliPIDResponse::EDetector detector, TH1F *min, TH1F *max);
211 void SetIdBand(AliPID::EParticleType specie, AliPIDResponse::EDetector detector, TF1 *min, TF1 *max);
212 void SetCompBand(AliPID::EParticleType specie, AliPIDResponse::EDetector detector, TH1F *min, TH1F *max);
213 void SetCompBand(AliPID::EParticleType specie, AliPIDResponse::EDetector detector, TF1 *min, TF1 *max);
215 Float_t NumberOfSigmas(AliPID::EParticleType specie, AliPIDResponse::EDetector detector, AliAODTrack *track);
216 Int_t CheckBands(AliPID::EParticleType specie, AliPIDResponse::EDetector detector, AliAODTrack *track);
217 TF1 *
GetIdBandMin(AliPID::EParticleType specie, AliPIDResponse::EDetector detector) {
return fIdBandMin[((int) specie)][((int) detector)]; }
218 TF1 *
GetIdBandMax(AliPID::EParticleType specie, AliPIDResponse::EDetector detector) {
return fIdBandMax[((int) specie)][((int) detector)]; }
219 TF1 *
GetCompBandMin(AliPID::EParticleType specie, AliPIDResponse::EDetector detector) {
return fCompBandMin[((int) specie)][((int) detector)]; }
220 TF1 *
GetCompBandMax(AliPID::EParticleType specie, AliPIDResponse::EDetector detector) {
return fCompBandMax[((int) specie)][((int) detector)]; }
301 double operator() (
double *x,
double * )
const {
302 TAxis *axis = fHist->GetXaxis();
303 Int_t bin = axis->FindBin(x[0]);
304 if (x[0] == axis->GetXmax()) {
305 bin = axis->GetNbins();
307 return fHist->GetBinContent(bin);
void SetIdAsymmetricPID()
Double_t GetnSigmaCompatTOF() const
void SetTPCnSigmaRangeForKaons(Float_t smin, Float_t smax)
void SetPriorsHistos(TString priorFileName)
Int_t fnNSigmaCompat
upper nsigma TOF (for fUseAsymTOF)
void SetTOFnSigmaRangeForKaons(Float_t smin, Float_t smax)
void SetAsym(Bool_t asym)
Double_t fLownSigmaTOF
flag for using asymmetrig nSigmaCut in TOF for fMatch==1
Bool_t fppLowEn2011
MC for low energy MC.
void SetKaonPriorHisto(TH1F *histo)
Bool_t fUseCombined
detectors to be involved for combined PID
Bool_t CheckITSPIDStatus(AliAODTrack *track) const
Bool_t IsTOFPiKexcluded(AliAODTrack *track, Double_t nsigmaK)
general method to perform PID using raw signals
Double_t GetPCompatTOF() const
void GetPriors(Double_t *priors) const
Double_t fPtThresholdTPC
old PID method implemented
Int_t GetnSigmaTOF(AliAODTrack *track, Int_t species, Double_t &sigma) const
TF1 * GetCompBandMin(AliPID::EParticleType specie, AliPIDResponse::EDetector detector)
void SetForceTOFforKaons(Bool_t forceTOF)
Double_t * fPLimit
limit of p intervals for asimmetric PID: fPLimit<p[0], fPLimit[0]<p<fPLimit[1], p>fPLimit[1] ...
Int_t RawSignalPID(AliAODTrack *track, TString detector) const
void SetTPCnSigmaRangeForProtons(Float_t smin, Float_t smax)
void SetSigmaForTPC(Double_t *sigma)
Double_t GetSigma(Int_t idet) const
AliTPCPIDResponse * fTPCResponse
! TPC response
Bool_t IsKaonRaw(AliAODTrack *track, TString detector) const
Double_t fMaxnSigmaCombined[3]
Bool_t fMCLowEn2011
real data with one pad clusters
Float_t NumberOfSigmas(AliPID::EParticleType specie, AliPIDResponse::EDetector detector, AliAODTrack *track)
TF1 * GetIdBandMin(AliPID::EParticleType specie, AliPIDResponse::EDetector detector)
Int_t GetnSigmaTPC(AliAODTrack *track, Int_t species, Double_t &sigma) const
Bool_t CheckTOFPIDStatus(AliAODTrack *track) const
ECombDetectors GetCombDetectors() const
void SetSigmaForTOF(Double_t sigma)
Bool_t CheckTPCPIDStatus(AliAODTrack *track) const
void SetMClowenpp2011(Bool_t mc)
void SetPriors(Double_t *priors, Int_t npriors)
TF1 * fIdBandMax[AliPID::kSPECIES][4]
void SetPCompatTOF(Double_t pTOF)
Bool_t GetTOFdecide() const
Bool_t IsElectronRaw(AliAODTrack *track, TString detector) const
TF1 * fIdBandMin[AliPID::kSPECIES][4]
use default priors for combined PID
Bool_t fMC
max. of nSigma range for pi,K,p in TOF (match==5)
Bool_t GetppLowEn2011() const
void SetTofSigma(Double_t sigma)
void SetppLowEn2011(Bool_t opt)
Bool_t fCompat
force TOF for kaons in mode fMatch==5
void SetMinNClustersTPCPID(Int_t minc)
Bool_t fITS
switch to include or exclude TOF
Int_t ApplyPidTPCRaw(AliAODTrack *track, Int_t specie) const
Double_t fMaxnSigmaTOF[3]
min. of nSigma range for pi,K,p in TOF (match==5)
Int_t ApplyPidITSRaw(AliAODTrack *track, Int_t specie) const
void SetCompBand(AliPID::EParticleType specie, AliPIDResponse::EDetector detector, TH1F *min, TH1F *max)
Double_t GetPtThresholdTPC()
Double_t GetMaxTrackMomForCombinedPID()
TH1F * fPriorsH[AliPID::kSPECIES]
Int_t MatchTPCTOFMin(AliAODTrack *track, Int_t specie)
PID nSigma strategy closer to the Bayesian approach with Max. prob.
Double_t fMaxTrackMomForCombinedPID
pT threshold to use TPC PID
Double_t fMinnSigmaTOF[3]
max. of nSigma range for pi,K,p in TPC (match==5)
Double_t fMinnSigmaTPC[3]
nSigma cut for pi,K,p (TPC^2+TOF^2)
TF1 * fCompBandMin[AliPID::kSPECIES][4]
void SetTPCnSigmaRangeForPions(Float_t smin, Float_t smax)
TF1 * GetIdBandMax(AliPID::EParticleType specie, AliPIDResponse::EDetector detector)
Bool_t GetForceTOFforKaons() const
void SetUseCombined(Bool_t useCombined=kTRUE)
Bool_t fOnePad
MC(kTRUE) or real data (kFALSE, default option)
void SetUseDefaultPriors(Bool_t defaultP)
void SetIdBand(AliPID::EParticleType specie, AliPIDResponse::EDetector detector, TH1F *min, TH1F *max)
Assymetric PID using histograms.
void SetCombDetectors(ECombDetectors pidComb)
Int_t CheckBands(AliPID::EParticleType specie, AliPIDResponse::EDetector detector, AliAODTrack *track)
void SetTOFnSigmaRangeForProtons(Float_t smin, Float_t smax)
AliPIDResponse * fPidResponse
momentum threshold to use PID
void DrawPrior(AliPID::EParticleType type)
Double_t * fPriors
set of priors
AliPIDCombined * GetPidCombined() const
void GetTPCBetheBlochParams(Double_t alephParameters[5]) const
void SetPbPb(Bool_t pbpb)
void SetSigmaForITS(Double_t sigma)
Bool_t fOldPid
real data PbPb
void SetPtThresholdTPC(Double_t ptThresholdTPC)
void SetShiftedAsymmetricPID()
Some suggested asymmetric PID.
Bool_t fDefaultPriors
detectors to be involved for combined PID
void SetSigma(Int_t idet, Double_t sigma)
Bool_t CheckStatus(AliAODTrack *track, TString detectors) const
Double_t GetTofSigma() const
Double_t fPCompatTOF
compatibility region : useful only if fMatch=1
Bool_t IsExcluded(AliAODTrack *track, Int_t labelTrack, Double_t nsigmaCut, TString detector)
AliAODPidHF & operator=(const AliAODPidHF &pid)
Bool_t fForceTOFforKaons
switch to combine the info from more detectors: 1 = || , 2 = &, 3 = p region
void SetCombinednSigmaCutForPiKP(Float_t sigpi, Float_t sigk, Float_t sigp)
void SetPionPriorHisto(TH1F *histo)
void SetUseAsymmnSigmaTOF(Double_t nsmin, Double_t nsmax, Double_t nscompmin, Double_t nscompmax)
void GetPLimit(Double_t *plim) const
Bool_t fTOF
switch to include or exclude TPC
void SetCutOnTOFmismatchProb(Double_t cut=0.01)
Int_t MakeRawPid(AliAODTrack *track, Int_t specie)
AliPIDResponse * GetPidResponse() const
Int_t fMatch
switch to include or exclude TRD
Int_t MatchTPCTOF(AliAODTrack *track, Int_t specie)
void SetIdCompAsymmetricPID()
void SetSigma(Double_t *sigma)
void SetSigmaForTOFCompat(Double_t sigma)
void SetSigmaForTPCCompat(Double_t sigma)
void SetMaxTrackMomForCombinedPID(Double_t mom)
Bool_t GetDefaultPriors()
Int_t fnPriors
Minimum TPC PID clusters cut.
Bool_t fTOFdecide
real data PbPb
void SetProtonPriorHisto(TH1F *histo)
Int_t ApplyPidTOFRaw(AliAODTrack *track, Int_t specie) const
void SetPriorDistribution(AliPID::EParticleType type, TH1F *prior)
void SetSelectedSpecies(Int_t ispecies=AliPID::kSPECIES)
method for AliPIDCombined object
Double_t fMaxnSigmaTPC[3]
min. of nSigma range for pi,K,p in TPC (match==5)
UInt_t fMinNClustersTPCPID
Cut of TOF mismatch probability.
Double_t GetnSigmaCompatTPC() const
Double_t fLownSigmaCompatTOF
upper nsigma TOF (for fUseAsymTOF)
Int_t GetnSigmaITS(AliAODTrack *track, Int_t species, Double_t &sigma) const
AliPIDCombined * fPidCombined
! combined PID object
TF1 * GetCompBandMax(AliPID::EParticleType specie, AliPIDResponse::EDetector detector)
Bool_t IsPionRaw(AliAODTrack *track, TString detector) const
Bool_t CheckDetectorPIDStatus(AliPIDResponse::EDetector detector, AliAODTrack *track)
Int_t ApplyTOFCompatibilityBand(AliAODTrack *track, Int_t specie) const
Double_t * fnSigma
sigma for the raw signal PID: 0-2 for TPC, 3 for TOF, 4 for ITS
Bool_t fTPC
asimmetric PID required
Bool_t fUseAsymTOF
compatibility p limit for TOF
Bool_t GetMCLowEn2011() const
void SetOldPid(Bool_t oldPid)
Double_t fUpnSigmaCompatTOF
lower nsigma TOF (for fUseAsymTOF)
Bool_t fTRD
switch to include or exclude ITS
void DisableCutOnTOFmismatchProb()
void SetTOFdecide(Bool_t tOFdecide)
void SetMatch(Int_t match)
void SetPLimit(Double_t *plim, Int_t npLim)
Bool_t TPCRawAsym(AliAODTrack *track, Int_t specie) const
void SetCompat(Bool_t comp)
Bool_t fPbPb
Data for low energy pp 2011.
Double_t fUpnSigmaTOF
lower nsigma TOF (for fUseAsymTOF)
ECombDetectors fCombDetectors
priors histos
void CombinedProbability(AliAODTrack *track, Bool_t *type) const
Bool_t IsProtonRaw(AliAODTrack *track, TString detector) const
Double_t * fnSigmaCompat
0: n sigma for TPC compatibility band, 1: for TOF
Double_t fCutTOFmismatch
TOF precision.
Bool_t CheckTRDPIDStatus(AliAODTrack *track) const
void SetOnePad(Bool_t onepad)
TF1 * fCompBandMax[AliPID::kSPECIES][4]
void SetTOFnSigmaRangeForPions(Float_t smin, Float_t smax)
void SetPidResponse(AliPIDResponse *pidResp)