#ifndef ALIHFEPIDOBJECT_H
#define ALIHFEPIDOBJECT_H
#include <Rtypes.h>
class AliVTrack;
class AliVParticle;
class AliHFEpidObject{
public:
enum AnalysisType_t{
kESDanalysis,
kAODanalysis
};
AliHFEpidObject():
fkRecTrack(NULL),
fAnalysisType(kESDanalysis),
fAbInitioPID(-1),
fCentrality(99),
fMultiplicity(0),
fCorrTPCnSigma(0),
fIsPbPb(kFALSE),
fIspPb(kFALSE),
fHasCorrTPCnSigma(kFALSE)
{
}
AliHFEpidObject(const AliHFEpidObject &ref):
fkRecTrack(ref.fkRecTrack),
fAnalysisType(ref.fAnalysisType),
fAbInitioPID(ref.fAbInitioPID),
fCentrality(ref.fCentrality),
fMultiplicity(ref.fMultiplicity),
fCorrTPCnSigma(ref.fCorrTPCnSigma),
fIsPbPb(ref.fIsPbPb),
fIspPb(ref.fIspPb),
fHasCorrTPCnSigma(ref.fHasCorrTPCnSigma)
{
}
AliHFEpidObject &operator=(const AliHFEpidObject &ref);
~AliHFEpidObject(){};
void SetRecTrack(const AliVTrack * recTrack) {fkRecTrack = recTrack; }
void SetMCTrack(const AliVParticle * mcTrack);
void SetAnalysisType(AnalysisType_t type) { fAnalysisType = type; }
void SetAbInitioPID(Int_t abInitioPID) { fAbInitioPID = abInitioPID; }
void SetCentrality(Int_t centrality) { fCentrality = centrality; }
void SetMulitplicity(Double_t mult) { fMultiplicity = mult; }
void SetCorrectedTPCnSigma(Double_t sigm) { fCorrTPCnSigma=sigm; fHasCorrTPCnSigma=true; }
void SetPbPb() { fIsPbPb = kTRUE; }
void SetpPb() { fIsPbPb = kFALSE; fIspPb=kTRUE; }
void SetPP() { fIsPbPb = kFALSE; }
const AliVTrack *GetRecTrack() const { return fkRecTrack; }
Int_t GetAbInitioPID() const { return fAbInitioPID; }
Int_t GetCentrality() const { return fCentrality; }
Double_t GetMultiplicity() const { return fMultiplicity; }
Double_t GetCorrectedTPCnSigma() const { return fCorrTPCnSigma; }
Bool_t HasCorrectedTPCnSigma() const { return fHasCorrTPCnSigma; }
Bool_t IsAODanalysis() const { return fAnalysisType == static_cast<UChar_t>(kAODanalysis); }
Bool_t IsESDanalysis() const { return fAnalysisType == static_cast<UChar_t>(kESDanalysis); }
Bool_t IsPbPb() const { return fIsPbPb; }
Bool_t IspPb() const { return fIspPb; }
private:
const AliVTrack *fkRecTrack;
UChar_t fAnalysisType;
Int_t fAbInitioPID;
Int_t fCentrality;
Double_t fMultiplicity;
Double_t fCorrTPCnSigma;
Bool_t fIsPbPb;
Bool_t fIspPb;
Bool_t fHasCorrTPCnSigma;
};
#endif