/* Macro for setup of Lambda* analysis in PPb collisions.
// Created by Sarita Sahoo, 30 Jan. 2014
//
//
// This macro sets all the aspects of configuration of an Analysis Train run
// which are always the same for all kinds of analysis (local, PROOF, AliEn)
//
// Inputs:
//
// - nmix = number of mixings to do (if > 0, initialize mixing stuff)
// - options = a set of keywords which drive some configurations
// - outputFileName = name of file produced by train
// - configPath = a path where all required config macros are stored
//
// Notes:
//
// - in case the source is an ESD, and if inputs are a MC production
// the MC input handler is created by default
//
// Returns:
//
// - if successful: the name of the expected input TTree (esdTree or aodTree)
// - if failed : NULL
*/
TString Setup
(
Int_t nmix,
const char *options,
const char *outputFileName,
const char *macroPath = "."
)
{
// prepare output
TString out("");
//
// === EXAMINE OPTIONS ==========================================================================
//
// this is done using the utility 'RsnOptions.C'
// which provides a unique way to interpret them
TString opt(options);
opt.ToUpper();
Bool_t isMC = opt.Contains("MC") || (!opt.Contains("DATA"));
Bool_t isPP = opt.Contains("PP") || (!opt.Contains("PBPB"));
Bool_t isESD = opt.Contains("ESD");
Bool_t useTender = opt.Contains("TENDER");
Bool_t noV0 = opt.Contains("NOV0");
//
// === LOAD LIBRARIES ===========================================================================
//
// load analysis libraries
gSystem->Load("libCore.so");
gSystem->Load("libGeom.so");
gSystem->Load("libVMC.so");
gSystem->Load("libMinuit.so");
gSystem->Load("libPhysics.so");
gSystem->Load("libTree.so");
gSystem->Load("libSTEERBase.so");
gSystem->Load("libESD.so");
gSystem->Load("libAOD.so");
gSystem->Load("libANALYSIS.so");
gSystem->Load("libANALYSISalice.so");
gSystem->Load("libEventMixing.so");
gSystem->Load("libCORRFW.so");
gSystem->Load("libPWGLFresonances.so");
// tender-related libraries
if (isESD && useTender) {
::Info("AnalysisSetup", "Loading tender libraries");
gSystem->Load("libTENDER.so");
gSystem->Load("libTENDERSupplies.so");
} else if (!isESD) {
useTender = kFALSE;
}
// load development RSN library
if (!AliAnalysisAlien::SetupPar("PWGLFresonances.par")) return "";
//
// === CREATE ANALYSIS MANAGER ==================================================================
//
AliAnalysisManager *mgr = new AliAnalysisManager("RsnAnalysisManager");
mgr->SetCommonFileName(outputFileName);
::Info("AnalysisSetup", "Common file name: %s", outputFileName);
//
// === INPUT / OUTPUT HANDLER CONFIGURATION =====================================================
//
if (isESD) {
out = "esdTree";
::Info("AnalysisSetup", "Creating ESD handler");
AliESDInputHandler *esdHandler = new AliESDInputHandler();
mgr->SetInputEventHandler(esdHandler);
if (isMC) {
::Info("AnalysisSetup", "Creating MC handler");
AliMCEventHandler *mcHandler = new AliMCEventHandler();
mgr->SetMCtruthEventHandler(mcHandler);
}
} else {
out = "aodTree";
::Info("AnalysisSetup", "Creating AOD handler");
AliAODInputHandler *aodHandler = new AliAODInputHandler();
mgr->SetInputEventHandler(aodHandler);
}
//
// === TENDER TASK (ESD only -- optional) =======================================================
//
if (isESD && useTender) {
::Info("AnalysisSetup", "Adding tender (and then accepting V0 info)", options);
gROOT->LoadMacro(Form("%s/AddTaskTender.C", macroPath));
AddTaskTender();
noV0 = kFALSE;
}
//
// === PHYSICS SELECTION (ESD only) =============================================================
//
if (isESD) {
::Info("AnalysisSetup", "Add physics selection by default on ESD analysis");
gROOT->LoadMacro("$(ALICE_ROOT)/ANALYSIS/macros/AddTaskPhysicsSelection.C");
AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection(isMC);
if (noV0) {
::Info("AnalysisSetup", "Skip of V0 info is required");
physSelTask->GetPhysicsSelection()->SetSkipV0(kTRUE);
}
}
//
// === CENTRALITY/PLANE (ESD only) ==============================================================
//
if (isESD && !isPP) {
::Info("AnalysisSetup", "Add centrality and event plane computation tasks");
gROOT->LoadMacro("$(ALICE_ROOT)/ANALYSIS/macros/AddTaskCentrality.C");
gROOT->LoadMacro("$(ALICE_ROOT)/ANALYSIS/macros/AddTaskEventplane.C");
AliCentralitySelectionTask* taskCentrality = (AliCentralitySelectionTask*)AddTaskCentrality();
if (isMC) {
::Info("AnalysisSetup", "Setting centrality computation for MC");
taskCentrality->SetMCInput();
}
AddTaskEventplane();
}
//
// === PID RESPONSE =============================================================================
//
gROOT->LoadMacro("$(ALICE_ROOT)/ANALYSIS/macros/AddTaskPIDResponse.C");
AddTaskPIDResponse(isMC,kTRUE,kTRUE);
//gROOT->LoadMacro("$(ALICE_ROOT)/ANALYSIS/macros/AddTaskPIDqa.C ");
//AddTaskPIDqa();
//
// === OTHER TASKS ==============================================================================
//
// add RSN task
gROOT->LoadMacro(Form("%s/AddTaskLStarPPb.C", macroPath));
if (!AddTaskLStarPPb(isMC, isPP, macroPath, nmix)) return "";
::Info("AnalysisSetup", "Setup successful");
return out;
}
AnalysisSetupLStarPPb.C:1 AnalysisSetupLStarPPb.C:2 AnalysisSetupLStarPPb.C:3 AnalysisSetupLStarPPb.C:4 AnalysisSetupLStarPPb.C:5 AnalysisSetupLStarPPb.C:6 AnalysisSetupLStarPPb.C:7 AnalysisSetupLStarPPb.C:8 AnalysisSetupLStarPPb.C:9 AnalysisSetupLStarPPb.C:10 AnalysisSetupLStarPPb.C:11 AnalysisSetupLStarPPb.C:12 AnalysisSetupLStarPPb.C:13 AnalysisSetupLStarPPb.C:14 AnalysisSetupLStarPPb.C:15 AnalysisSetupLStarPPb.C:16 AnalysisSetupLStarPPb.C:17 AnalysisSetupLStarPPb.C:18 AnalysisSetupLStarPPb.C:19 AnalysisSetupLStarPPb.C:20 AnalysisSetupLStarPPb.C:21 AnalysisSetupLStarPPb.C:22 AnalysisSetupLStarPPb.C:23 AnalysisSetupLStarPPb.C:24 AnalysisSetupLStarPPb.C:25 AnalysisSetupLStarPPb.C:26 AnalysisSetupLStarPPb.C:27 AnalysisSetupLStarPPb.C:28 AnalysisSetupLStarPPb.C:29 AnalysisSetupLStarPPb.C:30 AnalysisSetupLStarPPb.C:31 AnalysisSetupLStarPPb.C:32 AnalysisSetupLStarPPb.C:33 AnalysisSetupLStarPPb.C:34 AnalysisSetupLStarPPb.C:35 AnalysisSetupLStarPPb.C:36 AnalysisSetupLStarPPb.C:37 AnalysisSetupLStarPPb.C:38 AnalysisSetupLStarPPb.C:39 AnalysisSetupLStarPPb.C:40 AnalysisSetupLStarPPb.C:41 AnalysisSetupLStarPPb.C:42 AnalysisSetupLStarPPb.C:43 AnalysisSetupLStarPPb.C:44 AnalysisSetupLStarPPb.C:45 AnalysisSetupLStarPPb.C:46 AnalysisSetupLStarPPb.C:47 AnalysisSetupLStarPPb.C:48 AnalysisSetupLStarPPb.C:49 AnalysisSetupLStarPPb.C:50 AnalysisSetupLStarPPb.C:51 AnalysisSetupLStarPPb.C:52 AnalysisSetupLStarPPb.C:53 AnalysisSetupLStarPPb.C:54 AnalysisSetupLStarPPb.C:55 AnalysisSetupLStarPPb.C:56 AnalysisSetupLStarPPb.C:57 AnalysisSetupLStarPPb.C:58 AnalysisSetupLStarPPb.C:59 AnalysisSetupLStarPPb.C:60 AnalysisSetupLStarPPb.C:61 AnalysisSetupLStarPPb.C:62 AnalysisSetupLStarPPb.C:63 AnalysisSetupLStarPPb.C:64 AnalysisSetupLStarPPb.C:65 AnalysisSetupLStarPPb.C:66 AnalysisSetupLStarPPb.C:67 AnalysisSetupLStarPPb.C:68 AnalysisSetupLStarPPb.C:69 AnalysisSetupLStarPPb.C:70 AnalysisSetupLStarPPb.C:71 AnalysisSetupLStarPPb.C:72 AnalysisSetupLStarPPb.C:73 AnalysisSetupLStarPPb.C:74 AnalysisSetupLStarPPb.C:75 AnalysisSetupLStarPPb.C:76 AnalysisSetupLStarPPb.C:77 AnalysisSetupLStarPPb.C:78 AnalysisSetupLStarPPb.C:79 AnalysisSetupLStarPPb.C:80 AnalysisSetupLStarPPb.C:81 AnalysisSetupLStarPPb.C:82 AnalysisSetupLStarPPb.C:83 AnalysisSetupLStarPPb.C:84 AnalysisSetupLStarPPb.C:85 AnalysisSetupLStarPPb.C:86 AnalysisSetupLStarPPb.C:87 AnalysisSetupLStarPPb.C:88 AnalysisSetupLStarPPb.C:89 AnalysisSetupLStarPPb.C:90 AnalysisSetupLStarPPb.C:91 AnalysisSetupLStarPPb.C:92 AnalysisSetupLStarPPb.C:93 AnalysisSetupLStarPPb.C:94 AnalysisSetupLStarPPb.C:95 AnalysisSetupLStarPPb.C:96 AnalysisSetupLStarPPb.C:97 AnalysisSetupLStarPPb.C:98 AnalysisSetupLStarPPb.C:99 AnalysisSetupLStarPPb.C:100 AnalysisSetupLStarPPb.C:101 AnalysisSetupLStarPPb.C:102 AnalysisSetupLStarPPb.C:103 AnalysisSetupLStarPPb.C:104 AnalysisSetupLStarPPb.C:105 AnalysisSetupLStarPPb.C:106 AnalysisSetupLStarPPb.C:107 AnalysisSetupLStarPPb.C:108 AnalysisSetupLStarPPb.C:109 AnalysisSetupLStarPPb.C:110 AnalysisSetupLStarPPb.C:111 AnalysisSetupLStarPPb.C:112 AnalysisSetupLStarPPb.C:113 AnalysisSetupLStarPPb.C:114 AnalysisSetupLStarPPb.C:115 AnalysisSetupLStarPPb.C:116 AnalysisSetupLStarPPb.C:117 AnalysisSetupLStarPPb.C:118 AnalysisSetupLStarPPb.C:119 AnalysisSetupLStarPPb.C:120 AnalysisSetupLStarPPb.C:121 AnalysisSetupLStarPPb.C:122 AnalysisSetupLStarPPb.C:123 AnalysisSetupLStarPPb.C:124 AnalysisSetupLStarPPb.C:125 AnalysisSetupLStarPPb.C:126 AnalysisSetupLStarPPb.C:127 AnalysisSetupLStarPPb.C:128 AnalysisSetupLStarPPb.C:129 AnalysisSetupLStarPPb.C:130 AnalysisSetupLStarPPb.C:131 AnalysisSetupLStarPPb.C:132 AnalysisSetupLStarPPb.C:133 AnalysisSetupLStarPPb.C:134 AnalysisSetupLStarPPb.C:135 AnalysisSetupLStarPPb.C:136 AnalysisSetupLStarPPb.C:137 AnalysisSetupLStarPPb.C:138 AnalysisSetupLStarPPb.C:139 AnalysisSetupLStarPPb.C:140 AnalysisSetupLStarPPb.C:141 AnalysisSetupLStarPPb.C:142 AnalysisSetupLStarPPb.C:143 AnalysisSetupLStarPPb.C:144 AnalysisSetupLStarPPb.C:145 AnalysisSetupLStarPPb.C:146 AnalysisSetupLStarPPb.C:147 AnalysisSetupLStarPPb.C:148 AnalysisSetupLStarPPb.C:149 AnalysisSetupLStarPPb.C:150 AnalysisSetupLStarPPb.C:151 AnalysisSetupLStarPPb.C:152 AnalysisSetupLStarPPb.C:153 AnalysisSetupLStarPPb.C:154 AnalysisSetupLStarPPb.C:155 AnalysisSetupLStarPPb.C:156 AnalysisSetupLStarPPb.C:157 AnalysisSetupLStarPPb.C:158 AnalysisSetupLStarPPb.C:159 AnalysisSetupLStarPPb.C:160 AnalysisSetupLStarPPb.C:161 AnalysisSetupLStarPPb.C:162 AnalysisSetupLStarPPb.C:163 AnalysisSetupLStarPPb.C:164 AnalysisSetupLStarPPb.C:165 AnalysisSetupLStarPPb.C:166 AnalysisSetupLStarPPb.C:167 AnalysisSetupLStarPPb.C:168 AnalysisSetupLStarPPb.C:169 AnalysisSetupLStarPPb.C:170 AnalysisSetupLStarPPb.C:171 AnalysisSetupLStarPPb.C:172 AnalysisSetupLStarPPb.C:173 AnalysisSetupLStarPPb.C:174 AnalysisSetupLStarPPb.C:175 AnalysisSetupLStarPPb.C:176 AnalysisSetupLStarPPb.C:177