class TClass;
class TTree;
class TFile;
+class TStopwatch;
class AliAnalysisSelector;
class AliAnalysisDataContainer;
class AliAnalysisTask;
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="");
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);
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;}
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
// 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: