Temporary: do not link AliHLTMUON.so
[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 class AliLHCTagCuts ;  
23 class AliDetectorTagCuts ;  
24
25 class AliAnalysisGoodies : public TObject {
26
27 public:
28   AliAnalysisGoodies() ; 
29   AliAnalysisGoodies(const AliAnalysisGoodies& ag) ; 
30   ~AliAnalysisGoodies() {;} 
31
32   virtual void Help() const; 
33   Bool_t Alien2Local(const TString collectionNameIn, const TString localDir) ; 
34   Bool_t Make(AliRunTagCuts *runCuts, AliLHCTagCuts *lhcCuts, AliDetectorTagCuts *detCuts, AliEventTagCuts *evtCuts, const char * in, const char * out) const ;
35   Bool_t Merge(const char * collection, const char * subFile = 0, const char * outFile = 0) ; 
36   Bool_t Register( const char * lfndir, const char * pfndir, const char * file)  ;   
37   Bool_t Process(TChain * chain) ;  
38   Bool_t Process(const char * esdFile)  ;  
39   Bool_t Process(const char * inFile, AliRunTagCuts *runCuts, AliLHCTagCuts *lhcCuts, AliDetectorTagCuts *detCuts, AliEventTagCuts * evtCuts ) ;
40   Bool_t Process(const char * inFile, const char * runCuts, const char * lhcCuts, const char * detCuts, const char * evtCuts) ;  
41  void         SetESDTreeName(const char * name) { fESDTreeName = name ; }
42   void         SetTasks(Int_t nb, AliAnalysisTask ** taskList, TClass ** inputType, TClass ** outputType) ;
43   Bool_t MakeEsdCollectionFromTagFile(AliRunTagCuts *runCuts, AliLHCTagCuts *lhcCuts, AliDetectorTagCuts *detCuts, AliEventTagCuts *evtCuts, const char * in, const char * out) const ; 
44
45 private:
46   Bool_t MakeEsdCollectionFromTagFile(const char * , const char * , const char * , const char *) const ;
47   Bool_t MakeEsdCollectionFromTagCollection(AliRunTagCuts *runCuts, AliLHCTagCuts *lhcCuts, AliDetectorTagCuts *detCuts, AliEventTagCuts *evtCuts, const char * in, const char * out) const ;
48   Bool_t MakeEsdCollectionFromTagCollection(const char * runCuts, const char *lhcCuts, const char *detCuts, const char * evtCuts, const char * in, const char * out) const ;
49   Bool_t ProcessChain(TChain * chain) const ; 
50   Bool_t ProcessEsdFile(const char * esdFile) const ;
51   Bool_t ProcessEsdXmlCollection(const char * xmlFile) const ;
52   Bool_t ProcessTagFile(const char * tagFile, AliRunTagCuts *runCuts,  AliLHCTagCuts *lhcCuts, AliDetectorTagCuts *detCuts, AliEventTagCuts *evtCuts) const ;  
53   Bool_t ProcessTagFile(const char * tagFile, const char * runCuts, const char * evtCuts) const ;
54   Bool_t ProcessTagFile(const char * tagFile, const char * runCuts, const char * lhcCuts, const char * detCuts, const char * evtCuts) const ;   
55   Bool_t ProcessTagXmlCollection(const char * xmlFile, AliRunTagCuts *runCuts, AliLHCTagCuts *lhcCuts, AliDetectorTagCuts *detCuts, AliEventTagCuts * evtCuts) const ;   
56   Bool_t ProcessTagXmlCollection(const char * xmlFile, const char * runCuts, const char * lhcCuts, const char * detCuts, const char * evtCuts) const ; 
57
58   TStopwatch        fTimer         ;   //! stopwatch
59   TString           fESDTreeName   ;   //! name of the ESD TTree
60   UShort_t          fnumberOfTasks ;   //! number of tasks
61   AliAnalysisTask ** fTaskList      ;  //! list of tasks
62   TClass          ** fTaskInType    ;  //! list of tasks input
63   TClass          ** fTaskOuType    ;  //! list of tasks output
64
65   ClassDef(AliAnalysisGoodies, 0); // an analysis utilities class
66 };
67 #endif // ALIANALYSISGOODIES_H