ROOT logo
TaskProducer *AddTaskProducer(const char *name)
{
	// pointer to the analysis manager
	AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
	if (!mgr) {
		Error("AddTaskProducer", "No analysis manager to connect to.");
		return NULL;
	}  
	// create the task
   TaskProducer *task = new TaskProducer(name);
   mgr->AddTask(task);

	// connecting the input/output containers
   TString outfile = mgr->GetCommonFileName();
   // input data feed
	AliAnalysisDataContainer *cinput0  = mgr->GetCommonInputContainer();
	mgr->ConnectInput (task, 0, cinput0 );
   // producer output
	AliAnalysisDataContainer *coutput1  = mgr->CreateContainer(
                TString::Format("output_%s", name),
                TList::Class(), AliAnalysisManager::kOutputContainer,
                TString::Format("%s:output",outfile.Data()));
	mgr->ConnectOutput(task, 1, coutput1);
   // exchange output
	AliAnalysisDataContainer *coutput2  = mgr->CreateContainer(
                TString::Format("exchange_%s", name),
                TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
   mgr->ConnectOutput(task, 2, coutput2);
   return task;
}
     
   
 AddTaskProducer.C:1
 AddTaskProducer.C:2
 AddTaskProducer.C:3
 AddTaskProducer.C:4
 AddTaskProducer.C:5
 AddTaskProducer.C:6
 AddTaskProducer.C:7
 AddTaskProducer.C:8
 AddTaskProducer.C:9
 AddTaskProducer.C:10
 AddTaskProducer.C:11
 AddTaskProducer.C:12
 AddTaskProducer.C:13
 AddTaskProducer.C:14
 AddTaskProducer.C:15
 AddTaskProducer.C:16
 AddTaskProducer.C:17
 AddTaskProducer.C:18
 AddTaskProducer.C:19
 AddTaskProducer.C:20
 AddTaskProducer.C:21
 AddTaskProducer.C:22
 AddTaskProducer.C:23
 AddTaskProducer.C:24
 AddTaskProducer.C:25
 AddTaskProducer.C:26
 AddTaskProducer.C:27
 AddTaskProducer.C:28
 AddTaskProducer.C:29
 AddTaskProducer.C:30
 AddTaskProducer.C:31
 AddTaskProducer.C:32
 AddTaskProducer.C:33