#ifndef ALIHFEPIDQAMANAGER_H
#define ALIHFEPIDQAMANAGER_H
#ifndef ROOT_TObject
#include <TObject.h>
#endif
#ifndef ALIHFEPID_H
#include "AliHFEpid.h"
#endif
#ifndef ALIHFEDETPIDQA_H
#include "AliHFEdetPIDqa.h"
#endif
class TList;
class AliVParticle;
class AliESDpid;
class AliAODpidUtil;
class AliHFEpidObject;
class AliHFEpidQAmanager : public TObject{
public:
AliHFEpidQAmanager();
AliHFEpidQAmanager(const AliHFEpidQAmanager &ref);
AliHFEpidQAmanager &operator=(const AliHFEpidQAmanager &ref);
void Copy(TObject &o) const;
~AliHFEpidQAmanager();
void Initialize(AliHFEpid *pid);
void ProcessTrack(const AliHFEpidObject *track, AliHFEpid::EDETtype_t det, AliHFEdetPIDqa::EStep_t step);
AliHFEdetPIDqa *GetDetectorPIDqa(AliHFEpid::EDETtype_t detector) const { return fDetPIDqa[detector]; }
AliHFEpidBase *GetDetectorPID(AliHFEpid::EDETtype_t detector) const { return fDetPID[detector]; }
TList *MakeList(const Char_t *name);
void SetHighResolutionHistos() { SetBit(kHighResolutionHistos, kTRUE); };
Bool_t HasHighResolutionHistos() const { return TestBit(kHighResolutionHistos); }
void SetMidResolutionHistos() { SetBit(kMidResolutionHistos, kTRUE); };
Bool_t HasMidResolutionHistos() const { return TestBit(kMidResolutionHistos); }
void SetHighResolutionEtaHistos() { SetBit(kHighResolutionEtaHistos, kTRUE); };
Bool_t HasHighResolutionEtaHistos() const { return TestBit(kHighResolutionEtaHistos); }
void SetFillMultiplicity() { SetBit(kFillMultiplicity, kTRUE); };
Bool_t HasFillMultiplicity() const { return TestBit(kFillMultiplicity); }
protected:
enum{
kIsOwner = BIT(14),
kHighResolutionHistos = BIT(15),
kMidResolutionHistos = BIT(16),
kHighResolutionEtaHistos = BIT(17),
kFillMultiplicity = BIT(18)
};
Bool_t IsOwner() const { return TestBit(kIsOwner); }
void SetOwner() { SetBit(kIsOwner, kTRUE); }
void ReleaseOwnerShip() { SetBit(kIsOwner, kFALSE); }
void CreateDetPIDqa(AliHFEpid::EDETtype_t detector);
private:
AliHFEdetPIDqa *fDetPIDqa[AliHFEpid::kNdetectorPID];
AliHFEpidBase *fDetPID[AliHFEpid::kNdetectorPID];
ClassDef(AliHFEpidQAmanager, 1)
};
#endif