Fix bug in building local list of valid files.
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisGoodies.h
... / ...
CommitLineData
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 ;
22class AliLHCTagCuts ;
23class AliDetectorTagCuts ;
24class AliAnalysisManager ;
25class AliAnalysisDataContainer ;
26
27class AliAnalysisGoodies : public TObject {
28
29public:
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
51private:
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