From Francesco: Added AliAnalysisTaskVnV0 and macros
[u/mrichter/AliRoot.git] / PWGCF / FLOW / macros / AddTaskVZERO.C
1 AliAnalysisTask *AddTaskVZERO(AliAnalysisManager *mgr,Bool_t kV2=kTRUE,Bool_t kV3=kTRUE){
2   char fileout[100];
3   sprintf(fileout,"outVZEROv2.root");
4   char fileout2[100];
5   sprintf(fileout2,"outVZEROv3.root");
6
7   //get the current analysis manager
8   //  AnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
9   if (!mgr) {
10     Error("No manager found in AddTaskVZERO. Why?");
11     return 0;
12   }
13   // currently don't accept AOD input
14   if (!mgr->GetInputEventHandler()->InheritsFrom(AliAODInputHandler::Class())) {
15     Error("AddTaskVZERO","This task works only with AOD input!");
16     return 0;
17   }
18
19   //========= Add tender to the ANALYSIS manager and set default storage =====
20   char mytaskName[100];
21   sprintf(mytaskName,"AliAnalysisTaskVnV0.cxx"); 
22
23   AliAnalysisTaskVnV0 *task = new AliAnalysisTaskVnV0(mytaskName);
24   task->SetV2(kV2);
25   task->SetV3(kV3);
26
27   mgr->AddTask(task);
28
29   //Attach input to my tasks
30   AliAnalysisDataContainer *cinput = mgr->CreateContainer("cchain1",TChain::Class(),AliAnalysisManager::kInputContainer);
31   mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
32
33   // Attach output to my tasks
34   if(kV2){
35     AliAnalysisDataContainer *cOutputL= mgr->CreateContainer("contVZEROv2",TList::Class(), AliAnalysisManager::kOutputContainer, fileout);
36     mgr->ConnectOutput(task, 1, cOutputL);
37   }
38   if(kV3){
39     AliAnalysisDataContainer *cOutputL2= mgr->CreateContainer("contVZEROv3",TList::Class(), AliAnalysisManager::kOutputContainer, fileout2);
40     mgr->ConnectOutput(task, 2, cOutputL2);
41   }
42   printf("task really added\n");
43
44   return task;
45 }