ROOT logo
//=============================================================================
//
// *** AddTaskTOFCalib.C ***
//
// This macro initialize a complete AnalysisTask object for TOF Calibration.
//
//=============================================================================

AliTOFCalibTask *AddTaskTOFCalib()
{
	// A. Get the pointer to the existing analysis manager via the static access method.
	//==============================================================================

	AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
	if (!mgr) {
		Error("AddTaskTOFCalib", "No analysis manager to connect to.");
		return NULL;
	}  

	// B. Check the analysis type using the event handlers connected to the analysis
	//    manager. The availability of MC handler cann also be checked here.
	//==============================================================================

	if (!mgr->GetInputEventHandler()) {
		::Error("AddTask", "This task requires an input event handler");
		return NULL;
	}  
	TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"

	// C. Create the task, add it to manager.
	//===========================================================================

	AliTOFCalibTask *taskTOF = new AliTOFCalibTask("TOFCalibTask");
	mgr->AddTask(taskTOF);

	// D. Configure the analysis task. Extra parameters can be used via optional
	// arguments of the AddTaskXXX() function.
	//===========================================================================
	
	// E. Create ONLY the output containers for the data produced by the task.
	// Get and connect other common input/output containers via the manager as below
	//==============================================================================
	AliAnalysisDataContainer *coutput1  = mgr->CreateContainer("histoList",  TList::Class(),
							       AliAnalysisManager::kOutputContainer,"outputHistos.root");
	AliAnalysisDataContainer *coutput2  = mgr->CreateContainer("tofArray",  TList::Class(),
							       AliAnalysisManager::kOutputContainer);

	mgr->ConnectInput(taskTOF, 0, mgr->GetCommonInputContainer());
	mgr->ConnectOutput(taskTOF, 1, coutput1);
	mgr->ConnectOutput(taskTOF, 2, coutput2);

	// Return task pointer at the end
	return taskTOF;
}
 AddTaskTOFCalib.C:1
 AddTaskTOFCalib.C:2
 AddTaskTOFCalib.C:3
 AddTaskTOFCalib.C:4
 AddTaskTOFCalib.C:5
 AddTaskTOFCalib.C:6
 AddTaskTOFCalib.C:7
 AddTaskTOFCalib.C:8
 AddTaskTOFCalib.C:9
 AddTaskTOFCalib.C:10
 AddTaskTOFCalib.C:11
 AddTaskTOFCalib.C:12
 AddTaskTOFCalib.C:13
 AddTaskTOFCalib.C:14
 AddTaskTOFCalib.C:15
 AddTaskTOFCalib.C:16
 AddTaskTOFCalib.C:17
 AddTaskTOFCalib.C:18
 AddTaskTOFCalib.C:19
 AddTaskTOFCalib.C:20
 AddTaskTOFCalib.C:21
 AddTaskTOFCalib.C:22
 AddTaskTOFCalib.C:23
 AddTaskTOFCalib.C:24
 AddTaskTOFCalib.C:25
 AddTaskTOFCalib.C:26
 AddTaskTOFCalib.C:27
 AddTaskTOFCalib.C:28
 AddTaskTOFCalib.C:29
 AddTaskTOFCalib.C:30
 AddTaskTOFCalib.C:31
 AddTaskTOFCalib.C:32
 AddTaskTOFCalib.C:33
 AddTaskTOFCalib.C:34
 AddTaskTOFCalib.C:35
 AddTaskTOFCalib.C:36
 AddTaskTOFCalib.C:37
 AddTaskTOFCalib.C:38
 AddTaskTOFCalib.C:39
 AddTaskTOFCalib.C:40
 AddTaskTOFCalib.C:41
 AddTaskTOFCalib.C:42
 AddTaskTOFCalib.C:43
 AddTaskTOFCalib.C:44
 AddTaskTOFCalib.C:45
 AddTaskTOFCalib.C:46
 AddTaskTOFCalib.C:47
 AddTaskTOFCalib.C:48
 AddTaskTOFCalib.C:49
 AddTaskTOFCalib.C:50
 AddTaskTOFCalib.C:51
 AddTaskTOFCalib.C:52
 AddTaskTOFCalib.C:53
 AddTaskTOFCalib.C:54
 AddTaskTOFCalib.C:55