]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliAnalysisManager.h
feed the new clusters with the matching residuals, either recalculated or from the...
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisManager.h
index 990f65bf00f2305fb6e3d6bfb3f437779d144fbf..5d3ce143512e7779d4acdb7c5bf9e1e64a450bce 100644 (file)
@@ -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