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 runNo Pre-set run number
17 * @param sys Pre-set collision system
18 * @param sNN Pre-set collition energy
19 * @param field Pre-set magnetic field
20 * @param config Configuration file to use
21 * @param corrs Corrections to use
23 * @return Newly created task
25 * @ingroup pwglf_forward_aod
28 AddTaskCentralMult(Bool_t mc=false,
33 const char* config="CentralAODConfig.C",
36 // --- Load libraries ----------------------------------------------
37 gROOT->LoadClass("AliAODForwardMult", "libPWGLFforward2");
39 // --- Get analysis manager ----------------------------------------
40 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
42 Error("AddTaskCentralMult", "No analysis manager to connect to.");
46 // --- Make the task -----------------------------------------------
47 AliCentralMultiplicityTask* task = 0;
48 if (!mc) task = new AliCentralMultiplicityTask("Central");
49 else task = new AliCentralMCMultiplicityTask("Central");
50 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 --------------------