#ifndef ALIANALYSISSTATISTICS_H
#define ALIANALYSISSTATISTICS_H
#ifndef ROOT_TNamed
#include "TNamed.h"
#endif
class TObjArray;
class TStopwatch;
class AliAnalysisStatistics : public TNamed {
protected:
Long64_t fNinput;
Long64_t fNprocessed;
Long64_t fNfailed;
Long64_t fNaccepted;
UInt_t fOfflineMask;
Int_t fMaxTasks;
Int_t fNtasks;
Int_t fCurrentTask;
Double_t *fTaskTimeReal;
Double_t *fTaskTimeCPU;
TObjArray *fTaskNames;
TStopwatch *fTaskTimer;
public:
AliAnalysisStatistics() : TNamed(),fNinput(0),fNprocessed(0),fNfailed(0),
fNaccepted(0),fOfflineMask(0), fMaxTasks(0),fNtasks(0), fCurrentTask(-1),
fTaskTimeReal(0), fTaskTimeCPU(0), fTaskNames(0), fTaskTimer(0) {}
AliAnalysisStatistics(const char *name)
: TNamed(name,""),fNinput(0),fNprocessed(0),fNfailed(0),
fNaccepted(0),fOfflineMask(0), fMaxTasks(0),fNtasks(0), fCurrentTask(-1),
fTaskTimeReal(0), fTaskTimeCPU(0), fTaskNames(0), fTaskTimer(0) {}
AliAnalysisStatistics(const AliAnalysisStatistics &other);
virtual ~AliAnalysisStatistics() {}
AliAnalysisStatistics& operator=(const AliAnalysisStatistics &other);
void AddInput(Int_t nevents=1) {fNinput += nevents;}
void AddProcessed(Int_t nevents=1) {fNprocessed += nevents;}
void AddFailed(Int_t nevents=1) {fNfailed += nevents;}
void AddAccepted(Int_t nevents=1) {fNaccepted += nevents;}
Long64_t GetNinput() const {return fNinput;}
Long64_t GetNprocessed() const {return fNprocessed;}
Long64_t GetNfailed() const {return fNfailed;}
Long64_t GetNaccepted() const {return fNaccepted;}
UInt_t GetOfflineMask() const {return fOfflineMask;}
static const char *GetMaskAsString(UInt_t mask);
Int_t GetNtasks() const {return fNtasks;}
const char *GetTaskName(Int_t itask) const;
Double_t GetRealTime(Int_t itask) const {return (fTaskTimeReal) ? fTaskTimeReal[itask] : 0.;}
Double_t GetCPUTime(Int_t itask) const {return (fTaskTimeCPU) ? fTaskTimeCPU[itask] : 0.;}
void SetOfflineMask(UInt_t mask) {fOfflineMask = mask;}
virtual Long64_t Merge(TCollection* list);
virtual void Print(const Option_t *option="") const;
void StartTimer(Int_t itask, const char *name, const char *classname = "");
void StopTimer();
ClassDef(AliAnalysisStatistics,2)
};
#endif
AliAnalysisStatistics.h:1 AliAnalysisStatistics.h:2 AliAnalysisStatistics.h:3 AliAnalysisStatistics.h:4 AliAnalysisStatistics.h:5 AliAnalysisStatistics.h:6 AliAnalysisStatistics.h:7 AliAnalysisStatistics.h:8 AliAnalysisStatistics.h:9 AliAnalysisStatistics.h:10 AliAnalysisStatistics.h:11 AliAnalysisStatistics.h:12 AliAnalysisStatistics.h:13 AliAnalysisStatistics.h:14 AliAnalysisStatistics.h:15 AliAnalysisStatistics.h:16 AliAnalysisStatistics.h:17 AliAnalysisStatistics.h:18 AliAnalysisStatistics.h:19 AliAnalysisStatistics.h:20 AliAnalysisStatistics.h:21 AliAnalysisStatistics.h:22 AliAnalysisStatistics.h:23 AliAnalysisStatistics.h:24 AliAnalysisStatistics.h:25 AliAnalysisStatistics.h:26 AliAnalysisStatistics.h:27 AliAnalysisStatistics.h:28 AliAnalysisStatistics.h:29 AliAnalysisStatistics.h:30 AliAnalysisStatistics.h:31 AliAnalysisStatistics.h:32 AliAnalysisStatistics.h:33 AliAnalysisStatistics.h:34 AliAnalysisStatistics.h:35 AliAnalysisStatistics.h:36 AliAnalysisStatistics.h:37 AliAnalysisStatistics.h:38 AliAnalysisStatistics.h:39 AliAnalysisStatistics.h:40 AliAnalysisStatistics.h:41 AliAnalysisStatistics.h:42 AliAnalysisStatistics.h:43 AliAnalysisStatistics.h:44 AliAnalysisStatistics.h:45 AliAnalysisStatistics.h:46 AliAnalysisStatistics.h:47 AliAnalysisStatistics.h:48 AliAnalysisStatistics.h:49 AliAnalysisStatistics.h:50 AliAnalysisStatistics.h:51 AliAnalysisStatistics.h:52 AliAnalysisStatistics.h:53 AliAnalysisStatistics.h:54 AliAnalysisStatistics.h:55 AliAnalysisStatistics.h:56 AliAnalysisStatistics.h:57 AliAnalysisStatistics.h:58 AliAnalysisStatistics.h:59 AliAnalysisStatistics.h:60 AliAnalysisStatistics.h:61 AliAnalysisStatistics.h:62 AliAnalysisStatistics.h:63 AliAnalysisStatistics.h:64 AliAnalysisStatistics.h:65 AliAnalysisStatistics.h:66 AliAnalysisStatistics.h:67 AliAnalysisStatistics.h:68 AliAnalysisStatistics.h:69 AliAnalysisStatistics.h:70 AliAnalysisStatistics.h:71 AliAnalysisStatistics.h:72 AliAnalysisStatistics.h:73 AliAnalysisStatistics.h:74 AliAnalysisStatistics.h:75