]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/macros/AddTaskPWG4PidDetEx.C
increment version number
[u/mrichter/AliRoot.git] / PWG4 / macros / AddTaskPWG4PidDetEx.C
1 AliAnalysisTaskPWG4PidDetEx *AddTaskPWG4PidDetEx()\r
2 {\r
3 // Creates a jet fider task, configures it and adds it to the analysis manager.\r
4 \r
5    // Get the pointer to the existing analysis manager via the static access method.\r
6    //==============================================================================\r
7    AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r
8    if (!mgr) {\r
9       ::Error("AddTaskJets", "No analysis manager to connect to.");\r
10       return NULL;\r
11    }  \r
12    \r
13    // Check the analysis type using the event handlers connected to the analysis manager.\r
14    //==============================================================================\r
15    if (!mgr->GetInputEventHandler()) {\r
16       ::Error("AddTaskPWG4PidDetEx", "This task requires an input event handler");\r
17       return NULL;\r
18    }\r
19 \r
20    // Create the task and configure it.\r
21    //===========================================================================\r
22    \r
23    AliAnalysisTaskPWG4PidDetEx* taskPid = new AliAnalysisTaskPWG4PidDetEx("TaskPID");\r
24    if(mgr->GetInputEventHandler()->InheritsFrom("AliAODInputHandler"))taskPid->SetAnalysisType("AOD");\r
25    else {\r
26      // Either we assume taht w have the cuts already loaded or we just do it again\r
27      // this can be done more elegant when also accepting AOD filtered output\r
28      gROOT->LoadMacro("AddTaskESDfilter.C");\r
29      AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");\r
30      trackFilter->AddCuts(CreateCuts(0));\r
31      taskPid->SetTrackFilter(trackFilter);\r
32    }\r
33    mgr->AddTask(taskPid);\r
34 \r
35    // Create ONLY the output containers for the data produced by the task.\r
36    // Get and connect other common input/output containers via the manager as below\r
37    //==============================================================================\r
38    AliAnalysisDataContainer *coutput1_PID = mgr->CreateContainer("histosPID", TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:PWG4_pid",AliAnalysisManager::GetCommonFileName());\r
39 \r
40    mgr->ConnectInput  (taskPid, 0, mgr->GetCommonInputContainer());\r
41    mgr->ConnectOutput (taskPid, 0, mgr->GetCommonOutputContainer());\r
42    mgr->ConnectOutput (taskPid, 1, coutput1_PID);\r
43    return taskPid;\r
44 }\r