Pass execution mode to event handler.
[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
29 class AliEventTag;
30 class TChain;
31 class AliEventTagCuts;
32 class AliDetectorTagCuts;
33 class AliLHCTagCuts;
34 class AliRunTagCuts;
35 class TGridResult;
36 class TTreeFormula;
37
38 //____________________________________________________//
39 class AliTagAnalysis : public TObject {
40  public:
41   AliTagAnalysis();
42   ~AliTagAnalysis(); 
43   
44   Bool_t AddTagsFile(const char *alienUrl);
45   void ChainLocalTags(const char *dirname);
46   void ChainGridTags(TGridResult *result);
47   
48   TChain *QueryTags(AliRunTagCuts *runTagCuts, AliLHCTagCuts *lhcTagCuts, AliDetectorTagCuts *detTagCuts, AliEventTagCuts *evTagCuts);
49   TChain *QueryTags(const char *fRunCut, const char *fLHCCut, const char *fDetectorCut, const char *fEventCut);  
50
51   Bool_t CreateXMLCollection(const char* name, AliRunTagCuts *runTagCuts, AliLHCTagCuts *lhcTagCuts, AliDetectorTagCuts *detTagCuts, AliEventTagCuts *evTagCuts);
52   Bool_t CreateXMLCollection(const char* name, const char *fRunCut, const char *fLHCCut, const char *fDetectorCut, const char *fEventCut);
53
54   TChain *GetInputChain(const char* system, const char *wn);
55   TChain *GetChainFromCollection(const char* collectionname, const char* treename);
56   
57   //____________________________________________________//
58  protected:
59   TGridResult *ftagresult; //the results from the tag grid query     
60   TString fTagDirName; //the location of the locally stored tags
61   
62   TChain *fChain; //tag chain 
63   
64   //____________________________________________________//
65  private:
66   AliTagAnalysis(const AliTagAnalysis & source);
67   AliTagAnalysis & operator=(const AliTagAnalysis & source);
68        
69   ClassDef(AliTagAnalysis,0)  
70 };
71
72 #endif
73