// Created by Enrico Fragiacomo - 13/02/14
// Based on AnalysisSetupRsnMini
//
// This macro sets all those aspects of configuration of an Analysis Train run
// which are always the same for all kinds of analysis (local, PROOF, AliEn)
//
// Inputs:
//
// - 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
//
// Returns:
//
// - if successful: the name of the expected input TTre (esdTree or aodTree)
// - if failed : NULL
//
enum ERsnCollType_t { kPP=0,
kPPb,
kPbPb};
TString Setup
(
const char *options,
const char *outputFileName,
const char *macroPath = "."
)
{
// prepare output
TString out("");
//
// === EXAMINE OPTIONS ==========================================================================
//
TString opt(options);
opt.ToUpper();
Bool_t isMC = opt.Contains("MC") || (!opt.Contains("DATA"));
Bool_t isESD = opt.Contains("ESD");
Bool_t useTender = opt.Contains("TENDER");
Bool_t noV0 = opt.Contains("NOV0");
Int_t collSyst;
if( opt.Contains("PP") && (!opt.Contains("PB")) ) collSyst=kPP;
else if( opt.Contains("PPB") ) collSyst=kPPb;
else collSyst=kPbPb;
//
// === LOAD LIBRARIES ===========================================================================
//
// load analysis libraries
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");
// 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 && !(collSyst==kPP) ) {
::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);
//
// === MAIN TASK FOR THE SIGMASTAR ANALYSIS ==============================================================================
//
gROOT->LoadMacro(Form("%s/AddTaskSigmaStar.C", macroPath));
if (!AddTaskSigmaStar(isMC, collSyst, 10.0 ,0, 0, 0, 5, 3.0, 3.0, 7.0, 0.01, 0.3, 0.97, 0.5, 70, 1.0, 10.0, 20.0, 68, "Sigma1385")) return "";
::Info("AnalysisSetup", "Setup successful");
return out;
}
AnalysisSetupSigmaStar.C:1 AnalysisSetupSigmaStar.C:2 AnalysisSetupSigmaStar.C:3 AnalysisSetupSigmaStar.C:4 AnalysisSetupSigmaStar.C:5 AnalysisSetupSigmaStar.C:6 AnalysisSetupSigmaStar.C:7 AnalysisSetupSigmaStar.C:8 AnalysisSetupSigmaStar.C:9 AnalysisSetupSigmaStar.C:10 AnalysisSetupSigmaStar.C:11 AnalysisSetupSigmaStar.C:12 AnalysisSetupSigmaStar.C:13 AnalysisSetupSigmaStar.C:14 AnalysisSetupSigmaStar.C:15 AnalysisSetupSigmaStar.C:16 AnalysisSetupSigmaStar.C:17 AnalysisSetupSigmaStar.C:18 AnalysisSetupSigmaStar.C:19 AnalysisSetupSigmaStar.C:20 AnalysisSetupSigmaStar.C:21 AnalysisSetupSigmaStar.C:22 AnalysisSetupSigmaStar.C:23 AnalysisSetupSigmaStar.C:24 AnalysisSetupSigmaStar.C:25 AnalysisSetupSigmaStar.C:26 AnalysisSetupSigmaStar.C:27 AnalysisSetupSigmaStar.C:28 AnalysisSetupSigmaStar.C:29 AnalysisSetupSigmaStar.C:30 AnalysisSetupSigmaStar.C:31 AnalysisSetupSigmaStar.C:32 AnalysisSetupSigmaStar.C:33 AnalysisSetupSigmaStar.C:34 AnalysisSetupSigmaStar.C:35 AnalysisSetupSigmaStar.C:36 AnalysisSetupSigmaStar.C:37 AnalysisSetupSigmaStar.C:38 AnalysisSetupSigmaStar.C:39 AnalysisSetupSigmaStar.C:40 AnalysisSetupSigmaStar.C:41 AnalysisSetupSigmaStar.C:42 AnalysisSetupSigmaStar.C:43 AnalysisSetupSigmaStar.C:44 AnalysisSetupSigmaStar.C:45 AnalysisSetupSigmaStar.C:46 AnalysisSetupSigmaStar.C:47 AnalysisSetupSigmaStar.C:48 AnalysisSetupSigmaStar.C:49 AnalysisSetupSigmaStar.C:50 AnalysisSetupSigmaStar.C:51 AnalysisSetupSigmaStar.C:52 AnalysisSetupSigmaStar.C:53 AnalysisSetupSigmaStar.C:54 AnalysisSetupSigmaStar.C:55 AnalysisSetupSigmaStar.C:56 AnalysisSetupSigmaStar.C:57 AnalysisSetupSigmaStar.C:58 AnalysisSetupSigmaStar.C:59 AnalysisSetupSigmaStar.C:60 AnalysisSetupSigmaStar.C:61 AnalysisSetupSigmaStar.C:62 AnalysisSetupSigmaStar.C:63 AnalysisSetupSigmaStar.C:64 AnalysisSetupSigmaStar.C:65 AnalysisSetupSigmaStar.C:66 AnalysisSetupSigmaStar.C:67 AnalysisSetupSigmaStar.C:68 AnalysisSetupSigmaStar.C:69 AnalysisSetupSigmaStar.C:70 AnalysisSetupSigmaStar.C:71 AnalysisSetupSigmaStar.C:72 AnalysisSetupSigmaStar.C:73 AnalysisSetupSigmaStar.C:74 AnalysisSetupSigmaStar.C:75 AnalysisSetupSigmaStar.C:76 AnalysisSetupSigmaStar.C:77 AnalysisSetupSigmaStar.C:78 AnalysisSetupSigmaStar.C:79 AnalysisSetupSigmaStar.C:80 AnalysisSetupSigmaStar.C:81 AnalysisSetupSigmaStar.C:82 AnalysisSetupSigmaStar.C:83 AnalysisSetupSigmaStar.C:84 AnalysisSetupSigmaStar.C:85 AnalysisSetupSigmaStar.C:86 AnalysisSetupSigmaStar.C:87 AnalysisSetupSigmaStar.C:88 AnalysisSetupSigmaStar.C:89 AnalysisSetupSigmaStar.C:90 AnalysisSetupSigmaStar.C:91 AnalysisSetupSigmaStar.C:92 AnalysisSetupSigmaStar.C:93 AnalysisSetupSigmaStar.C:94 AnalysisSetupSigmaStar.C:95 AnalysisSetupSigmaStar.C:96 AnalysisSetupSigmaStar.C:97 AnalysisSetupSigmaStar.C:98 AnalysisSetupSigmaStar.C:99 AnalysisSetupSigmaStar.C:100 AnalysisSetupSigmaStar.C:101 AnalysisSetupSigmaStar.C:102 AnalysisSetupSigmaStar.C:103 AnalysisSetupSigmaStar.C:104 AnalysisSetupSigmaStar.C:105 AnalysisSetupSigmaStar.C:106 AnalysisSetupSigmaStar.C:107 AnalysisSetupSigmaStar.C:108 AnalysisSetupSigmaStar.C:109 AnalysisSetupSigmaStar.C:110 AnalysisSetupSigmaStar.C:111 AnalysisSetupSigmaStar.C:112 AnalysisSetupSigmaStar.C:113 AnalysisSetupSigmaStar.C:114 AnalysisSetupSigmaStar.C:115 AnalysisSetupSigmaStar.C:116 AnalysisSetupSigmaStar.C:117 AnalysisSetupSigmaStar.C:118 AnalysisSetupSigmaStar.C:119 AnalysisSetupSigmaStar.C:120 AnalysisSetupSigmaStar.C:121 AnalysisSetupSigmaStar.C:122 AnalysisSetupSigmaStar.C:123 AnalysisSetupSigmaStar.C:124 AnalysisSetupSigmaStar.C:125 AnalysisSetupSigmaStar.C:126 AnalysisSetupSigmaStar.C:127 AnalysisSetupSigmaStar.C:128 AnalysisSetupSigmaStar.C:129 AnalysisSetupSigmaStar.C:130 AnalysisSetupSigmaStar.C:131 AnalysisSetupSigmaStar.C:132 AnalysisSetupSigmaStar.C:133 AnalysisSetupSigmaStar.C:134 AnalysisSetupSigmaStar.C:135 AnalysisSetupSigmaStar.C:136 AnalysisSetupSigmaStar.C:137 AnalysisSetupSigmaStar.C:138 AnalysisSetupSigmaStar.C:139 AnalysisSetupSigmaStar.C:140 AnalysisSetupSigmaStar.C:141 AnalysisSetupSigmaStar.C:142 AnalysisSetupSigmaStar.C:143 AnalysisSetupSigmaStar.C:144 AnalysisSetupSigmaStar.C:145 AnalysisSetupSigmaStar.C:146 AnalysisSetupSigmaStar.C:147 AnalysisSetupSigmaStar.C:148 AnalysisSetupSigmaStar.C:149 AnalysisSetupSigmaStar.C:150 AnalysisSetupSigmaStar.C:151 AnalysisSetupSigmaStar.C:152 AnalysisSetupSigmaStar.C:153 AnalysisSetupSigmaStar.C:154 AnalysisSetupSigmaStar.C:155 AnalysisSetupSigmaStar.C:156 AnalysisSetupSigmaStar.C:157 AnalysisSetupSigmaStar.C:158 AnalysisSetupSigmaStar.C:159 AnalysisSetupSigmaStar.C:160 AnalysisSetupSigmaStar.C:161 AnalysisSetupSigmaStar.C:162