5774dbbd6301e975b7f54a7fa788a7cdca08df49
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisGoodies.h
1 #ifndef ALIANALYSISGOODIES_H
2 #define ALIANALYSISGOODIES_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5 //______________________________________________________________________________
6 // Various utilities usefull for analysis
7 //
8 //*-- Yves Schutz 
9 //////////////////////////////////////////////////////////////////////////////
10
11 #include <TObject.h> 
12 #include <TStopwatch.h> 
13 #include <TString.h> 
14
15 #include "AliLog.h"
16
17 class AliAnalysisTask ; 
18 class TChain ; 
19 class TClass ; 
20 class AliEventTagCuts ;  
21 class AliRunTagCuts ;  
22
23 class AliAnalysisGoodies : public TObject {
24
25 public:
26   AliAnalysisGoodies() ; 
27   ~AliAnalysisGoodies() {;} 
28
29   virtual void Help() const; 
30   Bool_t Alien2Local(const TString collectionNameIn, const TString localDir) ; 
31   Bool_t Make(AliRunTagCuts *runCuts, AliEventTagCuts *evtCuts, const char * in, const char * out) const  ; 
32   Bool_t Merge(const char * collection, const char * subFile = 0, const char * outFile = 0) ; 
33   Bool_t Register( const char * lfndir, const char * pfndir, const char * file)  ;   
34   Bool_t Process(TChain * chain) ;  
35   Bool_t Process(const char * esdFile)  ;  
36   Bool_t Process(const char * esdFile, AliRunTagCuts * runCuts, AliEventTagCuts * evtCuts)  ;  
37   Bool_t Process(const char * esdFile, const char * runCuts, const char * evtCuts)  ;  
38   void         SetESDTreeName(const char * name) { fESDTreeName = name ; }
39   void         SetTasks(Int_t nb, AliAnalysisTask ** taskList, TClass ** inputType, TClass ** outputType) ;
40   Bool_t MakeEsdCollectionFromTagFile(AliRunTagCuts * runCuts, AliEventTagCuts * evCuts, const char * in, const char * out) const  ; 
41
42 private:
43   Bool_t MakeEsdCollectionFromTagFile(const char * , const char * , const char * , const char *) const ;
44   //{ AliError("Not implemented") ; return 0 ;}
45   Bool_t MakeEsdCollectionFromTagCollection(AliRunTagCuts * runCuts, AliEventTagCuts * evtCuts, const char * in, const char * out) const ; 
46   Bool_t MakeEsdCollectionFromTagCollection(const char * , const char * , const char * , const char * ) const ;
47   //{ AliError("Not implemented") ; return 0 ;}
48   Bool_t ProcessChain(TChain * chain) const ; 
49   Bool_t ProcessEsdFile(const char * esdFile) const ;
50   Bool_t ProcessTagFile(const char * tagFile, AliRunTagCuts *runCuts, AliEventTagCuts *evtCuts) const ;
51   Bool_t ProcessTagFile(const char * tagFile, const char * runCuts, const char * evtCuts) const ;
52   Bool_t ProcessEsdXmlCollection(const char * esdFile) const ;
53   Bool_t ProcessTagXmlCollection(const char * esdFile, AliRunTagCuts * runCuts, AliEventTagCuts * evtCuts) const ;
54   Bool_t ProcessTagXmlCollection(const char * esdFile, const char * runCuts, const char * evtCuts) const ;
55
56   TStopwatch        fTimer         ;   //! stopwatch
57   TString           fESDTreeName   ;   //! name of the ESD TTree
58   UShort_t          fnumberOfTasks ;   //! number of tasks
59   AliAnalysisTask ** fTaskList      ;  //! list of tasks
60   TClass          ** fTaskInType    ;  //! list of tasks input
61   TClass          ** fTaskOuType    ;  //! list of tasks output
62
63   ClassDef(AliAnalysisGoodies, 0); // an analysis utilities class
64 };
65 #endif // ALIANALYSISGOODIES_H