o First Version of TRDnSigma implementation (Xianguo) o still requires some catching...
[u/mrichter/AliRoot.git] / JETAN / AliJetReaderHeader.h
1 #ifndef ALIJETREADERHEADER_H
2 #define ALIJETREADERHEADER_H
3  
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8  
9 //---------------------------------------------------------------------
10 // base class for Jet Reader Header 
11 //
12 // Author: jgcn@mda.cinvestav.mx
13 //---------------------------------------------------------------------
14 #include <Riostream.h>  
15 #include <TNamed.h>
16 #include <TString.h>
17
18 class AliEMCALRecoUtils;
19  
20 class AliJetReaderHeader : public TNamed
21 {
22
23  public:
24   AliJetReaderHeader(const char* name);
25   AliJetReaderHeader();
26   AliJetReaderHeader(Int_t det);
27   virtual ~AliJetReaderHeader();
28   
29   // Getters
30   virtual const TString GetComment()                     {return fComment;}
31   virtual const char*   GetDirectory()                   {return fDir.Data();}
32   virtual const TString GetEMCALmatrices2bLoad()         {return fMatricesEMCAL;}
33   virtual const TString GetEMCALgeo2bLoad()              {return fGeomEMCAL;}
34   virtual const TString GetMyOADBfile()                  {return fMyOADBfile;}
35   virtual Float_t       GetFiducialEtaMin() const        {return fFiducialEtaMin;}
36   virtual Float_t       GetFiducialEtaMax() const        {return fFiducialEtaMax;} 
37   virtual Float_t       GetFiducialPhiMin() const        {return fFiducialPhiMin;}
38   virtual Float_t       GetFiducialPhiMax() const        {return fFiducialPhiMax;}  
39   virtual Float_t       GetPtCut() const                 {return fPtCut;}
40   virtual Float_t       GetEtCellCut() const             {return fEtCellCut;}
41   Int_t                 GetDetector() const              {return fOption;}
42   Int_t                 GetCluster() const               {return fCluster;}
43   Int_t                 GetDebug() const                 {return fDebug;}
44   UInt_t                GetTestFilterMask() const        {return fTestFilterMask;}
45   UInt_t                GetFilterType() const            {return fFilterType;}
46   TString               GetDataType() const              {return fDataType;}
47   Bool_t                GetIsHighMult() const            {return fIsHighMult;}
48
49   // Setters
50   virtual void SetComment(const char* s)                 {fComment=TString(s);}
51   virtual void SetDirectory(const char* s)               {fDir=TString(s);}
52   virtual void SetEMCALgeo2bLoad(const char* s)          {fGeomEMCAL=TString(s);}
53   virtual void SetEMCALmatrices2bLoad(const char* s)     {fMatricesEMCAL=TString(s);}
54   virtual void SetMyOADBfile(const char* s)              {fMyOADBfile=TString(s);}
55   virtual void SetFiducialEta(Float_t etamin, Float_t etamax) 
56       { fFiducialEtaMin = etamin; fFiducialEtaMax = etamax;}
57   virtual void SetFiducialPhi(Float_t phimin, Float_t phimax) 
58       { fFiducialPhiMin = phimin; fFiducialPhiMax = phimax;}
59   virtual void SetPtCut(Float_t par = 2.0)               {fPtCut = par;}
60   virtual void SetEtCellCut(Float_t par = 0.0)           {fEtCellCut = par;}
61   virtual void SetDetector(Int_t option = 0)             {fOption = option;}
62   virtual void SetCluster(Int_t option = 0)              {fCluster = option;}
63   virtual void SetDebug(Int_t debug = 0)                 {fDebug = debug;}
64
65   virtual void SetDataType(const char* type /*= "AOD"*/) {fDataType = TString(type);}
66   virtual void SetTestFilterMask(UInt_t i)               {fTestFilterMask = i;}
67   virtual void SetFilterType(UInt_t i)                   {fFilterType = i;}
68   virtual void SetReadSignalOnly(Bool_t flag = kTRUE)    {fReadSignalOnly = flag;}
69   virtual void SetReadBkgdOnly(Bool_t flag = kTRUE)      {fReadBkgdOnly = flag;}
70   virtual void SetIsHighMult(Bool_t mult = kFALSE)       {fIsHighMult = mult;}
71
72   // Other
73   Bool_t       ReadSignalOnly() const                    {return fReadSignalOnly;}
74   Bool_t       ReadBkgdOnly() const                      {return fReadBkgdOnly;}
75
76   // we have different cases
77   // AOD reading -> MC from AOD
78   // ESD reading -> MC from Kinematics
79   // this has to match with our selection of input events
80   enum {kTrackUndef = 0, kTrackESD, kTrackAOD, kTrackKineAll,kTrackKineCharged, kTrackAODMCAll, kTrackAODMCCharged, kTrackAODMCChargedAcceptance, kTrackAODextra, kTrackAODextraonly};
81
82  protected:
83   Int_t   fOption;                 // detector used for jet reconstruction  
84   Int_t   fCluster;                // cluster type
85   Int_t   fDebug;                  // debug option
86   Float_t fFiducialEtaMin;         // Fiducial minimum eta
87   Float_t fFiducialEtaMax;         // Fiducial maximum eta
88   Float_t fFiducialPhiMin;         // Fiducial minimum phi
89   Float_t fFiducialPhiMax;         // Fiducial maximum phi
90   Float_t fPtCut;                  // pt cut
91   Float_t fEtCellCut;              // et cell cut
92   TString fComment;                // a comment
93   TString fDir;                    // directory with input files for signal
94   TString fMatricesEMCAL;          // survey/matrices version for EMCAL
95   TString fGeomEMCAL;              // geometry version for EMCAL
96   TString fMyOADBfile;             // private version of the OADB file with EMCAL matrices
97   UInt_t  fTestFilterMask;         // Filter Mask for jets, not tested if 0
98   UInt_t  fFilterType;             // Filter type: 0 = all, 1 = ITSTPC, 2 = TPC
99   Bool_t  fReadSignalOnly;         // read particles from signal event only
100   Bool_t  fReadBkgdOnly;           // read particles from bkgd event only
101   TString fDataType;               // Input data type
102   Bool_t  fIsHighMult;             // High multiplicity flag
103
104   ClassDef(AliJetReaderHeader,4)   // jet reader header base class
105
106 };
107  
108 #endif