]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
new AddTaskCentrality putting the centrality output in th EventStat_temp.root file
authoragheata <agheata@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 10 Dec 2010 13:59:53 +0000 (13:59 +0000)
committeragheata <agheata@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 10 Dec 2010 13:59:53 +0000 (13:59 +0000)
ANALYSIS/macros/AddTaskCentrality.C [new file with mode: 0644]

diff --git a/ANALYSIS/macros/AddTaskCentrality.C b/ANALYSIS/macros/AddTaskCentrality.C
new file mode 100644 (file)
index 0000000..dbec31c
--- /dev/null
@@ -0,0 +1,31 @@
+AliCentralitySelectionTask *AddTaskCentrality()
+{
+// Macro to connect a centrality selection task to an existing analysis manager.
+  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+  if (!mgr) {
+    ::Error("AddTaskCentrality", "No analysis manager to connect to.");
+    return NULL;
+  }    
+  // Check the analysis type using the event handlers connected to the analysis manager.
+  //==============================================================================
+  if (!mgr->GetInputEventHandler()) {
+    ::Error("AddTaskCentrality", "This task requires an input event handler");
+    return NULL;
+  }
+  TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
+  if (inputDataType != "ESD") {
+    ::Error("AddTaskCentrality", "This task works only on ESD analysis");
+    return NULL;
+  }
+  AliCentralitySelectionTask *centralityTask = new AliCentralitySelectionTask("CentralitySelection");
+
+  AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
+  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("CentralityStat",
+                TList::Class(), AliAnalysisManager::kOutputContainer,
+                "EventStat_temp.root");
+  
+  mgr->ConnectInput(centralityTask, 0, mgr->GetCommonInputContainer());
+  mgr->ConnectOutput(centralityTask,1,coutput1);
+
+  return centralityTask;
+}