#ifndef ALITRDEFFICIENCYMC_H
#define ALITRDEFFICIENCYMC_H
#ifndef ALITRDRECOTASK_H
#include "AliTRDrecoTask.h"
#endif
class AliTRDefficiencyMC : public AliTRDrecoTask{
public:
enum ETRDefficiencyMC{
kFindable= 0
,kNoChmb
,kCurved
,kPCut
,kPhiCut
,kThtCut
,kLayer
,kPrimary
};
enum ETRDefficiencyMCstatus{
kAccept = 0
,kMiss
,kFake
};
AliTRDefficiencyMC();
AliTRDefficiencyMC(char* name);
virtual ~AliTRDefficiencyMC(){;}
void UserCreateOutputObjects();
void UserExec(Option_t *);
Bool_t PostProcess();
TObjArray* Histos();
Bool_t GetRefFigure(Int_t ifig);
private:
enum{
kEfficiencyHistogram = 0
,kContaminationHistogram = 1
,kEfficiencySpeciesHistogram = 2
};
AliTRDefficiencyMC(const AliTRDefficiencyMC &);
AliTRDefficiencyMC& operator=(const AliTRDefficiencyMC &);
void FillHistograms(Int_t ntracks, Int_t *indices, ETRDefficiencyMCstatus mode);
void FillStreamTrackWOMC(AliTRDtrackInfo * const trkInf);
Int_t IsFindableNot(AliTRDtrackInfo * const trkInf);
Int_t IsRegistered(const AliTRDtrackInfo * const trkInf, Int_t *indices, Int_t nTracks);
static Float_t fgPCut;
static Float_t fgPhiCut;
static Float_t fgThtCut;
ClassDef(AliTRDefficiencyMC, 2);
};
#endif