Add AliAnalysisGoodies
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisGoodies.h
CommitLineData
b86ddfbb 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
17class AliAnalysisTask ;
18class TChain ;
19class TClass ;
20class AliEventTagCuts ;
21class AliRunTagCuts ;
22
23class AliAnalysisGoodies : public TObject {
24
25public:
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
42private:
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