]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ANALYSIS/AliTagAnalysis.h
Improved online calibration algorithms, Energy and Dead channel histograms updated
[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
30 class AliEventTag;
31 class TChain;
32 class AliEventTagCuts;
33 class AliDetectorTagCuts;
34 class AliLHCTagCuts;
35 class AliRunTagCuts;
36 class TGridResult;
37 class TTreeFormula;
38
39 //____________________________________________________//
40 class AliTagAnalysis : public TObject {
41  public:
42   AliTagAnalysis();
43   AliTagAnalysis(const char* type);
44   ~AliTagAnalysis(); 
45   
46   void SetType(const char* type) {fAnalysisType = type;}
47   const char* GetType() {return fAnalysisType.Data();}
48   Bool_t AddTagsFile(const char *alienUrl);
49   void ChainLocalTags(const char *dirname);
50   void ChainGridTags(TGridResult *result);
51   
52   TChain *QueryTags(AliRunTagCuts *runTagCuts, AliLHCTagCuts *lhcTagCuts, AliDetectorTagCuts *detTagCuts, AliEventTagCuts *evTagCuts);
53   TChain *QueryTags(const char *fRunCut, const char *fLHCCut, const char *fDetectorCut, const char *fEventCut);  
54
55   Bool_t CreateXMLCollection(const char* name, AliRunTagCuts *runTagCuts, AliLHCTagCuts *lhcTagCuts, AliDetectorTagCuts *detTagCuts, AliEventTagCuts *evTagCuts);
56   Bool_t CreateXMLCollection(const char* name, const char *fRunCut, const char *fLHCCut, const char *fDetectorCut, const char *fEventCut);
57
58   TChain *GetInputChain(const char* system, const char *wn);
59   TChain *GetChainFromCollection(const char* collectionname, const char* treename);
60   
61   //____________________________________________________//
62  protected:
63   TGridResult *ftagresult; //the results from the tag grid query     
64   TString fTagDirName; //the location of the locally stored tags
65   
66   TChain *fChain; //tag chain 
67   
68   TString fAnalysisType; //define the type of analysis (esd or aod)
69   
70   //____________________________________________________//
71  private:
72   AliTagAnalysis(const AliTagAnalysis & source);
73   AliTagAnalysis & operator=(const AliTagAnalysis & source);
74        
75   ClassDef(AliTagAnalysis,0)  
76 };
77
78 #endif
79