First prototype the analysis framework
[u/mrichter/AliRoot.git] / ANALYSIS / AliRunAnalysis.h
1 #ifndef ALIRUNANALYSIS_H
2 #define ALIRUNANALYSIS_H
3 //________________________________
4 ///////////////////////////////////////////////////////////
5 //
6 // class AliRunAnalysis
7 //
8 // Analysis manager
9 //
10 //
11 // Piotr.Skowronski@cern.ch
12 //
13 ///////////////////////////////////////////////////////////
14
15 class AliEventCut;
16 class TObjArray;
17 class TFile;
18
19 #include <TString.h>
20 #include <TTask.h>
21
22 #include "AliAnalysis.h"
23
24 class AliRunAnalysis: public TTask
25 {
26   public: 
27     AliRunAnalysis();
28     virtual ~AliRunAnalysis();
29     
30     Int_t Run();
31     void  Add(AliAnalysis* a);
32     void  ReadKinematics(Bool_t flag){fReadKinematics = flag;}
33     
34     Int_t GetDebug() {return AliAnalysis::GetDebug();}
35     void SetDirs(TObjArray* dirs){fDirs = dirs;} //sets array directories names;
36     const char* GetName(){return fgkDefaultRunAnalysisName;}
37   protected:
38     TObjArray*    fAnalysies;//arry with analysies
39     TObjArray*    fDirs;//arry with directories to read data from
40     
41     AliEventCut*  fEventCut;//event cut    
42     
43     TString       fFileName;//name of the file with ESDs
44     Bool_t        fReadKinematics;
45     
46     TString& GetDirName(Int_t entry);
47     TFile* OpenFile(Int_t n);
48     
49   private:
50     TNamed::SetName;//change SetName to be private
51     
52     static const TString fgkDefaultRunAnalysisName;
53     ClassDef(AliRunAnalysis,1)
54 };
55
56 #endif