ROOT logo
AliRoot » ANALYSIS » AliAnalysisManager

class AliAnalysisManager: public TNamed

   AliAnalysisManager - Manager analysis class. Allows creation of several
 analysis tasks and data containers storing their input/output. Allows
 connecting/chaining tasks via shared data containers. Serializes the current
 event for all tasks depending only on initial input data.



Function Members (Methods)

public:
AliAnalysisManager(const AliAnalysisManager& other)
AliAnalysisManager(const char* name = "mgr", const char* title = "")
virtual~AliAnalysisManager()
voidTObject::AbstractMethod(const char* method) const
voidAddBranches(const char* branches)
voidAddClassDebug(const char* className, Int_t debugLevel)
voidAddStatisticsMsg(const char* line)
voidAddStatisticsTask(UInt_t offlineMask = 0)
voidAddTask(AliAnalysisTask* task)
virtual voidTObject::AppendPad(Option_t* option = "")
voidApplyDebugOptions()
virtual voidTObject::Browse(TBrowser* b)
voidChanged()
voidCheckBranches(Bool_t load = kFALSE)
Bool_tCheckTasks() const
static TClass*Class()
virtual const char*TObject::ClassName() const
voidCleanContainers()
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
Bool_tConnectInput(AliAnalysisTask* task, Int_t islot, AliAnalysisDataContainer* cont)
Bool_tConnectOutput(AliAnalysisTask* task, Int_t islot, AliAnalysisDataContainer* cont)
virtual voidTNamed::Copy(TObject& named) const
voidCountEvent(Int_t ninput, Int_t nprocessed, Int_t nfailed, Int_t naccepted)
AliAnalysisDataContainer*CreateContainer(const char* name, TClass* datatype, AliAnalysisManager::EAliAnalysisContType type = kExchangeContainer, const char* filename = NULL)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
Bool_tEventLoop(Long64_t nevents)
voidExecAnalysis(Option_t* option = "")
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
static AliAnalysisManager*GetAnalysisManager()
AliAnalysisManager::EAliAnalysisExecModeGetAnalysisType() const
voidGetAnalysisTypeString(TString& type) const
Bool_tGetAsyncReading() const
Bool_tGetAutoBranchLoading() const
Long64_tGetCacheSize() const
static const char*GetCommonFileName()
AliAnalysisDataContainer*GetCommonInputContainer() const
AliAnalysisDataContainer*GetCommonOutputContainer() const
TObjArray*GetContainers() const
Long64_tGetCurrentEntry() const
UInt_tGetDebugLevel() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Int_tGetEntry(Long64_t entry, Int_t getall = 0)
AliVEventPool*GetEventPool() const
TObjArray*GetExchangeContainers() const
TStringGetExtraFiles() const
Bool_tGetFileFromWrapper(const char* filename, const TList* source)
const char*GetFileInfoLog() const
static Double_tGetGlobalDbl(const char* key, Bool_t& valid)
static Int_tGetGlobalInt(const char* key, Bool_t& valid)
TMap*GetGlobals()
static const char*GetGlobalStr(const char* key, Bool_t& valid)
AliAnalysisGrid*GetGridHandler()
virtual const char*TObject::GetIconName() const
AliVEventHandler*GetInputEventHandler() const
TObjArray*GetInputs() const
AliVEventHandler*GetMCtruthEventHandler() const
virtual const char*TNamed::GetName() const
Int_tGetNcalls() const
Int_tGetNsysInfo() const
static const char*GetOADBPath()
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
AliVEventHandler*GetOutputEventHandler() const
TObjArray*GetOutputs() const
TObjArray*GetParamOutputs() const
const char*GetRequestedBranches() const
static Int_tGetRunFromAlienPath(const char* path)
Int_tGetRunFromPath() const
const AliAnalysisStatistics*GetStatistics() const
const char*GetStatisticsMsg() const
AliAnalysisTask*GetTask(const char* name) const
Int_tGetTaskIndex(const AliAnalysisTask* task) const
TObjArray*GetTasks() const
virtual const char*TNamed::GetTitle() const
TObjArray*GetTopTasks() const
TTree*GetTree() const
virtual UInt_tTObject::GetUniqueID() const
TObjArray*GetZombieTasks() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual Bool_tInit(TTree* tree)
Bool_tInitAnalysis()
voidInitInputData(AliVEvent* esdEvent, AliVfriendEvent* esdFriend)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tIsCollectThroughput()
virtual Bool_tTObject::IsEqual(const TObject* obj) const
Bool_tIsEventLoop() const
Bool_tIsExternalLoop() const
virtual Bool_tTObject::IsFolder() const
Bool_tIsInitialized() const
Bool_tIsLocked() const
static Bool_tIsMacroLoaded(const char* filename)
Bool_tIsMCLoop() const
Bool_tTObject::IsOnHeap() const
static Bool_tIsPipe(ostream& out)
Bool_tIsProofMode() const
Bool_tIsRemote() const
Bool_tIsSkipTerminate() const
virtual Bool_tTNamed::IsSortable() const
Bool_tIsTrainInitialized() const
Bool_tIsUsingDataSet() const
Bool_tTObject::IsZombie() const
voidLoadBranch(const char* n)
static Int_tLoadMacro(const char* filename, Int_t* error = 0, Bool_t check = kFALSE)
voidLock()
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
Bool_tMustClean() const
virtual Bool_tNotify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static TFile*OpenFile(AliAnalysisDataContainer* cont, const char* option, Bool_t ignoreProof = kFALSE)
TFile*OpenProofFile(AliAnalysisDataContainer* cont, const char* option, const char* extaod = "")
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliAnalysisManager&operator=(const AliAnalysisManager& other)
voidPackOutput(TList* target)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
voidPrintStatus(Option_t* option = "all") const
virtual Bool_tProcess(Long64_t entry)
virtual Bool_tProcessCut(Long64_t entry)
voidProfileTask(const char* name, const char* option = "VM") const
voidProfileTask(Int_t itop, const char* option = "VM") const
static voidProgressBar(const char* opname, Long64_t current, Long64_t size, TStopwatch *const watch = 0, Bool_t last = kFALSE, Bool_t refresh = kFALSE)
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidRegisterExtraFile(const char* fname)
voidResetAnalysis()
voidTObject::ResetBit(UInt_t f)
voidRunLocalInit()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidSetAnalysisType(AliAnalysisManager::EAliAnalysisExecMode mode)
voidSetAsyncReading(Bool_t flag = kTRUE)
voidSetAutoBranchLoading(Bool_t b)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCacheSize(Long64_t size)
voidSetCollectSysInfoEach(Int_t nevents = 0)
voidSetCollectThroughput(Bool_t flag)
static voidSetCommonFileName(const char* name)
voidSetCurrentEntry(Long64_t entry)
voidSetDebugLevel(UInt_t level)
voidSetDisableBranches(Bool_t disable = kTRUE)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEventPool(AliVEventPool *const epool)
voidSetExternalLoop(Bool_t flag)
voidSetFileInfoLog(const char* name)
static voidSetGlobalDbl(const char* key, Double_t value)
static voidSetGlobalInt(const char* key, Int_t value)
static voidSetGlobalStr(const char* key, const char* value)
voidSetGridHandler(AliAnalysisGrid *const handler)
voidSetInputEventHandler(AliVEventHandler *const handler)
voidSetMCLoop(Bool_t flag = kTRUE)
voidSetMCtruthEventHandler(AliVEventHandler *const handler)
voidSetMustClean(Bool_t flag = kTRUE)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidSetNSysInfo(Long64_t nevents)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOutputEventHandler(AliVEventHandler *const handler)
voidSetRunFromPath(Int_t run)
voidSetSaveCanvases(Bool_t flag = kTRUE)
voidSetSelector(AliAnalysisSelector *const sel)
voidSetSkipTerminate(Bool_t flag)
voidSetSpecialOutputLocation(const char* loc)
voidSetStatistics(AliAnalysisStatistics* stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetUseProgressBar(Bool_t flag, Int_t freq = 1)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidSlaveBegin(TTree* tree)
Long64_tStartAnalysis(const char* type, Long64_t nentries = 1234567890, Long64_t firstentry = 0)
Long64_tStartAnalysis(const char* type, TTree *const tree, Long64_t nentries = 1234567890, Long64_t firstentry = 0)
Long64_tStartAnalysis(const char* type, const char* dataset, Long64_t nentries = 1234567890, Long64_t firstentry = 0)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
virtual voidTerminate()
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidUnLock()
voidUnpackOutput(TList* source)
virtual voidTObject::UseCurrentStyle()
Bool_tValidateOutputFiles() const
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
voidWriteStatisticsMsg(Int_t nevents)
protected:
voidCreateReadCache()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidDoLoadBranch(const char* name)
voidImportWrappers(TList* source)
voidInputFileFromTree(TTree *const tree, TString& fname)
voidTObject::MakeZombie()
voidSetEventLoop(Bool_t flag = kTRUE)

Data Members

public:
enum EAliAnalysisContType { kExchangeContainer
kInputContainer
kOutputContainer
kParamContainer
};
enum EAliAnalysisExecMode { kLocalAnalysis
kProofAnalysis
kGridAnalysis
kMixingAnalysis
};
enum EAliAnalysisFlags { kEventLoop
kDisableBranches
kUseDataSet
kSaveCanvases
kExternalLoop
kSkipTerminate
kUseProgressBar
kTrueNotify
kTasksInitialized
kCollectThroughput
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
private:
Bool_tfAsyncReadingEnable async reading
Bool_tfAutoBranchHandlingdef=kTRUE, turn off if you use LoadBranch
Double_tfCPUTime! Cumulated time in Exec
TStopwatch*fCPUTimer! Timer for useful processing
Long64_tfCacheSizeCache size in bytes
AliAnalysisDataContainer*fCommonInputCommon input container
AliAnalysisDataContainer*fCommonOutputCommon output container
TObjArray*fContainersList of all containers
AliAnalysisFileDescriptor*fCurrentDescriptor! Current file descriptor
Long64_tfCurrentEntry! Current processed entry in the tree
UInt_tfDebugDebug level
TObjArray*fDebugOptionsList of debug options
AliVEventPool*fEventPoolEvent pool for mixing analysis
TObjArray*fExchangeContList of exchange containers
TStringfExtraFilesList of extra files to be merged
TObjArray*fFileDescriptors! List of file descriptors
TStringfFileInfoLogFile name for fileinfo logs
TMap*fGlobalsMap with global variables
AliAnalysisGrid*fGridHandler! Grid handler plugin
Double_tfIOTime! Cumulated time in IO
TStopwatch*fIOTimer! Timer for I/O + deserialization
Bool_tfInitOKInitialisation done
Double_tfInitTime! Cumulated time in initialization
TStopwatch*fInitTimer! Timer for initialization
AliVEventHandler*fInputEventHandlerOptional common input event handler
TObjArray*fInputsList of containers with input data
Bool_tfIsRemote! Flag is set for remote analysis
Bool_tfLocked! Lock for the manager and handlers
Bool_tfMCLoopExternal MC generator loop
AliVEventHandler*fMCtruthEventHandlerOptional common MC Truth event handler
Long64_tfMaxEntriesMaximum number of entries
AliAnalysisManager::EAliAnalysisExecModefModeExecution mode
Bool_tfMustCleanFlag to let ROOT do cleanup
Long64_tfNSysInfoEvent frequency for collecting system information
Int_tfNcallsTotal number of calls (events) of ExecAnalysis
AliVEventHandler*fOutputEventHandlerOptional common output event handler
TObjArray*fOutputsList of containers with results
static Int_tfPBUpdateFreqProgress bar update freq.
TObjArray*fParamContList of containers with parameters
TStringfRequestedBranchesRequested branch names
Int_tfRunFromPathRun number retrieved from path to input data
AliAnalysisSelector*fSelector! Current selector
TStringfSpecialOutputLocationURL/path where the special outputs will be copied
AliAnalysisStatistics*fStatisticsStatistics info about input events
TStringfStatisticsMsgStatistics user message
THashTablefTablekeep branch ptrs in case of manual branch loading
TObjArray*fTasksList of analysis tasks
TObjArray*fTopTasksList of top tasks
TTree*fTree! Input tree in case of TSelector model
TObjArray*fZombiesList of zombie tasks
static AliAnalysisManager*fgAnalysisManager! static pointer to object instance
static TStringfgCommonFileName! Common output file name (not streamed)
static TStringfgMacroNames! Loaded macro names

Class Charts

Inheritance Chart:
TNamed
AliAnalysisManager

Function documentation

AliAnalysisManager(const char* name = "mgr", const char* title = "")
 Default constructor.
AliAnalysisManager(const AliAnalysisManager& other)
 Copy constructor.
AliAnalysisManager& operator=(const AliAnalysisManager& other)
 Assignment
~AliAnalysisManager()
 Destructor.
void CreateReadCache()
 Create cache for reading according fCacheSize and fAsyncReading.
Bool_t EventLoop(Long64_t nevents)
 Initialize an event loop where the data producer is the input handler
 The handler must implement MakeTree creating the tree of events (likely
 memory resident) and generate the current event in the method BeginEvent.
 If the tree is memory resident, the handler should never call TTree::Fill
 method.
Int_t GetEntry(Long64_t entry, Int_t getall = 0)
 Read one entry of the tree or a whole branch.
Int_t GetRunFromAlienPath(const char* path)
 Attempt to extract run number from input data path. Works only for paths to
 alice data in alien.
    sim:  /alice/sim/<production>/run_no/...
    data: /alice/data/year/period/000run_no/... (ESD or AOD)
Bool_t Init(TTree* tree)
 The Init() function is called when the selector needs to initialize
 a new tree or chain. Typically here the branch addresses of the tree
 will be set. It is normaly not necessary to make changes to the
 generated code, but the routine can be extended by the user if needed.
 Init() will be called many times when running with PROOF.
void SlaveBegin(TTree* tree)
 The SlaveBegin() function is called after the Begin() function.
 When running with PROOF SlaveBegin() is called on each slave server.
 The tree argument is deprecated (on PROOF 0 is passed).
Bool_t Notify()
 The Notify() function is called when a new file is opened. This
 can be either for a new TTree in a TChain or when when a new TTree
 is started when using PROOF. It is normaly not necessary to make changes
 to the generated code, but the routine can be extended by the
 user if needed. The return value is currently not used.
Bool_t Process(Long64_t entry)
 The Process() function is called for each entry in the tree (or possibly
 keyed object in the case of PROOF) to be processed. The entry argument
 specifies which entry in the currently loaded tree is to be processed.
 It can be passed to either TTree::GetEntry() or TBranch::GetEntry()
 to read either all or the required parts of the data. When processing
 keyed objects with PROOF, the object is already loaded and is available
 via the fObject pointer.

 This function should contain the "body" of the analysis. It can contain
 simple or elaborate selection criteria, run algorithms on the data
 of the event and typically fill histograms.
void PackOutput(TList* target)
 Pack all output data containers in the output list. Called at SlaveTerminate
 stage in PROOF case for each slave.
void ImportWrappers(TList* source)
 Import data in output containers from wrappers coming in source.
void UnpackOutput(TList* source)
 Called by AliAnalysisSelector::Terminate only on the client.
void Terminate()
 The Terminate() function is the last function to be called during
 a query. It always runs on the client, it can be used to present
 the results graphically.
void ProfileTask(Int_t itop, const char* option = "VM") const
 Profiles the task having the itop index in the list of top (first level) tasks.
void ProfileTask(const char* name, const char* option = "VM") const
 Profile a managed task after the execution of the analysis in case NSysInfo
 was used.
void AddTask(AliAnalysisTask* task)
 Adds a user task to the global list of tasks.
AliAnalysisTask * GetTask(const char* name) const
 Retreive task by name.
Int_t GetTaskIndex(const AliAnalysisTask* task) const
 Returns task inded in the manager's list, -1 if not registered.
AliAnalysisDataContainer * CreateContainer(const char* name, TClass* datatype, AliAnalysisManager::EAliAnalysisContType type = kExchangeContainer, const char* filename = NULL)
 Create a data container of a certain type. Types can be:
   kExchangeContainer  = 0, used to exchange data between tasks
   kInputContainer   = 1, used to store input data
   kOutputContainer  = 2, used for writing result to a file
 filename: composed by file#folder (e.g. results.root#INCLUSIVE) - will write
 the output object to a folder inside the output file
Bool_t ConnectInput(AliAnalysisTask* task, Int_t islot, AliAnalysisDataContainer* cont)
 Connect input of an existing task to a data container.
Bool_t ConnectOutput(AliAnalysisTask* task, Int_t islot, AliAnalysisDataContainer* cont)
 Connect output of an existing task to a data container.
void CleanContainers()
 Clean data from all containers that have already finished all client tasks.
Bool_t InitAnalysis()
 Initialization of analysis chain of tasks. Should be called after all tasks
 and data containers are properly connected
 Reset flag and remove valid_outputs file if exists
void AddBranches(const char* branches)
 Add branches to the existing fRequestedBranches.
void CheckBranches(Bool_t load = kFALSE)
 The method checks the input branches to be loaded during the analysis.
Bool_t CheckTasks() const
 Check consistency of tasks.
void PrintStatus(Option_t* option = "all") const
 Print task hierarchy.
void ResetAnalysis()
 Reset all execution flags and clean containers.
void RunLocalInit()
 Run LocalInit method for all tasks.
void InputFileFromTree(TTree *const tree, TString& fname)
 Retrieves name of the file from tree
Long64_t StartAnalysis(const char* type, Long64_t nentries = 1234567890, Long64_t firstentry = 0)
 Start analysis having a grid handler.
Long64_t StartAnalysis(const char* type, TTree *const tree, Long64_t nentries = 1234567890, Long64_t firstentry = 0)
 Start analysis for this manager. Analysis task can be: LOCAL, PROOF, GRID or
 MIX. Process nentries starting from firstentry
Long64_t StartAnalysis(const char* type, const char* dataset, Long64_t nentries = 1234567890, Long64_t firstentry = 0)
 Start analysis for this manager on a given dataset. Analysis task can be:
 LOCAL, PROOF or GRID. Process nentries starting from firstentry.
TFile * OpenFile(AliAnalysisDataContainer* cont, const char* option, Bool_t ignoreProof = kFALSE)
 Opens according the option the file specified by cont->GetFileName() and changes
 current directory to cont->GetFolderName(). If the file was already opened, it
 checks if the option UPDATE was preserved. File open via TProofOutputFile can
 be optionally ignored.
TFile * OpenProofFile(AliAnalysisDataContainer* cont, const char* option, const char* extaod = "")
 Opens a special output file used in PROOF.
void ExecAnalysis(Option_t* option = "")
 Execute analysis.
Bool_t IsPipe(ostream& out)
 Check if the stdout is connected to a pipe (C.Holm)
void SetInputEventHandler(AliVEventHandler *const handler)
 Set the input event handler and create a container for it.
void SetOutputEventHandler(AliVEventHandler *const handler)
 Set the input event handler and create a container for it.
void SetDebugLevel(UInt_t level)
 Set verbosity of the analysis manager. If the progress bar is used, the call is ignored
void SetUseProgressBar(Bool_t flag, Int_t freq = 1)
 Enable a text mode progress bar. Resets debug level to 0.
void RegisterExtraFile(const char* fname)
 This method is used externally to register output files which are not
 connected to any output container, so that the manager can properly register,
 retrieve or merge them when running in distributed mode. The file names are
 separated by blancs. The method has to be called in MyAnalysisTask::LocalInit().
Bool_t GetFileFromWrapper(const char* filename, const TList* source)
 Copy a file from the location specified ina the wrapper with the same name from the source list.
void GetAnalysisTypeString(TString& type) const
 Fill analysis type in the provided string.
Bool_t ValidateOutputFiles() const
 Validate all output files.
void ProgressBar(const char* opname, Long64_t current, Long64_t size, TStopwatch *const watch = 0, Bool_t last = kFALSE, Bool_t refresh = kFALSE)
 Implements a nice text mode progress bar.
void DoLoadBranch(const char* name)
 Get tree and load branch if needed.
void AddStatisticsTask(UInt_t offlineMask = 0)
 Add the statistics task to the manager.
void CountEvent(Int_t ninput, Int_t nprocessed, Int_t nfailed, Int_t naccepted)
 Bookkeep current event;
void AddStatisticsMsg(const char* line)
 Add a line in the statistics message. If available, the statistics message is written
 at the end of the SlaveTerminate phase on workers AND at the end of Terminate
 on the client.
void WriteStatisticsMsg(Int_t nevents)
 If fStatistics is present, write the file in the format ninput_nprocessed_nfailed_naccepted.stat
const char* GetOADBPath()
 returns the path of the OADB
 this static function just depends on environment variables
void SetGlobalStr(const char* key, const char* value)
 Define a custom string variable mapped to a global unique name. The variable
 can be then retrieved by a given analysis macro via GetGlobalStr(key).
const char * GetGlobalStr(const char* key, Bool_t& valid)
 Static method to retrieve a global variable defined via SetGlobalStr.
void SetGlobalInt(const char* key, Int_t value)
 Define a custom integer variable mapped to a global unique name. The variable
 can be then retrieved by a given analysis macro via GetGlobalInt(key).
Int_t GetGlobalInt(const char* key, Bool_t& valid)
 Static method to retrieve a global variable defined via SetGlobalInt.
void SetGlobalDbl(const char* key, Double_t value)
 Define a custom double precision variable mapped to a global unique name. The variable
 can be then retrieved by a given analysis macro via GetGlobalInt(key).
Double_t GetGlobalDbl(const char* key, Bool_t& valid)
 Static method to retrieve a global variable defined via SetGlobalDbl.
void AddClassDebug(const char* className, Int_t debugLevel)
 Sets Class debug level
void ApplyDebugOptions()
 Apply debug options
Bool_t IsMacroLoaded(const char* filename)
 Check if a macro was loaded.
Int_t LoadMacro(const char* filename, Int_t* error = 0, Bool_t check = kFALSE)
 Redirection of gROOT->LoadMacro which makes sure the same macro is not loaded
 twice
void Lock()
 Security lock. This is to detect NORMAL user errors and not really to
 protect against intentional hacks.
void UnLock()
 Verbose unlocking. Hackers will be punished ;-) ...
void Changed()
 All critical setters pass through the Changed method that throws an exception
 in case the lock was set.
void InitInputData(AliVEvent* esdEvent, AliVfriendEvent* esdFriend)
Bool_t ProcessCut(Long64_t entry)
{return Process(entry);}
AliAnalysisManager * GetAnalysisManager()
 Getters/Setters
GetAnalysisType() const
{return fMode;}
Bool_t GetAutoBranchLoading() const
Long64_t GetCacheSize() const
{return fCacheSize;}
const char * GetCommonFileName()
{return fgCommonFileName.Data();}
GetCommonInputContainer() const
{return fCommonInput;}
GetCommonOutputContainer() const
{return fCommonOutput;}
TObjArray * GetContainers() const
{return fContainers;}
Long64_t GetCurrentEntry() const
{return fCurrentEntry;}
UInt_t GetDebugLevel() const
{return fDebug;}
Bool_t GetAsyncReading() const
{return fAsyncReading;}
TString GetExtraFiles() const
{return fExtraFiles;}
AliVEventPool* GetEventPool() const
{return fEventPool;}
const char * GetFileInfoLog() const
{return fFileInfoLog.Data();}
AliAnalysisGrid* GetGridHandler()
{return fGridHandler;}
TObjArray * GetInputs() const
{return fInputs;}
AliVEventHandler* GetInputEventHandler() const
AliVEventHandler* GetMCtruthEventHandler() const
Int_t GetNsysInfo() const
{return fNSysInfo;}
AliVEventHandler* GetOutputEventHandler() const
TObjArray * GetOutputs() const
{return fOutputs;}
TObjArray * GetParamOutputs() const
{return fParamCont;}
TObjArray * GetExchangeContainers() const
{return fExchangeCont;}
Int_t GetRunFromPath() const
{return fRunFromPath;}
const char * GetRequestedBranches() const
{return fRequestedBranches.Data();}
TObjArray * GetTasks() const
{return fTasks;}
TObjArray * GetTopTasks() const
{return fTopTasks;}
TTree * GetTree() const
{return fTree;}
TObjArray * GetZombieTasks() const
{return fZombies;}
TMap * GetGlobals()
{return fGlobals;}
Bool_t IsMCLoop() const
{return fMCLoop;}
Bool_t IsProofMode() const
Bool_t IsRemote() const
{return fIsRemote;}
Bool_t IsCollectThroughput()
Bool_t IsUsingDataSet() const
void LoadBranch(const char* n)
{ if(fAutoBranchHandling) return; DoLoadBranch(n); }
void SetAnalysisType(AliAnalysisManager::EAliAnalysisExecMode mode)
{fMode = mode;}
void SetAutoBranchLoading(Bool_t b)
void SetCurrentEntry(Long64_t entry)
{fCurrentEntry = entry;}
void SetCacheSize(Long64_t size)
{fCacheSize = size;}
void SetCollectSysInfoEach(Int_t nevents = 0)
{fNSysInfo = nevents;}
void SetCollectThroughput(Bool_t flag)
void SetCommonFileName(const char* name)
void SetDisableBranches(Bool_t disable = kTRUE)
void SetAsyncReading(Bool_t flag = kTRUE)
{fAsyncReading = flag;}
void SetExternalLoop(Bool_t flag)
void SetMCLoop(Bool_t flag = kTRUE)
{fMCLoop = flag;}
void SetEventPool(AliVEventPool *const epool)
{Changed(); fEventPool = epool;}
void SetFileInfoLog(const char* name)
void SetGridHandler(AliAnalysisGrid *const handler)
{Changed(); fGridHandler = handler;}
void SetMCtruthEventHandler(AliVEventHandler *const handler)
void SetNSysInfo(Long64_t nevents)
{fNSysInfo = nevents;}
void SetRunFromPath(Int_t run)
{fRunFromPath = run;}
void SetSelector(AliAnalysisSelector *const sel)
{fSelector = sel;}
void SetSaveCanvases(Bool_t flag = kTRUE)
void SetSkipTerminate(Bool_t flag)
void SetSpecialOutputLocation(const char* loc)
Bool_t IsInitialized() const
{return fInitOK;}
Bool_t IsTrainInitialized() const
Bool_t IsExternalLoop() const
Bool_t IsEventLoop() const
Bool_t IsSkipTerminate() const
Bool_t MustClean() const
{return fMustClean;}
void SetMustClean(Bool_t flag = kTRUE)
{fMustClean = flag;}
const char * GetStatisticsMsg() const
{return fStatisticsMsg.Data();}
const AliAnalysisStatistics * GetStatistics() const
{return fStatistics;}
void SetStatistics(AliAnalysisStatistics* stat)
{fStatistics = stat;}
Int_t GetNcalls() const
{return fNcalls;}
Bool_t IsLocked() const
 Security
{return fLocked;}
void SetEventLoop(Bool_t flag = kTRUE)