1 #ifndef ALIANALYSISMANAGER_H 2 #define ALIANALYSISMANAGER_H 18 #ifndef ROOT_THashTable 19 #include <THashTable.h> 25 class TFileCollection;
78 virtual Int_t
GetEntry(Long64_t entry, Int_t getall = 0);
82 virtual Bool_t
Process(Long64_t entry);
87 Long64_t
StartAnalysis(
const char *type, TTree *
const tree, Long64_t nentries=1234567890, Long64_t firstentry=0);
88 Long64_t
StartAnalysis(
const char *type,
const char *dataset, Long64_t nentries=1234567890, Long64_t firstentry=0);
89 Long64_t
StartAnalysis(
const char *type, TFileCollection* dataset, Long64_t nentries=1234567890, Long64_t firstentry=0);
90 Long64_t
StartAnalysis(
const char *type, Long64_t nentries=1234567890, Long64_t firstentry=0);
97 static Int_t
LoadMacro(
const char *filename, Int_t *error = 0, Bool_t check = kFALSE);
132 static const char *
GetGlobalStr(
const char *key, Bool_t &valid);
133 static Int_t
GetGlobalInt(
const char *key, Bool_t &valid);
134 static Double_t
GetGlobalDbl(
const char *key, Bool_t &valid);
138 static Bool_t
IsPipe(std::ostream &out);
170 static void SetGlobalStr(
const char *key,
const char *value);
172 static void SetGlobalDbl(
const char *key, Double_t value);
178 const char *filename = NULL);
198 void CountEvent(Int_t ninput, Int_t nprocessed, Int_t nfailed, Int_t naccepted);
210 void ProfileTask(
const char *name,
const char *option=
"VM")
const;
211 void ProfileTask(Int_t itop,
const char *option=
"VM")
const;
212 static void ProgressBar(
const char *opname, Long64_t current, Long64_t size, TStopwatch *
const watch=0, Bool_t last=kFALSE, Bool_t refresh=kFALSE);
Bool_t ConnectOutput(AliAnalysisTask *task, Int_t islot, AliAnalysisDataContainer *cont)
AliAnalysysTask - Class representing a basic analysis task. Any user-defined task should derive from...
Bool_t GetFileFromWrapper(const char *filename, const TList *source)
void SetSpecialOutputLocation(const char *loc)
void SetGridHandler(AliAnalysisGrid *const handler)
TObjArray * fContainers
List of all containers.
AliAnalysisFileDescriptor * fCurrentDescriptor
! Current file descriptor
void InputFileFromTree(TTree *const tree, TString &fname)
AliAnalysisDataContainer * GetCommonOutputContainer() const
TObjArray * GetTopTasks() const
TFile * OpenProofFile(AliAnalysisDataContainer *cont, const char *option, const char *extaod="")
void SetMustClean(Bool_t flag=kTRUE)
void SetDisableBranches(Bool_t disable=kTRUE)
virtual Bool_t Process(Long64_t entry)
static void SetCommonFileName(const char *name)
static Int_t GetRunFromAlienPath(const char *path)
void SetEventLoop(Bool_t flag=kTRUE)
void PrintStatus(Option_t *option="all") const
void WriteStatisticsMsg(Int_t nevents)
AliAnalysisTask * GetTask(const char *name) const
static Int_t LoadMacro(const char *filename, Int_t *error=0, Bool_t check=kFALSE)
Bool_t IsProofMode() const
void SetSelector(AliAnalysisSelector *const sel)
static TFile * OpenFile(AliAnalysisDataContainer *cont, const char *option, Bool_t ignoreProof=kFALSE)
static TString fgMacroNames
! Loaded macro names
Bool_t fIsRemote
! Flag is set for remote analysis
void AddStatisticsTask(UInt_t offlineMask=0)
TObjArray * GetInputs() const
void GetAnalysisTypeString(TString &type) const
void SetSkipTerminate(Bool_t flag)
const AliAnalysisStatistics * GetStatistics() const
Int_t fNcalls
Total number of calls (events) of ExecAnalysis.
static AliAnalysisManager * GetAnalysisManager()
EAliAnalysisExecMode fMode
Execution mode.
Long64_t GetCacheSize() const
AliAnalysysManager Manager analysis class. Allows creation of several analysis tasks and data contain...
TString fStatisticsMsg
Statistics user message.
void DoLoadBranch(const char *name)
const char * GetStatisticsMsg() const
void SetAsyncReading(Bool_t flag=kTRUE)
void SetRunFromPath(Int_t run)
void SetEventPool(AliVEventPool *const epool)
AliVEventHandler * fInputEventHandler
Optional common input event handler.
THashTable fTable
keep branch ptrs in case of manual branch loading
virtual Bool_t Init(TTree *tree)
static void SetGlobalDbl(const char *key, Double_t value)
void SetMCtruthEventHandler(AliVEventHandler *const handler)
static const char * GetGlobalStr(const char *key, Bool_t &valid)
TObjArray * fTasks
List of analysis tasks.
void UnpackOutput(TList *source)
TObjArray * GetParamOutputs() const
AliAnalysisGrid * GetGridHandler()
UInt_t fDebug
Debug level.
AliAnalysysDataContainer AliAnalysysDataContainer - Container of data of arbitrary type deriving from...
static const char * GetCommonFileName()
Bool_t IsCollectThroughput()
UInt_t GetDebugLevel() const
TMap * fGlobals
Map with global variables.
TString GetExtraFiles() const
TStopwatch * fCPUTimer
! Timer for useful processing
TString fRequestedBranches
Requested branch names.
EAliAnalysisExecMode GetAnalysisType() const
TObjArray * GetZombieTasks() const
static TString fgCommonFileName
! Common output file name (not streamed)
TObjArray * GetTasks() const
AliAnalysisDataContainer * fCommonOutput
Common output container.
AliAnalysisDataContainer * GetCommonInputContainer() const
void SetCollectSysInfoEach(Int_t nevents=0)
AliVEventPool * fEventPool
Event pool for mixing analysis.
Long64_t StartAnalysis(const char *type, TTree *const tree, Long64_t nentries=1234567890, Long64_t firstentry=0)
void RegisterExtraFile(const char *fname)
AliVEventPool * GetEventPool() const
AliVEventHandler * GetInputEventHandler() const
void SetDebugLevel(UInt_t level)
Int_t GetTaskIndex(const AliAnalysisTask *task) const
void SetStatistics(AliAnalysisStatistics *stat)
AliAnalysisSelector * fSelector
! Current selector
AliAnalysisStatistics basic class for storing statistics for the processed events. The object is mergeable and can be used for general purpose. In case a AliAnalysisTaskStat is used, this will set the global statistics object to the analysis manager and will update it for the accepted events.
Double_t fInitTime
! Cumulated time in initialization
TTree * fTree
! Input tree in case of TSelector model
void AddBranches(const char *branches)
void SetFileInfoLog(const char *name)
Int_t GetRunFromPath() const
AliAnalysisManager & operator=(const AliAnalysisManager &other)
AliAnalysisManager(const char *name="mgr", const char *title="")
virtual void SlaveBegin(TTree *tree)
AliAnalysisGrid Base grid utility class. Provides interface for creating a personalized JDL...
void SetSaveCanvases(Bool_t flag=kTRUE)
static void SetGlobalStr(const char *key, const char *value)
Bool_t ValidateOutputFiles() const
Bool_t GetAsyncReading() const
TStopwatch * fInitTimer
! Timer for initialization
Bool_t IsExternalLoop() const
void SetOutputEventHandler(AliVEventHandler *const handler)
AliVEventHandler * GetMCtruthEventHandler() const
void PackOutput(TList *target)
void SetUseProgressBar(Bool_t flag, Int_t freq=1)
TObjArray * fZombies
List of zombie tasks.
TObjArray * fOutputs
List of containers with results.
TObjArray * GetOutputs() const
AliAnalysisSelector Transparent selector class instantiated by an analysis manager object...
void SetInputEventHandler(AliVEventHandler *const handler)
void ExecAnalysis(Option_t *option="")
Long64_t fNSysInfo
Event frequency for collecting system information.
Double_t fIOTime
! Cumulated time in IO
Bool_t fInitOK
Initialisation done.
void SetAutoBranchLoading(Bool_t b)
Int_t GetNsysInfo() const
static Bool_t IsMacroLoaded(const char *filename)
TObjArray * GetExchangeContainers() const
static AliAnalysisManager * fgAnalysisManager
! static pointer to object instance
AliVEventHandler * GetOutputEventHandler() const
static Int_t fPBUpdateFreq
Progress bar update freq.
static void SetGlobalInt(const char *key, Int_t value)
TString fSpecialOutputLocation
URL/path where the special outputs will be copied.
void SetAnalysisType(EAliAnalysisExecMode mode)
TObjArray * fTopTasks
List of top tasks.
TStopwatch * fIOTimer
! Timer for I/O + deserialization
AliVEventHandler * fMCtruthEventHandler
Optional common MC Truth event handler.
AliAnalysisStatistics * fStatistics
Statistics info about input events.
void AddClassDebug(const char *className, Int_t debugLevel)
void ProfileTask(const char *name, const char *option="VM") const
AliAnalysisDataContainer * fCommonInput
Common input container.
Bool_t fLocked
! Lock for the manager and handlers
static const char * GetOADBPath()
Bool_t ConnectInput(AliAnalysisTask *task, Int_t islot, AliAnalysisDataContainer *cont)
static Double_t GetGlobalDbl(const char *key, Bool_t &valid)
AliAnalysisGrid * fGridHandler
! Grid handler plugin
Bool_t IsSkipTerminate() const
TObjArray * fFileDescriptors
! List of file descriptors
void AddTask(AliAnalysisTask *task)
TString fExtraFiles
List of extra files to be merged.
void AddStatisticsMsg(const char *line)
Bool_t fAsyncReading
Enable async reading.
void SetCollectThroughput(Bool_t flag)
TObjArray * fExchangeCont
List of exchange containers.
void SetCacheSize(Long64_t size)
TObjArray * fParamCont
List of containers with parameters.
void ImportWrappers(TList *source)
Bool_t IsEventLoop() const
Bool_t fAutoBranchHandling
def=kTRUE, turn off if you use LoadBranch
void LoadBranch(const char *n)
Long64_t GetCurrentEntry() const
Bool_t IsInitialized() const
static void ProgressBar(const char *opname, Long64_t current, Long64_t size, TStopwatch *const watch=0, Bool_t last=kFALSE, Bool_t refresh=kFALSE)
void SetExternalLoop(Bool_t flag)
Bool_t fMustClean
Flag to let ROOT do cleanup.
TObjArray * fDebugOptions
List of debug options.
Bool_t GetAutoBranchLoading() const
Long64_t fMaxEntries
Maximum number of entries.
AliVEventHandler * fOutputEventHandler
Optional common output event handler.
Bool_t IsTrainInitialized() const
virtual Bool_t ProcessCut(Long64_t entry)
void SetMCLoop(Bool_t flag=kTRUE)
TObjArray * fInputs
List of containers with input data.
void SetCurrentEntry(Long64_t entry)
Long64_t fCacheSize
Cache size in bytes.
void SetNSysInfo(Long64_t nevents)
Double_t fCPUTime
! Cumulated time in Exec
TString fFileInfoLog
File name for fileinfo logs.
const char * GetRequestedBranches() const
Bool_t EventLoop(Long64_t nevents)
Long64_t fCurrentEntry
! Current processed entry in the tree
Bool_t IsUsingDataSet() const
virtual ~AliAnalysisManager()
void InitInputData(AliVEvent *esdEvent, AliVfriendEvent *esdFriend)
TObjArray * GetContainers() const
Bool_t fMCLoop
External MC generator loop.
static Bool_t IsPipe(std::ostream &out)
Int_t fRunFromPath
Run number retrieved from path to input data.
virtual Int_t GetEntry(Long64_t entry, Int_t getall=0)
static Int_t GetGlobalInt(const char *key, Bool_t &valid)
Bool_t CheckTasks() const
AliAnalysisDataContainer * CreateContainer(const char *name, TClass *datatype, EAliAnalysisContType type=kExchangeContainer, const char *filename=NULL)
void CheckBranches(Bool_t load=kFALSE)
void CountEvent(Int_t ninput, Int_t nprocessed, Int_t nfailed, Int_t naccepted)
const char * GetFileInfoLog() const