]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliAnalysisManager.h
Merge branch 'trackMatcher'
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisManager.h
index 3ed32d6faba1bcce24c37a3b57ab46037c866fe3..b436f04887b2a888843705cd40e4f63488de18a1 100644 (file)
@@ -20,6 +20,7 @@
 class TClass;
 class TTree;
 class TFile;
+class TStopwatch;
 class AliAnalysisSelector;
 class AliAnalysisDataContainer;
 class AliAnalysisTask;
@@ -50,7 +51,8 @@ enum EAliAnalysisFlags {
    kDisableBranches  = BIT(15),
    kUseDataSet       = BIT(16),
    kSaveCanvases     = BIT(17),
-   kExternalLoop     = BIT(18)
+   kExternalLoop     = BIT(18),
+   kSkipTerminate    = BIT(19)
 };   
 
    AliAnalysisManager(const char *name = "mgr", const char *title="");
@@ -69,8 +71,8 @@ enum EAliAnalysisFlags {
    static TFile       *OpenFile(AliAnalysisDataContainer *cont, const char *option, Bool_t ignoreProof=kFALSE);
    void                PackOutput(TList *target);
    void                RegisterExtraFile(const char *fname);
-   void                StartAnalysis(const char *type="local", TTree *tree=0, Long64_t nentries=1234567890, Long64_t firstentry=0);
-   void                StartAnalysis(const char *type, const char *dataset, Long64_t nentries=1234567890, Long64_t firstentry=0);
+   Long64_t            StartAnalysis(const char *type="local", TTree *tree=0, Long64_t nentries=1234567890, Long64_t firstentry=0);
+   Long64_t            StartAnalysis(const char *type, const char *dataset, Long64_t nentries=1234567890, Long64_t firstentry=0);
    virtual void        SlaveBegin(TTree *tree);
    virtual void        Terminate();
    void                UnpackOutput(TList *source);
@@ -101,7 +103,6 @@ enum EAliAnalysisFlags {
    TObjArray          *GetTopTasks() const        {return fTopTasks;}
    TTree              *GetTree() const            {return fTree;}
    TObjArray          *GetZombieTasks() const     {return fZombies;}
-   Bool_t              IsExternalLoop() const     {return TObject::TestBit(kExternalLoop);}
    Bool_t              IsUsingDataSet() const     {return TObject::TestBit(kUseDataSet);}
    void                SetAnalysisType(EAliAnalysisExecMode mode) {fMode = mode;}
    void                SetCurrentEntry(Long64_t entry)            {fCurrentEntry = entry;}
@@ -118,6 +119,7 @@ enum EAliAnalysisFlags {
    void                SetOutputEventHandler(AliVEventHandler*  handler);
    void                SetSelector(AliAnalysisSelector *sel)      {fSelector = sel;}
    void                SetSaveCanvases(Bool_t flag=kTRUE)         {TObject::SetBit(kSaveCanvases,flag);}
+   void                SetSkipTerminate(Bool_t flag)              {TObject::SetBit(kSkipTerminate,flag);}
    void                SetSpecialOutputLocation(const char *loc)  {fSpecialOutputLocation = loc;}
 
    // Container handling
@@ -140,11 +142,14 @@ enum EAliAnalysisFlags {
    // Analysis initialization and execution, status
    Bool_t               InitAnalysis();
    Bool_t               IsInitialized() const {return fInitOK;}
+   Bool_t               IsExternalLoop() const {return TObject::TestBit(kExternalLoop);}
    Bool_t               IsEventLoop() const {return TObject::TestBit(kEventLoop);}
+   Bool_t               IsSkipTerminate() const {return TObject::TestBit(kSkipTerminate);}
    void                 ResetAnalysis();
    void                 ExecAnalysis(Option_t *option="");
    void                 FinishAnalysis();
    void                 PrintStatus(Option_t *option="all") const;
+   static void          ProgressBar(const char *opname, Long64_t current, Long64_t size, TStopwatch *watch=0, Bool_t last=kFALSE, Bool_t refresh=kFALSE);
    Bool_t               ValidateOutputFiles() const;
 
 protected: