]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliAnalysisManager.h
small update of the processing example
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisManager.h
index 8e0fa3bc3846e149538410212aa03ec4dc65e832..5d3ce143512e7779d4acdb7c5bf9e1e64a450bce 100644 (file)
@@ -27,6 +27,7 @@ class TClass;
 class TTree;
 class TFile;
 class TStopwatch;
+class TMap;
 class AliAnalysisSelector;
 class AliAnalysisDataContainer;
 class AliAnalysisTask;
@@ -62,7 +63,8 @@ enum EAliAnalysisFlags {
    kExternalLoop     = BIT(18),
    kSkipTerminate    = BIT(19),
    kUseProgressBar   = BIT(20),
-   kTrueNotify       = BIT(21)
+   kTrueNotify       = BIT(21),
+   kTasksInitialized = BIT(22)
 };   
 
    AliAnalysisManager(const char *name = "mgr", const char *title="");
@@ -120,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;}
@@ -145,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, 
@@ -171,6 +182,7 @@ enum EAliAnalysisFlags {
    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);}
@@ -229,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