#ifndef ALITAGANALYSIS_H
#define ALITAGANALYSIS_H
#include <TObject.h>
#include <TString.h>
#include <TEntryList.h>
class AliEventTag;
class TChain;
class AliEventTagCuts;
class AliDetectorTagCuts;
class AliLHCTagCuts;
class AliRunTagCuts;
class TGridResult;
class TTreeFormula;
class AliTagAnalysis : public TObject {
public:
AliTagAnalysis();
AliTagAnalysis(const char* type);
~AliTagAnalysis();
void SetType(const char* type) {fAnalysisType = type;}
const char* GetType() {return fAnalysisType.Data();}
Bool_t AddTagsFile(const char *alienUrl, Bool_t checkFile=kTRUE);
void ChainLocalTags(const char *dirname);
TChain *ChainGridTags(TGridResult *result);
TChain *QueryTags(AliRunTagCuts *runTagCuts,
AliLHCTagCuts *lhcTagCuts,
AliDetectorTagCuts *detTagCuts,
AliEventTagCuts *evTagCuts);
TChain *QueryTags(const char *fRunCut,
const char *fLHCCut,
const char *fDetectorCut,
const char *fEventCut);
Bool_t CreateXMLCollection(const char* name,
AliRunTagCuts *runTagCuts,
AliLHCTagCuts *lhcTagCuts,
AliDetectorTagCuts *detTagCuts,
AliEventTagCuts *evTagCuts);
Bool_t CreateXMLCollection(const char* name,
const char *fRunCut,
const char *fLHCCut,
const char *fDetectorCut,
const char *fEventCut);
TChain *GetInputChain(const char* system, const char *wn);
static TChain* CreateChainFromCollection(const char* collectionname, const char* treename);
TEntryList *GetGlobalList() {return fGlobalList;}
protected:
TGridResult *ftagresult;
TString fTagDirName;
TChain *fChain;
TString fAnalysisType;
TEntryList *fGlobalList;
private:
AliTagAnalysis(const AliTagAnalysis & source);
AliTagAnalysis & operator=(const AliTagAnalysis & source);
ClassDef(AliTagAnalysis,0)
};
#endif