3fc19072bed6b304ce7daf4820cc82cadd955579
[u/mrichter/AliRoot.git] / ESDCheck / 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   const Bool_t Alien2Local(const TString collectionNameIn, const TString localDir) ; 
31   const Bool_t Make(AliRunTagCuts *runCuts, AliEventTagCuts *evtCuts, const char * in, const char * out) const  ; 
32   const Bool_t Merge(const char * collection, const char * subFile = 0, const char * outFile = 0) ; 
33   const Bool_t Register( const char * lfndir, const char * pfndir, const char * file)  ;   
34   const Bool_t Process(TChain * chain) ;  
35   const Bool_t Process(const char * esdFile)  ;  
36   const Bool_t Process(const char * esdFile, AliRunTagCuts * runCuts, AliEventTagCuts * evtCuts)  ;  
37   const 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   const Bool_t MakeEsdCollectionFromTagFile(AliRunTagCuts * runCuts, AliEventTagCuts * evCuts, const char * in, const char * out) const  ; 
41
42 private:
43   const Bool_t MakeEsdCollectionFromTagFile(const char * , const char * , const char * , const char *) const 
44   { AliError("Not implemented") ; return 0 ;}
45   const Bool_t MakeEsdCollectionFromTagCollection(AliRunTagCuts * runCuts, AliEventTagCuts * evtCuts, const char * in, const char * out) const ; 
46   const Bool_t MakeEsdCollectionFromTagCollection(const char * , const char * , const char * , const char * ) const 
47   { AliError("Not implemented") ; return 0 ;}
48   const Bool_t ProcessChain(TChain * chain) const ; 
49   const Bool_t ProcessEsdFile(const char * esdFile) const ;
50   const Bool_t ProcessTagFile(const char * tagFile, AliRunTagCuts *runCuts, AliEventTagCuts *evtCuts) const ;
51   const Bool_t ProcessTagFile(const char * tagFile, const char * runCuts, const char * evtCuts) const ;
52   const Bool_t ProcessEsdXmlCollection(const char * esdFile) const ;
53   const Bool_t ProcessTagXmlCollection(const char * esdFile, AliRunTagCuts * runCuts, AliEventTagCuts * evtCuts) const ;
54   const 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