Merge branch 'master', remote branch 'origin' into TPCdev
[u/mrichter/AliRoot.git] / ANALYSIS / AliTagAnalysis.h
CommitLineData
d08133e6 1#ifndef ALITAGANALYSIS_H
2#define ALITAGANALYSIS_H
3/* See cxx source for full Copyright notice */
4
5
6/* $Id$ */
7
8//-------------------------------------------------------------------------
9// Class AliTagAnalysis
10// This is the AliTagAnalysis class for the tag analysis
11//
12// Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
13//-------------------------------------------------------------------------
14
15
16
17//////////////////////////////////////////////////////////////////////////
18// //
19// AliTagAnalysis //
20// //
21// Implementation of the tag analysis mechanism. //
22// //
23//////////////////////////////////////////////////////////////////////////
24
25
26//ROOT
27#include <TObject.h>
fbbf0804 28#include <TString.h>
cd305eb1 29#include <TEntryList.h>
d08133e6 30
31class AliEventTag;
32class TChain;
33class AliEventTagCuts;
2ec6a1d3 34class AliDetectorTagCuts;
35class AliLHCTagCuts;
d08133e6 36class AliRunTagCuts;
37class TGridResult;
38class TTreeFormula;
39
40//____________________________________________________//
41class AliTagAnalysis : public TObject {
42 public:
43 AliTagAnalysis();
6cfbb923 44 AliTagAnalysis(const char* type);
d08133e6 45 ~AliTagAnalysis();
46
6cfbb923 47 void SetType(const char* type) {fAnalysisType = type;}
48 const char* GetType() {return fAnalysisType.Data();}
0bf3148c 49 Bool_t AddTagsFile(const char *alienUrl, Bool_t checkFile=kTRUE);
d08133e6 50 void ChainLocalTags(const char *dirname);
727d922c 51 TChain *ChainGridTags(TGridResult *result);
d08133e6 52
cd305eb1 53 TChain *QueryTags(AliRunTagCuts *runTagCuts,
54 AliLHCTagCuts *lhcTagCuts,
55 AliDetectorTagCuts *detTagCuts,
56 AliEventTagCuts *evTagCuts);
57 TChain *QueryTags(const char *fRunCut,
58 const char *fLHCCut,
59 const char *fDetectorCut,
60 const char *fEventCut);
d08133e6 61
cd305eb1 62 Bool_t CreateXMLCollection(const char* name,
63 AliRunTagCuts *runTagCuts,
64 AliLHCTagCuts *lhcTagCuts,
65 AliDetectorTagCuts *detTagCuts,
66 AliEventTagCuts *evTagCuts);
67 Bool_t CreateXMLCollection(const char* name,
68 const char *fRunCut,
69 const char *fLHCCut,
70 const char *fDetectorCut,
71 const char *fEventCut);
72
d08133e6 73 TChain *GetInputChain(const char* system, const char *wn);
0bf3148c 74
75 static TChain* CreateChainFromCollection(const char* collectionname, const char* treename);
d08133e6 76
cd305eb1 77 TEntryList *GetGlobalList() {return fGlobalList;}
d08133e6 78 //____________________________________________________//
79 protected:
6404a49f 80 TGridResult *ftagresult; //the results from the tag grid query
81 TString fTagDirName; //the location of the locally stored tags
82 TChain *fChain; //tag chain
83 TString fAnalysisType; //define the type of analysis (esd or aod)
84 TEntryList *fGlobalList; //global TEntryList
6cfbb923 85
d08133e6 86 //____________________________________________________//
87 private:
88 AliTagAnalysis(const AliTagAnalysis & source);
89 AliTagAnalysis & operator=(const AliTagAnalysis & source);
90
91 ClassDef(AliTagAnalysis,0)
92};
93
94#endif
95