Scripts to add MC correction tasks
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis2 / AddTaskForwardMCCorr.C
1 /**
2  * @file   AddTaskForwardMCCorr.C
3  * @author Christian Holm Christensen <cholm@dalsgaard.hehi.nbi.dk>
4  * @date   Tue Apr 26 09:56:39 2011
5  * 
6  * @brief  
7  * 
8  * 
9  * @ingroup pwg2_forward_scripts_tasks
10  */
11 /** 
12  * Add a Forward MC correction generator task to train 
13  * 
14  * 
15  * @return Added task 
16  *
17  * @ingroup pwg2_forward_mc
18  */
19 AliAnalysisTask*
20 AddTaskForwardMCCorr()
21 {
22   // --- Creating the manager and handlers ---------------------------
23   AliAnalysisManager *mgr  = AliAnalysisManager::GetAnalysisManager();
24   if (!mgr->GetMCtruthEventHandler()) { 
25     Error("AddTaskCentralMCCorr", 
26           "No MC input handler defined - cannot continue");
27     return 0;
28   }
29
30   // --- Add our task ------------------------------------------------
31   AliForwardMCCorrectionsTask* task = new AliForwardMCCorrectionsTask("fmd");
32   mgr->AddTask(task);
33   task->GetTrackDensity().SetDebug(false);
34   task->GetTrackDensity().SetMaxConsequtiveStrips(3);
35   
36   // --- create containers for input/output --------------------------
37   AliAnalysisDataContainer *sums = 
38     mgr->CreateContainer("ForwardSums", TList::Class(), 
39                          AliAnalysisManager::kOutputContainer, 
40                          AliAnalysisManager::GetCommonFileName());
41   AliAnalysisDataContainer *output = 
42     mgr->CreateContainer("ForwardResults", TList::Class(), 
43                          AliAnalysisManager::kParamContainer, 
44                          AliAnalysisManager::GetCommonFileName());
45
46   // --- connect input/output ----------------------------------------
47   mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
48   mgr->ConnectOutput(task, 1, sums);
49   mgr->ConnectOutput(task, 2, output);
50
51   return task;
52 }
53 //
54 // EOF
55 //