Bugfix: removing ","
[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 class AliAnalysisManager ; 
25 class AliAnalysisDataContainer ;
26
27 class AliAnalysisGoodies : public TObject {
28
29 public:
30   AliAnalysisGoodies() ; 
31   AliAnalysisGoodies(const AliAnalysisGoodies& ag) ; 
32   ~AliAnalysisGoodies() {;} 
33   AliAnalysisGoodies& operator=(const AliAnalysisGoodies& ag) ;
34
35   virtual void Help() const; 
36   Bool_t Alien2Local(const TString collectionNameIn, const TString localDir) ; 
37   AliAnalysisDataContainer * ConnectInput(AliAnalysisTask * task, TClass * classin, UShort_t index) ; 
38   void ConnectInput(AliAnalysisTask * task, AliAnalysisDataContainer * in, UShort_t index ) ;
39   AliAnalysisDataContainer * ConnectOuput(AliAnalysisTask * task, TClass * classou, UShort_t index, TString opt = "") ; 
40   void   ConnectOuput(AliAnalysisTask * task, AliAnalysisDataContainer * ou, UShort_t index) ; 
41   Bool_t Make(AliRunTagCuts *runCuts, AliLHCTagCuts *lhcCuts, AliDetectorTagCuts *detCuts, AliEventTagCuts *evtCuts, const char * in, const char * out) const ;
42   Bool_t Merge(const char * collection, const char * subFile = 0, const char * outFile = 0) ; 
43   Bool_t Register( const char * lfndir, const char * pfndir, const char * file)  ;   
44   Bool_t Process(TChain * chain) ;  
45   Bool_t Process(const char * esdFile)  ;  
46   Bool_t Process(const char * inFile, AliRunTagCuts *runCuts, AliLHCTagCuts *lhcCuts, AliDetectorTagCuts *detCuts, AliEventTagCuts * evtCuts ) ;
47   Bool_t Process(const char * inFile, const char * runCuts, const char * lhcCuts, const char * detCuts, const char * evtCuts) ;  
48   void   SetESDTreeName(const char * name) { fESDTreeName = name ; }
49   Bool_t MakeEsdCollectionFromTagFile(AliRunTagCuts *runCuts, AliLHCTagCuts *lhcCuts, AliDetectorTagCuts *detCuts, AliEventTagCuts *evtCuts, const char * in, const char * out) const ; 
50
51 private:
52   Bool_t MakeEsdCollectionFromTagFile(const char * , const char * , const char * , const char *) const ;
53   Bool_t MakeEsdCollectionFromTagCollection(AliRunTagCuts *runCuts, AliLHCTagCuts *lhcCuts, AliDetectorTagCuts *detCuts, AliEventTagCuts *evtCuts, const char * in, const char * out) const ;
54   Bool_t MakeEsdCollectionFromTagCollection(const char * runCuts, const char *lhcCuts, const char *detCuts, const char * evtCuts, const char * in, const char * out) const ;
55   Bool_t ProcessChain(TChain * chain) const ; 
56   Bool_t ProcessEsdFile(const char * esdFile) const ;
57   Bool_t ProcessEsdXmlCollection(const char * xmlFile) const ;
58   Bool_t ProcessTagFile(const char * tagFile, AliRunTagCuts *runCuts,  AliLHCTagCuts *lhcCuts, AliDetectorTagCuts *detCuts, AliEventTagCuts *evtCuts) const ;  
59   Bool_t ProcessTagFile(const char * tagFile, const char * runCuts, const char * evtCuts) const ;
60   Bool_t ProcessTagFile(const char * tagFile, const char * runCuts, const char * lhcCuts, const char * detCuts, const char * evtCuts) const ;   
61   Bool_t ProcessTagXmlCollection(const char * xmlFile, AliRunTagCuts *runCuts, AliLHCTagCuts *lhcCuts, AliDetectorTagCuts *detCuts, AliEventTagCuts * evtCuts) const ;   
62   Bool_t ProcessTagXmlCollection(const char * xmlFile, const char * runCuts, const char * lhcCuts, const char * detCuts, const char * evtCuts) const ; 
63
64   TStopwatch        fTimer         ;  //! stopwatch
65   TString           fESDTreeName   ;  //! name of the ESD TTree
66   AliAnalysisManager * fAmgr       ;  //! the analysis manager
67   ClassDef(AliAnalysisGoodies, 0); // an analysis utilities class
68 };
69 #endif // ALIANALYSISGOODIES_H