Line data Source code
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 0 : void SetType(const char* type) {fAnalysisType = type;}
48 0 : const char* GetType() {return fAnalysisType.Data();}
49 : Bool_t AddTagsFile(const char *alienUrl, Bool_t checkFile=kTRUE);
50 : void ChainLocalTags(const char *dirname);
51 : TChain *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 : TChain *GetInputChain(const char* system, const char *wn);
74 :
75 : static TChain* CreateChainFromCollection(const char* collectionname, const char* treename);
76 :
77 0 : TEntryList *GetGlobalList() {return fGlobalList;}
78 : //____________________________________________________//
79 : protected:
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
85 :
86 : //____________________________________________________//
87 : private:
88 : AliTagAnalysis(const AliTagAnalysis & source);
89 : AliTagAnalysis & operator=(const AliTagAnalysis & source);
90 :
91 170 : ClassDef(AliTagAnalysis,0)
92 : };
93 :
94 : #endif
95 :
|