X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ANALYSIS%2FAliAnalysisManager.h;h=5d3ce143512e7779d4acdb7c5bf9e1e64a450bce;hb=adad4ea9e03e783c55b94ac290f699d1d2923ba2;hp=990f65bf00f2305fb6e3d6bfb3f437779d144fbf;hpb=8ddad12124e37cad619320993820cf69fbb2364d;p=u%2Fmrichter%2FAliRoot.git diff --git a/ANALYSIS/AliAnalysisManager.h b/ANALYSIS/AliAnalysisManager.h index 990f65bf00f..5d3ce143512 100644 --- a/ANALYSIS/AliAnalysisManager.h +++ b/ANALYSIS/AliAnalysisManager.h @@ -27,6 +27,7 @@ class TClass; class TTree; class TFile; class TStopwatch; +class TMap; class AliAnalysisSelector; class AliAnalysisDataContainer; class AliAnalysisTask; @@ -61,7 +62,9 @@ enum EAliAnalysisFlags { kSaveCanvases = BIT(17), kExternalLoop = BIT(18), kSkipTerminate = BIT(19), - kUseProgressBar = BIT(20) + kUseProgressBar = BIT(20), + kTrueNotify = BIT(21), + kTasksInitialized = BIT(22) }; AliAnalysisManager(const char *name = "mgr", const char *title=""); @@ -72,7 +75,7 @@ enum EAliAnalysisFlags { // Event loop control virtual Int_t GetEntry(Long64_t entry, Int_t getall = 0); - virtual Bool_t Init(TTree *tree); + virtual Bool_t Init(TTree *tree); virtual Bool_t Notify(); virtual Bool_t ProcessCut(Long64_t entry) {return Process(entry);} virtual Bool_t Process(Long64_t entry); @@ -109,6 +112,7 @@ enum EAliAnalysisFlags { TObjArray *GetInputs() const {return fInputs;} AliVEventHandler* GetInputEventHandler() const {return fInputEventHandler;} AliVEventHandler* GetMCtruthEventHandler() const {return fMCtruthEventHandler;} + Int_t GetNsysInfo() const {return fNSysInfo;} AliVEventHandler* GetOutputEventHandler() const {return fOutputEventHandler;} TObjArray *GetOutputs() const {return fOutputs;} TObjArray *GetParamOutputs() const {return fParamCont;} @@ -118,11 +122,16 @@ enum EAliAnalysisFlags { TObjArray *GetTopTasks() const {return fTopTasks;} TTree *GetTree() const {return fTree;} TObjArray *GetZombieTasks() const {return fZombies;} + static const char *GetGlobalStr(const char *key, Bool_t &valid); + static Int_t GetGlobalInt(const char *key, Bool_t &valid); + static Double_t GetGlobalDbl(const char *key, Bool_t &valid); + TMap *GetGlobals() {return fGlobals;} static Bool_t IsPipe(std::ostream &out); Bool_t IsProofMode() const {return (fMode==kProofAnalysis)?kTRUE:kFALSE;} Bool_t IsRemote() const {return fIsRemote;} Bool_t IsUsingDataSet() const {return TObject::TestBit(kUseDataSet);} void LoadBranch(const char *n) { if(fAutoBranchHandling) return; DoLoadBranch(n); } + void RunLocalInit(); void SetAnalysisType(EAliAnalysisExecMode mode) {fMode = mode;} void SetAutoBranchLoading(Bool_t b) { fAutoBranchHandling = b; } void SetCurrentEntry(Long64_t entry) {fCurrentEntry = entry;} @@ -143,6 +152,10 @@ enum EAliAnalysisFlags { void SetSkipTerminate(Bool_t flag) {TObject::SetBit(kSkipTerminate,flag);} void SetUseProgressBar(Bool_t flag, Int_t freq=1); void SetSpecialOutputLocation(const char *loc) {fSpecialOutputLocation = loc;} + static void SetGlobalStr(const char *key, const char *value); + static void SetGlobalInt(const char *key, Int_t value); + static void SetGlobalDbl(const char *key, Double_t value); + // Container handling AliAnalysisDataContainer *CreateContainer(const char *name, TClass *datatype, @@ -165,9 +178,11 @@ enum EAliAnalysisFlags { void AddBranches(const char *branches); void AddStatisticsTask(UInt_t offlineMask=0); void CheckBranches(Bool_t load=kFALSE); + Bool_t CheckTasks() const; void CountEvent(Int_t ninput, Int_t nprocessed, Int_t nfailed, Int_t naccepted); Bool_t InitAnalysis(); Bool_t IsInitialized() const {return fInitOK;} + Bool_t IsTrainInitialized() const {return TObject::TestBit(kTasksInitialized);} Bool_t IsExternalLoop() const {return TObject::TestBit(kExternalLoop);} Bool_t IsEventLoop() const {return TObject::TestBit(kEventLoop);} Bool_t IsSkipTerminate() const {return TObject::TestBit(kSkipTerminate);} @@ -184,6 +199,8 @@ enum EAliAnalysisFlags { void WriteStatisticsMsg(Int_t nevents); Int_t GetNcalls() const {return fNcalls;} Bool_t ValidateOutputFiles() const; + + static const char* GetOADBPath(); protected: void ImportWrappers(TList *source); @@ -224,8 +241,9 @@ private: TString fStatisticsMsg; // Statistics user message TString fRequestedBranches; // Requested branch names AliAnalysisStatistics *fStatistics; // Statistics info about input events + TMap *fGlobals; // Map with global variables static TString fgCommonFileName; //! Common output file name (not streamed) static AliAnalysisManager *fgAnalysisManager; //! static pointer to object instance - ClassDef(AliAnalysisManager,13) // Analysis manager class + ClassDef(AliAnalysisManager,14) // Analysis manager class }; #endif