Added AddTrackParams() method for convenience + some comments
[u/mrichter/AliRoot.git] / ANALYSIS / AliTagAnalysis.h
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>
28 #include <TString.h>
29 #include <TEntryList.h>
30
31 class AliEventTag;
32 class TChain;
33 class AliEventTagCuts;
34 class AliDetectorTagCuts;
35 class AliLHCTagCuts;
36 class AliRunTagCuts;
37 class TGridResult;
38 class TTreeFormula;
39
40 //____________________________________________________//
41 class AliTagAnalysis : public TObject {
42  public:
43   AliTagAnalysis();
44   AliTagAnalysis(const char* type);
45   ~AliTagAnalysis(); 
46   
47   void SetType(const char* type) {fAnalysisType = type;}
48   const char* GetType() {return fAnalysisType.Data();}
49   Bool_t AddTagsFile(const char *alienUrl);
50   void ChainLocalTags(const char *dirname);
51   void ChainGridTags(TGridResult *result);
52   
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);  
61
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
73   Bool_t CreateAsciiCollection(const char* name, 
74                                AliRunTagCuts *runTagCuts, 
75                                AliLHCTagCuts *lhcTagCuts, 
76                                AliDetectorTagCuts *detTagCuts, 
77                                AliEventTagCuts *evTagCuts);
78   Bool_t CreateAsciiCollection(const char* name, 
79                                const char *fRunCut, 
80                                const char *fLHCCut, 
81                                const char *fDetectorCut, 
82                                const char *fEventCut);
83
84   TChain *GetInputChain(const char* system, const char *wn);
85   TChain *GetChainFromCollection(const char* collectionname, 
86                                  const char* treename);
87   
88   TEntryList *GetGlobalList() {return fGlobalList;}
89   //____________________________________________________//
90  protected:
91   TGridResult *ftagresult; //the results from the tag grid query     
92   TString fTagDirName; //the location of the locally stored tags
93   
94   TChain *fChain; //tag chain 
95   
96   TString fAnalysisType; //define the type of analysis (esd or aod)
97
98   TEntryList *fGlobalList; //global TEntryList
99   
100   //____________________________________________________//
101  private:
102   AliTagAnalysis(const AliTagAnalysis & source);
103   AliTagAnalysis & operator=(const AliTagAnalysis & source);
104        
105   ClassDef(AliTagAnalysis,0)  
106 };
107
108 #endif
109