// $Id$
AliEmcalParticleMaker* AddTaskEmcalParticleMaker(
const char *tracksName = "PicoTracks",
const char *clustersName = 0,
const char *tracksOutName = "EmcalTracks",
const char *clustersOutName = "EmcalClusters",
const char *taskName = "AliEmcalParticleMaker"
)
{
// Get the pointer to the existing analysis manager via the static access method.
//==============================================================================
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
::Error("AddTaskEmcalParticleMaker", "No analysis manager to connect to.");
return NULL;
}
// Check the analysis type using the event handlers connected to the analysis manager.
//==============================================================================
AliVEventHandler *evhand = mgr->GetInputEventHandler();
if (!evhand) {
::Error("AddTaskEmcalParticleMaker", "This task requires an input event handler");
return NULL;
}
TString clusName(clustersName);
if (!clustersName) {
if (evhand->InheritsFrom("AliESDInputHandler")) {
::Info("AddTaskEmcalParticleMaker", "ESD analysis, clustersName = \"CaloClusters\"");
clusName = "CaloClusters";
} else {
::Info("AddTaskEmcalParticleMaker", "AOD analysis, clustersName = \"caloClusters\"");
clusName,"caloClusters");
}
}
//-------------------------------------------------------
// Init the task and do settings
//-------------------------------------------------------
TString toName(tracksOutName);
if (!toName.EndsWith(tracksName)) {
toName += "_";
toName +=tracksName;
}
TString coName(clustersOutName);
if (!coName.EndsWith(clusName)) {
coName += "_";
coName += clusName;
}
TString tName(taskName);
tName += "_";
tName += toName;
tName += "_";
tName += coName;
AliEmcalParticleMaker *eTask = new AliEmcalParticleMaker(tName);
eTask->SetTracksName(tracksName);
eTask->SetClusName(clusName);
eTask->SetTracksOutName(toName);
eTask->SetClusOutName(coName);
//-------------------------------------------------------
// Final settings, pass to manager and set the containers
//-------------------------------------------------------
mgr->AddTask(eTask);
// Create containers for input/output
AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
mgr->ConnectInput(eTask, 0, cinput1);
return eTask;
}
AddTaskEmcalParticleMaker.C:1 AddTaskEmcalParticleMaker.C:2 AddTaskEmcalParticleMaker.C:3 AddTaskEmcalParticleMaker.C:4 AddTaskEmcalParticleMaker.C:5 AddTaskEmcalParticleMaker.C:6 AddTaskEmcalParticleMaker.C:7 AddTaskEmcalParticleMaker.C:8 AddTaskEmcalParticleMaker.C:9 AddTaskEmcalParticleMaker.C:10 AddTaskEmcalParticleMaker.C:11 AddTaskEmcalParticleMaker.C:12 AddTaskEmcalParticleMaker.C:13 AddTaskEmcalParticleMaker.C:14 AddTaskEmcalParticleMaker.C:15 AddTaskEmcalParticleMaker.C:16 AddTaskEmcalParticleMaker.C:17 AddTaskEmcalParticleMaker.C:18 AddTaskEmcalParticleMaker.C:19 AddTaskEmcalParticleMaker.C:20 AddTaskEmcalParticleMaker.C:21 AddTaskEmcalParticleMaker.C:22 AddTaskEmcalParticleMaker.C:23 AddTaskEmcalParticleMaker.C:24 AddTaskEmcalParticleMaker.C:25 AddTaskEmcalParticleMaker.C:26 AddTaskEmcalParticleMaker.C:27 AddTaskEmcalParticleMaker.C:28 AddTaskEmcalParticleMaker.C:29 AddTaskEmcalParticleMaker.C:30 AddTaskEmcalParticleMaker.C:31 AddTaskEmcalParticleMaker.C:32 AddTaskEmcalParticleMaker.C:33 AddTaskEmcalParticleMaker.C:34 AddTaskEmcalParticleMaker.C:35 AddTaskEmcalParticleMaker.C:36 AddTaskEmcalParticleMaker.C:37 AddTaskEmcalParticleMaker.C:38 AddTaskEmcalParticleMaker.C:39 AddTaskEmcalParticleMaker.C:40 AddTaskEmcalParticleMaker.C:41 AddTaskEmcalParticleMaker.C:42 AddTaskEmcalParticleMaker.C:43 AddTaskEmcalParticleMaker.C:44 AddTaskEmcalParticleMaker.C:45 AddTaskEmcalParticleMaker.C:46 AddTaskEmcalParticleMaker.C:47 AddTaskEmcalParticleMaker.C:48 AddTaskEmcalParticleMaker.C:49 AddTaskEmcalParticleMaker.C:50 AddTaskEmcalParticleMaker.C:51 AddTaskEmcalParticleMaker.C:52 AddTaskEmcalParticleMaker.C:53 AddTaskEmcalParticleMaker.C:54 AddTaskEmcalParticleMaker.C:55 AddTaskEmcalParticleMaker.C:56 AddTaskEmcalParticleMaker.C:57 AddTaskEmcalParticleMaker.C:58 AddTaskEmcalParticleMaker.C:59 AddTaskEmcalParticleMaker.C:60 AddTaskEmcalParticleMaker.C:61 AddTaskEmcalParticleMaker.C:62 AddTaskEmcalParticleMaker.C:63 AddTaskEmcalParticleMaker.C:64 AddTaskEmcalParticleMaker.C:65 AddTaskEmcalParticleMaker.C:66 AddTaskEmcalParticleMaker.C:67 AddTaskEmcalParticleMaker.C:68 AddTaskEmcalParticleMaker.C:69 AddTaskEmcalParticleMaker.C:70 AddTaskEmcalParticleMaker.C:71 AddTaskEmcalParticleMaker.C:72 AddTaskEmcalParticleMaker.C:73 AddTaskEmcalParticleMaker.C:74