#ifndef ALIJETREADERHEADER_H
#define ALIJETREADERHEADER_H
#include <Riostream.h>
#include <TNamed.h>
#include <TString.h>
class AliEMCALRecoUtils;
class AliJetReaderHeader : public TNamed
{
public:
AliJetReaderHeader(const char* name);
AliJetReaderHeader();
AliJetReaderHeader(Int_t det);
virtual ~AliJetReaderHeader();
virtual const TString GetComment() {return fComment;}
virtual const char* GetDirectory() {return fDir.Data();}
virtual const TString GetEMCALmatrices2bLoad() {return fMatricesEMCAL;}
virtual const TString GetEMCALgeo2bLoad() {return fGeomEMCAL;}
virtual const TString GetMyOADBfile() {return fMyOADBfile;}
virtual Float_t GetFiducialEtaMin() const {return fFiducialEtaMin;}
virtual Float_t GetFiducialEtaMax() const {return fFiducialEtaMax;}
virtual Float_t GetFiducialPhiMin() const {return fFiducialPhiMin;}
virtual Float_t GetFiducialPhiMax() const {return fFiducialPhiMax;}
virtual Float_t GetPtCut() const {return fPtCut;}
virtual Float_t GetEtCellCut() const {return fEtCellCut;}
Int_t GetDetector() const {return fOption;}
Int_t GetCluster() const {return fCluster;}
Int_t GetDebug() const {return fDebug;}
UInt_t GetTestFilterMask() const {return fTestFilterMask;}
UInt_t GetFilterType() const {return fFilterType;}
TString GetDataType() const {return fDataType;}
Bool_t GetIsHighMult() const {return fIsHighMult;}
virtual void SetComment(const char* s) {fComment=TString(s);}
virtual void SetDirectory(const char* s) {fDir=TString(s);}
virtual void SetEMCALgeo2bLoad(const char* s) {fGeomEMCAL=TString(s);}
virtual void SetEMCALmatrices2bLoad(const char* s) {fMatricesEMCAL=TString(s);}
virtual void SetMyOADBfile(const char* s) {fMyOADBfile=TString(s);}
virtual void SetFiducialEta(Float_t etamin, Float_t etamax)
{ fFiducialEtaMin = etamin; fFiducialEtaMax = etamax;}
virtual void SetFiducialPhi(Float_t phimin, Float_t phimax)
{ fFiducialPhiMin = phimin; fFiducialPhiMax = phimax;}
virtual void SetPtCut(Float_t par = 2.0) {fPtCut = par;}
virtual void SetEtCellCut(Float_t par = 0.0) {fEtCellCut = par;}
virtual void SetDetector(Int_t option = 0) {fOption = option;}
virtual void SetCluster(Int_t option = 0) {fCluster = option;}
virtual void SetDebug(Int_t debug = 0) {fDebug = debug;}
virtual void SetDataType(const char* type ) {fDataType = TString(type);}
virtual void SetTestFilterMask(UInt_t i) {fTestFilterMask = i;}
virtual void SetFilterType(UInt_t i) {fFilterType = i;}
virtual void SetReadSignalOnly(Bool_t flag = kTRUE) {fReadSignalOnly = flag;}
virtual void SetReadBkgdOnly(Bool_t flag = kTRUE) {fReadBkgdOnly = flag;}
virtual void SetIsHighMult(Bool_t mult = kFALSE) {fIsHighMult = mult;}
Bool_t ReadSignalOnly() const {return fReadSignalOnly;}
Bool_t ReadBkgdOnly() const {return fReadBkgdOnly;}
enum {kTrackUndef = 0, kTrackESD, kTrackAOD, kTrackKineAll,kTrackKineCharged, kTrackAODMCAll, kTrackAODMCCharged, kTrackAODMCChargedAcceptance, kTrackAODextra, kTrackAODextraonly};
protected:
Int_t fOption;
Int_t fCluster;
Int_t fDebug;
Float_t fFiducialEtaMin;
Float_t fFiducialEtaMax;
Float_t fFiducialPhiMin;
Float_t fFiducialPhiMax;
Float_t fPtCut;
Float_t fEtCellCut;
TString fComment;
TString fDir;
TString fMatricesEMCAL;
TString fGeomEMCAL;
TString fMyOADBfile;
UInt_t fTestFilterMask;
UInt_t fFilterType;
Bool_t fReadSignalOnly;
Bool_t fReadBkgdOnly;
TString fDataType;
Bool_t fIsHighMult;
ClassDef(AliJetReaderHeader,4)
};
#endif