#ifndef ALIAODPIDHF_H #define ALIAODPIDHF_H /* Copyright(c) 1998-2006, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ /* $Id$ */ //*********************************************************** //// Class AliAODPidHF //// class for PID with AliAODRecoDecayHF //// Authors: D. Caffarri caffarri@pd.infn.it, A.Dainese andrea.dainese@pd.infn.it, S. Dash dash@to.infn.it, F. Prino prino@to.infn.it, R. Romita r.romita@gsi.de, Y. Wang yifei@pi0.physi.uni-heidelberg.de ////*********************************************************** #include #include #include #include "AliAODTrack.h" #include "AliPIDResponse.h" #include "AliPIDCombined.h" #include "AliPID.h" class AliAODPidHF : public TObject{ public: enum ECombDetectors { kTPC, kTOF, kTPCTOF, kTPCITS, kTPCAndTOF }; AliAODPidHF(); AliAODPidHF(const AliAODPidHF& pid); AliAODPidHF& operator=(const AliAODPidHF& pid); virtual ~AliAODPidHF(); //Setters void SetSigma(Double_t *sigma){ for(Int_t i=0; iSetSelectedSpecies(ispecies);}; void SetPriorDistribution(AliPID::EParticleType type,TH1F *prior); void DrawPrior(AliPID::EParticleType type); void SetPriorsHistos(TString priorFileName); void SetUpCombinedPID(); void SetUseCombined(Bool_t useCombined=kTRUE) {fUseCombined=useCombined;} void SetUseDefaultPriors(Bool_t defaultP) {fDefaultPriors=defaultP;} Int_t ApplyPidTPCRaw(AliAODTrack *track,Int_t specie) const; Int_t ApplyPidTOFRaw(AliAODTrack *track,Int_t specie) const; Int_t ApplyPidITSRaw(AliAODTrack *track,Int_t specie) const; Int_t ApplyTOFCompatibilityBand(AliAODTrack *track,Int_t specie) const; void PrintAll() const; protected: private: Int_t fnNSigma; // number of sigmas Double_t *fnSigma; // [fnNSigma], sigma for the raw signal PID: 0-2 for TPC, 3 for TOF, 4 for ITS Double_t fTOFSigma; // TOF precision Double_t fCutTOFmismatch; // Cut of TOF mismatch probability UInt_t fMinNClustersTPCPID; // Minimum TPC PID clusters cut Int_t fnPriors; //number of priors Double_t *fPriors; // [fnPriors], set of priors Int_t fnPLimit; //number of Plimit Double_t *fPLimit; // [fnPLimit], limit of p intervals for asimmetric PID: fPLimitfPLimit[1] Bool_t fAsym; // asimmetric PID required Bool_t fTPC; //switch to include or exclude TPC Bool_t fTOF; // switch to include or exclude TOF Bool_t fITS; //switch to include or exclude ITS Bool_t fTRD; // switch to include or exclude TRD Int_t fMatch; //switch to combine the info from more detectors: 1 = || , 2 = &, 3 = p region Bool_t fCompat; // compatibility region : useful only if fMatch=1 Double_t fPCompatTOF; // compatibility p limit for TOF Bool_t fUseAsymTOF; // flag for using asymmetrig nSigmaCut in TOF for fMatch==1 Double_t fLownSigmaTOF; // lower nsigma TOF (for fUseAsymTOF) Double_t fUpnSigmaTOF; // upper nsigma TOF (for fUseAsymTOF) Double_t fLownSigmaCompatTOF; // lower nsigma TOF (for fUseAsymTOF) Double_t fUpnSigmaCompatTOF; // upper nsigma TOF (for fUseAsymTOF) Int_t fnNSigmaCompat; // number of sigmas Double_t *fnSigmaCompat; //[fnNSigmaCompat] 0: n sigma for TPC compatibility band, 1: for TOF Double_t fMaxnSigmaCombined[3]; // nSigma cut for pi,K,p (TPC^2+TOF^2) Double_t fMinnSigmaTPC[3]; //min. of nSigma range for pi,K,p in TPC (match==5) Double_t fMaxnSigmaTPC[3]; //max. of nSigma range for pi,K,p in TPC (match==5) Double_t fMinnSigmaTOF[3]; //min. of nSigma range for pi,K,p in TOF (match==5) Double_t fMaxnSigmaTOF[3]; //max. of nSigma range for pi,K,p in TOF (match==5) Bool_t fMC; // MC(kTRUE) or real data (kFALSE, default option) Bool_t fOnePad; // real data with one pad clusters Bool_t fMCLowEn2011; // MC for low energy MC Bool_t fppLowEn2011; // Data for low energy pp 2011 Bool_t fPbPb; // real data PbPb Bool_t fTOFdecide; // real data PbPb Bool_t fOldPid; // old PID method implemented Double_t fPtThresholdTPC; // pT threshold to use TPC PID Double_t fMaxTrackMomForCombinedPID; // momentum threshold to use PID AliPIDResponse *fPidResponse; //! pid response AliPIDCombined* fPidCombined; //! combined PID object AliTPCPIDResponse* fTPCResponse; //! TPC response TH1F* fPriorsH[AliPID::kSPECIES]; // priors histos ECombDetectors fCombDetectors; // detectors to be involved for combined PID Bool_t fUseCombined; // detectors to be involved for combined PID Bool_t fDefaultPriors; // use default priors for combined PID ClassDef(AliAODPidHF,22) // AliAODPid for heavy flavor PID }; #endif