2 * @file AddTaskCentralMult.C
3 * @author Christian Holm Christensen <cholm@dalsgaard.hehi.nbi.dk>
4 * @date Wed Mar 23 12:13:25 2011
9 * @ingroup pwglf_forward_scripts_tasks
13 * This is the macro to include the Central multiplicity in a train.
15 * @param mc If true, assume MC input
16 * @param sys Pre-set collision system
17 * @param sNN Pre-set collition energy
18 * @param field Pre-set magnetic field
19 * @param config Configuration file to use
20 * @param corrs Corrections to use
22 * @return Newly created task
24 * @ingroup pwglf_forward_aod
27 AddTaskCentralMult(Bool_t mc=false,
32 const char* config="CentralAODConfig.C",
35 // --- Load libraries ----------------------------------------------
36 gROOT->LoadClass("AliAODForwardMult", "libPWGLFforward2");
38 // --- Get analysis manager ----------------------------------------
39 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
41 Error("AddTaskCentralMult", "No analysis manager to connect to.");
45 // --- Make the task -----------------------------------------------
46 AliCentralMultiplicityTask* task = 0;
47 if (!mc) task = new AliCentralMultiplicityTask("Central");
48 else task = new AliCentralMCMultiplicityTask("Central");
49 task->Configure(config);
52 // --- Set optional corrections path -------------------------------
53 AliCentralCorrectionManager& cm =
54 AliCentralCorrectionManager::Instance();
55 if (corrs && corrs[0] != '\0') cm.SetPrefix(corrs);
57 // --- Prime the corrections ---------------------------------------
58 if(sys>0 && sNN > 0) {
59 cm.Init(runNo, sys, sNN, field);
60 if (!cm.HasSecondaryCorrection())
61 Fatal("AddTaskCentralMult", "No secondary correction defined!");
62 if (!cm.HasAcceptanceCorrection())
63 Fatal("AddTaskCentralMult", "No acceptance correction defined!");
66 // --- Make the output container and connect it --------------------
67 AliAnalysisDataContainer* histOut =
68 mgr->CreateContainer("Central", TList::Class(),
69 AliAnalysisManager::kOutputContainer,
70 AliAnalysisManager::GetCommonFileName());
71 AliAnalysisDataContainer *output =
72 mgr->CreateContainer("CentralResults", TList::Class(),
73 AliAnalysisManager::kParamContainer,
74 AliAnalysisManager::GetCommonFileName());
76 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
77 mgr->ConnectOutput(task, 1, histOut);
78 mgr->ConnectOutput(task, 2, output);