]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/FORWARD/analysis2/AddTaskFMDEventPlane.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / AddTaskFMDEventPlane.C
1 /**
2  * @file   AddTaskForwardFlow.C
3  * @author Alexander Hansen alexander.hansen@cern.ch 
4  * @date   Wed Sep 07 12:14:17 2011
5  * 
6  * @brief  
7  * 
8  * 
9  * @ingroup pwglf_forward_scripts_tasks
10  */
11 /** 
12  * Add FMD event plane task to train 
13  * 
14  * @param mc 
15  *
16  * @ingroup pwglf_forward_flow
17  */
18 void AddTaskFMDEventPlane(Bool_t mc = kFALSE)
19 {
20   // --- Get the analysis manager ------------------------------------
21   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
22   if (!mgr) Fatal("","No analysis manager to connect to.");
23
24   // --- Check that we have an AOD input handler ---------------------
25   UShort_t aodInput = 0;
26   if (!(aodInput = AliForwardUtil::CheckForAOD())) 
27     Fatal("","Cannot proceed without and AOD handler");
28   if (aodInput == 2 &&
29       !AliForwardUtil::CheckForTask("AliForwardMultiplicityBase")) 
30     Fatal("","The relevant task wasn't added to the train");
31
32
33   // --- Make the event plane task -----------------------------------
34   AliFMDEventPlaneTask* task = new AliFMDEventPlaneTask("FMDEventPlane");
35   task->GetEventPlaneFinder().SetUsePhiWeights(false);
36   if (mc) task->SetMCInput(true);
37   mgr->AddTask(task);
38
39   // --- Create containers for output --------------------------------
40   AliAnalysisDataContainer* sums = 
41     mgr->CreateContainer("FMDEventPlaneSums", TList::Class(), 
42                          AliAnalysisManager::kOutputContainer, 
43                          AliAnalysisManager::GetCommonFileName());
44   AliAnalysisDataContainer* output = 
45     mgr->CreateContainer("FMDEventPlaneResults", TList::Class(), 
46                          AliAnalysisManager::kParamContainer, 
47                          AliAnalysisManager::GetCommonFileName());
48   mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
49   mgr->ConnectOutput(task, 1, sums);
50   mgr->ConnectOutput(task, 2, output);
51
52   return;
53 }
54 /*
55  * EOF
56  */