]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG2/SPECTRA/macros/AddTaskCheckPerformanceCascade.C
New macro for checking Cascade reconstruction (A.Maire)
[u/mrichter/AliRoot.git] / PWG2 / SPECTRA / macros / AddTaskCheckPerformanceCascade.C
diff --git a/PWG2/SPECTRA/macros/AddTaskCheckPerformanceCascade.C b/PWG2/SPECTRA/macros/AddTaskCheckPerformanceCascade.C
new file mode 100644 (file)
index 0000000..88de9ac
--- /dev/null
@@ -0,0 +1,41 @@
+AliAnalysisTaskCheckPerformanceCascade *AddTaskCheckPerformanceCascade(Short_t lCollidingSystems=0  /*0 = pp, 1 = AA*/ )
+{
+// Creates, configures and attaches to the train a cascades check task.
+   // Get the pointer to the existing analysis manager via the static access method.
+   //==============================================================================
+   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+   if (!mgr) {
+      ::Error("AddTaskCheckPerformanceCascade", "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("AddTaskCheckPerformanceCascade", "This task requires an input event handler");
+      return NULL;
+   }   
+   TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
+
+   // Create and configure the task
+   AliAnalysisTaskCheckPerformanceCascade *taskCheckPerfCascade = new AliAnalysisTaskCheckPerformanceCascade("TaskCheckPerfCascade");
+   taskCheckPerfCascade->SetCollidingSystems(lCollidingSystems);
+   taskCheckPerfCascade->SetAnalysisType(type);
+   mgr->AddTask(taskCheckPerfCascade);
+
+   // 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
+   //==============================================================================
+   TString outname = "PP-CheckPerf-";
+   if (lCollidingSystems) outname = "AA-";
+   if (mgr->GetMCtruthEventHandler()) outname += "MC";
+   outname += "-CascadeList.root";
+       AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("clistCasc",
+                                                                  TList::Class(),
+                                                                  AliAnalysisManager::kOutputContainer,
+                                                                  outname );
+   mgr->ConnectInput( taskCheckPerfCascade, 0, mgr->GetCommonInputContainer());
+   mgr->ConnectOutput(taskCheckPerfCascade, 1, coutput1);
+   return taskCheckPerfCascade;
+}