ROOT logo
/**
 * @file   AddTaskForwardFlow.C
 * @author Alexander Hansen alexander.hansen@cern.ch 
 * @date   Wed Sep 07 12:14:17 2011
 * 
 * @brief  
 * 
 * 
 * @ingroup pwglf_forward_scripts_tasks
 */
/** 
 * Add FMD event plane task to train 
 * 
 * @param mc 
 *
 * @ingroup pwglf_forward_flow
 */
void AddTaskFMDEventPlane(Bool_t mc = kFALSE)
{
  // --- Get the analysis manager ------------------------------------
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) Fatal("","No analysis manager to connect to.");

  // --- Check that we have an AOD input handler ---------------------
  UShort_t aodInput = 0;
  if (!(aodInput = AliForwardUtil::CheckForAOD())) 
    Fatal("","Cannot proceed without and AOD handler");
  if (aodInput == 2 &&
      !AliForwardUtil::CheckForTask("AliForwardMultiplicityBase")) 
    Fatal("","The relevant task wasn't added to the train");


  // --- Make the event plane task -----------------------------------
  AliFMDEventPlaneTask* task = new AliFMDEventPlaneTask("FMDEventPlane");
  task->GetEventPlaneFinder().SetUsePhiWeights(false);
  if (mc) task->SetMCInput(true);
  mgr->AddTask(task);

  // --- Create containers for output --------------------------------
  AliAnalysisDataContainer* sums = 
    mgr->CreateContainer("FMDEventPlaneSums", TList::Class(), 
			 AliAnalysisManager::kOutputContainer, 
			 AliAnalysisManager::GetCommonFileName());
  AliAnalysisDataContainer* output = 
    mgr->CreateContainer("FMDEventPlaneResults", TList::Class(), 
			 AliAnalysisManager::kParamContainer, 
			 AliAnalysisManager::GetCommonFileName());
  mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
  mgr->ConnectOutput(task, 1, sums);
  mgr->ConnectOutput(task, 2, output);

  return;
}
/*
 * EOF
 */
 AddTaskFMDEventPlane.C:1
 AddTaskFMDEventPlane.C:2
 AddTaskFMDEventPlane.C:3
 AddTaskFMDEventPlane.C:4
 AddTaskFMDEventPlane.C:5
 AddTaskFMDEventPlane.C:6
 AddTaskFMDEventPlane.C:7
 AddTaskFMDEventPlane.C:8
 AddTaskFMDEventPlane.C:9
 AddTaskFMDEventPlane.C:10
 AddTaskFMDEventPlane.C:11
 AddTaskFMDEventPlane.C:12
 AddTaskFMDEventPlane.C:13
 AddTaskFMDEventPlane.C:14
 AddTaskFMDEventPlane.C:15
 AddTaskFMDEventPlane.C:16
 AddTaskFMDEventPlane.C:17
 AddTaskFMDEventPlane.C:18
 AddTaskFMDEventPlane.C:19
 AddTaskFMDEventPlane.C:20
 AddTaskFMDEventPlane.C:21
 AddTaskFMDEventPlane.C:22
 AddTaskFMDEventPlane.C:23
 AddTaskFMDEventPlane.C:24
 AddTaskFMDEventPlane.C:25
 AddTaskFMDEventPlane.C:26
 AddTaskFMDEventPlane.C:27
 AddTaskFMDEventPlane.C:28
 AddTaskFMDEventPlane.C:29
 AddTaskFMDEventPlane.C:30
 AddTaskFMDEventPlane.C:31
 AddTaskFMDEventPlane.C:32
 AddTaskFMDEventPlane.C:33
 AddTaskFMDEventPlane.C:34
 AddTaskFMDEventPlane.C:35
 AddTaskFMDEventPlane.C:36
 AddTaskFMDEventPlane.C:37
 AddTaskFMDEventPlane.C:38
 AddTaskFMDEventPlane.C:39
 AddTaskFMDEventPlane.C:40
 AddTaskFMDEventPlane.C:41
 AddTaskFMDEventPlane.C:42
 AddTaskFMDEventPlane.C:43
 AddTaskFMDEventPlane.C:44
 AddTaskFMDEventPlane.C:45
 AddTaskFMDEventPlane.C:46
 AddTaskFMDEventPlane.C:47
 AddTaskFMDEventPlane.C:48
 AddTaskFMDEventPlane.C:49
 AddTaskFMDEventPlane.C:50
 AddTaskFMDEventPlane.C:51
 AddTaskFMDEventPlane.C:52
 AddTaskFMDEventPlane.C:53
 AddTaskFMDEventPlane.C:54
 AddTaskFMDEventPlane.C:55
 AddTaskFMDEventPlane.C:56
 AddTaskFMDEventPlane.C:57