QA library for detector checks from ESD
[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 class AliAnalysisTask ; 
16 class TChain ; 
17 class TClass ; 
18 class AliEventTagCuts ;  
19 class AliRunTagCuts ;  
20
21 class AliAnalysisGoodies : public TObject {
22
23 public:
24   AliAnalysisGoodies() ; 
25   ~AliAnalysisGoodies() {;} 
26
27   virtual void Help() const; 
28   const Bool_t Alien2Local(const TString collectionNameIn, const TString localDir) ; 
29   const Bool_t Make(AliRunTagCuts *runCuts, AliEventTagCuts *evtCuts, const char * in, const char * out) const  ; 
30   const Bool_t Merge(const char * collection, const char * subFile = 0, const char * outFile = 0) ; 
31   const Bool_t Register( const char * lfndir, const char * pfndir, const char * file)  ;   
32   const Bool_t Process(TChain * chain) ;  
33   const Bool_t Process(const char * esdFile)  ;  
34   const Bool_t Process(const char * esdFile, AliRunTagCuts * runCuts, AliEventTagCuts * evtCuts)  ;  
35   const Bool_t Process(const char * esdFile, const char * runCuts, const char * evtCuts)  ;  
36   void         SetESDTreeName(const char * name) { fESDTreeName = name ; }
37   void         SetTasks(Int_t nb, AliAnalysisTask ** taskList, TClass ** inputType, TClass ** outputType) ;
38   const Bool_t MakeEsdCollectionFromTagFile(AliRunTagCuts * runCuts, AliEventTagCuts * evCuts, const char * in, const char * out) const  ; 
39
40 private:
41   const Bool_t MakeEsdCollectionFromTagFile(const char * runCuts, const char * evCuts, const char * in, const char * out) const  ; 
42   const Bool_t MakeEsdCollectionFromTagCollection(AliRunTagCuts * runCuts, AliEventTagCuts * evtCuts, const char * in, const char * out) const ; 
43   const Bool_t MakeEsdCollectionFromTagCollection(const char * runCuts, const char * evtCuts, const char * in, const char * out) const ; 
44   const Bool_t ProcessChain(TChain * chain) const ; 
45   const Bool_t ProcessEsdFile(const char * esdFile) const ;
46   const Bool_t ProcessTagFile(const char * tagFile, AliRunTagCuts *runCuts, AliEventTagCuts *evtCuts) const ;
47   const Bool_t ProcessTagFile(const char * tagFile, const char * runCuts, const char * evtCuts) const ;
48   const Bool_t ProcessEsdXmlCollection(const char * esdFile) const ;
49   const Bool_t ProcessTagXmlCollection(const char * esdFile, AliRunTagCuts * runCuts, AliEventTagCuts * evtCuts) const ;
50   const Bool_t ProcessTagXmlCollection(const char * esdFile, const char * runCuts, const char * evtCuts) const ;
51
52   TStopwatch        fTimer         ;   //! stopwatch
53   TString           fESDTreeName   ;   //! name of the ESD TTree
54   UShort_t          fnumberOfTasks ;   //! number of tasks
55   AliAnalysisTask ** fTaskList      ;  //! list of tasks
56   TClass          ** fTaskInType    ;  //! list of tasks input
57   TClass          ** fTaskOuType    ;  //! list of tasks output
58
59   ClassDef(AliAnalysisGoodies, 0); // an analysis utilities class
60 };
61 #endif // ALIANALYSISGOODIES_H