#ifndef ALIEBYEPIDRSTIOPHY_H
#define ALIEBYEPIDRSTIOPHY_H
#include "THnSparse.h"
#include "TList.h"
#include "TRandom3.h"
#include "AliEbyEPidRatioBase.h"
class AliEbyEPidRatioPhy : public AliEbyEPidRatioBase {
public:
AliEbyEPidRatioPhy();
virtual ~AliEbyEPidRatioPhy();
virtual void Process();
void SetOutList(TList* l) {fOutList = l;}
void SetQA() {fIsQA = kTRUE;}
void SetSubRun() { fIsSub = kTRUE;}
void SetBSRun() {fIsBS = kTRUE;}
void SetIsPer() {fIsPer = kTRUE;}
private:
AliEbyEPidRatioPhy(const AliEbyEPidRatioPhy&);
AliEbyEPidRatioPhy& operator=(const AliEbyEPidRatioPhy&);
virtual void Init();
virtual void Reset();
virtual void CreateHistograms();
Int_t ProcessTracks();
Int_t ProcessParticles();
void ResetHistSet();
void AddHistSetCent(const Char_t *name, const Char_t *title);
void AddHistSetCentPt(const Char_t *name, const Char_t *title);
void AddHistSetRatio(const Char_t *name, const Char_t *title);
void AddHistInGroup(const Char_t *name, const Char_t *title, Int_t nSample);
void FillHistSetCent(const Char_t *name, Int_t idx, Bool_t isMC);
void FillHistSetRatio(const Char_t *name, Int_t idx, Bool_t isMC);
void FillHistSetCentPt(const Char_t *name, Int_t idx, Bool_t isMC);
void FillHistInGroup(const Char_t *name, Int_t idx, Int_t iSub, Bool_t isMC);
TList *fOutList;
Int_t fOrder;
Int_t fNNp;
Int_t ***fNp;
Int_t ****fNpPt;
Int_t fNMCNp;
Int_t ***fMCNp;
Int_t ****fMCNpPt;
Double_t **fRedFactp;
TH1F *fPtBinHist;
Bool_t fIsQA;
Bool_t fIsSub;
Bool_t fIsBS;
Bool_t fIsPer;
TRandom3 *fRan;
THnSparseD *fHnTrackUnCorrRec;
THnSparseD *fHnTrackUnCorrMc;
ClassDef(AliEbyEPidRatioPhy, 1);
};
#endif